六项前端体验优化 实现计划

2026-07-14 · 状态:7 任务全部完成(本地提交态,DoD 全绿 + fidelity 最差 4.724%≤阈,等用户验收;不发版不部署)· 执行真相源 = docs/plans/2026-07-14-six-frontend-tweaks.md(checkbox),本页为阅读版 · 每任务经独立审查(T3 修掉生产日期空串崩溃 Critical;T4/T5/T6 补 19 个回归用例)

结论先行

六个需求全部「后端零改动」,均为 Flutter 前端 + 设计原型改动。按 design-first 铁律:每个任务先改原型 → 再改真实代码 → 同一提交落地,改到的屏保持 CONTRACT「同步」态,完成后跑 fidelity / check-ds / check-l1-sync / golden 全闸。

需求 → 改法一览(两端分列)

#需求桌面端移动端后端
1库存抽屉加供应商两端共用同一抽屉组件product_editor_drawer.dart_infoBody,桌面=右滑抽屉 / 移动=底部 sheet),加一行两端同时生效;由库存列表调用点传 item.supplierName,其它调用方不传即不显示
2批次号↔生产日期换位inventory.html COLS + _colDefs 对调(批次号第4列 ↔ 生产日期第8列);列偏好按 key 存,用户配置不受影响移动端无批次号字段,不涉及
3出入库单抽屉加「生产日期+批次号」明细表插双行列(上=生产日期 fsSm mono,下=批次号 fsXs 小字,照抄「商品·编码」列先例):入库 5→6 列微调列宽不加宽;出库管理员 7→8 列太紧,抽屉 600→660px(L1 atoms.css .drawer.wide 与 Flutter 常量同提交)明细行金额左侧同样插入双行列(上=生产日期,下=批次号小字,与桌面同构;两值皆空不渲染)
4状态筛选多选 + 默认草稿+待审核状态 chip 单选 PopupMenu → 库存屏已有多选先例 showDsMultiMenu(摘要 值/「N 项」/ × 清)状态底部 sheet 单选 → 多选勾选;KPI 卡点击=覆盖单值零(已支持逗号多值)
5新建单默认填默认仓库两表单共用同一代码路径(OrderFormShell docHead),新建模式仓库列表加载后 ??= 默认仓(无默认仓且仅一仓则取它),改一处两端生效;编辑模式不受影响
6财务加往来单位筛选 + 统一时间组件流水表 toolbar 加 ComboSearchField(照出库「客户」筛选),数据源 allPartnersProvider时间 chips 行尾加「往来单位」chip → 底部 sheet 可搜单选(财务移动屏无 toolbar/详搜结构,此为最轻形态)零(partner_id 已支持)
6b自定义时间统一showDateRangePicker(Material 原生)→ 入库管理用的 showDateRangeDropdown(桌面=chip 下拉双滚轮 / 窄屏=底部 sheet,组件内部自适应,一处改动两端生效

已定决策(评审时可推翻)

任务分解与多 agent 调度(7 任务,每任务原型+代码同提交)

波次并行组任务说明
1A 库存域 ∥ B 出入库抽屉 ∥ D 财务域T1+T2 ∥ T3 ∥ T6三组文件域无交集,并行执行
2C 出入库筛选+表单T4+T5与 B 同文件(两 list_screen / 4 原型),必须等 B 完成
3收尾T7全部完成后统一体检回填

红线与 DoD

批准后落地流程

  1. todo 登记(全局 todo skill)并标 doing
  2. 按波次多 agent 派发执行(波1 三组并行 → 波2 → 收尾),每任务一提交
  3. 完成后本地起服务给你实测验收(5180 原型 + dev.sh run 真实端)