From d05c08ab819929c54dd6a7bdf516a5c12b054050 Mon Sep 17 00:00:00 2001 From: wsb1224 Date: Fri, 3 Jul 2026 21:28:37 +0800 Subject: [PATCH] =?UTF-8?q?7-3=20=E7=AE=A1=E7=90=86=E5=91=98=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E6=A0=B8=E7=AE=97=E5=A2=9E=E5=8A=A0=E8=AE=A1=E4=BB=B7?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 后端_enrich_items_from_db补充formula_expr/formula_note字段 - 前端成本单价与成本金额之间显示公式计算过程 - 面积定价显示: 长×宽×数量×单价/㎡=总金额 Co-Authored-By: Claude Sonnet 4.6 --- backend/app/services/order_service.py | 3 +++ frontend/web-admin/src/views/OrdersPage.vue | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) 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) }}