| | |
| | | <template> |
| | | <div class="wrapper-container"> |
| | | <select-item></select-item> |
| | | <div class="return-button"> |
| | | <el-button type="primary">返回</el-button> |
| | | <!-- <select-item></select-item> |
| | | <div class="return-button" @click="returnPath"> |
| | | 返回 |
| | | </div> |
| | | <div class="wrapper-content"> |
| | | <div class="left-container wrapper"> |
| | | <screen-face></screen-face> |
| | | <screen-car></screen-car> |
| | | <screen-video></screen-video> |
| | | <div class="wrapper-content"> --> |
| | | <screen-map-three :loadEnd="isEnd"></screen-map-three> |
| | | <!-- <div class="left-container wrapper"> |
| | | <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-detection></screen-detection> |
| | | <screen-map-cover></screen-map-cover> |
| | | <screen-table class="enter-top" :class="{ 'animate-enter-y': isEnd }"></screen-table> --> |
| | | <!-- <screen-detection></screen-detection> --> |
| | | |
| | | </div> |
| | | <!-- </div> |
| | | <div class="right-container wrapper"> |
| | | <screen-examine></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> --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import SelectItem from '../select-item/index'; |
| | | import ScreenFace from '../screen-face/index'; |
| | | import ScreenDetection from '../screen-detection/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'; |
| | | import ScreenData from '../screen-data/index'; |
| | | |
| | | export default { |
| | | name: 'ScreenWrapper', |
| | | components: { |
| | | SelectItem, |
| | | ScreenFace, |
| | | ScreenDetection, |
| | | ScreenExamine, |
| | | ScreenTable, |
| | | ScreenMapCover, |
| | | ScreenMapThree, |
| | | ScreenFace, |
| | | ScreenVideo, |
| | | ScreenCar, |
| | | ScreenMap |
| | | 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> |
| | | |
| | |
| | | .return-button { |
| | | position: absolute; |
| | | right: 20px; |
| | | top: 30px; |
| | | 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 { |
| | | width: 100%; |
| | | height: 100%; |
| | | width: 46%; |
| | | height: 54%; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | top: 11%; |
| | | left: 27%; |
| | | z-index: 1; |
| | | |
| | | .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; |
| | |
| | | } |
| | | |
| | | .wrapper { |
| | | width: 27%; |
| | | width: 25%; |
| | | height: 100%; |
| | | box-sizing: border-box; |
| | | padding: 0 10px; |
| | |
| | | padding-right: 0; |
| | | } |
| | | } |
| | | |
| | | .center-wrapper { |
| | | width: 46%; |
| | | width: 50%; |
| | | height: 100%; |
| | | box-sizing: border-box; |
| | | padding: 0 10px; |
| | |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | } |
| | | </style> |
| | | |
| | | .animate-enter-x { |
| | | animation: enter-x 0.4s ease forwards; |
| | | } |
| | | |
| | | .animate-enter-y { |
| | | animation: enter-y 0.4s ease forwards; |
| | | } |
| | | |
| | | .enter-left { |
| | | transform: translateX(-100px); |
| | | opacity: 0; |
| | | } |
| | | |
| | | .enter-right { |
| | | transform: translateX(100px); |
| | | opacity: 0; |
| | | } |
| | | |
| | | .enter-top { |
| | | transform: translateY(100px); |
| | | opacity: 0; |
| | | } |
| | | |
| | | .animate-delay-1 { |
| | | animation-delay: 0.1s; |
| | | } |
| | | |
| | | .animate-delay-2 { |
| | | animation-delay: 0.3s; |
| | | } |
| | | |
| | | .animate-delay-3 { |
| | | animation-delay: 0.5s; |
| | | } |
| | | |
| | | @keyframes enter-x { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | |
| | | to { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes enter-y { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | |
| | | to { |
| | | opacity: 1; |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | </style> |