前端 stores/stock.js 一直在发 category,但 handler 只读 search,service 与 repository 的方法签名里也没有这个参数,整条链路把它静默丢弃,于是选完分类 点「查询」没有任何反应。前端本来就传对了,无需改动。 repository 侧按大类 code 过滤(material_categories 里 parent_id 为空的那层, 即 SQL 里的 pc.code),与列表「大类类型」列同口径,前端下拉的 value 正是大类 code。注意 GetAllStock 的 COUNT 查询原本没有 JOIN 分类表,加 pc.code 前必须 补上与主查询一致的 LEFT JOIN,否则分页总数会和实际行数对不上、末尾多出空白 页;两张表都按主键关联,实测计数不变。小类码不会误命中(category=A01 返回 0)。 顺带修掉同一功能里的耦合缺陷:updateWarningStock 刷新列表时不传筛选参数, 筛选一旦生效,保存预警就会把列表刷回全量、而下拉框仍显示选中的分类。store 新增 stockFilters 记住当前条件,刷新时沿用。 stock_test.go 里 COUNT 的正则随 SQL 变形同步放宽,新增 TestStockRepoGetAllStockAppliesCategoryToBothQueries 覆盖两条 SQL 的成对条件 与参数顺序;前端补 4 条用例(store 沿用/清空筛选、组件查询与翻页传递分类)。 |
||
|---|---|---|
| .. | ||
| node_modules | ||
| src | ||
| .dockerignore | ||
| Dockerfile | ||
| index.html | ||
| nginx.conf | ||
| package-lock.json | ||
| package.json | ||
| vite.config.js | ||
| vitest.config.js | ||