From c29f5e2c04faa9388fdbf9318acfb7e2efdc0476 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Mon, 23 Mar 2026 11:43:40 +0800
Subject: [PATCH] 优化页签显示
---
ruoyi-ui/src/layout/components/InnerLink/index.vue | 64 +++++++++++++++++++++-----------
1 files changed, 42 insertions(+), 22 deletions(-)
diff --git a/ruoyi-ui/src/layout/components/InnerLink/index.vue b/ruoyi-ui/src/layout/components/InnerLink/index.vue
index 227ff2a..afe66b5 100644
--- a/ruoyi-ui/src/layout/components/InnerLink/index.vue
+++ b/ruoyi-ui/src/layout/components/InnerLink/index.vue
@@ -1,27 +1,47 @@
+<template>
+ <div :style="'height:' + height" v-loading="loading" element-loading-text="正在加载页面,请稍候!">
+ <iframe
+ :id="iframeId"
+ style="width: 100%; height: 100%"
+ :src="src"
+ frameborder="no"
+ ></iframe>
+ </div>
+</template>
+
<script>
export default {
- data() {
- return {};
- },
- render() {
- const { $route: { meta: { link } }, } = this;
- if ({ link }.link === "") {
- return "404";
+ props: {
+ src: {
+ type: String,
+ default: "/"
+ },
+ iframeId: {
+ type: String
}
- let url = { link }.link;
- const height = document.documentElement.clientHeight - 94.5 + "px";
- const style = { height: height };
-
- return (
- <div style={style}>
- <iframe
- src={url}
- frameborder="no"
- style="width: 100%; height: 100%"
- scrolling="auto"
- ></iframe>
- </div>
- );
},
-};
+ data() {
+ return {
+ loading: false,
+ height: document.documentElement.clientHeight - 94.5 + "px;"
+ }
+ },
+ mounted() {
+ var _this = this
+ const iframeId = ("#" + this.iframeId).replace(/\//g, "\\/")
+ const iframe = document.querySelector(iframeId)
+ // iframe页面loading控制
+ if (iframe.attachEvent) {
+ this.loading = true
+ iframe.attachEvent("onload", function () {
+ _this.loading = false
+ })
+ } else {
+ this.loading = true
+ iframe.onload = function () {
+ _this.loading = false
+ }
+ }
+ }
+}
</script>
--
Gitblit v1.9.3