ソースを参照

fix: admin角色刷新后企业列表消失,隐藏新增/开通当面付按钮

alphah 17 時間 前
コミット
9af7535fcd

+ 2 - 4
frontend/src/plugins/permission.ts

@@ -67,10 +67,8 @@ async function handleAuthenticatedUser(
         await userStore.getUserInfo();
       }
 
-      // 如果是租户用户,获取企业列表
-      if (!userStore.is_platform_user) {
-        await enterpriseStore.loadEnterpriseList();
-      }
+      // 获取企业列表(平台用户也需要加载,否则刷新后 enterpriseStore 为空导致表格消失)
+      await enterpriseStore.loadEnterpriseList();
 
       const dynamicRoutes = await permissionStore.generateRoutes();
       // 添加路由到路由器

+ 6 - 2
frontend/src/views/module_payment/enterprise/index.vue

@@ -6,7 +6,7 @@
 
       <PageContent ref="contentRef" :content-config="contentConfig">
         <template #toolbar="{ toolbarRight, onToolbar, removeIds, cols }">
-          <CrudToolbarLeft text="新增企业" :remove-ids="removeIds" :perm-create="['module_payment:enterprise:invite']">
+          <CrudToolbarLeft v-if="!isAdmin" text="新增企业" :remove-ids="removeIds" :perm-create="['module_payment:enterprise:invite']">
             <el-button v-hasPerm="['module_payment:enterprise:invite']" type="primary" icon="Plus"
                 @click="handleOpenDialog('apply')">
                 新增企业
@@ -59,7 +59,7 @@
                     @click="handleOpenDetail(scope.row)">
                     详情
                   </el-button>
-                  <el-button v-hasPerm="['module_payment:facetoface:apply']" type="success" size="small" link
+                  <el-button v-if="!isAdmin" v-hasPerm="['module_payment:facetoface:apply']" type="success" size="small" link
                     :disabled="scope.row.f2f_status && scope.row.f2f_status !== 'CLOSED'"
                     @click="handleOpenF2fApply(scope.row)">
                     开通当面付
@@ -196,8 +196,12 @@ import { useRouter } from "vue-router";
 import { ElMessage } from "element-plus";
 import { ref, reactive, computed } from "vue";
 import { useEnterpriseStore } from "@/store/modules/enterprise.store";
+import { useUserStore } from "@/store/modules/user.store";
+import { ROLE_ROOT } from "@/constants/storage-keys";
 
 const router = useRouter();
+const userStore = useUserStore();
+const isAdmin = computed(() => userStore.basicInfo?.roles?.some(r => r.code === ROLE_ROOT));
 
 const { searchRef, contentRef, handleQueryClick, handleResetClick, refreshList } = useCrudList();
 const formRef = ref();