# 还车应结款 · 运维部转交 设计规格 | 项 | 说明 | |---|---| | 日期 | 2026-07-22 | | 状态 | 已确认 | | 方案 | 方案 A:费用明细「运维部」卡片内单笔转交 | | 关联原型 | `vehicle-return-settlement`;业务主实现复用 `oneos-web-finance` 还车应结款费用明细 | | 主改文件 | `src/prototypes/oneos-web-finance/pages/03-还车应结款.jsx` | --- ## 1. 问题与目标 运维部人员处理还车应结款运维段时,存在两类卡住场景: 1. **无法及时处理**:当前办理人短期无法完成填写/提交,需把任务交给同事继续。 2. **人员离职**:原办理人账号停用或人已离开后,运维段无法由他人合法撤回、编辑,任务悬挂。 **本期目标** 1. 在运维部费用明细段提供 **转交办理人** 能力。 2. **当前办理人**可主动转交;**运维主管**可代转(覆盖离职/无人处理)。 3. 转交只换办理人,不改已填费用与整单审批流;改内容仍走既有撤回规则。 4. 转交原因必填,并留下可查操作记录。 **非目标(本期不做)** - 列表批量转交、操作列快捷转交 - 独立「转交台 / 待处理转交」页面 - 其他部门(业管 / 能源 / 安全)转交 - 真实组织人事同步、账号停用自动触发转交 - 真实消息通知(可本地 Toast + 记录演示) --- ## 2. 方案选择 | 方案 | 说明 | 结论 | |------|------|------| | A. 费用明细运维卡片内转交 | 与保存/提交/撤回同工作面 | **采用** | | B. 列表批量 + 明细单笔 | 离职清多笔快,交互与权限更重 | 二期候选 | | C. 主管独立转交台 | 主管视角清晰,新产品面 | 二期候选 | --- ## 3. 权限与状态规则 ### 3.1 谁可发起 | 角色 | 能力 | |------|------| | 当前办理人(`opsHandler`) | 可将本单运维段转给其他运维同事 | | 运维主管 | 可代转任意未禁止状态下的运维段(含原办理人已非在职) | | 其他角色 / 非办理人非主管 | 无「转交」入口 | ### 3.2 转交对象 - 仅 **运维部在职同事** - 排除:自己、已停用账号、非运维人员 - 选择器支持姓名模糊搜索 ### 3.3 何时可转 | 维度 | 允许 | 禁止 | |------|------|------| | 运维段状态 | 待提交、已提交 | — | | 整单审批状态 | 待提交、待审批、审批中、审批驳回、撤回 | **审批完成** | 说明:待审批 / 审批中仍可转交——**只换办理人**,不改已填内容、不改整单审批节点。 ### 3.3.1 费用明细入口与运维段可编辑性(相对现网调整) 相对现网「待审批 / 审批中 / 审批完成不显示费用明细」: | 顺序 | 条件 | 费用明细入口 | 运维段费用编辑 | 运维转交 | |------|------|--------------|----------------|----------| | 1 | 整单待提交 / 审批驳回 / 撤回等(费用明细本就可进) | 显示 | 按运维段状态:待提交可编;已提交须先撤回再编 | 办理人/主管可转 | | 2 | 整单 **待审批 / 审批中** | **显示,不限角色**(任何人可点进查看) | **不可编辑**(保存/提交/撤回隐藏或禁用;表格只读) | 办理人/主管仍可转交 | | 3 | 整单 **审批完成** | 不显示(或只读查看若产品另有查看页) | — | **无转交** | 要改审批中的运维费用内容:须先按现有规则 **整单撤回**,回到可编辑的整单状态后,再由当前办理人编辑。 ### 3.4 转交效果与改内容 | 顺序 | 条件 | 结果 | |------|------|------| | 1 | 转交成功 | 更新 `opsHandler` 为新办理人;写转交记录;Toast 成功 | | 2 | 转交时运维段已提交 | **不**自动撤回;status / 历史提交人姓名保持 | | 3 | 整单待审批 / 审批中 | 转交可用;运维费用只读;**不可**部门撤回改数 | | 4 | 新办理人要改费用(整单未在审批中) | 若段状态为已提交 → 先走运维部 **撤回**,再编辑保存/提交 | | 5 | 整单在审批中要改费用 | 先 **整单撤回**,再进入费用明细编辑 | | 6 | 整单审批完成 | 无转交按钮 | ### 3.5 原因 - **必填**转交原因(多行文本) - 空原因不可确认转交 --- ## 4. 信息架构与交互 ### 4.1 入口 费用明细页 → **运维部**卡片标题栏右侧: | 场景 | 可见操作(在权限内) | |------|----------------------| | 整单可编 + 运维待提交 | 保存、提交、**转交** | | 整单可编 + 运维已提交 | 撤回、**转交** | | 整单待审批 / 审批中 | 费用只读;无保存/提交/撤回;办理人/主管可见 **转交** | | 整单审批完成 | 无转交 | 列表页: - 待审批 / 审批中:**显示「费用明细」**(不限角色),与现网「隐藏」不同,以本规格为准 - 运维组办理人展示随 `opsHandler` 更新 - **不**增加列表「转交」操作、**不**做批量 ### 4.2 转交弹窗 1. 标题:转交运维办理人 2. 当前办理人:只读 3. 新办理人:必选下拉(运维在职、可搜索、排除自己) 4. 转交原因:必填多行 5. 取消 / 确认转交 6. 确认前二次说明:确认后将由【新办理人】继续处理本单运维段 成功后:关闭弹窗;头部办理人即时更新;若当前用户已不再是办理人且非主管,操作区按权限收敛。 ### 4.3 转交记录 每笔至少记录:时间、操作人、原办理人、新办理人、原因、当时运维段状态、当时整单审批状态。 费用明细运维卡片提供「转交记录」入口(时间线或抽屉即可)。 --- ## 5. 数据模型 | 字段 | 说明 | |------|------| | `opsHandler` | **当前办理人**(权威)。初始可由还车人 `returnPerson` 带入;转交只改本字段,**不改**历史还车人 | | `submitOperation.status` | 运维段提交状态(待提交 / 已提交等既有口径) | | `submitOperation.name` | **最近一次提交人**;转交不覆盖;新人再次提交时再更新 | | `opsTransferLogs[]` | 转交记录数组(见 4.3) | 列表「运维组」办理人解析:读 `opsHandler`,不再直接绑死 `returnPerson`。 原型演示:本地状态/种子即可,**未接真实 API**;组织人员用本地运维同事清单模拟。 --- ## 6. 落地范围 | 项 | 路径 / 说明 | |----|-------------| | 主实现 | `src/prototypes/oneos-web-finance/pages/03-还车应结款.jsx`(费用明细运维段 + 列表 `resolveDeptHandler`) | | 薄壳对齐 | `src/prototypes/vehicle-return-settlement/` 办理预览若展示运维操作,对齐转交入口(轻量) | | 业务规格 | `src/prototypes/vehicle-return-settlement/.spec/ops-transfer.md` | | AutoPRD | `.spec/requirements-prd.md` + `annotation-source.json` + `src/resources/prd/vehicle-return-settlement-autoprd.md`(若约定存在则同步) | --- ## 7. 验收要点 1. 办理人可把待提交单转给同事,原因必填,列表办理人变为新人。 2. 已提交单可转交;新人可撤回后编辑再提交。 3. 主管可代转「非本人」的运维段任务。 4. 整单待审批 / 审批中:列表可进费用明细(不限角色);运维费用只读不可编;办理人/主管仍可转交;费用与审批流不变。 5. 审批完成后无转交按钮。 6. 不可转给自己或非运维人员;原因为空不可提交。 7. 转交记录可查(时间、人、原因、状态快照)。 --- ## 8. 决策摘要(对齐记录) | 决策点 | 结论 | |--------|------| | 发起人 | 当前办理人 + 运维主管 | | 可转状态(部门段) | 待提交 + 已提交 | | 整单审批中 | 仍可转,只换人;费用明细可进(不限角色);运维段不可编辑 | | 接收人 | 仅运维部在职同事 | | 原因 | 必填 | | 交互方案 | A:费用明细卡片内单笔转交 |