本分支任务:选款/盘点页面按分销商参数显示库存

本分支任务:选款/盘点页面按分销商参数显示库存

本文件是这条 worktree 分支(feature/show-stock-params,基于 origin/develop 6b9f47f)的需求简报。 *.local.md 已被 .gitignore 忽略,本文件不会进提交。

需求(来自分销商参数页面的两个参数)

参数 1:mlb_saleout_show_stock(开单显示库存,默认值:显示)

控制以下 6 个选款页面是否显示库存:

  1. 采购选款
  2. 销售开单选款
  3. 销售订单选款
  4. 采购订单选款
  5. 调拨出库单选款
  6. 配货单新增选款

库存口径:

  • 配货单选款(特殊):显示「开单门店 + 接收门店」两个门店的库存
  • 其余 5 个选款:只显示本门店库存

参数 2:sspd_inv_check_show_stock(盘点是否显示库存,默认值:明盘:显示库存)

控制盘点新增时是否显示库存,只显示本门店的。

已确认的代码锚点

  • 分销商参数读取入口:frontend/src/services/params.ts:272pageDistributorParamsApi(含 getParamInfo(code)),同文件还有 systemParamsApi / storeParamsApi,注意选对层级
  • 两个参数 key 在前端代码中尚无任何引用——全新接入,第一步应先调研 6 个选款页 + 盘点新增页的现状(库存列是否已存在、数据源接口是否已返回库存字段)
  • 旧项目 ec-slh2-web(本地已 clone)同模块页面可作为行为参照

协作惯例(仓库 CLAUDE.md 之外的约定,必须遵守)

  1. 弹窗必用 messageProxy:禁止 antd 静态 message / Modal,项目已有 ESLint warn 提示
  2. 不要擅自 commit:写完代码默认停在工作区,提交前必须和用户确认范围;docs/ 文档默认不入库
  3. 完成 = 行为已验证:声称完成前必须真跑(浏览器/测试)观察行为,tsc 通过、看 diff 都不算验证
  4. 下结论前看完整代码:禁用「应该是/可能是」式自信推断
  5. 主仓库目录(/Users/mac/work/shopdiary/shopdiary-claude)正在另一个会话跑 E2E 测试,不要去动那个目录
  6. 端口分工(重要):localhost:3000 归主目录独占(E2E 的 local 环境写死了 3000,见主目录 tests/e2e/utils/config.py:44)。本 worktree 起 dev server 必须用 npm run dev -- --port 3100。背景:vite.config 无 strictPort,端口被占会静默换 3001,导致 E2E 测错分支的代码

建议开工顺序

  1. 调研:6 个选款页 + 盘点新增页的组件现状,确认库存数据来源(接口是否已返回 / 需要后端配合)
  2. 出实现方案(参数读取时机、缓存策略、配货单双门店库存的数据源)给用户确认
  3. 再动手写代码