RuoYi
2023-09-28 e8fe5f14553e4e95050dc1e929f6fb545ed80148
修复HeaderSearch组件跳转query参数丢失问题
已修改1个文件
14 ■■■■ 文件已修改
src/components/HeaderSearch/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/HeaderSearch/index.vue
@@ -45,12 +45,17 @@
}
function change(val) {
  const path = val.path;
  const query = val.query;
  if (isHttp(path)) {
    // http(s):// 路径新窗口打开
    const pindex = path.indexOf("http");
    window.open(path.substr(pindex, path.length), "_blank");
  } else {
    router.push(path)
    if (query) {
      router.push({ path: path, query: JSON.parse(query) });
    } else {
      router.push(path)
    }
  }
  search.value = ''
@@ -77,7 +82,7 @@
}
// Filter out the routes that can be displayed in the sidebar
// And generate the internationalized title
function generateRoutes(routes, basePath = '', prefixTitle = []) {
function generateRoutes(routes, basePath = '', prefixTitle = [], query = {}) {
  let res = []
  for (const r of routes) {
@@ -98,10 +103,13 @@
        res.push(data)
      }
    }
    if (r.query) {
      data.query = r.query
    }
    // recursive child routes
    if (r.children) {
      const tempRoutes = generateRoutes(r.children, data.path, data.title)
      const tempRoutes = generateRoutes(r.children, data.path, data.title, data.query)
      if (tempRoutes.length >= 1) {
        res = [...res, ...tempRoutes]
      }