You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

510 lines
13 KiB

4 years ago
<template>
3 years ago
<div>
<div class="boxlist">
<div class="box box1">
<div class="boxtitle">
3 years ago
<span>普通访客</span>
3 years ago
<i class="el-icon-user statIcon"></i>
4 years ago
</div>
3 years ago
<div class="bline"></div>
2 weeks ago
<div class="boxcontentsubtitle">总人数/总入厂人数/总离厂人数</div>
3 years ago
<div class="boxcontent">
<div class="boxcontentitem">
3 years ago
<div class="boxcontentitem-big">
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.common_visit.total"
:duration="3600" />
</span>
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.common_visit.enter_visit"
:duration="3600" />
</span>
2 weeks ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.common_visit.leave_total"
:duration="3600" />
</span>
3 years ago
3 years ago
</div>
3 years ago
<div class="per">核销比{{toCaculateper(totaldata.common_visit.enter_visit,totaldata.common_visit.total)}}</div>
3 years ago
</div>
</div>
<div class="blinefull"></div>
2 weeks ago
<div class="boxcontentsubtitle">今日人数/今日入厂人数/今日离厂人数</div>
3 years ago
<div class="boxcontent">
<div class="boxcontentitem">
<div class="boxcontentitem-big">
3 years ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.common_visit.today_total"
:duration="3600" />
</span>
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.common_visit.today_enter_visit"
:duration="3600" />
2 weeks ago
</span>
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.common_visit.today_leave_total"
:duration="3600" />
3 years ago
</span>
3 years ago
</div>
3 years ago
<div class="per">核销比{{toCaculateper(totaldata.common_visit.today_enter_visit,totaldata.common_visit.today_total)}}</div>
4 years ago
</div>
</div>
</div>
3 years ago
<div class="box box2">
<div class="boxtitle">
1 month ago
<span>施工人员</span>
3 years ago
<i class="iconfont icon-banqianguanli statIcon"></i>
4 years ago
</div>
3 years ago
<div class="bline"></div>
2 weeks ago
<div class="boxcontentsubtitle">总人数/总入厂人数/总离厂人数</div>
3 years ago
<div class="boxcontent">
<div class="boxcontentitem">
<div class="boxcontentitem-big">
3 years ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.work_visit.total"
:duration="3600" />
</span>
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.work_visit.enter_visit"
:duration="3600" />
</span>
2 weeks ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.work_visit.leave_total"
:duration="3600" />
</span>
3 years ago
</div>
3 years ago
<div class="per">核销比{{toCaculateper(totaldata.work_visit.enter_visit,totaldata.work_visit.total)}}</div>
3 years ago
</div>
</div>
<div class="blinefull"></div>
2 weeks ago
<div class="boxcontentsubtitle">今日人数/今日入厂人数/今日离厂人数</div>
3 years ago
<div class="boxcontent">
<div class="boxcontentitem">
<div class="boxcontentitem-big">
3 years ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.work_visit.today_total"
:duration="3600" />
</span>
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.work_visit.today_enter_visit"
:duration="3600" />
</span>
2 weeks ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.work_visit.today_leave_total"
:duration="3600" />
</span>
3 years ago
</div>
3 years ago
<div class="per">核销比{{toCaculateper(totaldata.work_visit.today_enter_visit,totaldata.work_visit.today_total)}}</div>
3 years ago
</div>
4 years ago
</div>
</div>
3 years ago
<div class="box box4">
<div class="boxtitle">
1 month ago
<span>物流司机</span>
3 years ago
<i class="iconfont icon-cheliangdangan statIcon"></i>
4 years ago
</div>
3 years ago
<div class="bline"></div>
2 weeks ago
<div class="boxcontentsubtitle">总预约数/总入厂人数/总离厂人数</div>
3 years ago
<div class="boxcontent">
<div class="boxcontentitem">
<div class="boxcontentitem-big">
3 years ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.car_visit.total"
:duration="3600" />
</span>
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.car_visit.enter_visit"
:duration="3600" />
</span>
2 weeks ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.car_visit.leave_total"
:duration="3600" />
</span>
3 years ago
</div>
3 years ago
<div class="per">核销比{{toCaculateper(totaldata.car_visit.enter_visit,totaldata.car_visit.total)}}</div>
3 years ago
</div>
</div>
<div class="blinefull"></div>
2 weeks ago
<div class="boxcontentsubtitle">今日预约数/今日入厂数/今日离厂人数</div>
3 years ago
<div class="boxcontent">
<div class="boxcontentitem">
<div class="boxcontentitem-big">
3 years ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.car_visit.today_total"
:duration="3600" />
</span>
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.car_visit.today_enter_visit"
:duration="3600" />
</span>
2 weeks ago
<span>
<count-to separator="" :start-val="0" :end-val="totaldata.car_visit.today_leave_total"
:duration="3600" />
</span>
3 years ago
</div>
3 years ago
<div class="per">核销比{{toCaculateper(totaldata.work_visit.today_enter_visit,totaldata.car_visit.today_total)}}</div>
3 years ago
</div>
4 years ago
</div>
</div>
3 years ago
3 years ago
</div>
</div>
4 years ago
</template>
<script>
import CountTo from 'vue-count-to'
export default {
props: {
countsData: {
type: Object
3 years ago
},
totaldata: {
type: Object,
default: {
3 years ago
"common_visit": {
"enter_visit": 0,
"today_enter_visit": 0,
"today_total": 0,
2 weeks ago
"total":0,
"leave_total":0,
"today_leave_total":0
3 years ago
},
3 years ago
"work_visit": {
"enter_visit": 0,
"today_enter_visit": 0,
"today_total": 0,
2 weeks ago
"total":0,
"leave_total":0,
"today_leave_total":0
3 years ago
},
3 years ago
"car_visit": {
"enter_visit": 0,
"today_enter_visit": 0,
"today_total": 0,
2 weeks ago
"total":0,
"leave_total":0,
"today_leave_total":0
3 years ago
}
3 years ago
}
4 years ago
}
},
components: {
CountTo
},
methods: {
handleRoute(type) {
this.$emit('handleRoute', type)
3 years ago
},
toCaculateper(f1, f2) {
return ((f1 / (f2 == 0 ? 1 : f2)) * 100).toFixed(2) + "%"
4 years ago
}
}
}
</script>
<style lang="scss" scoped>
3 years ago
.boxlist {
display: flex;
}
.statIcon {
font-size: 24px;
}
.index_icon {
position: absolute;
top: 1.25rem;
right: 1.25rem;
width: 3.5625rem;
}
.index_bg {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
.boxcontentitem-small {
font-size: 16px;
display: flex;
flex-direction: column;
}
.box {
position: relative;
width: 33%;
margin-left: 0.5%;
margin-right: 0.5%;
3 years ago
// margin-bottom: 2.375rem;
3 years ago
box-shadow: 0px 8px 15px 0px rgba(212, 84, 32, 0.3100);
border-radius: 8px;
box-sizing: border-box;
opacity: 0.8;
padding: 1.25rem 0;
.boxcontentsubtitle {
color: #FFFFFF;
text-align: center;
display: flex;
justify-content: center;
font-size: 1.0625rem;
margin-top: 1.25rem;
}
.boxfooter {
font-size: 1.0625rem;
font-family: Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
display: flex;
justify-content: center;
}
.boxtitle {
font-size: 20px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
padding: 0 1.25rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.boxcontent {
display: flex;
//justify-content: space-around;
align-items: center;
.boxline {
width: 1px;
height: 4.0625rem;
background: #FFFFFF00;
opacity: 0.3;
margin-left: 2.0625rem;
margin-right: 2.0625rem;
}
.boxcontentitem {
display: flex;
flex-direction: column;
font-size: 19px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
text-align: center;
min-width: 100%;
.boxcontentitem-big {
font-size: 2.625rem;
font-family: Arial;
font-weight: 400;
color: #FFFFFF;
3 years ago
display: flex;
justify-content: space-around;
}
.per {
// padding:
3 years ago
}
}
}
}
.box1 {
background: linear-gradient(134deg, #D1AC7B, #DFC69C);
.boxcline {
width: 100%;
background: #DFC69C;
height: 0.125rem;
margin-top: 1.25rem;
margin-bottom: 1.25rem;
}
}
.bline {
background: linear-gradient(to right, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 60%);
height: 0.25rem;
width: 100%;
3 years ago
margin-top: 1.25rem;
}
.blinefull {
height: 0.2rem;
background: rgba(255, 255, 255, .3);
width: 100%;
3 years ago
margin-top: 1.25rem;
}
.box2 {
background: linear-gradient(134deg, #9193BC, #B7B9D4);
.boxcline {
width: 100%;
background: #B7B9D4;
height: 0.125rem;
margin-top: 1.25rem;
margin-bottom: 1.25rem;
}
}
.box3 {
background: linear-gradient(-55deg, #F6A868, #F4C59E);
.boxcline {
width: 100%;
background: #F4C59E;
height: 0.125rem;
margin-top: 1.25rem;
margin-bottom: 1.25rem;
}
}
.box4 {
background: linear-gradient(-55deg, #64A48E, #9ECABB);
.boxcline {
width: 100%;
background: #9ECABB;
height: 0.125rem;
margin-top: 1.25rem;
margin-bottom: 1.25rem;
}
}
4 years ago
.panel-group {
3 years ago
// margin-top: 18px;
margin-left: -2% !important;
margin-right: -3% !important;
4 years ago
.card-panel-col {
3 years ago
margin: 0 2%;
4 years ago
margin-bottom: 32px;
}
.card-panel {
3 years ago
height: 130px;
4 years ago
cursor: pointer;
font-size: 12px;
position: relative;
overflow: hidden;
color: #666;
3 years ago
text-align: center;
// background: #fff;
// box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
// border-color: rgba(0, 0, 0, .05);
4 years ago
&:hover {
.card-panel-icon-wrapper {
color: #fff;
}
3 years ago
// .icon-people {
// background: #40c9c6;
// }
4 years ago
3 years ago
// .icon-message {
// background: #36a3f7;
// }
4 years ago
3 years ago
// .icon-money {
// background: #f4516c;
// }
4 years ago
3 years ago
// .icon-shopping {
// background: #34bfa3
// }
4 years ago
}
.icon-people {
3 years ago
color: #fff;
4 years ago
}
.icon-message {
3 years ago
color: #fff;
4 years ago
}
.icon-money {
3 years ago
color: #fff;
4 years ago
}
.icon-shopping {
3 years ago
color: #fff
4 years ago
}
.card-panel-icon-wrapper {
3 years ago
float: right;
margin: 22px 0 0 14px;
4 years ago
padding: 16px;
transition: all 0.38s ease-out;
border-radius: 6px;
}
.card-panel-icon {
float: left;
3 years ago
font-size: 42px;
4 years ago
}
.card-panel-description {
3 years ago
// float: right;
4 years ago
font-weight: bold;
3 years ago
margin: 16px 12px;
4 years ago
.card-panel-text {
3 years ago
line-height: 25px;
color: rgb(255, 255, 255);
font-size: 26px;
margin-bottom: 20px;
width: 70%;
text-align: left;
}
p {
text-align: left;
font-size: 19px;
4 years ago
}
.card-panel-num {
font-size: 20px;
}
}
}
}
@media (max-width:550px) {
.card-panel-description {
display: none;
}
.card-panel-icon-wrapper {
float: none !important;
width: 100%;
height: 100%;
margin: 0 !important;
.svg-icon {
display: block;
margin: 14px auto !important;
float: none !important;
}
}
}
</style>