Files
platforms/docs/操作日志_合同到期时间与动作中文化_20260813.md
czl231 a7ac692110 修复合同到期时间与终止恢复规则
- 合同动作中文化并将到期时间设为必填\n- 隐藏修订记录无业务意义的删除时间\n- 禁止已终止合同直接启用,统一三端状态规则\n- 补充回归测试、模拟数据回填和中文文档
2026-08-13 00:54:27 +08:00

40 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 操作日志:合同到期时间与动作中文化
操作时间2026-08-13
操作类型:修改、扩展
影响模块:配送合同创建、草稿编辑、续签、详情与模拟数据
## 操作前状态
合同修订记录直接显示英文动作 `terminate`。合同到期时间允许为空,详情页将历史空值显示为 `-`;部分开发联调合同也未写入到期时间。
## 具体操作
- 在统一展示层增加合同动作中文映射,将 `terminate` 显示为“终止合同”。
- 将合同创建、草稿编辑和续签的到期时间调整为前后端必填,并校验其晚于生效时间。
- 历史空到期时间显示为“待补录”,不使用推测日期替代真实业务数据。
- 新生成的联调合同写入一年后的到期时间,并对身份和合同编号均匹配的旧联调合同执行幂等回填。
## 操作后状态
新提交合同不能缺少到期时间;历史真实合同缺失值会明确提示补录;开发联调合同再次执行种子后可显示确定的到期时间;后端稳定动作枚举保持不变。
## 代码变更
- `frontend/platform_admin/src/api/resource-display.ts`:增加动作中文映射和历史到期时间提示。
- `frontend/platform_admin/src/api/resources.ts`:合同表单与续签动作要求到期时间必填。
- `backend/api/internal/logic/platform/gasorder/gasorder.go`:增加服务端必填与时间顺序校验。
- `backend/api/internal/seed/mock.go`:补齐并定向回填联调合同到期时间。
- `frontend/platform_admin/scripts/check-resource-pages.mjs`:增加静态回归断言。
## 验证结果
- `go test ./internal/logic/platform/gasorder ./internal/seed`:通过。
- `npm run resource-pages:check`:通过,覆盖详情 46 类、新建 25 类、编辑 23 类。
- `npm run type:check`:通过。
- `npm run build`通过Vite 成功构建 2620 个模块。
## 风险评估
接口从允许省略到期时间调整为必填,旧客户端若继续省略该字段将收到参数错误;历史真实数据不自动推测回填,需业务人员在草稿编辑或续签时补录。