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