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 | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 5 deletions(-) diff --git a/admin/src/main.js b/admin/src/main.js index ec668b6..a0eb2fd 100644 --- a/admin/src/main.js +++ b/admin/src/main.js @@ -12,7 +12,13 @@ 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' @@ -32,7 +38,7 @@ router, store, computed: { - ...mapState(['userInfo', 'homePage']) + ...mapState(['userInfo', 'homePage','topMenuCurrent','menuData']) }, watch: { async userInfo () { @@ -40,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 () { // 鑿滃崟鐘舵�侀厤缃� @@ -62,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: '*', @@ -94,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