This commit is contained in:
zoujiandong
2026-09-07 11:51:44 +08:00
parent 7919db2b05
commit 3fdd87009a
+24 -9
View File
@@ -125,7 +125,11 @@
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
<div class="table-action-bar"> <div class="table-action-bar">
<a-space> <a-space>
<a-button v-has="'admin:sysPharmacy:add'" type="primary" @click="handleAdd"> <a-button
v-if="hasPermission('admin:sysPharmacy:add')"
type="primary"
@click="handleAdd"
>
<template #icon><icon-plus /></template> <template #icon><icon-plus /></template>
新增药房 新增药房
</a-button> </a-button>
@@ -179,7 +183,7 @@
<!-- 状态快捷开关(有权限可操作切换,无权限展示只读标签) --> <!-- 状态快捷开关(有权限可操作切换,无权限展示只读标签) -->
<template #status="{ record }"> <template #status="{ record }">
<a-switch <a-switch
v-if="canChangeStatus" v-if="hasPermission('admin:sysPharmacy:status')"
:model-value="record.status === 1" :model-value="record.status === 1"
:loading="record._statusLoading" :loading="record._statusLoading"
type="round" type="round"
@@ -197,16 +201,26 @@
<!-- 操作列 --> <!-- 操作列 -->
<template #action="{ record }"> <template #action="{ record }">
<a-space :size="0"> <a-space :size="0">
<a-button v-has="'admin:sysPharmacy:detail'" type="text" size="small" @click="handleDetail(record)"> <a-button
v-if="hasPermission('admin:sysPharmacy:detail')"
type="text"
size="small"
@click="handleDetail(record)"
>
<template #icon><icon-eye /></template> <template #icon><icon-eye /></template>
详情 详情
</a-button> </a-button>
<a-button v-has="'admin:sysPharmacy:edit'" type="text" size="small" @click="handleEdit(record)"> <a-button
v-if="hasPermission('admin:sysPharmacy:edit')"
type="text"
size="small"
@click="handleEdit(record)"
>
<template #icon><icon-edit /></template> <template #icon><icon-edit /></template>
修改 修改
</a-button> </a-button>
<a-popconfirm <a-popconfirm
v-has="'admin:sysPharmacy:remove'" v-if="hasPermission('admin:sysPharmacy:remove')"
content="确定要删除此药房吗?删除后不可恢复!" content="确定要删除此药房吗?删除后不可恢复!"
type="warning" type="warning"
@ok="handleDelete(record)" @ok="handleDelete(record)"
@@ -235,11 +249,11 @@ import PharmacyModal from './components/pharmacyModal.vue';
const permissionStore = usePermissionStore(); const permissionStore = usePermissionStore();
// 状态切换权限检查(支持 * 超管与单独权限) // 统一权限检查方法(支持超级管理员 * 和指定权限标识)
const canChangeStatus = computed(() => { const hasPermission = (permission) => {
const perms = permissionStore.buttonPermissions || []; const perms = permissionStore.buttonPermissions || [];
return perms.includes('*') || perms.includes('admin:sysPharmacy:status'); return perms.includes('*') || perms.includes(permission);
}); };
const queryFormRef = ref(null); const queryFormRef = ref(null);
const modalRef = ref(null); const modalRef = ref(null);
@@ -475,6 +489,7 @@ const handleDelete = async (record) => {
onMounted(() => { onMounted(() => {
fetchTableData(); fetchTableData();
fetchAreaList('', 2); fetchAreaList('', 2);
console.log('[药房管理] 当前登录用户拥有的按钮权限列表:', permissionStore.buttonPermissions);
}); });
</script> </script>