From 9ab109b9ee96e7ff2bf2b935a044aee5842a3ddc Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期日, 28 九月 2025 10:08:09 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java   |   20 ++++++++++++++++++++
 server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java      |    2 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java |    1 +
 admin/src/main.js                                                                       |   28 ++++++++++++++++++++++++----
 admin/src/store/index.js                                                                |    3 ++-
 5 files changed, 49 insertions(+), 5 deletions(-)

diff --git a/admin/src/main.js b/admin/src/main.js
index 83b2a5e..a98f12b 100644
--- a/admin/src/main.js
+++ b/admin/src/main.js
@@ -45,10 +45,16 @@
         return
       }
       await this.initRoutes()
+    },
+    async topMenuCurrent () {
+      if (this.topMenuCurrent == null) {
+        return
+      }
+      await this.chagneRoutes()
     }
   },
   methods: {
-    ...mapMutations(['switchCollapseMenu', 'setHomePage', 'setTopMenuCurrent', 'setTopMenuCurrent']),
+    ...mapMutations(['switchCollapseMenu', 'setHomePage', 'setTopMenuCurrent', 'setTopMenuCurrent','cleartagsview']),
     // 鍒濆鍖栨湰鍦伴厤缃�
     initLocalConfig () {
       // 鑿滃崟鐘舵�侀厤缃�
@@ -79,9 +85,13 @@
           })
           storeTopMenus.push.apply(storeTopMenus, topList)
           var topCurrent = null
+          var tlist =[]
           topList.forEach(item => {
-            if (item.linkType === 0 && topCurrent == null) {
-              topCurrent = item
+            if (item.linkType === 0 ) {
+              if (topCurrent == null) {
+                topCurrent = item
+              }
+              tlist.push(...item.children)
             }
           })
           this.setTopMenuCurrent(topCurrent)
@@ -96,7 +106,7 @@
           console.log('menus', this.menuData.list)
           storeMenus.push.apply(storeMenus, this.menuData.list)
           // 娣诲姞璺敱
-          this.__addRouters(storeMenus)
+          this.__addRouters(tlist)
           // 404
           router.addRoute({
             path: '*',
@@ -120,6 +130,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) {
diff --git a/admin/src/store/index.js b/admin/src/store/index.js
index f76eee9..eae17b4 100644
--- a/admin/src/store/index.js
+++ b/admin/src/store/index.js
@@ -1,5 +1,6 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
+import router from '../router'
 Vue.use(Vuex)
 
 const state = {
@@ -73,7 +74,7 @@
   },
   // 閲嶇疆鑿滃崟
   resetMenus: (state) => {
-    state.topMenuId=null;
+    state.topMenuId=null
     state.menuData.list = []
   },
   //  tags
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
index edf8379..9cb6752 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
@@ -139,6 +139,7 @@
                 nodeVO.setType(menu.getType());
                 nodeVO.setLinkType(menu.getLinkType());
                 nodeVO.setIcon(menu.getIcon());
+//                nodeVO.setHomeUrl("/index");//榛樿宸ヤ綔鍙�
                 nodeVO.setChildren(new ArrayList<>());
                 rootNodes.add(nodeVO);
             }
@@ -146,10 +147,29 @@
         menus.removeIf(menu -> menu.getParentId() == null);
         for (SystemMenuNodeVO child : rootNodes) {
             this.fillChildren(child, menus);
+            SystemMenuNodeVO homeMenus = getHomeUrlByChild(child);
+            if(homeMenus!=null && homeMenus.getUrl() != null){
+                    child.setHomeUrl(homeMenus.getUrl());
+            }
         }
         return rootNodes;
     }
 
+    private SystemMenuNodeVO getHomeUrlByChild( SystemMenuNodeVO  child) {
+        if(child.getChildren()==null || child.getChildren().size() ==0){
+            return null;
+        }
+        for(SystemMenuNodeVO tt : child.getChildren()){
+            if(tt.getChildren()==null || tt.getChildren().size() ==0){
+                return tt;
+            }else{
+                SystemMenuNodeVO ttt = getHomeUrlByChild(tt);
+                return ttt;
+            }
+        }
+        return null;
+    }
+
     @Override
     public void deleteById(Integer id) {
         List<Integer> ids = systemMenuService.findChildren(id);
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java b/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java
index 9532faf..6eeb48a 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/vo/SystemMenuNodeVO.java
@@ -33,6 +33,8 @@
 
     @ApiModelProperty(value = "鑿滃崟鍦板潃")
     private String url;
+    @ApiModelProperty(value = "绗竴涓粯璁ら〉鍦板潃")
+    private String homeUrl;
 
     @ApiModelProperty(value = "瀛愯彍鍗�")
     private List<SystemMenuNodeVO> children;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
index f007330..1710745 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -93,6 +93,7 @@
     @ExcelColumn(name="缁勫悎鍚嶇О",index = 3,width = 20)
     private String groupName;
     @ApiModelProperty(value = "瀹屾暣鍥剧墖鍦板潃 ")
+    @TableField(exist = false)
     private String imgurlFull;
 
     @ApiModelProperty(value = "瀛愰泦鍒嗙被")

--
Gitblit v1.9.3