a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# V2 合同详情审计 / 版本 / 履约轻量化闭环记录
|
|
|
|
日期:2026-06-24
|
|
|
|
## 本轮目标
|
|
|
|
完成 T2:合同详情继续只突出“下一步操作”,审计、版本、履约能力继续保留但默认折叠;后端开始记录合同关键操作事件。
|
|
|
|
## 已完成
|
|
|
|
1. 新增合同审计事件模型:
|
|
- `contract_created`
|
|
- `contract_updated`
|
|
- `approval_submitted`
|
|
- `approval_resubmitted`
|
|
- `approval_approved`
|
|
- `approval_rejected`
|
|
- `file_uploaded`
|
|
- `contract_downloaded`
|
|
- `review_started`
|
|
- `review_requeued`
|
|
- `review_completed`
|
|
- `review_failed`
|
|
|
|
2. 新增数据库迁移:
|
|
- `contract_audit_events`
|
|
- 按合同、事件类型、创建时间建立索引。
|
|
|
|
3. 后端写入点:
|
|
- 创建合同
|
|
- 修改合同
|
|
- 提交审批
|
|
- 退回后重提
|
|
- 审批通过 / 退回
|
|
- 上传文件
|
|
- 发起审查
|
|
- 审查重排
|
|
- 审查成功 / 失败
|
|
- 记录下载事件
|
|
|
|
4. 前端详情页:
|
|
- 顶部仍只突出“下一步操作”。
|
|
- 版本与履约仍保留在默认折叠区。
|
|
- 审计与技术信息默认折叠,内部展示真实操作记录。
|
|
- 下载图标点击时记录下载审计事件。
|
|
|
|
## 简化原则
|
|
|
|
普通用户进入合同详情后仍然优先看到:
|
|
|
|
下一步操作 -> 正文预览 -> 附件与审查
|
|
|
|
审批时间线、版本履约、审计记录都在折叠区,按需打开。
|
|
|
|
## 验证
|
|
|
|
- 后端测试:`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:审批待办与角色边界。重点是让管理员、法务、业务提交人、审批人、只读用户看到不同按钮,普通用户不被配置、审计、复杂审批能力压住。
|