doum
2026-03-06 34fe52caba63e6a6337cb9c3e6bd0d4707fd6a99
admin/src/main.js
@@ -38,7 +38,7 @@
  router,
  store,
  computed: {
    ...mapState(['userInfo', 'homePage','topMenuCurrent','menuData'])
    ...mapState(['userInfo', 'homePage', 'topMenuCurrent', 'menuData'])
  },
  watch: {
    async userInfo () {
@@ -55,7 +55,7 @@
    }
  },
  methods: {
    ...mapMutations(['switchCollapseMenu', 'setCurrentIndex', 'setHomePage', 'setTopMenuCurrent', 'setTopMenuCurrent','cleartagsview']),
    ...mapMutations(['switchCollapseMenu', 'setCurrentIndex', 'setHomePage', 'setTopMenuCurrent', 'setTopMenuCurrent', 'cleartagsview']),
    // 初始化本地配置
    initLocalConfig () {
      // 菜单状态配置
@@ -79,66 +79,66 @@
        this.setHomePage(storeMenus[0])
      }
      await fetchMenuTree()
          .then(allmenus => {
            // 添加菜单
            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)
        .then(allmenus => {
          // 添加菜单
          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
              }
            })
            if (this.$route.query && this.$route.query.menuparams) {
              let menu = topList.filter(item => item.params === this.$route.query.menuparams)
              this.setTopMenuCurrent(menu[0])
              this.setCurrentIndex(topList.findIndex(obj => obj.params === this.$route.query.menuparams))
            } else {
              this.setTopMenuCurrent(topCurrent)
              this.setCurrentIndex(0)
            }
            // 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(tlist)
            // 404
            router.addRoute({
              path: '*',
              redirect: '/not-found'
            })
            // 首页
            router.addRoute({
              name: 'index',
              path: '/',
              redirect: this.homePage.url
            })
            // 路由加载完成后,如果访问的是/,跳转至动态识别的首页
            if (this.$route.query && this.$route.query.menuparams) {
              this.$router.push(topList.filter(item => item.params === this.$route.query.menuparams)[0].homeUrl)
            } else if (this.$route.path === '/') {
              this.$router.push(this.homePage.url)
              tlist.push(...item.children)
            }
          })
          .catch(e => {
            throw e
          if (this.$route.query && this.$route.query.menuparams) {
            const menu = topList.filter(item => item.params === this.$route.query.menuparams)
            this.setTopMenuCurrent(menu[0])
            this.setCurrentIndex(topList.findIndex(obj => obj.params === this.$route.query.menuparams))
          } else {
            this.setTopMenuCurrent(topCurrent)
            this.setCurrentIndex(0)
          }
          // 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(tlist)
          // 404
          router.addRoute({
            path: '*',
            redirect: '/not-found'
          })
          .finally(() => {
            this.loading = false
          // 首页
          router.addRoute({
            name: 'index',
            path: '/',
            redirect: this.homePage.url
          })
          // 路由加载完成后,如果访问的是/,跳转至动态识别的首页
          if (this.$route.query && this.$route.query.menuparams) {
            this.$router.push(topList.filter(item => item.params === this.$route.query.menuparams)[0].homeUrl)
          } else if (this.$route.path === '/') {
            this.$router.push(this.homePage.url)
          }
        })
        .catch(e => {
          throw e
        })
        .finally(() => {
          this.loading = false
        })
    },
    async chagneRoutes () {
      // 重置菜单
@@ -146,8 +146,8 @@
      console.log('menus', this.menuData.list)
      // 添加路由
      // this.__addRouters(this.menuData.list)
      if(this.topMenuCurrent.homeUrl){
        await this.$router.push({path: this.topMenuCurrent.homeUrl, query: {}})
      if (this.topMenuCurrent.homeUrl) {
        await this.$router.push({ path: this.topMenuCurrent.homeUrl, query: {} })
      }
    },
    // 新建路由
@@ -188,7 +188,7 @@
      return
    }
    await this.initRoutes()
        .catch(() => {})
      .catch(() => {})
  },
  mounted () {
    this.initLocalConfig()