a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
2.1 KiB
2.1 KiB
V2 合同详情审计 / 版本 / 履约轻量化闭环记录
日期:2026-06-24
本轮目标
完成 T2:合同详情继续只突出“下一步操作”,审计、版本、履约能力继续保留但默认折叠;后端开始记录合同关键操作事件。
已完成
-
新增合同审计事件模型:
contract_createdcontract_updatedapproval_submittedapproval_resubmittedapproval_approvedapproval_rejectedfile_uploadedcontract_downloadedreview_startedreview_requeuedreview_completedreview_failed
-
新增数据库迁移:
contract_audit_events- 按合同、事件类型、创建时间建立索引。
-
后端写入点:
- 创建合同
- 修改合同
- 提交审批
- 退回后重提
- 审批通过 / 退回
- 上传文件
- 发起审查
- 审查重排
- 审查成功 / 失败
- 记录下载事件
-
前端详情页:
- 顶部仍只突出“下一步操作”。
- 版本与履约仍保留在默认折叠区。
- 审计与技术信息默认折叠,内部展示真实操作记录。
- 下载图标点击时记录下载审计事件。
简化原则
普通用户进入合同详情后仍然优先看到:
下一步操作 -> 正文预览 -> 附件与审查
审批时间线、版本履约、审计记录都在折叠区,按需打开。
验证
- 后端测试:
python -m pytest yuqei-contract-platform\services\contract-api\tests -q - 后端编译:
python -m compileall yuqei-contract-platform\services\contract-api\src - OpenAPI 解析:通过
- 前端类型检查:
npm --prefix yuqei-contract-platform\apps\contract-web run typecheck - 前端构建:
npm --prefix yuqei-contract-platform\apps\contract-web run build - 空库迁移到 head:通过,已升级到
20260624_0006
后续建议
下一轮进入 T3:审批待办与角色边界。重点是让管理员、法务、业务提交人、审批人、只读用户看到不同按钮,普通用户不被配置、审计、复杂审批能力压住。