diff --git a/ruoyi-ui/src/layout/components/IframeToggle/index.vue b/ruoyi-ui/src/layout/components/IframeToggle/index.vue index 02ba4c38a7daa4ceba0c1f2bae904bc82e8f09ba..f117b999caf068cb07fdc6fc67bf56b4d92be6a9 100644 --- a/ruoyi-ui/src/layout/components/IframeToggle/index.vue +++ b/ruoyi-ui/src/layout/components/IframeToggle/index.vue @@ -23,10 +23,35 @@ export default { methods: { iframeUrl(url, query) { if (Object.keys(query).length > 0) { - let params = Object.keys(query).map((key) => key + "=" + query[key]).join("&") + let params = Object.keys(query).map((key) => { + let value = this.parseStoreValue(query[key]) + return key + "=" + value + }).join("&") return url + "?" + params } return url + }, + parseStoreValue(value){ + // eg. $store.getters.name + if(value!=null && value.startsWith("$store") && value.indexOf(".")>-1){ + const storeRouter = value.split("\."); + let temp = this.$store + for (const index in storeRouter) { + if (index==0) continue + const storeRouterKey = storeRouter[index] + if(storeRouterKey.endsWith("?")){ + const realKey = storeRouterKey.substring(0,storeRouterKey.length-1) + if(temp[realKey]==null){ + return "" + } + temp = temp[realKey] + continue + } + temp = temp[storeRouterKey]; + } + return temp; + } + return value; } } } diff --git a/ruoyi-ui/src/views/system/menu/index.vue b/ruoyi-ui/src/views/system/menu/index.vue index b61cf6f0dc18961a825ce59ec0005418b52aee01..38bdafc6d9bdbb1bbda97a82c888fdc9b88b8703 100644 --- a/ruoyi-ui/src/views/system/menu/index.vue +++ b/ruoyi-ui/src/views/system/menu/index.vue @@ -231,7 +231,7 @@ - + 路由参数