Bläddra i källkod

修复HeaderSearch组件跳转query参数丢失问题

RuoYi 1 år sedan
förälder
incheckning
078a3aad5a
1 ändrade filer med 12 tillägg och 3 borttagningar
  1. 12 3
      ruoyi-ui/src/components/HeaderSearch/index.vue

+ 12 - 3
ruoyi-ui/src/components/HeaderSearch/index.vue

@@ -71,12 +71,17 @@ export default {
     },
     },
     change(val) {
     change(val) {
       const path = val.path;
       const path = val.path;
+      const query = val.query;
       if(this.ishttp(val.path)) {
       if(this.ishttp(val.path)) {
         // http(s):// 路径新窗口打开
         // http(s):// 路径新窗口打开
         const pindex = path.indexOf("http");
         const pindex = path.indexOf("http");
         window.open(path.substr(pindex, path.length), "_blank");
         window.open(path.substr(pindex, path.length), "_blank");
       } else {
       } else {
-        this.$router.push(val.path)
+        if (query) {
+          this.$router.push({ path: path, query: JSON.parse(query) });
+        } else {
+          this.$router.push(path)
+        }
       }
       }
       this.search = ''
       this.search = ''
       this.options = []
       this.options = []
@@ -102,7 +107,7 @@ export default {
     },
     },
     // Filter out the routes that can be displayed in the sidebar
     // Filter out the routes that can be displayed in the sidebar
     // And generate the internationalized title
     // And generate the internationalized title
-    generateRoutes(routes, basePath = '/', prefixTitle = []) {
+    generateRoutes(routes, basePath = '/', prefixTitle = [], query = {}) {
       let res = []
       let res = []
 
 
       for (const router of routes) {
       for (const router of routes) {
@@ -124,9 +129,13 @@ export default {
           }
           }
         }
         }
 
 
+        if (router.query) {
+          data.query = router.query
+        }
+
         // recursive child routes
         // recursive child routes
         if (router.children) {
         if (router.children) {
-          const tempRoutes = this.generateRoutes(router.children, data.path, data.title)
+          const tempRoutes = this.generateRoutes(router.children, data.path, data.title, data.query)
           if (tempRoutes.length >= 1) {
           if (tempRoutes.length >= 1) {
             res = [...res, ...tempRoutes]
             res = [...res, ...tempRoutes]
           }
           }