优化合同气瓶绑定与启用失败提示
- 将绑定气瓶入口移至合同列表,仅草稿合同显示 - 自动预填所选合同并保留返回路径 - 细分附件、有效期、气瓶绑定和状态校验失败原因 - 增加前后端回归检查及中文操作日志
This commit is contained in:
37
docs/操作日志_合同启用失败原因明确化_20260812.md
Normal file
37
docs/操作日志_合同启用失败原因明确化_20260812.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 操作日志:合同启用失败原因明确化
|
||||
|
||||
操作时间:2026-08-12
|
||||
操作类型:修改
|
||||
影响模块:配送合同生命周期接口
|
||||
|
||||
## 操作前状态
|
||||
|
||||
合同启用的附件、有效期、气瓶绑定及状态校验失败后,接口统一返回“Invalid Argument”,前端只能提示“请求参数不正确,请检查填写内容”,业务人员无法定位处理方式。
|
||||
|
||||
## 具体操作
|
||||
|
||||
- 将合同状态不允许启用、附件无效、未到生效时间、合同已到期、未绑定有效气瓶拆分为明确中文原因。
|
||||
- 终止非生效合同也返回明确状态原因。
|
||||
- 仅透传预定义业务错误;数据库及其他内部异常继续使用通用参数错误,避免泄露内部信息。
|
||||
- 增加业务错误白名单和中文消息回归测试。
|
||||
|
||||
## 行为变化
|
||||
|
||||
- 变更前:所有启用前置条件失败均提示“请求参数不正确,请检查填写内容”。
|
||||
- 变更后:页面直接显示具体失败项及处理建议,例如“合同尚未绑定有效气瓶,请先绑定气瓶后再启用”。
|
||||
|
||||
## 代码变更
|
||||
|
||||
- `backend/api/internal/logic/platform/gasorder/gasorder.go`:细分合同生命周期业务错误并安全透传。
|
||||
- `backend/api/internal/logic/platform/gasorder/contract_change_error_test.go`:新增错误分类及提示文案测试。
|
||||
|
||||
## 验证结果
|
||||
|
||||
- `go test ./internal/logic/platform/gasorder/...`:通过。
|
||||
- `go test ./...`:通过;首次受沙箱 Go 构建缓存权限影响失败,授权后重新执行全部通过。
|
||||
|
||||
## 风险评估
|
||||
|
||||
- 不修改接口路径、请求字段、成功响应和合同状态流转规则,保持向下兼容。
|
||||
- 业务失败响应的 `message` 由通用英文变为具体中文,前端现有客户端会直接展示。
|
||||
- 内部数据库错误不会透传,安全边界保持不变。
|
||||
41
docs/操作日志_合同气瓶绑定入口_20260812.md
Normal file
41
docs/操作日志_合同气瓶绑定入口_20260812.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 操作日志:合同气瓶绑定入口
|
||||
|
||||
操作时间:2026-08-12
|
||||
操作类型:扩展
|
||||
影响模块:平台总后台配送合同详情页
|
||||
|
||||
## 操作前状态
|
||||
|
||||
合同气瓶作为隐藏子资源复用合同管理权限,但配送合同详情页没有进入新建页的入口。业务人员只能手动输入隐藏路由,且需要再次选择当前合同。
|
||||
|
||||
## 具体操作
|
||||
|
||||
- 在配送合同列表的操作列增加“绑定气瓶”按钮,仅草稿状态(`contract_status=0`)显示。
|
||||
- 合同已启用或处于其他非草稿状态时隐藏绑定按钮,详情页不再展示该入口。
|
||||
- 跳转合同气瓶新建页时,通过既有关系预填协议带入当前合同唯一标识。
|
||||
- 携带当前详情页返回地址,使创建完成后可回到原合同。
|
||||
- 保留合同气瓶隐藏子路由、后端接口及权限模型,不改变现有公共接口。
|
||||
- 增加静态回归检查,固定入口展示范围、目标路由、合同预填字段和返回路径。
|
||||
|
||||
## 操作后状态
|
||||
|
||||
业务人员可从草稿配送合同所在行直接发起气瓶绑定;新建表单自动选中该合同。合同启用后不再提供绑定入口。合同气瓶仍是合同管理下的隐藏子资源,不增加侧边栏菜单。
|
||||
|
||||
## 代码变更
|
||||
|
||||
- `frontend/platform_admin/src/views/shared/CrudListPage.vue`:在草稿合同操作列增加绑定按钮和跳转方法。
|
||||
- `frontend/platform_admin/src/views/resource/ResourceRecordPage.vue`:移除详情页绑定入口。
|
||||
- `frontend/platform_admin/scripts/check-contract-product-entry.mjs`:新增静态回归检查。
|
||||
- `frontend/platform_admin/package.json`:注册回归检查命令。
|
||||
|
||||
## 验证结果
|
||||
|
||||
- `npm run contract-product-entry:check`:通过。
|
||||
- `npm run type:check`:通过。
|
||||
- `npm run build`:通过,Vite 成功构建 2620 个模块。
|
||||
|
||||
## 风险评估
|
||||
|
||||
- 影响仅限配送合同详情页顶部操作区。
|
||||
- 继续使用既有隐藏新建路由和通用关系预填机制,风险较低。
|
||||
- 后端仍会校验气瓶归属、状态和是否报废,前端入口不会绕过业务约束。
|
||||
Reference in New Issue
Block a user