From cacb91dff4e574191e4f9b3ed2b854458f0d5425 Mon Sep 17 00:00:00 2001 From: duanliangtao <48194157+duanliangtao@users.noreply.github.com> Date: Sun, 29 Sep 2024 16:46:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dticket=E5=A4=B1=E6=95=88?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/modules/volunteer/mall/category.vue | 71 ++++++++++--------- src/views/modules/volunteer/mall/index.vue | 71 ++++++++++--------- 2 files changed, 78 insertions(+), 64 deletions(-) diff --git a/src/views/modules/volunteer/mall/category.vue b/src/views/modules/volunteer/mall/category.vue index 8728dcb27..a0bb79e6f 100644 --- a/src/views/modules/volunteer/mall/category.vue +++ b/src/views/modules/volunteer/mall/category.vue @@ -26,46 +26,53 @@ export default { created() { // 此处请求后端,获取一个ticket票据 http.get("/auth/sso/getTicket") - .then(({data: res}) => { - let ticket = res.data - console.log('ticket:', ticket) - this.iframeSrc = "../../../epmet-voluntary-mall-admin/pms/productCategory?target=_blank&ticket=" + ticket - }) + .then(({ data: res }) => { + let ticket = res.data; + console.log('ticket:', ticket); + this.iframeSrc = "../../../epmet-voluntary-mall-admin/pms/productCategory?ticket=" + ticket; + }); }, methods: { // 监听 iframe 加载完成事件 onIframeLoad() { - // 获取 iframe 的内容窗口 - const iframe = this.$refs.childIframe; - const iframeDocument = iframe.contentDocument || iframe.contentWindow.document; + + if(this.iframeSrc==''){ + return; + } - if (iframeDocument) { - const styleElement = iframeDocument.createElement('style'); - styleElement.type = 'text/css'; - - const newStyles = ` - #app .main-container { - margin-left: 0px !important; - } - #app .sidebar-container { - display: none !important; - } - .navbar { - display: none !important; - } - `; - - styleElement.appendChild(iframeDocument.createTextNode(newStyles)); - - iframeDocument.head.appendChild(styleElement); + const iframe = this.$refs.childIframe; + + if (this.iframeSrc.indexOf("ticket")!== -1) { + // 将 iframeSrc 设置为新的 URL(去掉了 ticket 参数) + this.iframeSrc = "../../../epmet-voluntary-mall-admin/pms/productCategory"; + }else{ + const iframeDocument = iframe.contentDocument || iframe.contentWindow.document; - // 显示 iframe - iframe.style.display = 'block'; + if (iframeDocument) { + const styleElement = iframeDocument.createElement('style'); + styleElement.type = 'text/css'; + + const newStyles = ` + #app .main-container { + margin-left: 0px !important; + } + #app .sidebar-container { + display: none !important; + } + .navbar { + display: none !important; + } + `; + + styleElement.appendChild(iframeDocument.createTextNode(newStyles)); + iframeDocument.head.appendChild(styleElement); + + // 显示 iframe + iframe.style.display = 'block'; + } } + } } }; - - diff --git a/src/views/modules/volunteer/mall/index.vue b/src/views/modules/volunteer/mall/index.vue index 8ef16ac3d..76fe73744 100644 --- a/src/views/modules/volunteer/mall/index.vue +++ b/src/views/modules/volunteer/mall/index.vue @@ -26,46 +26,53 @@ export default { created() { // 此处请求后端,获取一个ticket票据 http.get("/auth/sso/getTicket") - .then(({data: res}) => { - let ticket = res.data - console.log('ticket:', ticket) - this.iframeSrc = "../../../epmet-voluntary-mall-admin/pms/product?target=_blank&ticket=" + ticket - }) + .then(({ data: res }) => { + let ticket = res.data; + console.log('ticket:', ticket); + this.iframeSrc = "../../../epmet-voluntary-mall-admin/pms/product?ticket=" + ticket; + }); }, methods: { // 监听 iframe 加载完成事件 onIframeLoad() { - // 获取 iframe 的内容窗口 - const iframe = this.$refs.childIframe; - const iframeDocument = iframe.contentDocument || iframe.contentWindow.document; + + if(this.iframeSrc==''){ + return; + } - if (iframeDocument) { - const styleElement = iframeDocument.createElement('style'); - styleElement.type = 'text/css'; - - const newStyles = ` - #app .main-container { - margin-left: 0px !important; - } - #app .sidebar-container { - display: none !important; - } - .navbar { - display: none !important; - } - `; - - styleElement.appendChild(iframeDocument.createTextNode(newStyles)); - - iframeDocument.head.appendChild(styleElement); + const iframe = this.$refs.childIframe; + + if (this.iframeSrc.indexOf("ticket")!== -1) { + // 将 iframeSrc 设置为新的 URL(去掉了 ticket 参数) + this.iframeSrc = "../../../epmet-voluntary-mall-admin/pms/product"; + }else{ + const iframeDocument = iframe.contentDocument || iframe.contentWindow.document; - // 显示 iframe - iframe.style.display = 'block'; + if (iframeDocument) { + const styleElement = iframeDocument.createElement('style'); + styleElement.type = 'text/css'; + + const newStyles = ` + #app .main-container { + margin-left: 0px !important; + } + #app .sidebar-container { + display: none !important; + } + .navbar { + display: none !important; + } + `; + + styleElement.appendChild(iframeDocument.createTextNode(newStyles)); + iframeDocument.head.appendChild(styleElement); + + // 显示 iframe + iframe.style.display = 'block'; + } } + } } }; - -