1. AGENTS.md 更新 - water-docs: 新增 specs/ 与 docs/design/ 生命周期规则章节 - water-backend: 更新协作引用(建设期/建成后、evidence 模块化) 2. specs/ 重复合并 - 006-reminder-event-design 合并入 003-rev006-reminder-event-design - 001-rev004-accounting 删除冗余 data-model.md + contracts/ - 002-rev005-invoice-flow 删除冗余 data-model.md + contracts/ 3. evidence 按模块归档 - 35 个 REV-004 文件归入 evidence/rev004-accounting/ - 7 个通用 bugfix 文件归入 evidence/bugfix/ 和 bugfix/frontend/ - 新建 rev005-invoice/、rev006-reminder/、rev007-statistics/ 目录 4. guides/ 清理 - 14 个 REV004_*.md 移入 evidence/rev004-accounting/ 5. 遗留文件处理 - docs/research/ 归档到 Archive/06_Migration_Plans/ - backend-check detached worktrees 清理 6. 交叉引用修复 - 006-reminder-event-design → 003-rev006-reminder-event-design - docs/guides/REV004_ → docs/evidence/rev004-accounting/REV004_ 7. DB 设计文档修正(01_Database_Design.md) - biz_invoice 明确为开票配置表,非发票记录表 - 新增 biz_invoice_record 为发票申请/结果主表 - 新增 biz_charge_invoice_rel 账单-发票关联说明 - REV-005 承接口径表名全部修正 8. 发票审计证据 - 新增 evidence/rev005-invoice/2026-06-16-invoice-document-audit.md
1.8 KiB
1.8 KiB
客户缴费方式开户地址前端必填校验修复验证记录
日期:2026-06-09
问题现象
客户资料页面修改缴费方式时,前端代扣/托收表单展示了“开户地址”字段,但未做必填校验;提交到后端后,后端在保存代扣或托收资料时返回“开户地址不能为空”。
结论
本问题应由前端补齐校验。原因是后端代扣、托收资料保存对象均将 accountAddress 定义为必填字段,客户缴费方式修改链路会复用这两个保存对象。
修复范围
仓库:../water-frontend
基线:35aa0fbb
修改文件:
src/views/custData/custInfo/components/PayMethodForm.vuesrc/views/custData/custCreate/components/WithHold.vuesrc/views/custData/custInfo/components/PayMethodForm.contract.test.mjs
修复内容
- 客户详情“缴费方式”弹窗:
- 托收资料
collectionFormRules增加accountAddress必填。 - 代扣资料
withHoldingFormRules增加accountAddress必填。
- 托收资料
- 新户建档代扣弹窗:
formRules增加accountAddress必填。
- 补充 node:test 契约测试,锁定上述规则。
验证命令与结果
cd /Volumes/Dpan/github/water-workspace/water-frontend
node --test src/views/custData/custInfo/components/PayMethodForm.contract.test.mjs
结果:通过。
tests 2pass 2fail 0
cd /Volumes/Dpan/github/water-workspace/water-frontend
git diff --check -- src/views/custData/custInfo/components/PayMethodForm.vue src/views/custData/custCreate/components/WithHold.vue src/views/custData/custInfo/components/PayMethodForm.contract.test.mjs
结果:通过,无空白错误。
备注
当前前端仓库存在其他未提交的 expect 相关改动,本次未触碰。