Z пре 1 година
родитељ
комит
d42a33f91e
3 измењених фајлова са 54 додато и 1 уклоњено
  1. 23 0
      src/enum/dict.js
  2. 28 0
      src/layout/index.vue
  3. 3 1
      src/store/modules/user.js

+ 23 - 0
src/enum/dict.js

@@ -10,3 +10,26 @@ export default {
   金额单位: 'money_unit',
   时间单位: 'time_unit'
 };
+//涉密等级
+export const secretLevelList = [
+  {
+    value: 0,
+    label: '非密'
+  },
+  {
+    value: 1,
+    label: '内部'
+  },
+  {
+    value: 2,
+    label: '秘密'
+  },
+  {
+    value: 3,
+    label: '机密'
+  },
+  {
+    value: 4,
+    label: '绝密'
+  }
+];

+ 28 - 0
src/layout/index.vue

@@ -70,18 +70,33 @@
     <!-- 自定义菜单标题增加徽章、小红点 -->
     <template v-slot:title="{ title, item }">
       <span>{{ title }} </span>
+      <span
+        v-if="item.meta.secretLevel != 1"
+        :style="getSecretLevelStyle(item)"
+        >{{ getSecretLevel(item) }}</span
+      >
       <div v-if="item.meta && item.meta.badge" class="ele-menu-badge">
         <el-badge :value="item.meta.badge" :type="item.meta.badgeColor" />
       </div>
     </template>
     <template v-slot:top-title="{ title, item }">
       <span>{{ title }} </span>
+      <span
+        v-if="item.meta.secretLevel != 1"
+        :style="getSecretLevelStyle(item)"
+        >{{ getSecretLevel(item) }}</span
+      >
       <div v-if="item.meta && item.meta.badge" class="ele-menu-badge">
         <el-badge :value="item.meta.badge" :type="item.meta.badgeColor" />
       </div>
     </template>
     <template v-slot:nav-title="{ title, item }">
       <span>{{ title }} </span>
+      <span
+        v-if="item.meta.secretLevel != 1"
+        :style="getSecretLevelStyle(item)"
+        >{{ getSecretLevel(item) }}</span
+      >
       <div v-if="item.meta && item.meta.badge" class="ele-menu-badge">
         <el-badge :value="item.meta.badge" :type="item.meta.badgeColor" />
       </div>
@@ -120,6 +135,7 @@
     setHomeComponents,
     setPageTabs
   } from '@/utils/page-tab-util';
+  import {secretLevelList} from "@/enum/dict";
 
   export default {
     name: 'EleLayout',
@@ -165,6 +181,18 @@
       }
     },
     methods: {
+      getSecretLevelStyle(item) {
+        return {
+          color: item.meta.secretLevel > 1 ? 'red' : 'green',
+          fontWeight: 'bold',
+          fontSize: '15px'
+        };
+      },
+      getSecretLevel(item) {
+        let find =
+          secretLevelList.find((i) => item.meta.secretLevel == i.value) || {};
+        return '(' + find.label + ')';
+      },
       getLogo() {
         logoByCode('logoCode').then((res) => {
           this.logoImg = res.logoUrl;

+ 3 - 1
src/store/modules/user.js

@@ -29,7 +29,9 @@ const formatRouter = (list) => {
       } else {
         p.children = [];
       }
-
+      p.meta = {
+        secretLevel: p.secretLevel
+      };
       arr.push(p);
       // }
     }