This commit is contained in:
2026-03-26 22:13:16 +08:00
parent 78bd14acc8
commit 3228b7e28d
3 changed files with 13 additions and 4 deletions
+2 -2
View File
@@ -454,8 +454,8 @@ async def update_sales_order(
current_user: User = Depends(get_current_active_user) current_user: User = Depends(get_current_active_user)
): ):
order, customer = await _get_sales_order_with_customer(db_session, order_id) order, customer = await _get_sales_order_with_customer(db_session, order_id)
if order.status == "delivered": if order.status == "paid":
raise HTTPException(status_code=400, detail="已交付的销售订单禁止修改") raise HTTPException(status_code=400, detail="已收款的销售订单禁止修改")
await _rollback_issued_materials(db_session, order, current_user) await _rollback_issued_materials(db_session, order, current_user)
await db_session.execute(delete(SalesOrderItem).where(SalesOrderItem.order_id == order.id)) await db_session.execute(delete(SalesOrderItem).where(SalesOrderItem.order_id == order.id))
+3 -1
View File
@@ -544,9 +544,11 @@ body {
font-size: var(--text-xs); font-size: var(--text-xs);
} }
.btn:disabled { .btn:disabled,
.btn-disabled {
opacity: 0.5; opacity: 0.5;
cursor: not-allowed; cursor: not-allowed;
pointer-events: none;
} }
/* ================================ /* ================================
+8 -1
View File
@@ -2098,6 +2098,13 @@ const InventoryView = {
state.editingItem = item; state.editingItem = item;
if (item) { if (item) {
if (type === 'salesOrder') { if (type === 'salesOrder') {
// 检查订单状态,如果是已收款状态,则禁止编辑
if (item.status === 'paid') {
addNotification('已收款的销售订单禁止修改', 'warning');
state.modalType = null;
state.editingItem = null;
return;
}
await loadCustomers(); await loadCustomers();
await loadFinishedProducts(); await loadFinishedProducts();
const detail = await apiRequest(`/api/sales-orders/${item.id}`); const detail = await apiRequest(`/api/sales-orders/${item.id}`);
@@ -3104,7 +3111,7 @@ const InventoryView = {
<button class="dropdown-item" @click="updateSalesOrderStatus(order, 'paid')">已收款</button> <button class="dropdown-item" @click="updateSalesOrderStatus(order, 'paid')">已收款</button>
</div> </div>
</div> </div>
<button class="btn btn-sm btn-secondary" @click="openModal('salesOrder', order)">编辑</button> <button class="btn btn-sm btn-secondary" @click="openModal('salesOrder', order)" :disabled="order.status === 'paid'" :class="{'btn-disabled': order.status === 'paid'}">编辑</button>
<button class="btn btn-sm btn-danger" @click="deleteSalesOrder(order.id)">删除</button> <button class="btn btn-sm btn-danger" @click="deleteSalesOrder(order.id)">删除</button>
</div> </div>
</td> </td>