From d197f7555fa40db2bcbdaa4612c4ffcebbf63af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B6=E9=94=A6=E6=B6=9B?= <26050301730@qq.com> Date: Thu, 27 Nov 2025 13:36:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=91=E7=A5=A8=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=95=8C=E9=9D=A2=E7=AE=A1=E7=90=86=E5=91=98=E5=92=8C?= =?UTF-8?q?=E6=99=AE=E9=80=9A=E6=93=8D=E4=BD=9C=E4=BA=BA=E5=91=98=E7=9A=84?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openhis-ui-vue3/src/store/modules/user.js | 4 +++- .../views/basicmanage/InvoiceManagement/index.vue | 15 ++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/openhis-ui-vue3/src/store/modules/user.js b/openhis-ui-vue3/src/store/modules/user.js index 099db76f..c8f0feb2 100644 --- a/openhis-ui-vue3/src/store/modules/user.js +++ b/openhis-ui-vue3/src/store/modules/user.js @@ -18,7 +18,8 @@ const useUserStore = defineStore( fixmedinsCode: '', // 医疗机构编码 roles: [], permissions: [], - tenantId: '' + tenantId: '', + status: '' // 用户状态:0-启用(管理员), 1-禁用(普通人员) }), actions: { // 登录 @@ -60,6 +61,7 @@ const useUserStore = defineStore( this.practitionerId = res.practitionerId this.fixmedinsCode = res.optionJson.fixmedinsCode this.avatar = avatar + this.status = user.status // 保存用户状态 resolve(res) }).catch(error => { reject(error) diff --git a/openhis-ui-vue3/src/views/basicmanage/InvoiceManagement/index.vue b/openhis-ui-vue3/src/views/basicmanage/InvoiceManagement/index.vue index 85cc25a1..e04f5100 100644 --- a/openhis-ui-vue3/src/views/basicmanage/InvoiceManagement/index.vue +++ b/openhis-ui-vue3/src/views/basicmanage/InvoiceManagement/index.vue @@ -180,7 +180,7 @@ export default { name: '', nickName: '', employeeId: '', - role: '' // operator: 普通操作员, admin: 管理员 + status: '' // 0: 启用(管理员), 1: 禁用(普通人员) }, // 用户列表,用于操作员下拉选择(将在created中从后端获取) userList: [], @@ -197,7 +197,8 @@ export default { computed: { // 计算属性:判断是否为管理员 isAdmin() { - return this.currentUser.role === 'admin'; + // 管理员是指在用户管理界面中状态为启用的用户 + return this.currentUser.status === '0'; } }, created() { @@ -209,7 +210,7 @@ export default { name: userStore.nickName || userStore.name, nickName: userStore.nickName, employeeId: userStore.id || userStore.practitionerId, - role: userStore.roles && userStore.roles.length > 0 ? userStore.roles[0] : 'operator' + status: userStore.status || '' // 0: 启用(管理员), 1: 禁用(普通人员) }; console.log('当前登录用户信息:', this.currentUser); @@ -248,7 +249,7 @@ export default { this.userList = res.data.records.map(user => ({ name: user.nickName || user.username || user.name, // 尝试多种可能的名称字段 employeeId: user.userId, // 使用用户ID作为员工工号 - role: user.role || 'operator' // 默认为普通操作员 + status: user.status // 0: 启用(管理员), 1: 禁用(普通人员) })); console.log('获取到的用户列表:', this.userList); return Promise.resolve(); @@ -401,7 +402,7 @@ export default { }, // 根据用户权限过滤数据 filterDataByPermission() { - console.log('开始过滤数据,当前用户角色:', this.currentUser.role); + console.log('开始过滤数据,当前用户状态:', this.currentUser.status); console.log('过滤前数据总量:', this.invoiceData.length); if (this.isAdmin) { @@ -496,8 +497,8 @@ export default { } // 严格检查权限:只有管理员或记录所有者可以删除 - if (this.currentUser.role !== 'admin' && record.employeeId !== this.currentUser.employeeId) { - alert('您没有权限删除此记录!操作员只能删除自己的记录。'); + if (this.currentUser.status !== '0' && record.employeeId !== this.currentUser.employeeId) { + alert('您没有权限删除此记录!普通人员只能删除自己的记录。'); return; }