From b76fd2fa93c2036d66e5142654cf66cf1e371531 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 30 四月 2024 17:12:34 +0800
Subject: [PATCH] 改为连表查询

---
 src/views/screen/components/screen-wrapper/index.vue |   81 ++++++++++++++++++++++++++++------------
 1 files changed, 57 insertions(+), 24 deletions(-)

diff --git a/src/views/screen/components/screen-wrapper/index.vue b/src/views/screen/components/screen-wrapper/index.vue
index b9d9235..b80e0e0 100644
--- a/src/views/screen/components/screen-wrapper/index.vue
+++ b/src/views/screen/components/screen-wrapper/index.vue
@@ -1,25 +1,25 @@
 <template>
   <div class="wrapper-container">
     <select-item></select-item>
-    <div class="return-button">
-      <el-button type="primary" @click="returnPath">绠$悊绯荤粺</el-button>
+    <div class="return-button" @click="returnPath">
+      杩斿洖
     </div>
     <div class="wrapper-content">
-      <screen-map-three></screen-map-three>
+      <screen-map-three :loadEnd="isEnd"></screen-map-three>
       <div class="left-container wrapper">
-        <screen-face class="animate-enter-x enter-left"></screen-face>
-        <screen-car class="animate-enter-x enter-left animate-delay-1"></screen-car>
-        <screen-video class="animate-enter-x enter-left animate-delay-2"></screen-video>
+        <screen-face class="enter-left" :class="{ 'animate-enter-x': isEnd }"></screen-face>
+        <screen-car class="enter-left animate-delay-1" :class="{ 'animate-enter-x': isEnd }"></screen-car>
+        <screen-video class="enter-left animate-delay-2" :class="{ 'animate-enter-x': isEnd }"></screen-video>
       </div>
       <div class="center-container center-wrapper">
-        <!-- <screen-map></screen-map> -->
         <screen-map-cover></screen-map-cover>
-        <screen-table class="animate-enter-y enter-top"></screen-table>
+        <screen-table class="enter-top" :class="{ 'animate-enter-y': isEnd }"></screen-table>
         <!-- <screen-detection></screen-detection> -->
 
       </div>
       <div class="right-container wrapper">
-        <screen-examine class="animate-enter-x enter-right"></screen-examine>
+        <screen-examine class="enter-right" :class="{ 'animate-enter-x': isEnd }"></screen-examine>
+        <screen-data class="enter-right animate-delay-1" :class="{ 'animate-enter-x': isEnd }"></screen-data>
       </div>
     </div>
   </div>
@@ -27,32 +27,51 @@
 
 <script>
 import SelectItem from '../select-item/index';
-import ScreenFace from '../screen-face/index';
 import ScreenExamine from '../screen-examine/index';
+import ScreenFace from '../screen-face/index';
 import ScreenVideo from '../screen-video/index';
 import ScreenCar from '../screen-car/index';
-import ScreenMap from '../screen-map/index';
 import ScreenMapCover from '../screen-map-cover/index';
 import ScreenTable from '../screen-table/index';
-import ScreenMapThree from '../screen-map-three/index.vue';
+import ScreenMapThree from '../screen-map-three/index';
+import ScreenData from '../screen-data/index';
 
 export default {
   name: 'ScreenWrapper',
   components: {
     SelectItem,
-    ScreenFace,
     ScreenExamine,
-    ScreenVideo,
-    ScreenCar,
-    ScreenMap,
     ScreenTable,
     ScreenMapCover,
-    ScreenMapThree
+    ScreenMapThree,
+    ScreenFace,
+    ScreenVideo,
+    ScreenCar,
+    ScreenData
+  },
+  data() {
+    return {
+      isEnd: false,
+    }
   },
   methods: {
     returnPath() {
       this.$router.push('/index');
+    },
+    checkAnimationEnd(event) {
+      if (this.isEnd) return;
+      if (event.propertyName === 'transform') {
+        this.isEnd = true;
+      }
     }
+  },
+  mounted() {
+    const container = document.querySelector('.screen-wrapper');
+    container.addEventListener('transitionend', this.checkAnimationEnd);
+  },
+  beforDestroy() {
+    const container = document.querySelector('.screen-wrapper');
+    container.removeEventListener('transitionend', this.checkAnimationEnd);
   }
 }
 </script>
@@ -61,7 +80,13 @@
 .return-button {
   position: absolute;
   right: 20px;
-  top: 40px;
+  top: 10px;
+  border-radius: 4px;
+  border: 1px solid #4481DD;
+  background-color: rgba(67, 102, 155, 0.4);
+  color: #4481DD;
+  padding: 5px 20px;
+  cursor: pointer;
 }
 
 .wrapper-container {
@@ -74,8 +99,8 @@
 
   .wrapper-content {
     width: 100%;
-    height: calc(100% - 100px);
-    margin-top: 100px;
+    height: calc(100% - 60px);
+    margin-top: 60px;
     position: relative;
     box-sizing: border-box;
     padding: 20px;
@@ -86,7 +111,7 @@
 }
 
 .wrapper {
-  width: 20%;
+  width: 25%;
   height: 100%;
   box-sizing: border-box;
   padding: 0 10px;
@@ -104,7 +129,7 @@
 }
 
 .center-wrapper {
-  width: 60%;
+  width: 50%;
   height: 100%;
   box-sizing: border-box;
   padding: 0 10px;
@@ -149,14 +174,22 @@
 }
 
 @keyframes enter-x {
-  100% {
+  from {
+    opacity: 0;
+  }
+
+  to {
     opacity: 1;
     transform: translateX(0);
   }
 }
 
 @keyframes enter-y {
-  100% {
+  from {
+    opacity: 0;
+  }
+
+  to {
     opacity: 1;
     transform: translateY(0);
   }

--
Gitblit v1.8.0