From 078a5c4ced367fdbd5a16c27c8bada6e44e632d5 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 09 十月 2025 16:00:33 +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