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