204 lines
7.6 KiB
Markdown
204 lines
7.6 KiB
Markdown
# 2026-07-16 测试环境全面优化
|
||
|
||
---
|
||
|
||
### 1. 测试问题页面优化
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 1、测试问题菜单视图总览下的4个卡片,需要支持跳转功能,点击卡片,自动跳转到对应内容板块
|
||
> 2、处理中卡片名字更改为待处理
|
||
> 3、审核问题下的待审核tab页下边问题排序更改为按照时间从远到近排序
|
||
|
||
**OpenClaw 响应:**
|
||
- 视图总览4张卡片(待审核/待处理/已完成/全部)支持点击跳转到对应tab页
|
||
- 「处理中」改为「待处理」
|
||
- 待审核tab按 created_at ASC 排序(从远到近)
|
||
|
||
---
|
||
|
||
### 2. 测试问题页面Bug修复
|
||
|
||
**旭东 → OpenClaw:**
|
||
(点击已完成卡片显示内容不对、审核未通过→待审核跳转异常、胡孟怡审核权限)
|
||
|
||
**OpenClaw 响应:**
|
||
- 修复异步竞态:有预设状态时跳过首次 loadFbActiveList,避免请求覆盖
|
||
- 修复 `_fbReviewSubTab` 未重置导致跳转显示错误内容
|
||
- 胡孟怡 role 从 admin 升为 super_admin(同步到生产)
|
||
|
||
---
|
||
|
||
### 3. 供应商管理 - 导出/导入功能
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 供应商管理菜单下需要支持以下功能
|
||
> 1、导出功能,根据字段内容进行全部导出,导出格式为xlsx
|
||
> 2、导入功能,通过导入来维护供应商的简称、合同简称两个字段
|
||
> 3、导入时需要根据现有的供应商名称来新增简称、合同简称字段
|
||
|
||
**OpenClaw 响应:**
|
||
- 导出 API `/api/suppliers/export`:支持按筛选条件导出全部供应商为 xlsx,含表头样式、冻结首行
|
||
- 导入 API `/api/suppliers/import`:按「供应商名称」匹配更新「简称」「合同简称」,显示成功/未匹配/跳过数
|
||
- 导入弹窗优化:支持拖拽上传 + 下载模板
|
||
- 合同简称大写校验:预检查所有行的合同简称,非大写直接报错并提示具体行号和供应商
|
||
|
||
---
|
||
|
||
### 4. BOM/产品优化
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 1、产品信息管理更改货品名称,物料清单里对应的名称没有自动变更
|
||
> 2、物料清单管理里面,货品/物料编号更改为物料编号,名称更改为物料名称
|
||
|
||
**OpenClaw 响应:**
|
||
- 产品改名时同步更新 BOM 表的 product_name(作为成品时)和 material_name(作为物料时)
|
||
- BOM表头「货品/物料编号」→「物料编号」、「名称」→「物料名称」
|
||
|
||
---
|
||
|
||
### 5. 计划预测BOM下单清单优化
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 1、计划预测BOM下单清单里面,成品的实际下单数量无法为0,修改为可以为0
|
||
> 2、修改成品下单数量为0的情况,可以自动同步到待下单管理详情弹窗中的实际下单数量
|
||
> 3、总之一句话,BOM下单清单中修改填写的数据优先级最高
|
||
|
||
**OpenClaw 响应:**
|
||
- BOM清单成品实际下单数量可为0(前端校验 `newQty <= 0` 已删除,后台判断改为 `>= 0`)
|
||
- 待下单确认弹窗/渲染函数均改为 `>= 0` 判断,0 也能正常传递和显示
|
||
|
||
---
|
||
|
||
### 6. 待下单确认跳转规则
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 1、成品下单数量为0,包材下单数量不为0,不跳转国内/海外订单管理,但跳转包材订单管理和下单备份
|
||
> 2、成品下单数量不为0,包材下单数量为0,不跳转包材订单管理,但跳转国内/海外订单管理和下单备份
|
||
|
||
**OpenClaw 响应:**
|
||
- 后端 `confirm_order` 增加 `has_product_order`/`has_packaging_order` 追踪
|
||
- 成品数量为0时跳过创建国内/海外订单
|
||
- 前端增加 `showConfirmRedirect()` 弹窗,根据实际创建类型显示对应跳转链接
|
||
|
||
---
|
||
|
||
### 7. 国内订单管理 - 包材订单合计→金额
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 包材订单管理合计列改名为金额列
|
||
|
||
**OpenClaw 响应:**
|
||
包材订单管理所有「合计」→「金额」(表头、导出表头、列配置、字段渲染)
|
||
|
||
---
|
||
|
||
### 8. 订单管理金额列公式化
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 国内订单管理、海外订单管理、包材订单管理金额列设置公式,等于单价×数量,当修改某一个单价的时候,对应金额数据自动计算发生变化
|
||
|
||
**OpenClaw 响应:**
|
||
- 三个列表的金额列均改为 `单价 × 数量` 实时计算
|
||
- 单价输入框增加 `oninput="recalcAmount(this)"`,即时重算同行金额
|
||
- 数量/金额列增加 `qty-cell`/`amt-cell` class 用于定位
|
||
|
||
---
|
||
|
||
### 9. 到货批次同步优化
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 1、详情弹窗合计行订单未完结数量应该等于实际下单数量-到货数量,默认三行为空时不应是0
|
||
> 2、登记到货批次后,列表的实际到货数量和未到货数应与详情弹窗合计行保持一致
|
||
|
||
**OpenClaw 响应:**
|
||
- 修复合计行未完结数量:空白行时显示 `orderQty` 而非 0
|
||
- 新增 `sync_order_arrival_totals()` 后端函数
|
||
- 新增 `实际到货数量`/`未到货数` 列到 `packaging_orders` 表
|
||
- 到货批次增/改/删均自动同步到订单表
|
||
- `domestic_orders`/`overseas_orders` 补齐 `订单下达供应商时间` 列
|
||
- 修复 f-string 反引号转义导致的 SQL 语法错误
|
||
|
||
---
|
||
|
||
### 10. 待提数量独立字段
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 待提数量应该只保留手动编辑,不自动计算
|
||
> 未到货数列应该跟随到货批次合计行的订单未完结数量
|
||
|
||
**OpenClaw 响应:**
|
||
- 新增 `待提数量` 列到三张订单表
|
||
- 详情弹窗 `待提数量` 保存到独立列,不覆盖 `未到货数`
|
||
- `未到货数` 继续由到货批次自动计算
|
||
|
||
---
|
||
|
||
### 11. saveDetailChanges 卡顿修复
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 修改待提数量点击保存一直显示保存中
|
||
|
||
**OpenClaw 响应:**
|
||
- 修复 `function doneCheck()` 在 forEach 内的函数提升(hoisting)问题
|
||
- 改用 `var doneCheck = function()` 表达式 + `Promise.all` 替代手动计数
|
||
- 修复遗漏的空格号导致 syntax error
|
||
- 修复 datetime 空字符串 '' 传参导致 MySQL 500 错误
|
||
|
||
---
|
||
|
||
### 12. 显示 0 代替空
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 实际到货数量不要为空,写0就好
|
||
> 未到货数当为0也不要为空,写0
|
||
|
||
**OpenClaw 响应:**
|
||
- 国内/海外/包材三个列表的 `实际到货数量` 和 `未到货数` 渲染统一改为显示 0
|
||
- 负数也能正常显示(去掉 `max(0,)` 截断)
|
||
|
||
---
|
||
|
||
### 13. 实际到货日期自动跟随
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 实际到货日期应该等于到货批次里最近一次日期,可以覆盖
|
||
|
||
**OpenClaw 响应:**
|
||
- `sync_order_arrival_totals` 同步时自动取批次最新日期更新 `实际到货日期`
|
||
- 删除全部批次时设为 NULL
|
||
|
||
---
|
||
|
||
### 14. priceSave 按API判定刷新
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 修改海外订单管理的单价后回车保存报错 Cannot set properties of null
|
||
|
||
**OpenClaw 响应:**
|
||
- 修复 `priceSave` 总是刷新国内订单列表的 bug
|
||
- 改为根据 `api` 参数路径判定刷新哪个列表(overseas/packaging/domestic)
|
||
|
||
---
|
||
|
||
### 15. 日期格式规范化
|
||
|
||
**旭东 → OpenClaw:**
|
||
> The specified value "2026/4/22" does not conform to the required format
|
||
|
||
**OpenClaw 响应:**
|
||
- 详情弹窗 `<input type="date">` 补上 `_padDateStr` 格式转换
|
||
- "2026/4/22" → "2026-04-22"
|
||
|
||
---
|
||
|
||
### 涉及文件
|
||
|
||
| 文件 | 改动 |
|
||
|------|------|
|
||
| `static/js/feedback.js` | 卡片跳转、改名、bug修复 |
|
||
| `routes/feedback.py` | 待审核排序 |
|
||
| `routes/products.py` | 供应商导出/导入/模板/大写校验、产品改名同步BOM |
|
||
| `static/js/app.js` | 供应商导入导出弹窗、BOM表头、下单确认跳转、金额公式、到货批次、待提数量、显示0、priceSave修复、日期格式化 |
|
||
| `routes/purchase.py` | confirm_order跳转逻辑、到货批次同步、sync_order_arrival_totals、空值转NULL、实际到货日期跟随 |
|
||
| `templates/base.html` | 缓存版本号更新(v=1609) |
|