4.1 KiB
4.1 KiB
移动端协议单:转账 / 提交财务确认对齐 Web — 设计说明
日期: 2026-10-13
状态: 已确认(产品口径纠正后)
范围: mobile-oa-h5 协议单编辑内嵌转账;去掉协议审核操作;差异表校正
前置: P1 缴费面板、P2 客户检索/金额联动、P3 客户关联与详情只读
1. 目标
- 协议单内转账登记、保存、提交财务确认、撤回与 Web
SamplePaymentPanel行为一致。 - 按产品口径明确:作废/生效/过期/转科研、退费、开票、储存证/保险办理、审核、管理端角色 —— 仅 Web。
- 纠正入口描述:Web / 小程序均通过 细胞存储 / 科研捐赠 切换业务来源。
2. 差异表(校正后)
| 能力 | Web | 小程序 | 决策 |
|---|---|---|---|
| 入口切换 | 细胞存储 / 科研捐赠 | 同左 | 已对齐;此前描述错误 |
| 列表筛选 | 较完整 | 简化 | 接受;后续再完善 |
| 协议内转账 / 提交财务确认 / 撤回 | 有 | 原先仅「缴费信息」模块 | 本轮对齐到协议单内 |
| 作废 / 生效 / 过期 / 转科研 | 有 | 无 | 仅 Web |
| 退费登记 | 有 | 无 | 仅 Web |
| 开票 | 有 | 无 | 仅 Web |
| 储存证 / 保险办理 | 有 | 详情只读、无办理 | 仅 Web 办理;详情只读保留 |
| 审核操作 | 有 | 去掉入口 | 仅 Web;详情可保留只读审核记录 |
| 管理端角色体系 | 有 | 不镜像 | 仅 Web;市场 specialist/manager 维持现状 |
3. 协议内转账(对齐 Web)
3.1 UX
在 ProtocolSamplePaymentPanel 每个应缴批次下增加转账区(对齐 Web):
- 展示已缴 / 欠缴摘要
- 添加转账
- 行内字段:转账方式、金额、时间、凭证、备注;只读财务备注、付款状态
- 操作:保存、提交财务确认(
dfj)、撤回(jfqrz)、删除(未锁定) payStatus === 'yjf':整行锁定(与 WebisTransferLocked一致)- 协议未保存或批次无
schedule.id:禁止保存转账,提示先保存协议
3.2 API(复用既有缴费转账)
不新建协议域转账接口。使用市场缴费转账:
| 操作 | 方法 | 路径 |
|---|---|---|
| 创建 | POST | /mini/market/{role}/payment-transfers(body 含 scheduleId) |
| 更新 | PUT | /mini/market/{role}/payment-transfers/{id} |
| 提交 | POST | .../submit |
| 撤回 | POST | .../withdraw |
| 凭证 | POST | 既有 uploadMarketAttachment(module 可用 payment 或 protocol) |
权限:调用方需具备缴费权限(与独立「缴费信息」模块相同)。无缴费权限时隐藏转账操作区,仅只读展示已有转账(若详情带回)。
3.3 前端结构
ProtocolSamplePaymentPanel增加 props:protocolId、marketRole(或完整 context)、transferTypes、canManageTransfers- 转账写操作走
performMarketAction/ 薄封装(paymentmodule +register-transfer/edit-transfer/submit/withdraw) - 保存成功后把返回字段写回对应
sch.transfers[i],再emitv-model - 凭证上传复用
PresignAttachmentUploader或等价组件;URL 序列化规则与缴费模块一致
3.4 与「缴费信息」模块关系
独立缴费模块可保留;协议单内转账是同一后端能力的第二入口,避免市场人员必须离开协议单才能登记转账。
4. 去掉小程序协议审核操作
- 前端
action-policy/ 列表展示:协议白名单去掉audit - 后端
allowed_actions('protocol'):市场端不再返回audit(路由可保留但不暴露给 UI) - 详情只读「审核记录」分区保留
5. 非目标
- 作废/生效/过期/转科研、退费、开票、储存证/保险办理
- 列表筛选增强
- Web 管理端改动
- 删除独立「缴费信息」模块
6. 测试要点
- 面板契约:存在添加转账 / 提交财务确认 / 撤回文案或绑定
- 未保存协议时保存转账给出明确提示(单测状态机或 UI 契约)
audit不再出现在协议moduleActions/collectAllowedActions交集- 既有缴费转账路径测试不被破坏