codex/issue-78-protocol-save
V2.0
小程序市场专员、地区经理的协议表单将循环中的项目组件引用当作单实例,保存前抛出 TypeError,API 未被调用。函数 ref 保持单实例并保留项目校验。
保存 → 项目校验 - 数组.validate() → 异常中断,无请求 + 组件.validate() → 正常提示或发送保存请求
范围:mobile-oa-h5 协议单新增/编辑。关联工单 #78。
node --test mobile-oa-h5/src/market/protocol-save-ref.test.js
projectAssignment.value?.validate is not a function
node --test mobile-oa-h5/src/market/*.test.js
npm --prefix mobile-oa-h5 run build
Door: two-way
Blast Radius: mobile
仅修改组件 ref 绑定,无接口、数据库、布局变化。线上发布后需两角色验证新增保存。
循环模板内字符串 ref 被 Vue 收集为数组,调用 validate 时在请求前抛错。改用函数 ref 保持单组件实例,并覆盖两角色新增、编辑及项目校验提示。关联工单 #78。
No dependencies set.
The note is not visible to the blocked user.
Summary
小程序市场专员、地区经理的协议表单将循环中的项目组件引用当作单实例,保存前抛出 TypeError,API 未被调用。函数 ref 保持单实例并保留项目校验。
范围:mobile-oa-h5 协议单新增/编辑。关联工单 #78。
Evidence
node --test mobile-oa-h5/src/market/protocol-save-ref.test.js:10/10 失败,projectAssignment.value?.validate is not a function。node --test mobile-oa-h5/src/market/*.test.js:326/326 通过。覆盖两角色新增、编辑及项目必选/加载/失败提示。npm --prefix mobile-oa-h5 run build通过(已有大分块警告);微信 WebView 真机及线上运行尚未验收。服务未启停、未部署。Merge Danger
Door: two-way
Blast Radius: mobile
仅修改组件 ref 绑定,无接口、数据库、布局变化。线上发布后需两角色验证新增保存。