# 操作日志:合同到期时间与动作中文化 操作时间: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 个模块。 ## 风险评估 接口从允许省略到期时间调整为必填,旧客户端若继续省略该字段将收到参数错误;历史真实数据不自动推测回填,需业务人员在草稿编辑或续签时补录。