From ffd0af47ee31a9592cfab56a907e9841a9113c52 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 20 七月 2023 10:37:17 +0800
Subject: [PATCH] 代码提交,前端代码打包

---
 Source/UBCS-WEB/dist/src/page/index/index.vue |  154 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 154 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/dist/src/page/index/index.vue b/Source/UBCS-WEB/dist/src/page/index/index.vue
new file mode 100644
index 0000000..f802b58
--- /dev/null
+++ b/Source/UBCS-WEB/dist/src/page/index/index.vue
@@ -0,0 +1,154 @@
+<template>
+  <div class="avue-contail" :class="{'avue--collapse':isCollapse}">
+    <div class="avue-header">
+      <!-- 椤堕儴瀵艰埅鏍� -->
+      <top ref="top"/>
+    </div>
+    <div class="avue-layout">
+      <div class="avue-left">
+        <!-- 宸︿晶瀵艰埅鏍� -->
+        <sidebar v-loading="loading"/>
+      </div>
+      <div class="avue-main">
+        <!-- 椤堕儴鏍囩鍗� -->
+        <tags/>
+        <transition name="fade-scale">
+          <search class="avue-view" v-show="isSearch"></search>
+        </transition>
+        <!-- 涓讳綋瑙嗗浘灞� -->
+        <div style="height:100%;overflow-y:auto;overflow-x:hidden;" id="avue-view" v-show="!isSearch">
+          <keep-alive>
+            <router-view class="avue-view" v-if="$route.meta.keepAlive"/>
+          </keep-alive>
+          <router-view class="avue-view" v-if="!$route.meta.keepAlive"/>
+        </div>
+      </div>
+    </div>
+    <div class="avue-shade" @click="showCollapse"></div>
+  </div>
+</template>
+
+<script>
+  import {mapGetters} from "vuex";
+  import tags from "./tags";
+  import search from "./search";
+  import top from "./top/";
+  import sidebar from "./sidebar/";
+  import admin from "@/util/admin";
+  import {validatenull} from "@/util/validate";
+  import {calcDate} from "@/util/date.js";
+  import {getStore} from "@/util/store.js";
+
+  export default {
+    components: {
+      top,
+      tags,
+      search,
+      sidebar
+    },
+    name: "index",
+    provide() {
+      return {
+        index: this
+      };
+    },
+    data() {
+      return {
+        //鎼滅储鎺у埗
+        isSearch: false,
+        //鍒锋柊token閿�
+        refreshLock: false,
+        //鍒锋柊token鐨勬椂闂�
+        refreshTime: "",
+        loading:true
+      };
+    },
+
+    created() {
+      //瀹炴椂妫�娴嬪埛鏂皌oken
+      this.refreshToken();
+
+    },
+    mounted() {
+      this.init();
+      // 宸︿晶鑿滃崟鍔犺浇
+      setTimeout(()=>{
+        this.loading=false
+      },600)
+    },
+    computed: mapGetters(["isMenu", "isLock", "isCollapse", "website", "menu"]),
+    props: [],
+    methods: {
+      showCollapse() {
+        this.$store.commit("SET_COLLAPSE");
+      },
+      // 鍒濆鍖�
+      init() {
+        this.$store.commit("SET_SCREEN", admin.getScreen());
+        window.onresize = () => {
+          setTimeout(() => {
+            this.$store.commit("SET_SCREEN", admin.getScreen());
+          }, 0);
+
+        };
+        this.$store.dispatch("FlowRoutes").then(() => {
+        });
+      },
+      //鎵撳紑鑿滃崟
+      openMenu(item = {}) {
+        this.$store.dispatch("GetMenu", item.id).then(data => {
+          if (data.length !== 0) {
+            this.$router.$avueRouter.formatRoutes(data, true);
+          }
+          //褰撶偣鍑婚《閮ㄨ彍鍗曞悗榛樿鎵撳紑绗竴涓彍鍗�
+          /*if (!this.validatenull(item)) {
+            let itemActive = {},
+              childItemActive = 0;
+            if (item.path) {
+              itemActive = item;
+            } else {
+              if (this.menu[childItemActive].length === 0) {
+                itemActive = this.menu[childItemActive];
+              } else {
+                itemActive = this.menu[childItemActive].children[childItemActive];
+              }
+            }
+            this.$store.commit('SET_MENU_ID', item);
+            this.$router.push({
+              path: this.$router.$avueRouter.getPath({
+                name: (itemActive.label || itemActive.name),
+                src: itemActive.path
+              }, itemActive.meta)
+            });
+          }*/
+
+        });
+      },
+      // 瀹氭椂妫�娴媡oken
+      refreshToken() {
+        this.refreshTime = setInterval(() => {
+          const token = getStore({
+            name: "token",
+            debug: true
+          }) || {};
+          const date = calcDate(token.datetime, new Date().getTime());
+          if (validatenull(date)) return;
+          if (date.seconds >= this.website.tokenTime && !this.refreshLock) {
+            this.refreshLock = true;
+            this.$store
+              .dispatch("refreshToken")
+              .then(() => {
+                this.refreshLock = false;
+              })
+              .catch(() => {
+                this.refreshLock = false;
+              });
+          }
+        }, 10000);
+      }
+    }
+  };
+</script>
+<style lang="scss">
+
+</style>

--
Gitblit v1.9.3