【修复静默丢数据】 原 syncToBackend 是乐观更新:addDraft 还没返回就先弹「已记录实盘」, UI 提示早于落库确认。网络抖动时工人以为扫进去了,这条实盘记录实际已丢, 而状态标签还可能被后续成功的请求覆盖成绿色,失败也无人重试。 现改为: - 只有 addDraft 真正 resolve 后才提示成功、记流水、刷统计 - catch 时用 10 秒停留 + 可关闭的错误提示,明确告知 「网络异常,上一笔条码 [XXX] 录入失败,请重试!」 【新增最近扫码记录】 统计看板下方增加 recentScans(最多 10 条),落库成功后 unshift 物料名称/规格/数量/时间,用轻量列表展示并高亮最新一条, 供安卓平板大屏即时确认。切换/加入会话时清空,避免看到上一轮残留。 【统一统计口径】 totalScannedCount 原被 all-items 与 merged-list 两处写入。核对后端 两个接口的 SQL 实际完全一致(均为 COUNT(DISTINCT (source_table, stock_id)) 且都包含 system 自动漏盘记录),故数值本身不会分歧;但仍去掉 all-items 那一处写入,统一由 merged-list(fetchInventoryList)作为唯一来源。 【清理死代码】 删除从未使用的 allScannedDrafts 与 listTotal。
Vue 3 + TypeScript + Vite
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 <script setup> SFCs, check out the script setup docs to learn more.
Learn more about the recommended Project Setup and IDE Support in the Vue Docs TypeScript Guide.