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