فهرست منبع

新增权限管理ismanager

wangfumin 4 ماه پیش
والد
کامیت
2aee4635cb
3فایلهای تغییر یافته به همراه9 افزوده شده و 7 حذف شده
  1. 2 2
      src/store/user.ts
  2. 2 2
      src/view/scene.vue
  3. 5 3
      src/view/users.vue

+ 2 - 2
src/store/user.ts

@@ -12,8 +12,8 @@ export enum UserStatus {
 }
 export const userStatus = ref<UserStatus>(UserStatus.UNKNOWN);
 
-export const isSuper = computed(() => user.value ? user.value.roles.filter(item => ['super_admin', 'system_admin'].includes(item.roleKey)).length > 0 : false)
-
+export const isSuper = computed(() => user.value ? user.value.roles.filter(item => item.roleKey === "super_admin").length > 0 : false)
+export const ismanager = computed(() => user.value.roles.filter(item => ['super_admin', 'system_admin'].includes(item.roleKey)).length > 0)
 export const login = async (props: LoginProps) => {
   const data = await loginFetch({
     ...props,

+ 2 - 2
src/view/scene.vue

@@ -129,7 +129,7 @@
               type="danger"
               @click="delHandler(row.sceneId)"
               size="small"
-              v-if="row.calcStatus !== SceneStatus.RUN && isSuper"
+              v-if="row.calcStatus !== SceneStatus.RUN && ismanager"
             >
               删除
             </el-button>
@@ -166,7 +166,7 @@ import { ElMessageBox } from "element-plus";
 import { gotoScene } from "@/store/scene";
 import TexToolTip from "@/components/tex-tooltip.vue";
 import { debounce } from "@/util";
-import { isSuper } from '@/store/user';
+import { ismanager } from '@/store/user';
 
 const props = defineProps<{ tableProps?: { [key in string]: any }; simple?: boolean }>();
 const initProps: ScenePageProps = {

+ 5 - 3
src/view/users.vue

@@ -15,7 +15,7 @@
             <el-button type="primary" plain @click="pageProps = { ...initProps }">
               重置
             </el-button>
-            <el-button v-if="isSuper" type="primary" @click="addHandler"> 创建用户 </el-button>
+            <el-button v-if="ismanager" type="primary" @click="addHandler"> 创建用户 </el-button>
           </el-form-item>
         </el-form>
       </div>
@@ -45,7 +45,7 @@
             <el-button link type="primary" @click="editHandler(row)" size="small">
               编辑
             </el-button>
-            <el-button link type="danger" @click="delHandler(row)" size="small" v-if="!isMe(row.userId) && isSuper">
+            <el-button link type="danger" @click="delHandler(row)" size="small" v-if="!isMe(row.userId) && ismanager">
               删除
             </el-button>
           </template>
@@ -77,7 +77,9 @@ import { ElMessageBox } from "element-plus";
 import { debounce } from "@/util";
 import { user } from "@/store/user";
 
-const isSuper = computed(() => user.value.roles.filter(item => ['super_admin', 'system_admin'].includes(item.roleKey)).length > 0)
+// const isSuper = computed(() => user.value.roles.filter(item => item.roleKey === "super_admin").length > 0)
+// 不改动他原本的逻辑,新增一个
+const ismanager = computed(() => user.value.roles.filter(item => ['super_admin', 'system_admin'].includes(item.roleKey)).length > 0)
 
 const isMe = computed(() => (id: any) => {
   return id === user.value.userId