doum
2025-09-25 c5675caab8392bfafd217d06529c2547edaa6aa8
admin/src/main.js
@@ -4,16 +4,26 @@
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 +37,7 @@
  router,
  store,
  computed: {
    ...mapState(['userInfo', 'homePage'])
    ...mapState(['userInfo', 'homePage','topMenuCurrent','menuData'])
  },
  watch: {
    async userInfo () {
@@ -38,7 +48,7 @@
    }
  },
  methods: {
    ...mapMutations(['switchCollapseMenu', 'setHomePage']),
    ...mapMutations(['switchCollapseMenu', 'setHomePage', 'setTopMenuCurrent', 'setTopMenuCurrent']),
    // 初始化本地配置
    initLocalConfig () {
      // 菜单状态配置
@@ -57,13 +67,34 @@
      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
          topList.forEach(item => {
            if (item.linkType === 0 && topCurrent == null) {
              topCurrent = item
            }
          })
          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)
          // 404