|
|
32cb5469c4
|
feat(stocktake): 欢迎页改为公司维度状态驱动,多设备共享盘点会话
原入口只有一个「开始新盘点」,多台 PDA 各开各的会话,无法协同。
- 新增公司选择器:普通用户锁定并默认本公司(后端本就强制隔离),
超管必须显式选择,未选时入口按钮禁用;本公司若不在下拉列表中
则补进去,避免 el-select 显示为空。
- 选定公司后调用 /draft/active-session 探测该公司是否已有进行中的
盘点。服务端为唯一事实来源,localStorage 仅作缓存。
- 状态驱动渲染入口按钮:
场景 A(已有活跃会话)→ 绿色「加入正在进行的盘点」,并提示当前
进度项数;同时保留次要入口「开启新一轮盘点」,否则公司一旦有过
草稿就永远开不了新一轮,点击走 10 秒确认弹窗。
场景 B(无活跃会话)→ 蓝色「开始新盘点」。
- 切换公司时清空本地会话并重新探测,避免跨公司串会话。
- 移除此前「刷新后请求 /draft/list 取第一条草稿猜 session_id」的逻辑:
该列表无会话/用户过滤,取到的是全库 SKU 字典序最小的那条草稿,
与当前用户和公司都无关。
- 所有盘点请求携带当前公司;导出、生成漏盘、改实盘数等 POST 请求
亦经 query string 传递公司。
|
2026-09-11 11:33:26 +08:00 |
|
|
|
893e7250db
|
fix(api): update-stocktake-quantity 按 session_id 隔离更新,防止跨会话误改
后端 update_stocktake_quantity 原只按 stock_id+source_table 查草稿,
不同盘点会话会相互覆盖实盘数。后端增加 session_id 过滤,
前端 handleQuantityChange 配套传入当前会话ID,API 类型同步补全。
|
2026-08-31 16:00:20 +08:00 |
|
|
|
7ac41bf6fd
|
fix(web): 继续上次盘点不再拉取全量草稿,直接复用首条草稿的 session_id
resumeSession 原在 limit=1 探测后,又发起 limit=500 请求只为取出 session_id,
会触发后端 /draft/list 的全量 N+1 查询导致启动卡顿。
改为直接从第一条草稿提取 session_id,恢复会话零冗余请求。
|
2026-08-31 16:00:06 +08:00 |
|
|
|
5249649cfa
|
fix(stocktake): 扫码未找到物料时显示友好提示而非原始 404 错误
- 识别 HTTP 404 状态码 → 显示『条码 [xxx] 未在库存系统中找到,请确认条码是否正确』
- 其他错误 → 显示『查询失败: xxx』
- 扫码失败时振动反馈
|
2026-08-31 15:21:18 +08:00 |
|
|
|
7a3ffd8ba5
|
feat(stocktake): 重复扫码提示并确认是否修改
问题: 同一个码扫两遍输入两个数,后端 draft/add 直接覆盖,无任何提示
可能误改已盘数量
改进:
- 后端 draft/list 支持 uuid 过滤,可精确查某物料是否已盘
- 扫码弹输入框前,先精确查询该物料是否已盘
- 已盘过 → 弹窗提示『当前实盘为 X,是否修改?』
确认后预填旧值供修改,取消则不改变
|
2026-08-31 15:13:52 +08:00 |
|
|
|
2eee792059
|
fix(stocktake): 删除 pinScannedItem 后多余的右花括号
多余的 } 导致 script 括号不匹配,SFC 解析错乱报 Unexpected token
|
2026-08-31 15:06:30 +08:00 |
|
|
|
cf76310340
|
fix(stocktake): 修复模板中 TS 类型注解导致的编译错误
row-class-name 的 (row: any) 在 Vue 模板中不合法,去掉类型注解
|
2026-08-31 15:03:22 +08:00 |
|
|
|
c6e8c887ec
|
perf(stocktake): 应盘清单分页 + 扫码置顶高亮
性能修复(解决打开费劲):
- get_all_stocktake_items 改为分页返回 {items(当前页), total, total_scanned}
不再三次 .all() 全量加载 + 内存排序
- 前端 fetchAllStockItems 分页拉取(每页200),stats 用后端返回的 total
不依赖全量数组长度
体验优化:
- 扫码成功后将物品置顶到当前表格第一行并浅绿高亮3秒
库管无需翻页找刚扫的物品,'嘀'一下确认数量即可继续
- 主表格行高亮样式 .just-scanned-row
|
2026-08-31 14:59:22 +08:00 |
|
|
|
7e281cf285
|
fix(stocktake): 盘库扫码改为精确匹配,修复漏匹配与性能问题
问题:
1. 准确性 bug: 前端用 getStockList({pageSize:10, keyword}) 模糊搜索 + find()
当 SKU 前缀相同、目标不在前10条时,误报'未找到该物料库存'
2. 性能: 每次扫码全表 ilike %x% 搜索 3 张表,不走索引
修复:
- 后端 get_stock_info 改为精确匹配(==)优先,未命中再回退模糊搜索
- 新增 GET /inbound/stock/scan 扫码精确匹配接口,返回唯一命中
- 前端 onScanSuccess/handleManualInput 改用 scanStockByBarcode
一次请求直接命中,不再依赖 pageSize:10 + find()
|
2026-08-31 14:49:24 +08:00 |
|
|
|
8c10bb0903
|
feat: 盘点合并列表 — 服务端JOIN+DB分页,消除99999全量加载
## stock.py
- 新增 GET /draft/merged-list: UNION ALL三表+LEFT JOIN draft
数据库级 LIMIT/OFFSET 分页,不再加载全量到Python内存
- 参数: session_id, keyword, status_filter, page, pageSize
- 返回: list, total, total_scanned (已扫去重数)
## stock.ts
- 新增 getDraftMergedList() API函数
## stocktake/index.vue
- fetchInventoryList: 改用merged-list单次调用替代99999全量+find()
- resumeSession: limit 99999→1 先检查存在,再limit 500加载
|
2026-07-16 13:08:29 +08:00 |
|
|
|
605462cc33
|
fix: 解除库存盘点弹窗500条限制并修复字段匹配
|
2026-04-24 13:40:08 +08:00 |
|
|
|
996056d46a
|
fix: 修复库存盘点已盘数量卡在500的问题
|
2026-04-24 13:19:57 +08:00 |
|
|
|
ab353e5b34
|
库存盘点添加扫码保留数值的功能
|
2026-04-22 10:05:25 +08:00 |
|
|
|
0d8f697df4
|
fix(stocktake): enforce session_id in resume, make missing generation idempotent, update UI to show SN, and fix excel time offset
|
2026-04-03 09:42:51 +08:00 |
|
|
|
43e1d0aa55
|
fix(stocktake): strictly isolate stocktake drafts by session_id in list and finish generation to prevent historical data mixing
|
2026-04-03 09:25:52 +08:00 |
|
|
|
c361d25ea0
|
fix(stocktake): display batch number in scanning dialog and fix empty uncounted items in Excel export
|
2026-04-02 19:06:19 +08:00 |
|
|
|
dbcb7d0d92
|
perf(system): optimize large data rendering in stocktake, fix N+1 in warehouse, and add upload size limits
|
2026-04-02 18:51:13 +08:00 |
|
|
|
edf09508f6
|
fix(frontend): resolve cross-page selection loss, add destroy-on-close to dialogs, and fix row-key collision in stocktake
|
2026-04-02 18:35:11 +08:00 |
|
|
|
4b023a4002
|
fix(stocktake): auto-refresh inventory drafts silently after scanning to ensure real-time outer stats
|
2026-03-27 09:23:10 +08:00 |
|
|
|
b2ce9d31f8
|
fix(stocktake): replace hardcoded 'admin' with actual current user in excel export
|
2026-03-27 09:04:13 +08:00 |
|
|
|
8259a74c57
|
fix(stocktake): fetch inventory baseline immediately upon session start to show correct initial stats
|
2026-03-27 08:56:43 +08:00 |
|
|
|
dc42335ae0
|
fix(stocktake): decouple global stats calculation from list filters and pagination
|
2026-03-27 08:48:25 +08:00 |
|
|
|
f6b055d9c4
|
fix(stocktake): remove undeclared scannedMap and legacy cache references causing ReferenceError
|
2026-03-26 17:58:18 +08:00 |
|
|
|
8135a222f0
|
fix(stocktake): restore missing showConfirmDialog ref causing ReferenceError
|
2026-03-26 17:49:55 +08:00 |
|
|
|
edb49468a0
|
fix(stocktake): remove duplicate stats declaration causing compiler error
|
2026-03-26 17:47:40 +08:00 |
|
|
|
2a27f2e0df
|
feat(stocktake): implement strict blind stocktake logic with hidden system qty, editable count and status filters
|
2026-03-26 17:42:51 +08:00 |
|
|
|
57bdb6273b
|
refactor(stocktake): completely remove local stock cache and implement real-time remote scan match
|
2026-03-25 10:02:33 +08:00 |
|
|
|
bd20852739
|
refactor(stocktake): replace fetch-all with remote pagination/search and add permission checks
|
2026-03-25 09:51:28 +08:00 |
|
|
|
2574da03e5
|
fix: remove duplicate permissionMap declaration and eliminate infinite polling interval in stocktake page
|
2026-03-23 11:03:55 +08:00 |
|
|
|
7c9331d78a
|
perf: implement optimistic UI for scanner, disable auto-camera, and sort excel by SKU
|
2026-03-23 09:51:59 +08:00 |
|
|
|
13e910645d
|
fix: restore missing export to excel button and logic in blind stocktake page
|
2026-03-23 09:44:41 +08:00 |
|
|
|
53c198f363
|
feat: fix stocktake deletion bug, and add pagination, search, sorting to stocktake lists
|
2026-03-19 16:21:09 +08:00 |
|
|
|
5510bae3b2
|
fix: align API routes for generate-missing endpoint and remove redundant api prefix
|
2026-03-19 15:52:11 +08:00 |
|
|
|
5842042db6
|
refactor: merge end stocktake buttons and attach missing-calculation logic to the primary button
|
2026-03-19 15:44:05 +08:00 |
|
|
|
b37049a4d7
|
feat: add generate-missing logic to identify unscanned stock as inventory loss
|
2026-03-19 15:34:54 +08:00 |
|
|
|
9d972f1120
|
fix: enforce strict SKU ascending sort and display both serial and batch numbers
|
2026-03-19 11:31:51 +08:00 |
|
|
|
2701e94d38
|
fix: merge serial number and batch number display in stocktake draft list
|
2026-03-19 11:21:48 +08:00 |
|
|
|
ae4b4d586e
|
fix: add optional remark field to inventory profit/loss entry modal
|
2026-03-19 11:18:55 +08:00 |
|
|
|
44bd23ab77
|
feat: enhance stocktake UX with 10s delay, sku search, sku retention and remove adjust btn
|
2026-03-19 11:10:00 +08:00 |
|
|
|
00781422eb
|
fix: correct excel export formatting (timezone, spec, user, location) and add auto-polling for collaborative stocktake
|
2026-03-18 14:22:01 +08:00 |
|
|
|
ac15ef74db
|
fix: resolve MaterialBase sku property error and add dynamic refresh after stock adjustment
|
2026-03-18 14:01:36 +08:00 |
|
|
|
33969b8336
|
fix: support stock adjustment for items without stocktake draft
|
2026-03-18 13:53:55 +08:00 |
|
|
|
e08012d9dd
|
fix: add missing imports for openpyxl and patch draft resolution in stock adjustment
|
2026-03-18 13:24:16 +08:00 |
|
|
|
b19699cfba
|
fix: use blob response for excel export auth and secure adjust route
|
2026-03-18 11:24:41 +08:00 |
|
|
|
54ea476206
|
refactor: unify variance calculation and implement backend Excel export with borrowed assets sheet
|
2026-03-18 11:10:54 +08:00 |
|
|
|
403bbe281f
|
feat: persist stocktake phase in local storage for smart resumption routing
|
2026-03-13 13:14:49 +08:00 |
|
|
|
6dc1d69d7d
|
refactor: redesign stocktake UI flow to support multi-day sessions and scanner resumption
|
2026-03-13 12:02:37 +08:00 |
|
|
|
a8f89517e7
|
refactor: optimize stocktake UI state machine and add confirmation dialogs
|
2026-03-13 11:53:11 +08:00 |
|
|
|
7b709db6af
|
fix: resolve UI z-index blocking on finish button and hide variance report during active session
|
2026-03-13 11:27:32 +08:00 |
|
|
|
5212b98fc1
|
fix: add debug trace and robust UI unlocking to finish stocktake action
|
2026-03-13 11:11:34 +08:00 |
|