# 销售台账 — 协同审批 ## 涉及页面 - **销售台账新增/编辑页面** — 新增时自动发起审批,列表展示审批状态 - **协同审批管理** — 审批模板配置、审批流程处理 - **生产主计划列表** — 展示审批状态列 ## 后端变更说明 ### 新增枚举 `TypeEnums` 新增 `SALES_LEDGER_APPROVAL(19L, "销售审批")` ### 审批状态 `SalesLedger.approvalStatus` 和 `ProductionPlan.approvalStatus`: | 值 | 含义 | |----|------| | 0 | 待审批 | | 1 | 审批中 | | 2 | 已通过 | | 3 | 已驳回 | ### 审批流程 1. 销售台账新增时自动发起审批,`sales_ledger.approval_status = 0` 2. 审批中状态变为 `1`,审批通过变为 `2`,审批驳回变为 `3` 3. 审批通过后,自动创建生产主计划,`production_plan.approval_status = 2` 4. 审批模板需要在**协同审批管理**中单独配置(不在协同审批模板列表中展示) ## API 无新增前端调用接口,审批由后端自动发起。 ## 前端修改点 ### 1. 销售台账列表 — 增加审批状态列 ```html ``` ### 2. 销售台账详情 — 展示审批状态 ```html 待审批 审批中 已通过 已驳回 ``` ### 3. 生产主计划列表 — 增加审批状态列 ```html ``` ### 4. 审批模板配置 在**协同审批管理 > 审批模板**页面,新增模板时: - **业务类型**选择"销售审批(19)" - 配置审批节点 - 模板配置后,销售台账新增时自动匹配最新模板发起审批 ### 5. 协同审批列表 审批列表已自动支持销售审批类型的展示: - 审批标题格式:`{销售合同号}销售审批` - 列表中的单号列展示销售合同号 ## 数据库变更 执行文件:`doc/sql/20260613_sales_ledger_approval.sql` ```sql ALTER TABLE sales_ledger ADD COLUMN IF NOT EXISTS approval_status INT DEFAULT 0 COMMENT '审批状态:0-待审批,1-审批中,2-已通过,3-已驳回'; ALTER TABLE production_plan ADD COLUMN IF NOT EXISTS approval_status INT DEFAULT NULL COMMENT '审批状态:0-待审批,1-审批中,2-已通过,3-已驳回'; ``` ## 注意事项 - 销售审批模板不在协同审批模板下拉列表中展示(与采购审批、报价审批、发货审批一致),需要在审批模板管理页面单独配置 - 审批通过后自动创建生产主计划,来源标记为"销售",下发状态为"未下发" - 审批驳回后,销售台账可编辑重新提交(当前版本仅支持新增时发起审批) - 导入的销售台账不会自动发起审批,如需审批需单独处理