|
@@ -33,29 +33,14 @@
|
|
|
<el-radio-button label="4">全部</el-radio-button>
|
|
<el-radio-button label="4">全部</el-radio-button>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="dottTitle">事件总数</div>
|
|
|
|
|
- <div class="data-info">
|
|
|
|
|
- <div class="left">
|
|
|
|
|
- <div class="val">{{ eventInfo?.total }}</div>
|
|
|
|
|
- <img src="@/assets/image/comprehensive/midBg2.png" />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="right">
|
|
|
|
|
- <div class="em" v-for="(item, index) in eventInfo?.list" :key="index">
|
|
|
|
|
- <div :class="`color${index + 1}`">{{ item.name }}</div>
|
|
|
|
|
- <div>{{ item.num }}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="em">
|
|
|
|
|
- <div class="color2">乱采</div>
|
|
|
|
|
- <div>0</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="em">
|
|
|
|
|
- <div class="color3">乱堆</div>
|
|
|
|
|
- <div>0</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="em">
|
|
|
|
|
- <div class="color4">乱占</div>
|
|
|
|
|
- <div>0</div>
|
|
|
|
|
|
|
+ <div class="card-item">
|
|
|
|
|
+ <div class="warning-content">
|
|
|
|
|
+ <div class="warning-title">
|
|
|
|
|
+ <div class="title">事件总数</div>
|
|
|
|
|
+ <div class="num">{{ eventInfo?.total }}</div>
|
|
|
|
|
+ <div class="unit">条</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <PieChart style="height: 1.45rem" :option="eventOption" v-if="showEvent"/>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -65,12 +50,12 @@
|
|
|
<template v-slot:mainArea>
|
|
<template v-slot:mainArea>
|
|
|
<div class="card-item">
|
|
<div class="card-item">
|
|
|
<div class="warning-content">
|
|
<div class="warning-content">
|
|
|
- <div class="warning-title">
|
|
|
|
|
|
|
+ <div class="warning-title mb16">
|
|
|
<div class="title">预警总数</div>
|
|
<div class="title">预警总数</div>
|
|
|
<div class="num">30</div>
|
|
<div class="num">30</div>
|
|
|
<div class="unit">条</div>
|
|
<div class="unit">条</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <PieChart style="height: 1.45rem" />
|
|
|
|
|
|
|
+ <PieChart style="height: 1.45rem" :option="csOption" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -93,10 +78,72 @@ export default {
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
dateVal: 1,
|
|
dateVal: 1,
|
|
|
|
|
+ showEvent:false,
|
|
|
eventInfo: {
|
|
eventInfo: {
|
|
|
total: 0,
|
|
total: 0,
|
|
|
list: []
|
|
list: []
|
|
|
- }
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ seriesData: [
|
|
|
|
|
+ { value: 10, name: '非采区采砂' },
|
|
|
|
|
+ { value: 10, name: '非采期采砂' },
|
|
|
|
|
+ { value: 10, name: '采砂超量' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ csOption: {
|
|
|
|
|
+ backgroundColor: 'transparent',
|
|
|
|
|
+ color: ['#91ffab', '#90caff', '#f9dd71'],
|
|
|
|
|
+ graphic: {
|
|
|
|
|
+ elements: [
|
|
|
|
|
+ {
|
|
|
|
|
+ type: 'text',
|
|
|
|
|
+ left: '18%',
|
|
|
|
|
+ top: '38%',
|
|
|
|
|
+ style: {
|
|
|
|
|
+ text: `{a|3}{b|类}\n{c|预警类型}`,
|
|
|
|
|
+ fill: '#fff',
|
|
|
|
|
+ textAlign: 'center',
|
|
|
|
|
+ textVerticalAlign: 'middle',
|
|
|
|
|
+ rich: { a: { fontSize: this.pxToRem(28) }, b: { fontSize: this.pxToRem(12) }, c: { fontSize: this.pxToRem(14) } }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ legend: {
|
|
|
|
|
+ orient: 'vertical',
|
|
|
|
|
+ right: 10,
|
|
|
|
|
+ top: 35,
|
|
|
|
|
+ bottom: 20,
|
|
|
|
|
+ itemWidth: 12,
|
|
|
|
|
+ itemHeight: 6,
|
|
|
|
|
+ textStyle: { color: '#F5F5F5', fontSize: this.pxToRem(14) },
|
|
|
|
|
+ formatter: (name) => {
|
|
|
|
|
+ const item = this.seriesData.find((d) => d.name === name)
|
|
|
|
|
+ return item ? `${name} ${item.value}` : name
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ series: [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: '预警总数',
|
|
|
|
|
+ type: 'pie',
|
|
|
|
|
+ radius: ['70%', '95%'],
|
|
|
|
|
+ center: ['25%', '50%'],
|
|
|
|
|
+ avoidLabelOverlap: false,
|
|
|
|
|
+ label: { show: false },
|
|
|
|
|
+ labelLine: { show: true },
|
|
|
|
|
+ data: [
|
|
|
|
|
+ { value: 10, name: '非采区采砂' },
|
|
|
|
|
+ { value: 10, name: '非采期采砂' },
|
|
|
|
|
+ { value: 10, name: '采砂超量' }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ eventData: [
|
|
|
|
|
+ { value: 0, name: '乱建' },
|
|
|
|
|
+ { value: 0, name: '乱采' },
|
|
|
|
|
+ { value: 0, name: '乱堆' },
|
|
|
|
|
+ { value: 0, name: '乱占' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ eventOption: {}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
@@ -104,6 +151,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
getData() {
|
|
getData() {
|
|
|
|
|
+ this.showEvent = false
|
|
|
window
|
|
window
|
|
|
.requestSDK(
|
|
.requestSDK(
|
|
|
'/sddnWeiHe/event/getEventStatistics',
|
|
'/sddnWeiHe/event/getEventStatistics',
|
|
@@ -114,9 +162,59 @@ export default {
|
|
|
'get'
|
|
'get'
|
|
|
)
|
|
)
|
|
|
.then(async (res) => {
|
|
.then(async (res) => {
|
|
|
- console.info(res)
|
|
|
|
|
|
|
+ this.showEvent = true
|
|
|
this.eventInfo = res.data
|
|
this.eventInfo = res.data
|
|
|
- console.info(this.eventInfo)
|
|
|
|
|
|
|
+ this.eventData[0].value = res.data.list.length > 0 ? res.data.list[0].num : 0
|
|
|
|
|
+ this.eventOption = {
|
|
|
|
|
+ backgroundColor: 'transparent',
|
|
|
|
|
+ color: ['#6BFE91', '#EFD800','#F17A23', '#4487D8'],
|
|
|
|
|
+ graphic: {
|
|
|
|
|
+ elements: [
|
|
|
|
|
+ {
|
|
|
|
|
+ type: 'text',
|
|
|
|
|
+ left: '18%',
|
|
|
|
|
+ top: '38%',
|
|
|
|
|
+ style: {
|
|
|
|
|
+ text: `{a|4}{b|类}\n{c|四乱监测}`,
|
|
|
|
|
+ fill: '#fff',
|
|
|
|
|
+ textAlign: 'center',
|
|
|
|
|
+ textVerticalAlign: 'middle',
|
|
|
|
|
+ rich: { a: { fontSize: this.pxToRem(28) }, b: { fontSize: this.pxToRem(12) }, c: { fontSize: this.pxToRem(14) } }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ legend: {
|
|
|
|
|
+ orient: 'vertical',
|
|
|
|
|
+ left:160,
|
|
|
|
|
+ top: 20,
|
|
|
|
|
+ bottom: 10,
|
|
|
|
|
+ itemWidth: 12,
|
|
|
|
|
+ itemHeight: 6,
|
|
|
|
|
+ textStyle: { color: '#F5F5F5', fontSize: this.pxToRem(14) },
|
|
|
|
|
+ formatter: (name) => {
|
|
|
|
|
+ const item = this.eventData.find((d) => d.name === name)
|
|
|
|
|
+ return item ? `${name} ${item.value}` : name
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ series: [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: '四乱预警',
|
|
|
|
|
+ type: 'pie',
|
|
|
|
|
+ radius: ['70%', '95%'],
|
|
|
|
|
+ center: ['25%', '50%'],
|
|
|
|
|
+ avoidLabelOverlap: false,
|
|
|
|
|
+ label: { show: false },
|
|
|
|
|
+ labelLine: { show: true },
|
|
|
|
|
+ data: [
|
|
|
|
|
+ { value: res.data.list.length > 0 ? res.data.list[0].num : 0, name: '乱建' },
|
|
|
|
|
+ { value: 0, name: '乱采' },
|
|
|
|
|
+ { value: 0, name: '乱堆' },
|
|
|
|
|
+ { value: 0, name: '乱占' }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -203,7 +301,6 @@ export default {
|
|
|
padding: px-to-rem(16) px-to-rem(15) px-to-rem(55) px-to-rem(11);
|
|
padding: px-to-rem(16) px-to-rem(15) px-to-rem(55) px-to-rem(11);
|
|
|
height: px-to-rem(253);
|
|
height: px-to-rem(253);
|
|
|
.slRadio {
|
|
.slRadio {
|
|
|
- margin-bottom: px-to-rem(24);
|
|
|
|
|
:deep(.el-radio-button__inner) {
|
|
:deep(.el-radio-button__inner) {
|
|
|
background: rgba(79, 159, 255, 0.12);
|
|
background: rgba(79, 159, 255, 0.12);
|
|
|
color: #4f9fff;
|
|
color: #4f9fff;
|
|
@@ -319,7 +416,7 @@ export default {
|
|
|
.card-item {
|
|
.card-item {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
width: 3.68rem;
|
|
width: 3.68rem;
|
|
|
- padding: px-to-rem(22) px-to-rem(16) px-to-rem(27) px-to-rem(26);
|
|
|
|
|
|
|
+ padding: px-to-rem(15) px-to-rem(16) px-to-rem(20) px-to-rem(26);
|
|
|
.icon-content {
|
|
.icon-content {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
@@ -449,5 +546,8 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ .mb16{
|
|
|
|
|
+ margin-bottom: px-to-rem(20);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|