## 1. API 类型层 - [x] 1.1 src/api/modules/exchange.ts:ExchangeResponse 新增 migration_status(枚举 not_migrated/pending/migrated/failed)、migration_status_name、migration_failure_reason - [x] 1.2 src/types/api/shop.ts:BusinessOwnerImportDetail 新增 task_no/file_name/creator_name/started_at/completed_at/status_name;BusinessOwnerImportRow 新增 status_name - [x] 1.3 src/api/modules/shop.ts:createBusinessOwnerImport 返回值对齐任务对象(含 id),导入页改用返回对象 id 打开结果抽屉 ## 2. 换货列表 - [x] 2.1 「状态」列之后新增「迁移状态」列(中文名;failed 用 danger 标记) - [x] 2.2 failed 单的「确认完成」:代理/企业账号(user_type)隐藏重试入口,超管/平台保留(权限码沿用 exchange:complete) - [x] 2.3 code=1206 处理:确认完成后统一提示后端安全文案,列表/详情保持「已发货待确认」并可重试;不展示数据库/渠道原文 ## 3. 换货详情 - [x] 3.1 新增迁移信息展示:迁移状态(中文)+ 失败原因(仅 failed 展示) ## 4. 店铺负责人导入页 - [x] 4.1 任务列表展示任务编号/文件名/创建人/开始时间/完成时间/状态中文名(保留原有 状态/总数/成功/失败/创建时间) - [x] 4.2 结果抽屉:任务级信息展示文件名/创建人/开始·完成时间/状态中文名;行级表格展示状态中文名 ## 5. 验证 - [x] 5.1 vue-tsc --noEmit、check-encoding、相关文件 eslint - [x] 5.2 openspec validate update-exchange-migration-and-shop-import --strict