```mermaid --- title: 13.换货流程 --- flowchart TD 开始((开始)) --> 后台建单[后台发起换货申请] 后台建单 --> 建单校验{旧资产是否满足换货条件?} 建单校验 -->|否| 建单失败[不满足条件 流程终止] 建单校验 -->|是| 换货建单成功[换货单创建成功 待客户填写信息] subgraph 客户处理 换货建单成功 --> 客户通知[通知客户有待处理换货单] 客户通知 --> 客户填写信息[客户填写收货信息] 客户填写信息 --> 信息提交结果{提交是否成功?} 信息提交结果 -->|否| 重新填写[修正信息后重新提交] 重新填写 --> 客户填写信息 信息提交结果 -->|是| 待发货[进入待发货状态] end subgraph 后台发货 待发货 --> 选择新资产[选择新资产并填写物流信息] 选择新资产 --> 发货校验{新旧资产类型和状态是否匹配?} 发货校验 -->|否| 更换新资产[更换新资产后重试] 更换新资产 --> 选择新资产 发货校验 -->|是| 发货完成[完成发货并等待确认] end subgraph 完成阶段 发货完成 --> 完成确认[后台确认换货完成] 完成确认 --> 迁移判断{是否执行旧资产转新?} 迁移判断 -->|否| 不迁移完成[直接完成换货] 迁移判断 -->|是| 执行转新[执行旧资产转新处理] 执行转新 --> 转新结果{转新是否成功?} 转新结果 -->|否| 转新异常[记录异常并人工处理] 转新异常 --> 异常回流 转新结果 -->|是| 迁移完成[换货与转新处理完成] end subgraph 取消分支 换货建单成功 --> 取消判断{是否取消换货?} 待发货 --> 取消判断 取消判断 -->|是| 取消换货[取消换货单并结束] 取消判断 -->|否| 继续流程[按正常换货继续] 继续流程 --> 选择新资产 end 不迁移完成 --> 进入验收[进入结果验收] 迁移完成 --> 进入验收 取消换货 --> 进入验收 subgraph 验收阶段 进入验收 --> 核对换货状态[核对换货单状态和时间线] 核对换货状态 --> 核对新资产可用[核对新资产可正常使用] 核对新资产可用 --> 验收结果{验收是否通过?} 验收结果 -->|否| 异常回流[记录异常并返回换货流程处理] 异常回流 --> 后台建单 验收结果 -->|是| 结束([流程结束]) end %% ==================== 样式美化 ==================== style 开始 fill:#90EE90,stroke:#2E7D32,stroke-width:2px style 结束 fill:#FF9999,stroke:#C62828,stroke-width:2px style 建单失败 fill:#FFCDD2,stroke:#D32F2F style 重新填写 fill:#FFCCBC,stroke:#E64A19 style 更换新资产 fill:#FFCCBC,stroke:#E64A19 style 转新异常 fill:#FFCCBC,stroke:#E64A19 style 异常回流 fill:#FFCCBC,stroke:#E64A19 classDef decision fill:#FFF3E0,stroke:#F57C00,stroke-width:2px class 建单校验,信息提交结果,发货校验,迁移判断,转新结果,取消判断,验收结果 decision ```