From ae6d20ec4a30b7e796feb05958bcfc80e55f247b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 20 七月 2023 15:21:45 +0800
Subject: [PATCH] 整合代码部署

---
 Source/UBCS-WEB/dist/src/components/iframe/main.vue |  129 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 129 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/dist/src/components/iframe/main.vue b/Source/UBCS-WEB/dist/src/components/iframe/main.vue
new file mode 100644
index 0000000..4d421bc
--- /dev/null
+++ b/Source/UBCS-WEB/dist/src/components/iframe/main.vue
@@ -0,0 +1,129 @@
+<template>
+  <basic-container>
+    <iframe :src="src"
+            class="iframe"
+            ref="iframe"></iframe>
+  </basic-container>
+</template>
+
+<script>
+  import {mapGetters} from "vuex";
+  import NProgress from "nprogress"; // progress bar
+  import "nprogress/nprogress.css"; // progress bar style
+  export default {
+    name: "AvueIframe",
+    data() {
+      return {
+        urlPath: this.getUrlPath() //iframe src 璺緞
+      };
+    },
+    created() {
+      NProgress.configure({showSpinner: false});
+    },
+    mounted() {
+      this.load();
+      this.resize();
+    },
+    props: ["routerPath"],
+    watch: {
+      $route: function () {
+        this.load();
+      },
+      routerPath: function () {
+        // 鐩戝惉routerPath鍙樺寲锛屾敼鍙榮rc璺緞
+        this.urlPath = this.getUrlPath();
+      }
+    },
+    computed: {
+      ...mapGetters(["screen"]),
+      src() {
+        return this.$route.query.src
+          ? this.$route.query.src.replace("$", "#")
+          : this.urlPath;
+      }
+    },
+    methods: {
+      // 鏄剧ず绛夊緟妗�
+      show() {
+        NProgress.start();
+      },
+      // 闅愯棌绛夊緟鐙�
+      hide() {
+        NProgress.done();
+      },
+      // 鍔犺浇娴忚鍣ㄧ獥鍙e彉鍖栬嚜閫傚簲
+      resize() {
+        window.onresize = () => {
+          this.iframeInit();
+        };
+      },
+      // 鍔犺浇缁勪欢
+      load() {
+        this.show();
+        var flag = true; //URL鏄惁鍖呭惈闂彿
+        if (this.$route.query.src !== undefined && this.$route.query.src.indexOf("?") === -1) {
+          flag = false;
+        }
+        var list = [];
+        for (var key in this.$route.query) {
+          if (key !== "src" && key !== "name" && key !== "i18n") {
+            list.push(`${key}= this.$route.query[key]`);
+          }
+        }
+        list = list.join("&").toString();
+        if (flag) {
+          this.$route.query.src = `${this.$route.query.src}${
+            list.length > 0 ? `&list` : ""
+          }`;
+        } else {
+          this.$route.query.src = `${this.$route.query.src}${
+            list.length > 0 ? `?list` : ""
+          }`;
+        }
+        //瓒呮椂3s鑷姩闅愯棌绛夊緟鐙傦紝鍔犲己鐢ㄦ埛浣撻獙
+        let time = 3;
+        const timeFunc = setInterval(() => {
+          time--;
+          if (time === 0) {
+            this.hide();
+            clearInterval(timeFunc);
+          }
+        }, 1000);
+        this.iframeInit();
+      },
+      //iframe绐楀彛鍒濆鍖�
+      iframeInit() {
+        const iframe = this.$refs.iframe;
+        const clientHeight =
+          document.documentElement.clientHeight - (screen > 1 ? 200 : 130);
+        if (!iframe) return;
+        iframe.style.height = `${clientHeight}px`;
+        if (iframe.attachEvent) {
+          iframe.attachEvent("onload", () => {
+            this.hide();
+          });
+        } else {
+          iframe.onload = () => {
+            this.hide();
+          };
+        }
+      },
+      getUrlPath: function () {
+        //鑾峰彇 iframe src 璺緞
+        let url = window.location.href;
+        url = url.replace("/myiframe", "");
+        return url;
+      }
+    }
+  };
+</script>
+
+<style lang="scss">
+  .iframe {
+    width: 100%;
+    height: 100%;
+    border: 0;
+    overflow: hidden;
+    box-sizing: border-box;
+  }
+</style>

--
Gitblit v1.9.3