dy-dashboard/vault/知识库/工作指南/训练记录/2026-07-10-国内订单管理和生成合同优化.md
2026-10-28 11:14:17 +08:00

87 lines
3.4 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-10 国内订单管理 & 生成合同优化
---
### 1. 国内订单管理列名与顺序调整
**旭东 → OpenClaw:**
> 国内订单管理优化以下几点:
> 1、编码列改名为货品编码,名称列改名为货品名称
> 2、货品编码、货品名称列挪到跟单下单日期的左侧
**OpenClaw 响应:**
已修改 `DOMESTIC_COLUMNS` 定义、表头样式、单元格渲染器、CSV导出,三张表(国内/海外/包材)同步修改。
---
### 2. 到货数量回车保存
**旭东 → OpenClaw:**
> 国内订单管理、海外订单管理、包材订单管理点击详情之后的弹窗中,到货批次及数量里面的到货数量设置一下回车保存功能,回车保存之后退出鼠标编辑状态
**OpenClaw 响应:**
新增 `batchQtyKeydown(event)` 函数,4 处 `batch-qty` 输入框添加 `onkeydown`,按下回车自动触发行内 ✅ 保存并 blur 退出编辑。
---
### 3. 到货数量合计不更新 Bug 修复
**旭东 → OpenClaw:**
> 这里有异常,我随意更改到货数量回车保存之后,下方合计数量没有随之变化
**OpenClaw 响应:**
`recalcArrivalUnfinished()` 只更新了未完结数量,未更新 `#arrivalTotalQty`。修复:在函数末尾遍历所有 `.batch-qty` 累加更新总到货数量。
---
### 4. 订单未完结数量支持负数
**旭东 → OpenClaw:**
> 订单未完结数量可以为负数,当到货数量大于实际下单数量之后,说明有多送的数量,比如到货数量是5200,实际下单数量是5000,那么合计行的订单未完结数量就应该是-200
**OpenClaw 响应:**
去掉 `Math.max(0, ...)` 限制,负值显示红色(`#f5222d`),合计行同步支持负数并标红。
---
### 5. 列宽拖拽问题
**旭东 → OpenClaw:**
> 我在国内订单管理里面更改列宽的时候,为什么其他列的列宽会有变化
**OpenClaw 响应:**
原因是 `table-layout: auto`(浏览器默认),尝试添加 `table-layout:fixed` 后用户觉得不好用,已恢复。
---
### 6. 生成合同功能优化
**旭东 → OpenClaw:**
> 国内订单管理、海外订单管理、包材订单管理三个子菜单下,生产合同功能还没有完善好,你帮我先优化一下
**OpenClaw 响应:**
- 后端:智能模板列检测(`_detect_column_map`),扫描表头关键词自动映射字段,去掉硬编码
- 后端:优化数据行查找逻辑(`_find_header_and_data_rows`)
- SQL 安全性改造(参数化查询)
- 前端弹窗多次优化(首次报 405,发现是旧服务器未重启;后改为弹窗立即展示 + 异步加载模板)
---
### 7. 生成合同按钮重构
**旭东 → OpenClaw:**
> 先全部删除现在生成合同按钮的这些相关配置,我需要重新规划功能 → 现在重新给国内订单管理、海外订单管理、包材订单管理的操作列添加生成合同按钮
**OpenClaw 响应:**
先清空所有生成合同相关代码(变量、函数、按钮),然后重新添加占位按钮和桩函数。弹窗使用 `createElement` + `style.cssText` 行内样式构建,不依赖外部 CSS。
---
### 8. 后续优化记录规则确认
**旭东 → OpenClaw:**
> 后续我让你操作的所有优化都是在测试电脑上,192.168.8.186上优化
**OpenClaw 响应:**
确认后续所有优化直接在本地测试机(192.168.8.186:18888)执行,不需要部署到生产服务器(192.168.11.79)。