Bladeren bron

切换机构时实现无感刷新

yangdr 4 weken geleden
bovenliggende
commit
fc98d49dd5

+ 1 - 1
src/components/FileViewer/FileViewer.vue

@@ -75,7 +75,7 @@ function errorHandler() {
   emit('closeViewer')
 }
 const handleResize = () => {
-  console.log(containerRef.value.offsetHeight, topRef.value.offsetHeight)
+  // console.log(containerRef.value.offsetHeight, topRef.value.offsetHeight)
   containerSize.value = {
     offset: topRef.value.offsetHeight,
     width: containerRef.value.offsetWidth,

+ 12 - 13
src/components/LayoutHeader.vue

@@ -3,7 +3,7 @@
     <div class="logo"></div>
     <div class="menu">
       <el-menu :default-active="currentPath" ref="menuRef" class="el-menu-demo" mode="horizontal">
-        <el-menu-item :index="item.path" v-for="item in routeList" :key="item.name"
+        <el-menu-item :index="item.path" v-for="item in menuStore.routeList" :key="item.name"
           :class="{ 'external-link-item': isExternalLink(item.path) }" @click="handleMenuClick(item.path)">{{ item.title
           }}</el-menu-item>
       </el-menu>
@@ -46,7 +46,8 @@ const router = useRouter()
 let timer
 let editPassShow = ref(false)
 const menuRef = ref()
-const { routeList, updateRouteList } = useMenuStore()
+// const { routeList, updateRouteList } = useMenuStore()
+const menuStore = useMenuStore()
 // console.log(operationPermissions)
 const user = ref({
   id: "0",
@@ -87,7 +88,7 @@ const changeOrg = async (orgId) => {
   saveSessionVar("knowledageSystem", '');
   saveSessionVar('routeList', '')
   // 可选:刷新页面或重新拉取权限/菜单等
-  updateRouteList([]);
+  menuStore.updateRouteList([]);
   let knowledageSystem = '';
   let routeList = [{
     path: '/kmplatform/home',
@@ -116,25 +117,23 @@ const changeOrg = async (orgId) => {
       });
     }
   });
-  console.log("knowledageSystem", knowledageSystem);
+  // console.log("knowledageSystem", knowledageSystem);
   saveSessionVar("knowledageSystem", knowledageSystem);
   saveSessionVar('routeList', JSON.stringify(routeList))
-  updateRouteList(routeList);
+  menuStore.updateRouteList(routeList);
 
   // 刷新页面
-  window.location.href = '/kmplatform/home';
+  // window.location.href = '/kmplatform/home';
+  router.push({ path: menuStore.routeList[0].path })
 }
-// function isNotLogin() {
-//   return getSessionVar("session_id") == null &&
-//     getSessionVar("username") == null
-// }
+
 
 const currentPath = computed(() => {
   // console.log('当前路由:', route)
   let temp = ""
-  for (let i = 0; i < routeList.length; i++) {
+  for (let i = 0; i < menuStore.routeList.length; i++) {
     for (let j = 0; j < route.matched.length; j++) {
-      if (routeList[i].path === route.matched[j].path) {
+      if (menuStore.routeList[i].path === route.matched[j].path) {
         temp = route.matched[j].path
         break
       }
@@ -174,7 +173,7 @@ onMounted(() => {
   window.addEventListener('message', handleLogin);
   (!isNotLogin()) && fetchOrgList()
   if (route.name === 'kmplatform') {
-    router.push({ path: routeList[0].path })
+    router.push({ path: menuStore.routeList[0].path })
   }
 })
 

+ 7 - 4
src/components/SideMenu.vue

@@ -1,18 +1,17 @@
 <template>
   <div class="left-nav">
     <div class="nav-section">
-
-      <h3>工作台</h3>
       <el-menu :default-active="$route.path" router>
+        <h3>工作台</h3>
         <el-menu-item index="/" :route="{ name: 'home' }">
           <template #title>
-            <el-icon></el-icon>
+            <!-- <el-icon></el-icon> -->
             <span>工作台概览</span>
           </template>
         </el-menu-item>
         <el-menu-item index="/workspace/config" :route="{ name: 'config' }">
           <template #title>
-            <el-icon></el-icon>
+            <!-- <el-icon></el-icon> -->
             <span>配置</span>
           </template>
         </el-menu-item>
@@ -126,6 +125,10 @@ const selectWorker = (worker: Worker) => {
 </script>
 
 <style scoped lang="less">
+h3 {
+  font-weight: bold;
+}
+
 .left-nav {
   // width: 280px;
   // height: 100vh;

+ 5 - 3
src/router/index.ts

@@ -1,6 +1,6 @@
 import { createRouter, createWebHistory, isNavigationFailure } from "vue-router";
 import Login from "@/views/Login/Login.vue";
-import AppCopy from "@/views/AppCopy.vue";
+import Framework from "@/views/Framework.vue";
 import HomeView from "@/views/HomeView.vue";
 import Layout from "@/views/KMPlatform/Layout.vue";
 import Home from "@/views/KMPlatform/Home/Home.vue";
@@ -50,7 +50,6 @@ const router = createRouter({
       path: "/kmplatform",
       name: "kmplatform",
       component: Layout,
-      // redirect: "/kmplatform/home",
       meta: {
         auth: false,
       },
@@ -106,7 +105,7 @@ const router = createRouter({
             auth: true,
           },
           redirect: "/kmplatform/kgbuilder/home",
-          component: AppCopy,
+          component: Framework,
           children: [
             {
               path: "home",
@@ -157,6 +156,9 @@ const router = createRouter({
                   path: 'graph-std-schemas',
                   name: 'graph-std-schemas',
                   component: () => import('@/views/GraphStdSchemas.vue'),
+                  meta: {
+                    auth: true,
+                  },
                 },
                 {
                   path: "graph-mgr/:id",

src/views/AppCopy.vue → src/views/Framework.vue


+ 1 - 1
src/views/KMPlatform/Layout.vue

@@ -26,7 +26,7 @@ function beforeEnter() {
   $('#app').addClass('hide-scrollbar')
   setTimeout(() => {
     $('#app').removeClass('hide-scrollbar')
-  }, 1000)
+  }, 2000)
 }
 function afterLeave() {
   // $('#app').removeClass('hide-scrollbar')

+ 14 - 0
src/views/KMPlatform/OpenPlatform/OpenPlatform.vue

@@ -43,7 +43,21 @@ const handlePath = (id) => {
 </script>
 
 <style lang="less" scoped>
+.main-container {
+  height: 100%;
+}
+
 .el-menu-open-platform {
   height: 100%;
 }
+
+.main-aside {
+  position: fixed;
+  height: calc(100vh - 90px);
+}
+
+.content-area {
+  box-sizing: border-box;
+  padding-left: 305px;
+}
 </style>