Преглед на файлове

Merge branch 'MicroFunction' of http://47.103.92.60:3003/skyversation/qp_onemap_ui

DESKTOP-6LTVLN7\Liumouren преди 3 седмици
родител
ревизия
e8d6664bca
променени са 4 файла, в които са добавени 67 реда и са изтрити 38 реда
  1. 2 1
      public/static/config/config.js
  2. 21 0
      src/main.js
  3. 1 5
      src/views/Yxgl.vue
  4. 43 32
      src/views/yygl/appCenter.vue

+ 2 - 1
public/static/config/config.js

@@ -3,7 +3,8 @@ let systemConfig = {
     defaultAccount: {
         username: "user002",
     },
-    touristUserId: "5",//默认游客id
+    touristUserId: "5",//默认游客用户(user002)id,Oauth中配置
+    adminRoleId: "1",//默认管理员角色id,Oauth中配置“系统管理员”角色
     baseServicerPath: "/oneMap",
     // oauth和DMS环境
     backServerPath: "http://121.43.55.7",

+ 21 - 0
src/main.js

@@ -27,6 +27,27 @@ initApp.config.globalProperties.$moment = moment;
 initApp.config.globalProperties.$getDmsTypes = (cName, index) => {
     return store.state.DmsTypesMap[cName] ? store.state.DmsTypesMap[cName][index + ''] : cName + "_" + index;
 };
+// 添加自定义方法,得到用户类型【1:游客;2:普通用户;3:管理员】
+initApp.config.globalProperties.$getUserType = () => {
+    // 得到用户id
+    let userId = store.state.userInfo.id;
+    // 得到角色ids
+    let roleIds = store.state.userInfo.roleId;
+    // 得到默认游客id
+    let touristUserId = systemConfig.touristUserId;
+    // 得到默认管理员角色id(roleId,在Oauth中配置)
+    let adminRoleId = systemConfig.adminRoleId;
+    if (!store.state.userInfo || !userId || !roleIds || userId == touristUserId) {
+        // 游客
+        return 1;
+    } else if (roleIds.split(',').includes(adminRoleId)) {
+        // 管理员
+        return 3;
+    } else {
+        // 普通用户
+        return 2;
+    }
+}
 
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
     initApp.component(key, component)

+ 1 - 5
src/views/Yxgl.vue

@@ -18,10 +18,7 @@
           <template #title>信息反馈</template>
         </el-menu-item>
       </el-sub-menu>
-      <el-sub-menu
-        index="2"
-        v-if="$store.userInfo && $store.userInfo.id != touristUserId"
-      >
+      <el-sub-menu index="2" v-if="$getUserType() == 3">
         <template #title>
           <el-icon><Tools /></el-icon>
           <span>运行管理子系统</span>
@@ -57,7 +54,6 @@ export default {
   name: "yxgl",
   data() {
     return {
-      touristUserId: systemConfig.touristUserId,
       isCollapse: false,
       menuActive: "StatisticalAnalysis",
       iframeUrl: "",

+ 43 - 32
src/views/yygl/appCenter.vue

@@ -1,30 +1,43 @@
 <template>
   <div class="app-center">
     <div class="container">
-        <!-- 左侧导航栏 -->
-        <div class="sidebar">
+      <!-- 左侧导航栏 -->
+      <div class="sidebar">
         <div class="sidebar-menu">
-            <div class="menu-item" :class="{'active': menuValue === 1}" @click="handleMenuClick(1)">
+          <div
+            class="menu-item"
+            :class="{ active: menuValue === 1 }"
+            @click="handleMenuClick(1)"
+          >
             <el-icon><Menu /></el-icon>
             <span>应用概览</span>
-            </div>
-            <div class="menu-item" v-if="userInfo.id != touristUserId" :class="{'active': menuValue === 2}" @click="handleMenuClick(2)">
+          </div>
+          <div
+            class="menu-item"
+            v-if="$getUserType() != 1"
+            :class="{ active: menuValue === 2 }"
+            @click="handleMenuClick(2)"
+          >
             <el-icon><Grid /></el-icon>
             <span>应用管理</span>
-            </div>
-            <div class="menu-item" :class="{'active': menuValue === 3}" @click="handleMenuClick(3)">
+          </div>
+          <div
+            class="menu-item"
+            :class="{ active: menuValue === 3 }"
+            @click="handleMenuClick(3)"
+          >
             <el-icon><Monitor /></el-icon>
             <span>应用监测</span>
-            </div>
-        </div>
+          </div>
         </div>
+      </div>
 
-        <!-- 右侧主内容区 -->
-        <div class="main-content">
-            <AppOverview v-if="menuValue === 1" />
-            <AppManagement v-if="menuValue === 2" />
-            <AppMonitoring v-if="menuValue === 3" />
-        </div>
+      <!-- 右侧主内容区 -->
+      <div class="main-content">
+        <AppOverview v-if="menuValue === 1" />
+        <AppManagement v-if="menuValue === 2" />
+        <AppMonitoring v-if="menuValue === 3" />
+      </div>
     </div>
   </div>
 </template>
@@ -42,25 +55,24 @@ export default {
   },
   data() {
     return {
-        touristUserId:systemConfig.touristUserId,
-        userInfo:this.$store.state.userInfo,
-        userState:this.$store.state.userState,
-        menuValue:1
-    }
+      userInfo: this.$store.state.userInfo,
+      userState: this.$store.state.userState,
+      menuValue: 1,
+    };
   },
   methods: {
     handleMenuClick(value) {
-      console.log(value)
+      console.log(value);
       this.menuValue = value;
-    }
-  }
-}
+    },
+  },
+};
 </script>
 
 <style lang="less" scoped>
 .app-center {
   width: 100%;
-//   min-height: 100vh;
+  //   min-height: 100vh;
   height: calc(100vh - 120px);
   background-color: #08224a;
   color: #ffffff;
@@ -79,10 +91,10 @@ export default {
   width: 200px;
   background-color: #0a2a5a;
   border-right: 1px solid rgba(255, 255, 255, 0.1);
-  
+
   .sidebar-menu {
     padding: 20px 0;
-    
+
     .menu-item {
       display: flex;
       align-items: center;
@@ -90,17 +102,17 @@ export default {
       cursor: pointer;
       transition: all 0.3s ease;
       color: rgba(255, 255, 255, 0.8);
-      
+
       i {
         margin-right: 12px;
         font-size: 18px;
       }
-      
+
       &:hover {
         background-color: rgba(24, 144, 255, 0.2);
         color: #ffffff;
       }
-      
+
       &.active {
         background-color: rgba(24, 144, 255, 0.3);
         color: #ffffff;
@@ -116,5 +128,4 @@ export default {
   padding: 20px 30px;
   overflow: auto;
 }
-
-</style>
+</style>