118 lines
2.6 KiB
Vue
118 lines
2.6 KiB
Vue
<template>
|
||
<div class="wrap">
|
||
<div class="title">{{ title }}</div>
|
||
<div class="charts">
|
||
<div class="chart">
|
||
<JRingChart :title="{ text: 45, subTitle: '检查总数' }" :color="['#3CABFD']" />
|
||
</div>
|
||
<div class="chart">
|
||
<JRingChart :title="{ text: 45, subTitle: '隐患总数' }" :color="['#6EE4F0']" />
|
||
</div>
|
||
<div class="chart">
|
||
<JRingChart :title="{ text: 45, subTitle: '重大隐患' }" :color="['#557DEE']" />
|
||
</div>
|
||
<div class="chart">
|
||
<JRingChart
|
||
:title="{ text: '45', subTitle: '超期未消隐患' }"
|
||
:color="['#557DEE', '#FF6C7F']"
|
||
:data="[
|
||
{ value: 2314, name: '' },
|
||
{ value: 987, name: '' }
|
||
]"
|
||
/>
|
||
</div>
|
||
<div class="count">
|
||
<div class="count-item">
|
||
<div class="num">一般隐患 <span>2314</span></div>
|
||
<div class="rate">占比:66%</div>
|
||
</div>
|
||
<div class="count-item">
|
||
<div class="num">重大隐患 <span>987</span></div>
|
||
<div class="rate">占比:34%</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import JRingChart from '../jChart/pie/JRingChart.vue'
|
||
export default {
|
||
components: { JRingChart },
|
||
props: {
|
||
title: {
|
||
type: String,
|
||
default: 'default title'
|
||
}
|
||
},
|
||
data() {
|
||
return {}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="less" scoped>
|
||
.wrap {
|
||
width: 100%;
|
||
height: 100%;
|
||
border: 1px solid #0081c3;
|
||
|
||
.title {
|
||
padding-left: 6px;
|
||
height: 30px;
|
||
line-height: 30px;
|
||
font-size: 18px;
|
||
color: #6ee4f0;
|
||
}
|
||
.charts {
|
||
padding: 10px 30px 0;
|
||
display: flex;
|
||
justify-content: space-around;
|
||
.chart {
|
||
width: 200px;
|
||
height: 200px;
|
||
}
|
||
.count {
|
||
width: 14%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
align-items: center;
|
||
.count-item {
|
||
position: relative;
|
||
&::before {
|
||
position: absolute;
|
||
left: -16px;
|
||
top: 10px;
|
||
content: '';
|
||
width: 6px;
|
||
height: 6px;
|
||
border-radius: 50%;
|
||
}
|
||
&:first-child {
|
||
margin-bottom: 20px;
|
||
}
|
||
&:first-child::before {
|
||
background-color: #557dee;
|
||
}
|
||
&:last-child::before {
|
||
background-color: #ff6c7f;
|
||
}
|
||
.num {
|
||
margin-bottom: 8px;
|
||
font-size: 14px;
|
||
color: rgba(255, 255, 255, 0.7);
|
||
span {
|
||
font-size: 18px;
|
||
color: #fff;
|
||
}
|
||
}
|
||
.rate {
|
||
font-size: 14px;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|