|
|
a4a9afb6db
|
feat(scan): 出库/借库扫码页接入草稿,切换单据不清空
交互
----
无需「暂停」按钮 —— 在下拉框切换单据这个动作本身就是暂停:
切走 → 自动存当前单据的进度
切回 → 自动恢复,并提示「已恢复上次的扫码进度(N 项)」
下拉框对扫到一半的单据显示橙色「已扫 N」徽标,不必逐个点开试。
提交成功后自动清除该单据的草稿。
修复的三个 bug
--------------
1) 切换时把 A 的内容存到了 B 名下
v-model="selectedRequestId" 的 computed setter 会**先于** @change 把
selectedRequest 改成新单,故 handleRequestChange 里读到的是新单。
新增 activeRequestId ref 记录「界面上真正显示的是哪张单」,
保存时显式传入离开的那张单的 ID。
2) 切回时把目标单的旧草稿删了
原先写了「购物车为空则清除草稿」,但切换瞬间购物车必然为空,
于是切回 A 时触发了清除。现改为空清单只跳过保存、不清除;
清理由「提交成功」或「用户点清空列表」显式触发。
3) 恢复后名称/规格为空、出库数显示 NaN
draftPayload 只存了 4 个字段(stock_id/source_table/sku/quantity),
而购物车表格绑定的是 name/spec_model/available_quantity/out_quantity
—— 全都没存。现保存完整快照,并在恢复时归一化
(out_quantity ?? quantity)以兼容已存在的旧草稿。
补充:恢复后刷新实时库存
------------------------
草稿里的 available_quantity 是扫描那一刻的快照,跨时间恢复可能已过期
(期间别人出库/借出会消耗可用量)。恢复后复用 /alternatives 端点拉一次
实时可用量:数量超了会明确提示「N 项物料的实际库存已少于你扫的数量」,
避免工人扫满后到提交时才被后端拒绝。失败不阻断,沿用草稿快照。
另:离开页面(路由跳转)时存草稿并弹确认;beforeunload 用 sendBeacon
尽力保存(该路径无法带 Authorization 头,可能失败,但防抖保存已覆盖
绝大部分内容)。
|
2026-09-10 17:21:24 +08:00 |
|
|
|
a07432981e
|
feat(borrow): 扫码借库页的清单对齐扫码出库页
问题
----
扫码借库页(views/transaction/borrow.vue)的「审批计划清单」与扫码出库页
的「计划出库清单」样式不一致:
· 标题:审批计划清单 / 计划出库清单
· 类型列:借库有、出库已删
· 数量列:借库用「审批数量」且排在最右;出库是「计划数量」且前置
· 备选库位:借库没有
· 清单容器:借库灰底 #f5f7fa,出库是淡绿 #f0f9eb + 边框
改动(五项全部对齐)
--------------------
· 标题改为「计划借用清单」;
· 移除「类型」列;
· 「计划数量」前置到序号之后,橙色 #E6A23C 加粗 15px;
· 新增备选库位:库位格子整体可点击 + popover(与出库页逐字相同的实现);
· 清单容器改为淡绿背景 #f0f9eb + #e1f3d8 边框 + 圆角,标题绿色加粗。
备选库位复用了出库模块的 /alternatives 端点。已核实前提:借库申请单的
items_json 由预占改造写入 base_id / stock_id / source_table,故「推荐/备选」
标注可正常工作(对历史单据无这些字段时会安全回退为纯文本)。
定位说明
--------
借库有三个页面(选单 / 扫码 / 审批),上一轮按「计划清单」关键词搜索时
命中了审批页的展开行,改错了位置。本提交修正的是真正的扫码借库页。
|
2026-09-10 16:17:50 +08:00 |
|
|
|
6aba09880c
|
feat(borrow): 库管借库执行自动把申请单原因带入备注说明
- 选中已审批借库申请单时 form.remark 自动填充该单 remark(申请原因),无需重复手填,可再改
|
2026-09-09 09:31:06 +08:00 |
|
|
|
ec9aafbe51
|
feat: 借库归还日期贯穿申请/审批/扫码借库;BOM 套餐添加与打印、缺货写入申请原因
|
2026-09-02 18:39:17 +08:00 |
|
|
|
f5aa2f481b
|
feat(scan): 出库/借库扫码增加未扫清单弹窗
- 扫码进度条旁新增「未扫清单 (N)」按钮(有未扫满物料时显示)
- 弹窗列出计划中未扫满的物料:名称/规格/计划数量/已扫数量/待扫数量
- 提供「去扫码」快捷跳转,方便补扫漏掉的物料
- 未扫满 = 计划数量 > 已扫数量(含完全未扫和扫了一部分的情况)
|
2026-08-31 14:53:20 +08:00 |
|
|
|
e492000c3e
|
feat(scan): 出库/借库扫码进度显示 + 重复扫码确认
- 出库 create.vue + 借库 borrow.vue 均增加扫码进度条
显示: 已扫/总数 种 + 已扫/总数 件 + 进度百分比
- 重复扫码时不再直接 +1,改为弹窗确认「确认 +1 / 取消」
防止手滑重复扫或误操作
- 扫码进度条选中审批单后显示
|
2026-08-31 14:35:26 +08:00 |
|
|
|
4ab7b6f541
|
fix: borrow/return/records permissionMap 基础列改为 null 始终可见,对齐 inbound 模式,移除 records alwaysVisible 硬编码
|
2026-07-21 09:40:58 +08:00 |
|
|
|
4934cd4d8f
|
feat: 采购管理税率+分开单价总价列 + 按单出/借库锁定扫描 + 含税法计算
- purchase: 新增tax_rate字段(model+service+frontend), 表格拆分为不含税单价/总价/税率三列
- buy.vue: 含税法计算(含税总价=数量×含税单价), 含税总价自动计算可手动覆盖
- create.vue: 按单出库模式下未选审批单时锁定摄像头和SKU输入
- borrow.vue: 未选审批单时锁定摄像头和SKU输入
- deploy_production.sql: 整合全部数据库变更(表结构+权限码+角色分配)
|
2026-07-15 16:07:59 +08:00 |
|
|
|
bfeb397c4a
|
fix(借库扫码出库): items 字段名 stock_id → id 修复 400 + dispatch_borrow docstring 补全 sku 字段说明
|
2026-06-16 13:38:51 +08:00 |
|
|
|
7ef22a3830
|
feat(借库审批流): 完整前后端实现
|
2026-06-12 14:08:19 +08:00 |
|
|
|
1e38696e68
|
feat: support indefinite borrow period for long-term asset allocation
|
2026-03-18 10:57:21 +08:00 |
|
|
|
a2b1a62132
|
feat: add RBAC and field masking for borrow/return/records pages
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-02-27 14:05:52 +08:00 |
|
|
|
50361dba9a
|
针对于上传图片以及借库还库和出库选单进行更改
|
2026-02-09 16:08:47 +08:00 |
|
|
|
04ee938cd1
|
借库逻辑实现
|
2026-02-06 17:11:47 +08:00 |
|
|
|
3afea217b7
|
物料-采购件入库页面功能实现
|
2026-01-27 15:50:23 +08:00 |
|
|
|
2f8a5c55b1
|
python-flask和Vue两种模式初模板
|
2026-01-26 17:00:12 +08:00 |
|