From 121e6ea55c4853eaed2df57eeb8b2aa2c2fc0ea7 Mon Sep 17 00:00:00 2001 From: liulujian Date: Tue, 16 Jun 2026 00:19:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BC=95=E5=85=A5=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=80=BB=E7=BA=BF=EF=BC=8C=E8=A7=A3=E5=86=B3iframe=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- txw-mhzc-web/src/pages/index/components/nav/index2.vue | 1 + txw-mhzc-web/src/pages/index/router/index.js | 5 +++++ .../src/pages/index/utils/iframe-reload-bus.js | 3 +++ txw-mhzc-web/src/pages/index/views/main.vue | 6 ++++++ txw-mhzc-web/src/pages/index/views/tzzx/index.vue | 10 +++++++++- 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 txw-mhzc-web/src/pages/index/utils/iframe-reload-bus.js diff --git a/txw-mhzc-web/src/pages/index/components/nav/index2.vue b/txw-mhzc-web/src/pages/index/components/nav/index2.vue index fb97bfe..005a1d2 100644 --- a/txw-mhzc-web/src/pages/index/components/nav/index2.vue +++ b/txw-mhzc-web/src/pages/index/components/nav/index2.vue @@ -166,6 +166,7 @@ export default { '/txqsc': 'fwsc', '/tjrsc': 'fwsc', '/tsjsc': 'fwsc', + '/tsjlbc': 'fwsc', '/yhzx': 'yhzx', '/gxnlpt': 'gxnlpt', '/qych': 'qych', diff --git a/txw-mhzc-web/src/pages/index/router/index.js b/txw-mhzc-web/src/pages/index/router/index.js index 0929d30..68f7823 100644 --- a/txw-mhzc-web/src/pages/index/router/index.js +++ b/txw-mhzc-web/src/pages/index/router/index.js @@ -65,6 +65,11 @@ const router = new VueRouter({ }); router.beforeEach((to, from, next) => { + // 禁止跳转到与当前完全相同的路由 + if (from.name && to.fullPath === from.fullPath) { + next(false); + return; + } // 路由切换时清掉全局 figma 视觉高度 clamp 变量, // 避免旧页面残留的 --home-figma-visual-height 把新页面裁切掉。 // 新页面的 portal-figma-scale-mixin 会在 mounted/activated 时基于真实高度重新写入。 diff --git a/txw-mhzc-web/src/pages/index/utils/iframe-reload-bus.js b/txw-mhzc-web/src/pages/index/utils/iframe-reload-bus.js new file mode 100644 index 0000000..263bf53 --- /dev/null +++ b/txw-mhzc-web/src/pages/index/utils/iframe-reload-bus.js @@ -0,0 +1,3 @@ +import Vue from 'vue'; + +export const iframeReloadBus = new Vue(); diff --git a/txw-mhzc-web/src/pages/index/views/main.vue b/txw-mhzc-web/src/pages/index/views/main.vue index a090b87..3df847e 100644 --- a/txw-mhzc-web/src/pages/index/views/main.vue +++ b/txw-mhzc-web/src/pages/index/views/main.vue @@ -62,6 +62,7 @@ import { // 引入全局总线(同时把 $showComingSoon 注册到 Vue 原型上) import "@/pages/index/utils/coming-soon-dialog.js"; import { comingSoonBus } from "@/pages/index/utils/coming-soon-dialog.js"; +import { iframeReloadBus } from "@/pages/index/utils/iframe-reload-bus.js"; export default { name: "Main", @@ -245,6 +246,11 @@ export default { window.location.href = `/view/mhzc/login`; return; } + const currentPage = this.$route.query.page; + if (this.$route.path === '/tzzx' && currentPage === iframeUrl) { + iframeReloadBus.$emit('reload'); + return; + } this.$router.push({ path: `/tzzx?page=${iframeUrl}`, }); diff --git a/txw-mhzc-web/src/pages/index/views/tzzx/index.vue b/txw-mhzc-web/src/pages/index/views/tzzx/index.vue index cc68f92..9fa777b 100644 --- a/txw-mhzc-web/src/pages/index/views/tzzx/index.vue +++ b/txw-mhzc-web/src/pages/index/views/tzzx/index.vue @@ -4,6 +4,7 @@