gaoshp
2024-10-19 9fe29d060ff1b2259648e77305fca3eb6baed29b
src/layout/index.vue
@@ -96,14 +96,15 @@
   <template v-else-if="layout=='dock'">
      <header class="adminui-header">
         <div class="adminui-header-left">
            <div class="logo-bar">
               <img class="logo" src="img/logo.png">
               <span>{{ $CONFIG.APP_NAME }}</span>
            <div class="logo-bar personalized-logo">
               <!-- <img class="logo" src="img/logo.png">
               <span>{{ $CONFIG.APP_NAME }}</span> -->
               <img src="/img/initiallong.b9495273.png" class="img" style="width: 100%; height: 70%;padding-left: 8px;">
            </div>
         </div>
         <div class="adminui-header-right">
            <div v-if="!ismobile" class="adminui-header-menu">
               <el-menu mode="horizontal" :default-active="active" router background-color="#222b45" text-color="#fff" active-text-color="var(--el-color-primary)">
               <el-menu mode="horizontal" @select="handleSelect" :default-active="active" background-color="#222b45" text-color="#fff" active-text-color="var(--el-color-primary)">
                  <NavMenu :navMenus="menu"></NavMenu>
               </el-menu>
            </div>
@@ -128,13 +129,28 @@
   <!-- 默认布局 -->
   <template v-else>
      <div class="adminui-top-header">
         <div class="adminui-topheader-left">
            <img src="/img/initiallong.b9495273.png" class="img" style="width: 180px; height: 40px;">
         </div>
         <div class="adminui-topheader-main">
            <div>
               <Tags v-if="!ismobile && layoutTags"></Tags>
            </div>
         </div>
         <div class="adminui-topheader-right">
            <Topbar>
               <userbar></userbar>
            </Topbar>
         </div>
      </div>
      <section class="aminui-wrapper">
         <div v-if="!ismobile" class="aminui-side-split">
            <div class="aminui-side-split-top">
            <!-- <div class="aminui-side-split-top">
               <router-link :to="$CONFIG.DASHBOARD_URL">
                  <img class="logo" :title="$CONFIG.APP_NAME" src="img/logo-r.png">
               </router-link>
            </div>
            </div> -->
            <div class="adminui-side-split-scroll">
               <el-scrollbar>
                  <ul>
@@ -153,21 +169,17 @@
            </div>
            <div class="adminui-side-scroll">
               <el-scrollbar>
                  <el-menu :default-active="active" router :collapse="menuIsCollapse" :unique-opened="$CONFIG.MENU_UNIQUE_OPENED">
                  <el-menu :default-active="active" router :collapse="menuIsCollapse" :unique-opened="$CONFIG.MENU_UNIQUE_OPENED" class="adminui-side-scrolul">
                     <NavMenu :navMenus="nextMenu"></NavMenu>
                  </el-menu>
               </el-scrollbar>
            </div>
            <div class="adminui-side-bottom" @click="$store.commit('TOGGLE_menuIsCollapse')">
            <!-- <div class="adminui-side-bottom" @click="$store.commit('TOGGLE_menuIsCollapse')">
               <el-icon><el-icon-expand v-if="menuIsCollapse"/><el-icon-fold v-else /></el-icon>
            </div>
            </div> -->
         </div>
         <Side-m v-if="ismobile"></Side-m>
         <div class="aminui-body el-container">
            <Topbar>
               <userbar></userbar>
            </Topbar>
            <Tags v-if="!ismobile && layoutTags"></Tags>
            <div class="adminui-main" id="adminui-main">
               <router-view v-slot="{ Component }">
                   <keep-alive :include="this.$store.state.keepAlive.keepLiveRoute">
@@ -182,7 +194,7 @@
   <div class="main-maximize-exit" @click="exitMaximize"><el-icon><el-icon-close /></el-icon></div>
   <div class="layout-setting" @click="openSetting"><el-icon><el-icon-brush-filled /></el-icon></div>
   <!-- <div class="layout-setting" @click="openSetting"><el-icon><el-icon-brush-filled /></el-icon></div> -->
   <el-drawer title="布局实时演示" v-model="settingDialog" :size="400" append-to-body destroy-on-close>
      <setting></setting>
@@ -255,6 +267,38 @@
         }
      },
      methods: {
         findRouteByPath(routes, targetPath) {
            for (let i = 0; i < routes.length; i++) {
               if (routes[i].path === targetPath) {
                  // 如果找到匹配的path,直接返回当前对象
                  return routes[i];
               }
               if (routes[i].children) {
                  // 如果当前对象有children,递归查找
                  const found = this.findRouteByPath(routes[i].children, targetPath);
                  if (found) {
                     return found;
                  }
               }
            }
            // 如果没有找到匹配的path,返回null
            return null;
         },
         handleSelect(key, keyPath,index,routeResult) {
            var MENU = this.$TOOL.data.get("MENU");
            var foundRoute = this.findRouteByPath(MENU, key);
            //http://116.63.148.72:8080/xxl-job-admin
            var TOKEN = this.$TOOL.cookie.get("TOKEN");
            if(key == "/myiframe/urlPath") {  //任务调度
               this.$router.push({path: '/myiframe/urlPath',query:{name: foundRoute.name,src:foundRoute.origin}});
               return;
            }
            if(foundRoute.name != "看板") {
               this.$router.push({path: key});
            }else {
               window.open(key + `?token=${TOKEN}`,'_blank');
            }
         },
         openSetting(){
            this.settingDialog = true;
         },