1.4 KiB
框架合同金额按产品小计汇总 — Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 框架销售/采购合同在新建或保存时,按产品行小计汇总合同金额(随行就市/按需行贡献 0)。
Architecture: 后端 _normalize_framework_contract_data 去掉头金额强制 0,改为累加行小计;更新接口将规范化后的 amount 写回 apply 所用 payload。前端去掉 amount = 0 短路,统一 calculateTotalAmount。交付生产备份+回填 SQL。
Tech Stack: FastAPI / pytest;Vue 3 web-admin
Task 1: 后端单测 + 实现
Files:
-
Create:
backend/tests/test_crm_framework_contract_amount.py -
Modify:
backend/app/crud/crm/contract.py -
写失败用例(固定价合计、混用、全 market)
-
改
_normalize_framework_contract_data并同步 update 路径 amount -
跑通 pytest
Task 2: 前端
Files:
-
Modify:
web-admin/src/views/crm/contract/components/ContractFormDialog.vue -
Modify:
web-admin/src/views/crm/contract/form.vue -
calculateTotalAmount/ 切类型 / 载入产品:框架合同改为累加
Task 3: 生产 SQL
- 输出备份表 + 按
crm_contract_product.subtotal回填框架合同金额的语句