|
|
|
|
@ -63,7 +63,7 @@
|
|
|
|
|
</datav-tab-item> |
|
|
|
|
<datav-tab-item label="局属单位" name="2"> |
|
|
|
|
<datav-tabs |
|
|
|
|
v-model="fxsjFirstAndRepeatTab" |
|
|
|
|
v-model="bwzdFirstAndRepeatTab" |
|
|
|
|
type="bottom-button" |
|
|
|
|
> |
|
|
|
|
<datav-tab-item label="初信初访" name="1"> |
|
|
|
|
@ -215,7 +215,7 @@
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<div class="descriptions_cell text-center"> |
|
|
|
|
<div class="descriptions_content"> |
|
|
|
|
{{ currentLeftOverview.leaderMail }} |
|
|
|
|
{{ currentRightOverview.leaderReview }} |
|
|
|
|
</div> |
|
|
|
|
<div class="descriptions_label"> |
|
|
|
|
领导接访数 |
|
|
|
|
@ -257,7 +257,7 @@
|
|
|
|
|
<datav-tab-item label="局属单位" name="2"> |
|
|
|
|
<datav-tabs |
|
|
|
|
type="bottom-button" |
|
|
|
|
v-model="fxsjEntanglementTab" |
|
|
|
|
v-model="bwzdEntanglementTab" |
|
|
|
|
> |
|
|
|
|
<datav-tab-item label="群体集访" name="1"> |
|
|
|
|
<el-scrollbar height="300px"> |
|
|
|
|
@ -312,12 +312,8 @@ import changshaMap from "@/assets/data/changsha.json";
|
|
|
|
|
import * as echarts from "echarts/core"; |
|
|
|
|
import moment from "moment/moment.js"; |
|
|
|
|
import { |
|
|
|
|
getAllMailCount, |
|
|
|
|
getEntanglementAndMassMail, |
|
|
|
|
getFirstAndRepeatMail, |
|
|
|
|
getMailMapIcon, |
|
|
|
|
getMailTrend, |
|
|
|
|
getResultCount |
|
|
|
|
getEntanglementAndMassMail, getAllMailCount, getMailMapIcon, getMailTrend, getResultCount |
|
|
|
|
} from "@/api/screen/mail.ts"; |
|
|
|
|
import {mapOrgNameMapping} from "@/enums/orgMapping.js"; |
|
|
|
|
|
|
|
|
|
@ -412,12 +408,14 @@ const leaderViewColors = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const fxsjFirstAndRepeatTab = ref("1"); |
|
|
|
|
const bwzdFirstAndRepeatTab = ref("1"); |
|
|
|
|
const firstAndRepeat = ref(null) |
|
|
|
|
const mailMap = ref(null); |
|
|
|
|
const mailMapIconList = ref([]); |
|
|
|
|
const mailTrendTabs = ref("1"); |
|
|
|
|
const mailTrendCard = ref(null) |
|
|
|
|
const fxsjEntanglementTab = ref("1"); |
|
|
|
|
const bwzdEntanglementTab = ref("1"); |
|
|
|
|
const entanglement = ref(null) |
|
|
|
|
let fxsjFirstAndRepeatIntervalId; |
|
|
|
|
let fxsjEntanglementIntervalId; |
|
|
|
|
@ -819,21 +817,13 @@ const getResultCountData = async (timeValue = time.value)=>{
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// region 所有函数 |
|
|
|
|
const getFirstAndRepeatMailData = async (timeValue = time.value) => { |
|
|
|
|
const res = await getFirstAndRepeatMail(timeValue) |
|
|
|
|
fxjsFirstAndRepeatOverview.value = res.fxjsFirstAndRepeatOverview; |
|
|
|
|
bwzdFirstAndRepeatOverview.value = res.bwzdFirstAndRepeatOverview |
|
|
|
|
fxsjFirstMailList.value = res.fxsjFirstRankList; |
|
|
|
|
fxsjRepeatMailList.value = res.fxsjRepeatRankList; |
|
|
|
|
fxsjLeaderViewMailList.value = res.fxsjLeaderViewRankList; |
|
|
|
|
|
|
|
|
|
bwzdFirstMailList.value = res.bwzdFirstRankList; |
|
|
|
|
bwzdRepeatMailList.value = res.bwzdRepeatRankList; |
|
|
|
|
bwzdLeaderViewMailList.value = res.bwzdLeaderViewRankList; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
const getAllMailCountData = async (timeValue = time.value) => { |
|
|
|
|
const res = await getAllMailCount(timeValue) |
|
|
|
|
const getAllMailCountData = async () => { |
|
|
|
|
const body = { |
|
|
|
|
beginTime: time.value[0], |
|
|
|
|
endTime: time.value[1], |
|
|
|
|
} |
|
|
|
|
const res = await getAllMailCount(body) |
|
|
|
|
overview.value = res.overview; |
|
|
|
|
option2.value.series[0].data= [{value:overview.value.manageMail,name:"局长信箱"}, |
|
|
|
|
{value:overview.value.countryMail,name:"国家信访"}, |
|
|
|
|
@ -883,44 +873,60 @@ const getMailTrendData = async (year = selectedYear.value) => {
|
|
|
|
|
countryTrend.value.xAxis.data = countrycategories; |
|
|
|
|
countryTrend.value.series[0].data = countryvalues; |
|
|
|
|
} |
|
|
|
|
const getEntanglementAndMassMailData = async (timeValue = time.value) => { |
|
|
|
|
const res = await getEntanglementAndMassMail(timeValue) |
|
|
|
|
fxsjMailEntanglementMassOverview.value = res.fxsjMailEntanglementMassOverview; |
|
|
|
|
bwzdMailEntanglementMassOverview.value = res.bwzdMailEntanglementMassOverview; |
|
|
|
|
fxsjEntanglementMailList.value = res.fxsjEntanglementList; |
|
|
|
|
fxsjMassMailList.value = res.fxsjMassList; |
|
|
|
|
fxsjLeaderReviewMailList.value = res.fxsjLeaderReviewList; |
|
|
|
|
|
|
|
|
|
bwzdLeaderReviewMailList.value = res.bwzdLeaderReviewList; |
|
|
|
|
bwzdEntanglementMailList.value = res.bwzdEntanglementList; |
|
|
|
|
bwzdMassMailList.value = res.bwzdMassList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const getData = () => { |
|
|
|
|
getFirstAndRepeatMailData(); |
|
|
|
|
// 初访重访情况 |
|
|
|
|
getFirstAndRepeatMailFun(); |
|
|
|
|
getAllMailCountData(); |
|
|
|
|
getMailMapIconData() |
|
|
|
|
getMailTrendData(); |
|
|
|
|
getEntanglementAndMassMailData(); |
|
|
|
|
// 群众集访情况 |
|
|
|
|
getEntanglementAndMassMailFun(); |
|
|
|
|
getResultCountData(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const currentLeftOverview = computed(() => { |
|
|
|
|
// return activeTab.value === '1' ? fxjsFirstAndRepeatOverview.value : bwzdFirstAndRepeatOverview.value; |
|
|
|
|
return { |
|
|
|
|
firstMail : fxjsFirstAndRepeatOverview.value.firstMail + bwzdFirstAndRepeatOverview.value.firstMail, |
|
|
|
|
repeatMail:fxjsFirstAndRepeatOverview.value.repeatMail + bwzdFirstAndRepeatOverview.value.repeatMail, |
|
|
|
|
leaderMail:fxjsFirstAndRepeatOverview.value.leaderMail + bwzdFirstAndRepeatOverview.value.leaderMail, |
|
|
|
|
|
|
|
|
|
const getFirstAndRepeatMailFun = async ()=>{ |
|
|
|
|
const body = { |
|
|
|
|
beginTime: time.value[0], |
|
|
|
|
endTime: time.value[1], |
|
|
|
|
} |
|
|
|
|
const res = await getFirstAndRepeatMail(body) |
|
|
|
|
fxsjFirstMailList.value = res.fxsjFirstRankList; |
|
|
|
|
fxsjRepeatMailList.value = res.fxsjRepeatRankList; |
|
|
|
|
bwzdFirstMailList.value = res.bwzdFirstRankList; |
|
|
|
|
bwzdRepeatMailList.value = res.bwzdRepeatRankList; |
|
|
|
|
fxjsFirstAndRepeatOverview.value = res.fxsjOverview |
|
|
|
|
bwzdFirstAndRepeatOverview.value = res.bwzdOverview |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const getEntanglementAndMassMailFun = async ()=>{ |
|
|
|
|
|
|
|
|
|
const body = { |
|
|
|
|
beginTime: time.value[0], |
|
|
|
|
endTime: time.value[1], |
|
|
|
|
} |
|
|
|
|
const res = await getEntanglementAndMassMail(body) |
|
|
|
|
|
|
|
|
|
// ✅ overview |
|
|
|
|
fxsjMailEntanglementMassOverview.value = res.fxsjOverview |
|
|
|
|
bwzdMailEntanglementMassOverview.value = res.bwzdOverview |
|
|
|
|
|
|
|
|
|
// ✅ 列表(右侧柱状图用) |
|
|
|
|
fxsjMassMailList.value = res.fxsjMassMailList |
|
|
|
|
bwzdMassMailList.value = res.bwzdMassMailList |
|
|
|
|
|
|
|
|
|
fxsjLeaderViewMailList.value = res.fxsjLeaderReviewMailList |
|
|
|
|
bwzdLeaderViewMailList.value = res.bwzdLeaderReviewMailList |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const currentLeftOverview = computed(() => { |
|
|
|
|
return activeTab.value === '1' ? fxjsFirstAndRepeatOverview.value : bwzdFirstAndRepeatOverview.value; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const currentRightOverview = computed(() => { |
|
|
|
|
// return activeTabRight.value === '1' ? fxsjMailEntanglementMassOverview.value : bwzdMailEntanglementMassOverview.value; |
|
|
|
|
return { |
|
|
|
|
entanglement: fxsjMailEntanglementMassOverview.value.entanglement + bwzdMailEntanglementMassOverview.value.entanglement, |
|
|
|
|
mass: fxsjMailEntanglementMassOverview.value.mass + bwzdMailEntanglementMassOverview.value.mass, |
|
|
|
|
leaderReview: fxsjMailEntanglementMassOverview.value.leaderReview + bwzdMailEntanglementMassOverview.value.leaderReview, |
|
|
|
|
} |
|
|
|
|
return activeTabRight.value === '1' ? fxsjMailEntanglementMassOverview.value : bwzdMailEntanglementMassOverview.value; |
|
|
|
|
}); |
|
|
|
|
// endregion |
|
|
|
|
|
|
|
|
|
|