From 0536aa0a006c71222a6a32f39bb6bcf89a3accf2 Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Tue, 3 Mar 2026 19:38:33 +0800 Subject: [PATCH] =?UTF-8?q?fix--=E4=BF=A1=E8=AE=BF=E6=8A=95=E8=AF=89?= =?UTF-8?q?=E6=A0=B8=E5=AF=B9=20step1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/screen/mail.ts | 28 +++++---- src/views/datav/MailVisits.vue | 102 +++++++++++++++++---------------- 2 files changed, 71 insertions(+), 59 deletions(-) diff --git a/src/api/screen/mail.ts b/src/api/screen/mail.ts index 0671e68..2712105 100644 --- a/src/api/screen/mail.ts +++ b/src/api/screen/mail.ts @@ -1,21 +1,25 @@ import request from "../request"; - -export function getFirstAndRepeatMail(times) { - return request.get({ - url: `/datav/mailVisits/getFirstAndRepeatMail?beginTime=${times[0]}&endTime=${times[1]}` +//初访重访情况 +export function getFirstAndRepeatMail(body) { + return request.post({ + url: `/datav/mailVisits/getFirstAndRepeatMail`, + body }); } - -export function getAllMailCount(times) { - return request.get({ - url: `/datav/mailVisits/getAllMailCount?beginTime=${times[0]}&endTime=${times[1]}` +//初访重访情况 +export function getAllMailCount(body) { + return request.post({ + url: `/datav/mailVisits/getAllMailCount`, + body }); } + + export function getMailMapIcon(times) { return request.get({ url: `/datav/mailVisits/getMailMapIcon?beginTime=${times[0]}&endTime=${times[1]}` @@ -28,9 +32,11 @@ export function getMailTrend(year) { }); } -export function getEntanglementAndMassMail(times) { - return request.get({ - url: `/datav/mailVisits/getEntanglementAndMassMail?beginTime=${times[0]}&endTime=${times[1]}` +//群众集访情况 +export function getEntanglementAndMassMail(body) { + return request.post({ + url: `/datav/mailVisits/getEntanglementAndMassMail`, + body }); } diff --git a/src/views/datav/MailVisits.vue b/src/views/datav/MailVisits.vue index 16b91bd..359ff6d 100644 --- a/src/views/datav/MailVisits.vue +++ b/src/views/datav/MailVisits.vue @@ -63,7 +63,7 @@ @@ -215,7 +215,7 @@
- {{ currentLeftOverview.leaderMail }} + {{ currentRightOverview.leaderReview }}
领导接访数 @@ -257,7 +257,7 @@ @@ -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