4.1 KiB
4.1 KiB
合同管理模块 — 08 验证清单
阶段 E 步骤 28 产出 | 日期:2026-05-31
代码审查 + 构建验证已完成;浏览器联调手测项建议在测试环境复验。
构建与注册
pnpm build通过(web-admin)- 路由注册:
crm.py→register_contract_routes+register_contract_sub_routes - 前端 API 基路径
/web/crm/contract,HTTP 动词对齐 Java(GET/PUT/DELETE/POST) - DDL 已在测试库执行(步骤 14)
功能验证(代码对齐)
列表 Tab
- 7 个 Tab:
my/all/submitted/approved/executing/finished/invalid handleViewChange设置ownerUserId/pendingApprovalUserId/approvedByUserId/status- 非「已作废」Tab 默认
excludeStatus=invalid(getList) - 后端
build_query_wrapper支持上述筛选字段 - 统计卡片由当前页列表前端聚合(
loadStatistics) - Tab 切换后数据与权限角色一致(手测)
筛选 / 分页 / 展开
- 筛选区:合同编号/名称/客户、类型、状态、审批状态、签订日期
- 快捷日期 + 快速搜索 OR 三字段
- 查询/重置触发
getList,分页绑定pageNum/pageSize - 行展开懒加载产品明细(
getContractDetail) - 筛选组合与导出结果一致(手测)
审批流
ApprovalDialog:提交 / 批量提交 / 通过 / 驳回 / 撤回- 前端状态校验:仅
draft可提交;对话框 Fresh Mint - 后端:
submit_contract_approval/batch_submit/withdraw+approve_contract_by_contract_id - 多步审批:选下一步审批人、会签/或签(手测;当前对话框为顺序多选审批人)
- 待审批 Tab 仅见
canApprove=true行(手测)
执行 / 完成 / 作废
ExecuteDialog:开始执行(startExecute)/ 完成(finishContract)InvalidDialog:作废原因字典 + 二次确认 + 回款/开票风险提示- 状态机:approved→executing→finished;非 finished 可 invalid
- 执行汇总金额与详情一致(手测)
附件 / 导出
UploadDialog:分类上传、MinIO、保存uploadAttachments- 列表导出
exportContract→POST /exportxlsx - 导出列与字典翻译正确(手测)
- 附件预览/下载/删除(手测)
跨模块
- 报价转合同:
createFromQuote+quote.to_contract已恢复 - 商机转合同、续签、签约、批量分配负责人(手测)
- 回款/开票金额回写
updateReceivedAmount/updateInvoiceAmount(手测,依赖回款/开票模块)
UI 合规(Fresh Mint)
- 列表单
panel-top标题「合同管理」 - 工具栏「已选 N 项」在前;仅首个主按钮
type="primary" - 4 子对话框 + 列设置/详情弹窗:
align-center、dialog-form-layout、order-module-dialog-mask - 子对话框
label-position="top";footer Close/Check 图标 - 状态/审批状态列与详情:
el-tag+dictStore.getTagType - 操作列
fixed="right",min-width="260"
权限
useContractPerm+hasContractPerm替代v-hasPermi(列表/详情/变更/模板/审批子页)- 测试角色勾选
crm:contract:*后按钮可见性(手测)
子模块(变更 / 模板 / 审批独立页)
- 后端
crm_contract_sub_routes.py:change / template / approval CRUD + export + transfer - 前端页面与 API 文件齐全(Fresh Mint 适配在步骤 7–10 完成)
- 变更提交/执行、模板启停、审批转办(手测)
回归
- 报价单列表「转合同」链路(手测)
- 客户详情弹窗引用合同 types 未破坏(手测)
- 产品/客户/报价模块未受影响(手测)
手测建议顺序
- 登录测试租户 → 合同列表 7 Tab 各点一次
- 筛选 + 分页 + 行展开产品
- 草稿 → 提交审批 → 待审批 Tab 通过/驳回
- 已通过 → 开始执行 → 完成
- 另选合同 → 作废
- 上传扫描件 → 导出 xlsx
- 报价单 → 转合同