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">
<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>
新增药房
</a-button>
@@ -179,7 +183,7 @@
<!-- 状态快捷开关(有权限可操作切换,无权限展示只读标签) -->
<template #status="{ record }">
<a-switch
v-if="canChangeStatus"
v-if="hasPermission('admin:sysPharmacy:status')"
:model-value="record.status === 1"
:loading="record._statusLoading"
type="round"
@@ -197,16 +201,26 @@
<!-- 操作列 -->
<template #action="{ record }">
<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>
详情
</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>
修改
</a-button>
<a-popconfirm
v-has="'admin:sysPharmacy:remove'"
v-if="hasPermission('admin:sysPharmacy:remove')"
content="确定要删除此药房吗?删除后不可恢复!"
type="warning"
@ok="handleDelete(record)"
@@ -235,11 +249,11 @@ import PharmacyModal from './components/pharmacyModal.vue';
const permissionStore = usePermissionStore();
// 状态切换权限检查(支持 * 超管与单独权限)
const canChangeStatus = computed(() => {
// 统一权限检查方法(支持超级管理员 * 和指定权限标识)
const hasPermission = (permission) => {
const perms = permissionStore.buttonPermissions || [];
return perms.includes('*') || perms.includes('admin:sysPharmacy:status');
});
return perms.includes('*') || perms.includes(permission);
};
const queryFormRef = ref(null);
const modalRef = ref(null);
@@ -475,6 +489,7 @@ const handleDelete = async (record) => {
onMounted(() => {
fetchTableData();
fetchAreaList('', 2);
console.log('[药房管理] 当前登录用户拥有的按钮权限列表:', permissionStore.buttonPermissions);
});
</script>