|
|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
<template> |
|
|
|
|
<el-scrollbar height="100vh"> |
|
|
|
|
<div class="wrapper"> |
|
|
|
|
<datav-header /> |
|
|
|
|
<datav-header/> |
|
|
|
|
<main> |
|
|
|
|
<el-row :gutter="16"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
@ -10,7 +10,7 @@
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<div class="descriptions_cell text-center"> |
|
|
|
|
<div class="descriptions_content"> |
|
|
|
|
6259 |
|
|
|
|
{{ overview.firstMail }} |
|
|
|
|
</div> |
|
|
|
|
<div class="descriptions_label"> |
|
|
|
|
初信初访 |
|
|
|
|
@ -20,7 +20,7 @@
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<div class="descriptions_cell text-center"> |
|
|
|
|
<div class="descriptions_content"> |
|
|
|
|
988 |
|
|
|
|
{{ overview.secondMail }} |
|
|
|
|
</div> |
|
|
|
|
<div class="descriptions_label"> |
|
|
|
|
重复信访 |
|
|
|
|
@ -30,7 +30,7 @@
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<div class="descriptions_cell text-center"> |
|
|
|
|
<div class="descriptions_content"> |
|
|
|
|
2120 |
|
|
|
|
{{ overview.leaderReceiveMail }} |
|
|
|
|
</div> |
|
|
|
|
<div class="descriptions_label"> |
|
|
|
|
领导接访 |
|
|
|
|
@ -38,18 +38,72 @@
|
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
<datav-card > |
|
|
|
|
<datav-tabs v-model="activeTab"> |
|
|
|
|
<datav-tab-item label="分县市局" name="1"> |
|
|
|
|
<datav-tabs |
|
|
|
|
v-model="activeMailTab" |
|
|
|
|
type="bottom-button" |
|
|
|
|
> |
|
|
|
|
<datav-tab-item label="初信初访" name="1"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
sub-title="办结率" |
|
|
|
|
:data="data1" |
|
|
|
|
:data="fxsjFirstMailList" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
<div class="flex tab-title flex center mt-20" style="margin-bottom: 20px"> |
|
|
|
|
<div class="tab-title-item active"> |
|
|
|
|
初信初访 |
|
|
|
|
</div> |
|
|
|
|
<div class="tab-title-item">重复信访</div> |
|
|
|
|
<div class="tab-title-item">领导接访</div> |
|
|
|
|
</div> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="重复信访" name="2"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="fxsjRepeatMailList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="领导接访" name="3"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="fxsjLeaderViewMailList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
|
|
|
|
|
</datav-tabs> |
|
|
|
|
|
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="部委支队" name="2"> |
|
|
|
|
<datav-tabs |
|
|
|
|
v-model="activeTab" |
|
|
|
|
type="bottom-button" |
|
|
|
|
> |
|
|
|
|
<datav-tab-item label="初信初访" name="1"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="bwzdFirstMailList" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="重复信访" name="2"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="bwzdRepeatMailList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="领导接访" name="3"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="bwzdLeaderViewMailList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
|
|
|
|
|
</datav-tabs> |
|
|
|
|
|
|
|
|
|
</datav-tab-item> |
|
|
|
|
</datav-tabs> |
|
|
|
|
</datav-card> |
|
|
|
|
|
|
|
|
|
</datav-card> |
|
|
|
|
|
|
|
|
|
<datav-card title="信访问题类型"> |
|
|
|
|
<v-charts |
|
|
|
|
style="height: 300px" |
|
|
|
|
@ -65,27 +119,27 @@
|
|
|
|
|
</div> |
|
|
|
|
<div class="flex gap-42"> |
|
|
|
|
<datav-statistic |
|
|
|
|
:value="7247" |
|
|
|
|
:value="overview.total" |
|
|
|
|
title="信访总件数" |
|
|
|
|
style="width: 20%" |
|
|
|
|
/> |
|
|
|
|
<datav-statistic |
|
|
|
|
:value="562" |
|
|
|
|
:value="overview.countryMail" |
|
|
|
|
title="国家信访" |
|
|
|
|
style="width: 20%" |
|
|
|
|
/> |
|
|
|
|
<datav-statistic |
|
|
|
|
:value="1463" |
|
|
|
|
:value="overview.policeMail" |
|
|
|
|
title="公安部信访" |
|
|
|
|
style="width: 20%" |
|
|
|
|
/> |
|
|
|
|
<datav-statistic |
|
|
|
|
:value="5153" |
|
|
|
|
:value="overview.commissionerMail" |
|
|
|
|
title="局长信箱" |
|
|
|
|
style="width: 20%" |
|
|
|
|
/> |
|
|
|
|
<datav-statistic |
|
|
|
|
:value="39" |
|
|
|
|
:value="overview.numMail" |
|
|
|
|
title="12337信访" |
|
|
|
|
style="width: 20%" |
|
|
|
|
/> |
|
|
|
|
@ -109,7 +163,7 @@
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<div class="descriptions_cell text-center"> |
|
|
|
|
<div class="descriptions_content"> |
|
|
|
|
25 |
|
|
|
|
{{ overview.leaderViewMail }} |
|
|
|
|
</div> |
|
|
|
|
<div class="descriptions_label"> |
|
|
|
|
领导督办 |
|
|
|
|
@ -119,7 +173,7 @@
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<div class="descriptions_cell text-center"> |
|
|
|
|
<div class="descriptions_content"> |
|
|
|
|
21 |
|
|
|
|
{{ overview.tangleMail }} |
|
|
|
|
</div> |
|
|
|
|
<div class="descriptions_label"> |
|
|
|
|
缠访闹访 |
|
|
|
|
@ -129,7 +183,7 @@
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<div class="descriptions_cell text-center"> |
|
|
|
|
<div class="descriptions_content"> |
|
|
|
|
126 |
|
|
|
|
{{ overview.massMail }} |
|
|
|
|
</div> |
|
|
|
|
<div class="descriptions_label"> |
|
|
|
|
群体集访 |
|
|
|
|
@ -137,18 +191,74 @@
|
|
|
|
|
</div> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<!-- <datav-chart-bar--> |
|
|
|
|
<!-- sub-title="数量"--> |
|
|
|
|
<!-- :data="data3"--> |
|
|
|
|
<!-- :max="7"--> |
|
|
|
|
<!-- />--> |
|
|
|
|
|
|
|
|
|
<datav-card > |
|
|
|
|
<datav-tabs v-model="activeTabRight"> |
|
|
|
|
<datav-tab-item label="分县市局" name="1"> |
|
|
|
|
<datav-tabs |
|
|
|
|
v-model="activeMailTabRight" |
|
|
|
|
type="bottom-button" |
|
|
|
|
> |
|
|
|
|
<datav-tab-item label="领导督办" name="1"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
sub-title="数量" |
|
|
|
|
:data="data3" |
|
|
|
|
:max="7" |
|
|
|
|
:data="fxsjFirstMailList" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
<div class="flex tab-title flex center mt-20" style="margin-bottom: 20px"> |
|
|
|
|
<div class="tab-title-item active"> |
|
|
|
|
领导督办 |
|
|
|
|
</div> |
|
|
|
|
<div class="tab-title-item">缠访闹访</div> |
|
|
|
|
<div class="tab-title-item">群体集访</div> |
|
|
|
|
</div> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="缠访闹访" name="2"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="fxsjRepeatMailList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="群体集访" name="3"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="jsdwBarList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
|
|
|
|
|
</datav-tabs> |
|
|
|
|
|
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="部委支队" name="2"> |
|
|
|
|
<datav-tabs |
|
|
|
|
v-model="activeMailTabRight" |
|
|
|
|
type="bottom-button" |
|
|
|
|
> |
|
|
|
|
<datav-tab-item label="领导督办" name="1"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="fxsjFirstMailList" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="缠访闹访" name="2"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="fxsjRepeatMailList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="群体集访" name="3"> |
|
|
|
|
<datav-chart-bar |
|
|
|
|
:data="jsdwBarList" |
|
|
|
|
:max="11" |
|
|
|
|
size="large" |
|
|
|
|
/> |
|
|
|
|
</datav-tab-item> |
|
|
|
|
|
|
|
|
|
</datav-tabs> |
|
|
|
|
|
|
|
|
|
</datav-tab-item> |
|
|
|
|
</datav-tabs> |
|
|
|
|
</datav-card> |
|
|
|
|
</datav-card> |
|
|
|
|
<datav-card title="追责问责情况"> |
|
|
|
|
<v-charts |
|
|
|
|
@ -163,10 +273,14 @@
|
|
|
|
|
</div> |
|
|
|
|
</el-scrollbar> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script setup> |
|
|
|
|
import vCharts from "vue-echarts"; |
|
|
|
|
import changshaMap from "@/assets/data/changsha.json"; |
|
|
|
|
import * as echarts from "echarts/core"; |
|
|
|
|
import {getMailVisitsData} from "@/api/datav"; |
|
|
|
|
import moment from "moment/moment.js"; |
|
|
|
|
|
|
|
|
|
echarts.registerMap("changsha", changshaMap); |
|
|
|
|
const option = { |
|
|
|
|
@ -179,9 +293,9 @@ const option = {
|
|
|
|
|
type: "piecewise", |
|
|
|
|
bottom: 10, |
|
|
|
|
pieces: [ |
|
|
|
|
{ gte: 85, lte: 100, label: "信访总件数>300" }, |
|
|
|
|
{ gte: 65, lte: 85, label: "信访总件数>200" }, |
|
|
|
|
{ gte: 0, lte: 65, label: "信访总件数0-200" }, |
|
|
|
|
{gte: 85, lte: 100, label: "信访总件数>300"}, |
|
|
|
|
{gte: 65, lte: 85, label: "信访总件数>200"}, |
|
|
|
|
{gte: 0, lte: 65, label: "信访总件数0-200"}, |
|
|
|
|
], |
|
|
|
|
right: 10, // 右边距 |
|
|
|
|
realtime: false, |
|
|
|
|
@ -311,8 +425,6 @@ const data1 = [
|
|
|
|
|
numerator: 641, |
|
|
|
|
denominator: 720, |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
name: "望城分局", |
|
|
|
|
value: 85, |
|
|
|
|
@ -413,12 +525,12 @@ const option2 = {
|
|
|
|
|
color: "#fff", |
|
|
|
|
}, |
|
|
|
|
data: [ |
|
|
|
|
{ value: 311, name: "慢作为" }, |
|
|
|
|
{ value: 735, name: "意见建议" }, |
|
|
|
|
{ value: 580, name: "违法违纪违规" }, |
|
|
|
|
{ value: 484, name: "乱作为" }, |
|
|
|
|
{ value: 300, name: "其他" }, |
|
|
|
|
{ value: 300, name: "不作为" }, |
|
|
|
|
{value: 311, name: "慢作为"}, |
|
|
|
|
{value: 735, name: "意见建议"}, |
|
|
|
|
{value: 580, name: "违法违纪违规"}, |
|
|
|
|
{value: 484, name: "乱作为"}, |
|
|
|
|
{value: 300, name: "其他"}, |
|
|
|
|
{value: 300, name: "不作为"}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
@ -433,16 +545,68 @@ const option3 = {
|
|
|
|
|
color: "#fff", |
|
|
|
|
}, |
|
|
|
|
data: [ |
|
|
|
|
{ value: 21, name: "其他" }, |
|
|
|
|
{ value: 33, name: "通报批评" }, |
|
|
|
|
{ value: 56, name: "责令检查" }, |
|
|
|
|
{ value: 31, name: "考核降级" }, |
|
|
|
|
{ value: 120, name: "组织处理" }, |
|
|
|
|
{ value: 32, name: "党纪处分" }, |
|
|
|
|
{value: 21, name: "其他"}, |
|
|
|
|
{value: 33, name: "通报批评"}, |
|
|
|
|
{value: 56, name: "责令检查"}, |
|
|
|
|
{value: 31, name: "考核降级"}, |
|
|
|
|
{value: 120, name: "组织处理"}, |
|
|
|
|
{value: 32, name: "党纪处分"}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
const activeTab = ref("1"); |
|
|
|
|
const activeMailTab = ref("1"); |
|
|
|
|
const activeTabRight=ref("1"); |
|
|
|
|
const activeMailTabRight=ref("1"); |
|
|
|
|
// 总数对象 |
|
|
|
|
const overview = ref({ |
|
|
|
|
total: 0, |
|
|
|
|
countryMail: 0, |
|
|
|
|
policeMail: 0, |
|
|
|
|
commissionerMail: 0, |
|
|
|
|
numMail: 0, |
|
|
|
|
firstMail: 0, |
|
|
|
|
secondMail: 0, |
|
|
|
|
leaderReceiveMail: 0, |
|
|
|
|
leaderViewMail: 0, |
|
|
|
|
tangleMail: 0, |
|
|
|
|
massMail: 0, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
// 分局初重领信 |
|
|
|
|
const fxsjFirstMailList = ref([]); |
|
|
|
|
const fxsjRepeatMailList = ref([]); |
|
|
|
|
const fxsjLeaderViewMailList= ref([]); |
|
|
|
|
// 部委初重信 |
|
|
|
|
const bwzdFirstMailList = ref([]); |
|
|
|
|
const bwzdRepeatMailList = ref([]); |
|
|
|
|
const bwzdLeaderViewMailList= ref([]); |
|
|
|
|
const time = ref([ |
|
|
|
|
moment().startOf("year").format("YYYY-MM-DD"), |
|
|
|
|
moment().format("YYYY-MM-DD"), |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
function getData() { |
|
|
|
|
getMailVisitsData(time.value).then((data) => { |
|
|
|
|
overview.value = data.overview; |
|
|
|
|
fxsjFirstMailList.value = data.fxsjFirstMailList; |
|
|
|
|
fxsjRepeatMailList.value = data.fxsjRepeatMailList; |
|
|
|
|
fxsjLeaderViewMailList.value = data.fxsjLeaderViewMailList; |
|
|
|
|
bwzdFirstMailList.value = data.bwzdFirstMailList; |
|
|
|
|
bwzdRepeatMailList.value = data.bwzdRepeatMailList; |
|
|
|
|
bwzdLeaderViewMailList.value = data.bwzdLeaderViewMailList; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
watch(time, () => { |
|
|
|
|
getData(); |
|
|
|
|
}) |
|
|
|
|
onMounted(() => { |
|
|
|
|
getData(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
@import "@/style/datav.scss"; |
|
|
|
|
|