From 5b0c7c1382ec63adb67877f59baae60b7e8205c1 Mon Sep 17 00:00:00 2001 From: yueli Date: Fri, 11 Sep 2026 12:44:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(stocktake):=20=E6=AC=A2=E8=BF=8E=E9=A1=B5?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E8=B7=A8=E5=9F=9F=E8=A7=92=E8=89=B2=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=9C=BA=E6=99=AF=20A=20=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 公司选择器原先只对 SUPER_ADMIN 解锁,漏掉了同样持有 crossDomain 权限的 WAREHOUSE_MGR —— 它同样不受后端公司隔离约束,盘点范围完全 由所选公司决定,必须一并要求显式选择。 注意 SUPER_ADMIN 的权限是通配符 ['*'],permissions.includes('crossDomain') 对其恒为 false,故角色与权限码两个条件都要判。 - 场景 A 提示改为「当前公司已有盘点在进行中,已扫 XXX 件,发起人:XXX」, 使用后端新增的 scanned / initiator 字段(scanned 已排除系统自动漏盘记录)。 按钮文案统一为「加入当前盘点」。 - 清理 serverDraftCount:提示语改用 activeSession.scanned 后它只写不读, 属死状态,一并移除。 - 确认弹窗文案原先指向已不存在的「继续上次盘点」入口,改为说明开新会话后 「加入当前盘点」只会进入最新会话。 --- .../src/views/stock/stocktake/index.vue | 53 ++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/inventory-web/src/views/stock/stocktake/index.vue b/inventory-web/src/views/stock/stocktake/index.vue index 0548af4..f6a5e98 100644 --- a/inventory-web/src/views/stock/stocktake/index.vue +++ b/inventory-web/src/views/stock/stocktake/index.vue @@ -16,7 +16,7 @@ placeholder="请选择盘点公司" size="large" class="company-select" - :disabled="!isSuperAdmin" + :disabled="!hasCrossDomain" :loading="companyLoading" @change="handleCompanyChange" > @@ -55,10 +55,10 @@ @click="joinActiveSession" :loading="btnLoading" > - 加入正在进行的盘点 + 加入当前盘点
- 当前已有未完成的盘点进度({{ serverDraftCount }} 项) + 当前公司已有盘点在进行中,已扫 {{ activeSession.scanned }} 件
-

存在未完成的盘点记录。开启新一轮盘点会生成新的会话,原有数据将保留,之后仍可通过「继续上次盘点」回到之前的会话。确定开始吗?

+

当前公司已有盘点在进行中。开启新一轮会生成新的会话,原有数据将保留,但之后「加入当前盘点」只会进入最新的这个会话。确定开始吗?