RuoYi
2023-09-28 078a3aad5af546e87543ce374ab7ca68ffa19ab3
修复HeaderSearch组件跳转query参数丢失问题
已修改1个文件
15 ■■■■ 文件已修改
ruoyi-ui/src/components/HeaderSearch/index.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/components/HeaderSearch/index.vue
@@ -71,12 +71,17 @@
    },
    change(val) {
      const path = val.path;
      const query = val.query;
      if(this.ishttp(val.path)) {
        // http(s):// 路径新窗口打开
        const pindex = path.indexOf("http");
        window.open(path.substr(pindex, path.length), "_blank");
      } 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.options = []
@@ -102,7 +107,7 @@
    },
    // Filter out the routes that can be displayed in the sidebar
    // And generate the internationalized title
    generateRoutes(routes, basePath = '/', prefixTitle = []) {
    generateRoutes(routes, basePath = '/', prefixTitle = [], query = {}) {
      let res = []
      for (const router of routes) {
@@ -124,9 +129,13 @@
          }
        }
        if (router.query) {
          data.query = router.query
        }
        // recursive child routes
        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) {
            res = [...res, ...tempRoutes]
          }