From 078a3aad5af546e87543ce374ab7ca68ffa19ab3 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 28 九月 2023 22:24:25 +0800 Subject: [PATCH] 修复HeaderSearch组件跳转query参数丢失问题 --- ruoyi-ui/src/components/HeaderSearch/index.vue | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ruoyi-ui/src/components/HeaderSearch/index.vue b/ruoyi-ui/src/components/HeaderSearch/index.vue index 6e9b72f..e9d50c2 100644 --- a/ruoyi-ui/src/components/HeaderSearch/index.vue +++ b/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] } -- Gitblit v1.9.2