diff --git a/backend/app/services/order_service.py b/backend/app/services/order_service.py index 70e41ae..f8f705b 100644 --- a/backend/app/services/order_service.py +++ b/backend/app/services/order_service.py @@ -290,6 +290,9 @@ class OrderService: item_dict["pricing_type"] = snapshot.get("pricing_type") or item_dict["pricing_type"] if calc_result.get("area_sqm"): item_dict["area_sqm"] = calc_result["area_sqm"] + # 保存公式信息供前端展示 + item_dict["formula_expr"] = getattr(rule, "formula_expr", None) + item_dict["formula_note"] = getattr(rule, "formula_note", None) # 回写数据库,避免下次重复计算 try: item.cost_price = snapshot["cost_price"] diff --git a/frontend/web-admin/src/views/OrdersPage.vue b/frontend/web-admin/src/views/OrdersPage.vue index c87a045..d3e5ffe 100644 --- a/frontend/web-admin/src/views/OrdersPage.vue +++ b/frontend/web-admin/src/views/OrdersPage.vue @@ -322,6 +322,7 @@ 数量 销售单价 成本单价 + 计价过程 成本金额 操作 @@ -334,6 +335,23 @@ {{ item.unit || '-' }} {{ computeTotalDemand(item) || item.quantity }} ¥{{ Number(item.cost_price || 0).toFixed(2) }} + + + + + ¥{{ (Number(item.quantity || 0) * Number(item.cost_price || 0)).toFixed(2) }}