a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
72 lines
1.6 KiB
Markdown
72 lines
1.6 KiB
Markdown
# AI 合同平台 V2 - 合同版本比对闭环记录
|
|
|
|
日期:2026-06-25
|
|
|
|
## 背景
|
|
|
|
对照开发方案 Phase 5 企业协作闭环,本轮实现合同版本比对功能。
|
|
|
|
## 目标
|
|
|
|
- 更新合同时自动保存历史版本
|
|
- 版本列表和详情 API
|
|
- 前端版本列表展示
|
|
- 版本差异比对组件
|
|
|
|
## 已完成内容
|
|
|
|
### 后端
|
|
|
|
文件:
|
|
- contract-api/contracts.py
|
|
- contract-api/main.py
|
|
|
|
新增模型:
|
|
- ContractVersion: id, contract_id, version_number, body_content, change_summary, actor_name, created_at
|
|
- ContractVersionPage: items, page, page_size, total
|
|
|
|
新增接口:
|
|
- GET /api/v1/contracts/{id}/versions - 版本列表
|
|
- GET /api/v1/contracts/{id}/versions/{version_id} - 版本详情
|
|
|
|
自动版本保存:
|
|
- update_contract 检测正文变更时自动调用 _save_version
|
|
- 版本按时间递增编号
|
|
|
|
### 前端
|
|
|
|
新增文件:
|
|
- contract-version-panel.tsx - 版本面板组件
|
|
|
|
版本面板功能:
|
|
- 历史版本列表展示
|
|
- 查看版本内容(弹出对话框)
|
|
- 与当前版本差异对比(行对行 diff 高亮)
|
|
|
|
差异对比特性:
|
|
- 新增行绿色背景标记
|
|
- 删除行红色背景标记
|
|
- 等宽字体展示
|
|
- 逐行对比
|
|
|
|
### 验证结果
|
|
|
|
后端:编译通过,25 tests passed
|
|
前端:typecheck + build 通过
|
|
|
|
### Phase 5 最终状态
|
|
|
|
| 功能 | 状态 |
|
|
|------|------|
|
|
| RBAC 权限 | 完成 |
|
|
| 条件审批规则 | 完成 |
|
|
| 待我审批 | 完成 |
|
|
| 退回后重提 | 完成 |
|
|
| 审批时间线 | 完成 |
|
|
| 版本比对 | 完成(本轮) |
|
|
| 批注和处理意见 | 完成 |
|
|
| 审计时间线 | 完成 |
|
|
| 通知中心 | 完成 |
|
|
|
|
Phase 5 企业协作闭环已全部完成。
|