|
|
2c732a9a3a
|
feat(borrow): 全局待办强提醒(接收人不再处于盲区)
新增无渲染组件 PendingTransferNotifier,挂在 Layout(路由切换常驻、且只在
已登录区域渲染,天然保证「有 token 才查」)。
UI
----
ElNotification,type=warning、duration=0(不自动关闭,须用户处理或手动点掉):
标题:待办通知:借库转交
内容:您有 X 件物品等待接收确认,请及时处理。【去处理 >】
点击【去处理】关闭通知并 router.push('/operation/records')(借还记录页)。
message 用 VNode 构造而非 dangerouslyUseHTMLString —— 不必把数量拼进 HTML 字符串。
防骚扰(两道)
----
· 会话级去重:sessionStorage 记「上次已提醒过的数量」,只有数量**变化**才再弹。
用 sessionStorage 而非 Pinia —— 前者跨刷新存活,后者会重置,刷新即轰炸。
· 数量归零时清掉记录,下次新转交能重新提醒。
★ 加了 2 分钟低频轮询(超出需求所写,但需求目标需要它):
需求只要求「初始化时查一次」,而 SPA 只在首次进入时初始化 —— 已打开页面的
用户永远收不到提醒,与「第一时间响应」的目标相悖。有去重逻辑兜底,
轮询不会造成重复打扰。不需要的话删掉定时器即可。
错误一律静默:提醒是锦上添花,不能因接口抖动弹错误框刷屏。
验证:去重状态机用 node 复刻验证 —— 3→2→1 各弹一次,刷新与轮询均不重复,
归零后再来新转交能重新提醒。
|
2026-09-17 10:30:13 +08:00 |
|
|
|
27436f5efe
|
feat(ui): 菜单权限过滤与退回记录页
侧边栏支持按权限隐藏菜单(Sidebar/index.vue):
- 新增 canSee():读取 meta.permissions(数组,满足任一即可)
- ★ 同时修了一个既有缺陷:原实现只过滤顶层路由,**子路由的权限判定不生效**,
未授权用户仍能在菜单里看到入口。现改为递归过滤,父菜单的子项被过滤光后
父菜单本身也不再显示。
- ★ 刻意只认 meta.permissions(新键),历史遗留的 meta.permission(单数,
如「维修管理」的 inbound_repair)保持不生效——一旦开始消费它,会让若干
菜单对部分角色突然消失,属于超出本次范围的静默行为变更。两者若要统一,
建议单独排期逐个核对影响面。
路由守卫(router/index.ts):
- 新增 meta.permissions 校验,未授权时提示并跳首页。侧边栏负责「菜单看不见」,
守卫负责「直接敲 URL 也进不去」,后端负责「绕过前端直接调接口也不行」,
三层任一失效都不至于越权。
- 顺带修了原守卫的分支结构:roles 通过时直接 next(),会跳过后续检查;
改为不通过才中断,落到末尾统一 next()。
新增「退回记录」页(views/outbound/returns/index.vue):
- 纯只读台账,无任何操作按钮,供库管核对历史退回
- 展示 退回时间 / 原出库单号 / 物料名称 / 规格 / SKU / 退回数量 /
退回类型 / 退回原因 / 操作人
- 退回类型用标签区分(不良品=红,良品=绿)
- 源库存行或原单被删除时显示占位文案而非空白,台账不留哑行
api/inbound/return.ts 补 getReturnList()。
|
2026-09-16 16:46:02 +08:00 |
|
|
|
6c7f8dbe61
|
fix: 修复搜索跳转弹窗无法打开的问题
- AppMain.vue: 将 router-view 的 key 从 route.fullPath 改为 route.path,避免 query 参数变化导致组件销毁重建
- list.vue: watch 中 router.replace 增加 query 非空判断,防止不必要的 URL 清理
- list.vue: handleEdit 的 nextTick 增加 try-catch 防御性保护
- list.vue: 添加 onUnmounted 调试探针
|
2026-08-03 13:25:54 +08:00 |
|
|
|
382b461b68
|
feat: 挂载ImportDialog + 修复路由白屏
## 页面挂载
- buyOdoo.vue: 新增「批量导入」按钮(新增旁边), ImportDialog material
- list.vue: 新增「批量导入」按钮, ImportDialog material
- BomManage.vue: 新增「导入BOM」按钮(新建BOM左边), ImportDialog bom
## 白屏修复
- AppMain.vue: 移除 transition mode=out-in 动画包裹(导致首次访问白屏)
改为 :key=route.fullPath 强制创建新实例
|
2026-07-16 14:00:44 +08:00 |
|
|
|
c7ac092be4
|
feat(material): add global floating helper to track latest specification codes with smart grouping
|
2026-04-13 08:28:27 +08:00 |
|
|
|
bccbeaadce
|
修改扫码时间间隔分辨率以及添加语音播报,对边框进行缩减由210px修改为180px
|
2026-02-10 10:32:59 +08:00 |
|
|
|
3afea217b7
|
物料-采购件入库页面功能实现
|
2026-01-27 15:50:23 +08:00 |
|
|
|
2f8a5c55b1
|
python-flask和Vue两种模式初模板
|
2026-01-26 17:00:12 +08:00 |
|