原入口只有一个「开始新盘点」,多台 PDA 各开各的会话,无法协同。
- 新增公司选择器:普通用户锁定并默认本公司(后端本就强制隔离),
超管必须显式选择,未选时入口按钮禁用;本公司若不在下拉列表中
则补进去,避免 el-select 显示为空。
- 选定公司后调用 /draft/active-session 探测该公司是否已有进行中的
盘点。服务端为唯一事实来源,localStorage 仅作缓存。
- 状态驱动渲染入口按钮:
场景 A(已有活跃会话)→ 绿色「加入正在进行的盘点」,并提示当前
进度项数;同时保留次要入口「开启新一轮盘点」,否则公司一旦有过
草稿就永远开不了新一轮,点击走 10 秒确认弹窗。
场景 B(无活跃会话)→ 蓝色「开始新盘点」。
- 切换公司时清空本地会话并重新探测,避免跨公司串会话。
- 移除此前「刷新后请求 /draft/list 取第一条草稿猜 session_id」的逻辑:
该列表无会话/用户过滤,取到的是全库 SKU 字典序最小的那条草稿,
与当前用户和公司都无关。
- 所有盘点请求携带当前公司;导出、生成漏盘、改实盘数等 POST 请求
亦经 query string 传递公司。
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.