# 邮件自动预报 — 实施计划 ## 当前步骤 antd useForm 未连接 Form 告警 — Done ## 进度日志 - Modal destroyOnClose 后 set/reset 改 afterOpenChange;IMAP Card loading→Spin — Done - forecastShippingId useState 前移到 forecastValue useMemo 之前 — Done - CC 客户端接口 PDF→MD 全文转换 — Done - extractForecastInstructionText + stripMobileMailChrome 去发件人/大小/iPhone 元数据 — Done - 跑 `rewrite-mail-business-summary.ts` 以 Unicode 重写 UTF-8 文案;详情页中文恢复 — Done - 样例邮件附件平铺 + ingest 寻址统一 — Done(DB 停机时需再跑 pnpm sample:mails) - 一封邮件多指令拆分:`extractMailInstructions` 收敛为 forecast/work_order/transfer/do_upload — Done - 留仓/拆分/出库 UI:删除 `CcContainerOpsPanel`;新增 FormMoveType 留仓、Split 拆分、客户端出库指令三面板;意图分流 hold/split/outbound — Done - 邮件3/4 子目录附件平铺到邮件根;`样例附件清单.md`;ingest attachPolicy — Done - 拆柜/派送/转仓仿制 UI 样式向 ccnew Learun 靠齐(边框/按钮/表头/密度)— Done - `CcTransferIndexTruck` 仿制 IndexTruck 查询区+合计+货件表+FormFBACode;TRANSFER/工单转仓详情展示 — Done - 邮件2(MATU2745683)四段主题解析客户 LINK EVER INC;样例 #76 327 行 — Done - 转仓 UI 仅展示备注「转XXX」行(邮件2=2 行),全柜清单作范围提示 — Done - 按填写规范生成 `数据模版-新辰泽-WHSU8127240.xlsx`;多行表头/空仓库ID;#79 待确认 23 行 — Done - 货件工具条仅保留查询 — Done - 主题 ellipsis;客户剥 Fw/转发/新增预报N;船司按提单前缀匹配 CC 列表;NO_SHIPMENT 中文说明 — Done - Learun 蓝条箭头 Steps + 左右标签 + 货件工具条外观 + 绿完成;#79/#74 验收 — Done - `CcForecastFormOrder` 详情只读+确认页可编辑;预报样例 #79 / 工单 #74 目视验收 — Done - `pnpm sample:mails` 入库 M1–M4;详情页 Playwright 无 antd Descriptions/Table 告警 — Done - Table rowKey 改预注入 `__rowKey`,不再用 `(row, index)` — Done - `pnpm sample:mail3` 入库;主题有柜号时允许无正文/附件 — Done - 邮件3:`ops-subject-template` 抽柜号/提单/船名/ETA/渠道件数;WORK_ORDER 主题短路 — Done - bl-plus 提单前缀船司优先;提拆派/车架/海运默认;样例单测 — Done - confirm 两步审查 UI + CC 货件列名;TransMode/OperationType 文案对齐 ccnew — Done ## 进度日志 - 主题 ellipsis;客户剥 Fw/转发/新增预报N;船司按提单前缀匹配 CC 列表;NO_SHIPMENT 中文说明 — Done - Learun 蓝条箭头 Steps + 左右标签 + 货件工具条外观 + 绿完成;#79/#74 验收 — Done - `CcForecastFormOrder` 详情只读+确认页可编辑;预报样例 #79 / 工单 #74 目视验收 — Done - `pnpm sample:mails` 入库 M1–M4;详情页 Playwright 无 antd Descriptions/Table 告警 — Done - Table rowKey 改预注入 `__rowKey`,不再用 `(row, index)` — Done - `pnpm sample:mail3` 入库;主题有柜号时允许无正文/附件 — Done - 邮件3:`ops-subject-template` 抽柜号/提单/船名/ETA/渠道件数;WORK_ORDER 主题短路 — Done - bl-plus 提单前缀船司优先;提拆派/车架/海运默认;样例单测 — Done - confirm 两步审查 UI + CC 货件列名;TransMode/OperationType 文案对齐 ccnew — Done ## 路线(顺序执行) 1–25.(既有)— Done 26. 运营按钮 + 确认门禁 + env 统一 + stale→FETCHED — Done 27. 邮件标准记录模板(无导入扩展)— Done 28. 对照 ccnew 对接面(SaveContainer)— Done 29. CC FormOrder 字段对齐审查页 — Done 30. 邮件3主题工单解析(附件/正文后置)— Done 31. CC FormOrder UI 复刻(详情/确认共用)— Done 32. FormOrder 截图视觉对齐(chevron/工具条)— Done ## 已确认约束 - 邮件来源仅 IMAP;无开发种子进库;无操作审计页/`audit_log` - IMAP lookback 默认 3 天(已读+未读);间隔默认 30min(设置页优先) - 改类型开关:服务端 `ENABLE_TYPE_OVERRIDE`,前端经 `/api/health.enable_type_override` - PARSING 卡死回收 → FETCHED,由 worker `drainFetchedMails` 再入队 - OCR/指令 live 仍后置 - 工单/转仓只记 `mail_record`,不自动写 CC;导入后置 - 确认页按 FormOrder 字段对齐(非像素复刻);提拆派→业务类型0;直送仅为类型说明 - 邮件3类「拆柜清单更新」:仅主题;正文/卡转海附件后置 ## 设计文档 - 修订摘要:docx/现行口径-修订说明-v1.md - PRD / 技术 / UI / 韧性 / SOP:已回写现行口径