42 lines
2.0 KiB
Markdown
42 lines
2.0 KiB
Markdown
# 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 浏览器验证分类切换 + 单价回填 + 提交校验 |