ce767e39ac141c54b85554624f5c106bab514ed1
场景
----
库管正在扫码,这张单被撤回/驳回/执行了。若不检测,库管会一直扫到
提交时才发现单据已作废(后端会拒绝),前面的工作白做。
实现
----
新增 checkRequestStillValid():重新拉一次「已通过(status=1)」列表,
看当前单据是否还在其中。不在 → 已被撤回/驳回/执行,立即弹窗告知并
清空界面(草稿后端也已同步清除)。复用现有列表接口,无需新增端点。
触发时机(覆盖两类场景):
· 页面重新可见时(visibilitychange)—— PDA 熄屏唤醒、切回标签页
· 每 60 秒一次 —— 库管一直在页面上扫、没切走
三点取舍:
· 仅购物车非空时检测(正在作业才打扰),空清单不发请求;
· 60 秒轮询而非实时推送 —— 引入 WebSocket 长连接成本过高,
此处最多浪费 1 分钟扫码,相比"扫完几十分钟才发现"已足够;
· 检测失败不阻断作业(仅 console.warn)—— 后端提交时仍会做最终校验,
前端检测是为了早发现,不是安全防线。
出库 create.vue 与借库 borrow.vue 两页同款实现。
Description
No description provided
Languages
Python
70.2%
CSS
14.9%
Vue
7.6%
HTML
4.2%
TypeScript
3.1%