<template> <el-row style="margin-bottom: 30px"> <el-tabs v-model="activeName" type="card"> <!--地下一层--> <el-tab-pane label="地下一层" name="first" class="tab-pane"> <div :style="tab1Img" class="y_bj"> <div style="float:left;"> <div class="tip-div tip1-l-loc"> <el-row class="tip-text">当日通行人数:{{ tab1.left.count }}</el-row> <el-row class="tip-text tip-text-margin">体温正常人数:{{ tab1.left.normal }}</el-row> <el-row class="tip-text">体温异常人数:{{ tab1.left.abnormal }}</el-row> </div> <div class="point point-flicker point-tab1-l-loc"/> </div> <div style="float:left"> <div class="point point-flicker point-tab1-r-loc"/> <div class="tip-div tip1-r-loc"> <el-row class="tip-text">当日测温人数:{{ tab1.right.temp }}</el-row> <el-row class="tip-text tip-text-margin">体温正常人数:{{ tab1.right.normal }}</el-row> <el-row class="tip-text">体温异常人数:{{ tab1.right.abnormal }}</el-row> </div> </div> </div> </el-tab-pane> <!--一层--> <el-tab-pane label="一层" name="second" class="tab-pane"> <div :style="tab2Img" class="y_bj"> <div style="float:left;"> <div class="tip-div tip2-l-loc"> <el-row class="tip-text">当日测温人数:{{ tab2.left.temp }}</el-row> <el-row class="tip-text tip-text-margin">体温正常人数:{{ tab2.left.normal }}</el-row> <el-row class="tip-text">体温异常人数:{{ tab2.left.abnormal }}</el-row> </div> <div class="point point-flicker point-tab2-l-loc"/> </div> <!--<div style="float:left;">--> <!--<div class="point point-flicker point-tab2-r-loc"/>--> <!--<div class="tip-div tip2-r-loc">--> <!--<el-row class="tip-text">当日测温人数:{{ tab2.right.temp }}</el-row>--> <!--<el-row class="tip-text tip-text-margin">体温正常人数:{{ tab2.right.normal }}</el-row>--> <!--<el-row class="tip-text">体温异常人数:{{ tab2.right.abnormal }}</el-row>--> <!--</div>--> <!--</div>--> </div> </el-tab-pane> <!--四层--> <el-tab-pane label="四层" name="third" class="tab-pane"> <div :style="tab3Img" class="y_bj"> <div style="float:left;"> <div class="point point-flicker point-tab3-l-loc"/> <div class="tip-div tip3-l-loc"> <el-row class="tip-text">当日通行人数:{{ tab3.left.count }}</el-row> <el-row class="tip-text" style="margin-top: 3px">七日通行人数:{{ tab3.left.countSeven }}</el-row> </div> </div> <div style="float:left;"> <div class="point point-flicker point-tab3-r-loc"/> <div class="tip-div tip3-r-loc"> <el-row class="tip-text">当日通行人数:{{ tab3.right.count }}</el-row> <el-row class="tip-text tip-text-margin">七日通行人数:{{ tab3.right.countSeven }}</el-row> </div> </div> </div> </el-tab-pane> <!--八层--> <el-tab-pane label="八层" name="fourth" class="tab-pane"> <div :style="tab4Img" class="y_bj"> <div style="float:left;"> <div class="tip-div tip4-loc"> <el-row class="tip-text">当日打印人数:{{ tab4.print }}</el-row> <el-row class="tip-text tip-text-margin">七日打印人数:{{ tab4.printSeven }}</el-row> </div> <div class="point point-flicker point-tab4-loc"/> </div> </div> </el-tab-pane> </el-tabs> <!--</div>--> </el-row> </template> <script> import { countbyLocation } from '@/api/statistics' import { getDayTime } from '@/utils/dateutils' export default { name: 'MapPicture', data() { return { tab1Img: { backgroundImage: 'url(' + require('@/assets/eryuan/B1.png') + ')', backgroundColor: '#304156', backgroundRepeat: 'no-repeat', backgroundSize: '100%' // width: '70%' }, tab2Img: { backgroundImage: 'url(' + require('@/assets/eryuan/1.png') + ')', backgroundColor: '#304156', backgroundRepeat: 'no-repeat', backgroundSize: '100%' // width: '70%' }, tab3Img: { backgroundImage: 'url(' + require('@/assets/eryuan/4.png') + ')', backgroundColor: '#304156', backgroundRepeat: 'no-repeat', backgroundSize: '100%' // width: '70%' }, tab4Img: { backgroundImage: 'url(' + require('@/assets/eryuan/8.png') + ')', backgroundColor: '#304156', backgroundRepeat: 'no-repeat', backgroundSize: '100%' // width: '70%' }, activeName: 'second', tab1: { left: { count: '0', normal: '0', abnormal: '0' }, right: { temp: '0', normal: '0', abnormal: '0' } }, tab2: { left: { temp: '0', normal: '0', abnormal: '0' }, right: { temp: '0', normal: '0', abnormal: '0' } }, tab3: { left: { count: '0', countSeven: '0' }, right: { count: '0', countSeven: '0' } }, tab4: { print: '0', printSeven: '0' } } }, mounted() { this.fetchData() }, created() { this.fetchData() }, methods: { fetchData() { const startTime = getDayTime(new Date().getTime()).Format('yyyy-MM-dd') + ' 00:00:00' const endTime = getDayTime(new Date().getTime()).Format('yyyy-MM-dd') + ' 23:59:59' // const startTime = '2020-06-01 00:00:00' // const endTime = '2020-07-04 00:00:00' const listQuery = { startTime: startTime, endTime: endTime } // 获取当日数据 countbyLocation(listQuery).then(response => { var data = response.data // 负一层 this.tab1.right.temp = data[0].temp this.tab1.right.normal = data[0].normal this.tab1.right.abnormal = data[0].abnormal this.tab1.left.count = data[1].count this.tab1.left.normal = data[1].normal this.tab1.left.abnormal = data[1].abnormal // 一层 this.tab2.left.count = data[2].count this.tab2.left.normal = data[2].normal this.tab2.left.abnormal = data[2].abnormal this.tab2.right.temp = data[3].temp this.tab2.right.normal = data[3].normal this.tab2.right.abnormal = data[3].abnormal // 四层 this.tab3.left.count = data[4].count this.tab3.right.count = data[5].count // 八层 this.tab4.print = data[6].print }) // 获取七日数据 const startTime1 = getDayTime(new Date().getTime() - 24 * 6 * 60 * 60 * 1000).Format('yyyy-MM-dd') + ' 00:00:00' const endTime1 = getDayTime(new Date().getTime()).Format('yyyy-MM-dd') + ' 23:59:59' // const startTime1 = '2020-06-01 00:00:00' // const endTime1 = '2020-07-04 00:00:00' const listQuery1 = { startTime: startTime1, endTime: endTime1 } // 获取当日数据 countbyLocation(listQuery1).then(response => { var data = response.data // 四层 this.tab3.left.countSeven = data[4].count this.tab3.right.countSeven = data[5].count // 八层 this.tab4.printSeven = data[6].print }) } } } </script> <style lang="scss" scoped> .y_bj { width: 800px; height: 460px; margin-left: 15%; /*text-align: center;*/ overflow:hidden; } .tab-pane { text-align: center; background-color: #304156; } .tip-text { color: white; font-size: 8pt; } .tip-text-margin { margin: 3px; } .tip-div { border: 1pt solid lime; z-index: 9999; position: relative; background-color: #304156; padding: 10px; /*float:left;*/ /*clear:both;*/ display: inline-block; width: 135px; } .tip1-l-loc { margin-top: 155%; margin-left: 60%; } .tip1-r-loc { margin-top: -5%; margin-left: 185%; } .tip2-l-loc { margin-top: 155%; margin-left: 255%; } .tip2-r-loc { margin-top: -3%; margin-left: 315%; } .tip3-l-loc { margin-top: -3%; margin-left: 67%; } .tip3-r-loc { margin-top: -3%; margin-left: 310%; } .tip4-loc { margin-top: 150%; margin-left: 402%; } .point { width: 12px; height: 12px; background-color: lime; border-radius: 50%; z-index:9999; position: relative; display: inline-block; /*float:left;*/ /*clear:both;*/ } .point-tab1-l-loc { margin-left: 16%;} .point-tab1-r-loc { margin-top: 120%; margin-left: 176%; } .point-tab2-l-loc { margin-left: 340%; } .point-tab2-r-loc { margin-top: 70%; margin-left: 309%; } .point-tab3-l-loc { margin-top: 182%; margin-left: 33%; } .point-tab3-r-loc { margin-top: 180%; margin-left: 303%; } .point-tab4-loc { margin-left: 488%; } /* 设置动画前颜色 */ .point-flicker:after { background-color: chartreuse; } /* 设置动画后颜色 */ .point-flicker:before { background-color: rgba(0, 168, 253, 0.2); } /* 设置动画 */ .point-flicker:before, .point-flicker:after { content: ''; width: 20px; height: 20px; position: absolute; left: 50%; top: 50%; margin-left: -10px; margin-top: -10px; border-radius: 50%; /* CSS3 animation 属性 网址 */ /* https://www.w3school.com.cn/cssref/pr_animation.asp */ animation: warn 1.5s ease-out 0s infinite; } /* @keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。 */ @keyframes warn { 0% { transform: scale(0.5); opacity: 1; } 30% { opacity: 1; } 100% { transform: scale(1.4); opacity: 0; } } </style>