dy-dashboard/vault/知识库/工作指南/训练记录/2026-07-16-测试环境全面优化.md
2026-10-28 11:14:17 +08:00

204 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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) |