From 66b84de58e3efae14c1e258ee716e02ad9557497 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 09 十月 2025 08:48:50 +0800
Subject: [PATCH] 最新版本541200007

---
 admin/src/main.js |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/admin/src/main.js b/admin/src/main.js
index ee5cfea..a0eb2fd 100644
--- a/admin/src/main.js
+++ b/admin/src/main.js
@@ -4,16 +4,27 @@
 import store from './store'
 import ElementUI from 'element-ui'
 import './assets/style/element-variables.scss'
+import { ElementTiptapPlugin } from 'element-tiptap'
+import 'element-tiptap/lib/index.css'
 import VueClipboard from 'vue-clipboard2'
 import directives from './directives'
 import filters from './filters'
 import plugins from './plugins'
 import { mapState, mapMutations } from 'vuex'
 import { fetchMenuTree } from './api/system/menu'
+import preventReClick from '@/directives/directive'
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
 
+Vue.component('treeselect', Treeselect)
+
+Vue.use(preventReClick)
 Vue.config.productionTip = false
 Vue.use(ElementUI, {
   size: 'small'
+})
+Vue.use(ElementTiptapPlugin, {
+  lang: 'zh'
 })
 Vue.use(VueClipboard)
 Vue.use(directives)
@@ -27,7 +38,7 @@
   router,
   store,
   computed: {
-    ...mapState(['userInfo', 'homePage'])
+    ...mapState(['userInfo', 'homePage','topMenuCurrent','menuData'])
   },
   watch: {
     async userInfo () {
@@ -35,10 +46,16 @@
         return
       }
       await this.initRoutes()
+    },
+    async topMenuCurrent () {
+      if (this.topMenuCurrent == null) {
+        return
+      }
+      await this.chagneRoutes()
     }
   },
   methods: {
-    ...mapMutations(['switchCollapseMenu', 'setHomePage']),
+    ...mapMutations(['switchCollapseMenu', 'setHomePage', 'setTopMenuCurrent', 'setTopMenuCurrent','cleartagsview']),
     // 鍒濆鍖栨湰鍦伴厤缃�
     initLocalConfig () {
       // 鑿滃崟鐘舵�侀厤缃�
@@ -57,15 +74,40 @@
       this.$store.commit('resetMenus')
       // 鑾峰彇鑿滃崟
       const storeMenus = this.$store.state.menuData.list
+      const storeTopMenus = this.$store.state.topMenuList.list
       if (storeMenus.length > 0 && this.homePage == null) {
         this.setHomePage(storeMenus[0])
       }
       await fetchMenuTree()
-        .then(menus => {
+        .then(allmenus => {
           // 娣诲姞鑿滃崟
-          storeMenus.push.apply(storeMenus, menus)
+          var topList = allmenus.filter(item => {
+            return item.type === 1
+          })
+          storeTopMenus.push.apply(storeTopMenus, topList)
+          var topCurrent = null
+          var tlist =[]
+          topList.forEach(item => {
+            if (item.linkType === 0 ) {
+              if (topCurrent == null) {
+                topCurrent = item
+              }
+              tlist.push(...item.children)
+            }
+          })
+          this.setTopMenuCurrent(topCurrent)
+          // console.log(topList)
+          // var menus = []
+          // topList.forEach(item => {
+          //   console.log(topCurrent.id, item.id)
+          //   if (item.id == this.topMenuCurrent.id) {
+          //     menus = item.children
+          //   }
+          // })
+          console.log('menus', this.menuData.list)
+          storeMenus.push.apply(storeMenus, this.menuData.list)
           // 娣诲姞璺敱
-          this.__addRouters(storeMenus)
+          this.__addRouters(tlist)
           // 404
           router.addRoute({
             path: '*',
@@ -89,6 +131,16 @@
           this.loading = false
         })
     },
+    async chagneRoutes () {
+      // 閲嶇疆鑿滃崟
+      this.cleartagsview('/index')
+      console.log('menus', this.menuData.list)
+      // 娣诲姞璺敱
+      // this.__addRouters(this.menuData.list)
+      if(this.topMenuCurrent.homeUrl){
+        await this.$router.push({path: this.topMenuCurrent.homeUrl, query: {}})
+      }
+    },
     // 鏂板缓璺敱
     __addRouters (routes, parents = []) {
       if (routes == null || routes.length === 0) {

--
Gitblit v1.9.3