sync from WSL host via Gitea: align to origin/main

This commit is contained in:
2026-07-14 16:59:38 +08:00
parent 8865fb5aa7
commit 0b0daf4e66
153 changed files with 24711 additions and 37 deletions
+42
View File
@@ -0,0 +1,42 @@
# 2026-05-27 工作日志
## 今日工作
### 1. 🔄 首页退出登录入口改造
- 从明显的退出按钮 → 右上角 `⋯` 更多菜单
- 点击弹出 ActionSheet,选"退出登录"再确认
- 后续可扩展其他选项(个人设置等)
- **文件:** `pages/index/index.vue`
### 2. 🐛 物料选择器切换分类时已选物料清空
- **原因:** `loadMaterialList()` 从接口重新拉数据,`materialList` 被重建为初始值(`quantity: 0, price: 0`
- **修复:** `selectCategory` 切换前保存已选物料 → `_buildSavedMap` 在新列表加载后恢复
- 4 个页面统一修复:`purchase.vue`, `production.vue`, `material.vue`, `sales.vue`
- 额外恢复已选保存逻辑(因 HMR 替换丢失过一次,重新补回)
### 3. 💰 单价回填方案变更
- **最初方案:** localStorage 缓存 `lastPrice_purchase_{materialId}` / `lastPrice_sales_{materialId}`
- **修正方案:** `StockPageDTO` 接口原生带 `lastInboundPrice` / `lastOutboundPrice`,直接读接口字段
- 去掉 localStorage 缓存代码
- **文件:** `pages/inbound/purchase.vue`, `pages/outbound/sales.vue`
- 采购映射 `item.lastInboundPrice || 0`
- 销售映射 `item.lastOutboundPrice || 0`
### 4. 💰 单价必须校验
- `handleDirectSubmit` 加必填校验(采购/销售)
- 提交时如果某物料单价为空 → Toast 提示 + 阻止提交
### 5. 工具/环境
- 项目路径:`/mnt/d/Projects/HBuilderProjects/erp-app/`
- 使用 sed/node 处理 CRLF 换行问题(WSL 挂载的 Windows 文件系统)
- HMR 热更新后有时需要手动 F5 刷新
## 重要决策
- **单价来源:** 优先使用接口返回数据,避免客户端缓存不一致
- `StockPageDTO.lastInboundPrice` → 采购入库上次单价
- `StockPageDTO.lastOutboundPrice` → 销售出库上次单价
- 生产入库/领料出库无单价需求,保持原样
## 未完成 / 待验证
- HBuilderX 运行测试以上所有改动
- H5 浏览器验证分类切换 + 单价回填 + 提交校验