From 89c3c7f669addd5140d1ee66d3a888481dbc2dd7 Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Fri, 20 Mar 2026 16:59:00 +0800 Subject: [PATCH] =?UTF-8?q?feat--=E5=AF=B9=E9=BD=90=E6=A1=88=E4=BB=B6?= =?UTF-8?q?=E6=A0=B8=E6=9F=A5=E7=88=B6=E5=AD=90=E5=B1=8F=E5=B9=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/screen/subScreen/subOneCaseVerif.ts | 4 +- .../subScreen/subOneSupervisionNotify.ts | 41 +++++---- .../datav/subonedatav/SubOneCaseVerif.vue | 1 + .../datav/subonedatav/SubOneSceneInsp.vue | 89 ++++++++++--------- 4 files changed, 74 insertions(+), 61 deletions(-) diff --git a/src/api/screen/subScreen/subOneCaseVerif.ts b/src/api/screen/subScreen/subOneCaseVerif.ts index 0e92264..0078b72 100644 --- a/src/api/screen/subScreen/subOneCaseVerif.ts +++ b/src/api/screen/subScreen/subOneCaseVerif.ts @@ -40,7 +40,7 @@ export function getSubOneCaseVerificationTrend(departId, year) { }); } -// @Operation(summary = "案件来源占比 & 问责处理情况") + export function getSubOneCaseSourceRateAndDealSituation(body) { return request.post({ url: `/datav/sub1/caseVerif/getSubOneCaseSourceRateAndDealSituation`, @@ -52,6 +52,6 @@ export function getSubOneCaseSourceRateAndDealSituation(body) { export function getSubOneConfinementAndPause(departId, times) { return request.get({ - url: `/datav/sub1/caseVerif/getSubOneCaseSourceRateAndDealSituation?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` + url: `/datav/sub1/caseVerif/getSubOneConfinementAndPause?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` }); } diff --git a/src/api/screen/subScreen/subOneSupervisionNotify.ts b/src/api/screen/subScreen/subOneSupervisionNotify.ts index 5ef36b6..4a74d13 100644 --- a/src/api/screen/subScreen/subOneSupervisionNotify.ts +++ b/src/api/screen/subScreen/subOneSupervisionNotify.ts @@ -1,14 +1,13 @@ import request from "@/api/request"; - -//监督管理-整改率排名 -export function getSubOneChangedRank(departId, times) { - return request.get({ - url: `/datav/sub1/supervisonNotify/getSubOneChangedRank?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` +// 现场监督卡片 +export function getSubOneChangedRank(body) { + return request.post({ + url: `/datav/sub1/supervisonNotify/getSubOneChangedRank`, + body }); } - export function getSubOneProblemTypeRate(departId, times) { return request.get({ url: `/datav/sub1/supervisonNotify/getSubOneProblemTypeRate?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` @@ -20,22 +19,29 @@ export function getSubOneSupervisionTrend(departId, year) { url: `/datav/sub1/supervisonNotify/getSubOneSupervisionTrend?departId=${departId}&year=${year}` }); } -//监督管理-中央数据 -export function getSubOneSupervisionNotifyCount(departId, times) { - return request.get({ - url: `/datav/sub1/supervisonNotify/getSubOneSupervisionNotifyCount?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` + +// 中央数据 +export function getSubOneSupervisionNotifyCount(body) { + return request.post({ + url: `/datav/sub1/supervisonNotify/getSubOneSupervisionNotifyCount`, + body }); } -export function getSubOneSupervisionMap(departId, times) { - return request.get({ - url: `/datav/sub1/supervisonNotify/getSubOneSupervisionMap?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` +export function getSubOneSupervisionNotifyMap(body) { + return request.post({ + url: `/datav/sub1/supervisonNotify/getSubOneSupervisionNotifyMap`, + body }); } -export function getSubOneYellowBetDrug(departId, times,type) { - return request.get({ - url: `/datav/sub1/supervisonNotify/getSubOneYellowBetDrug?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}&type=${type}` + + + +export function getSubOneYellowBetDrug(body) { + return request.post({ + url: `/datav/sub1/supervisonNotify/getSubOneYellowBetDrug`, + body }); } @@ -44,6 +50,3 @@ export function getSubOneWorkDynamics(departId, times) { url: `/datav/sub1/supervisonNotify/getSubOneWorkDynamics?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` }); } - -// export - diff --git a/src/views/datav/subonedatav/SubOneCaseVerif.vue b/src/views/datav/subonedatav/SubOneCaseVerif.vue index ef85297..fa82458 100644 --- a/src/views/datav/subonedatav/SubOneCaseVerif.vue +++ b/src/views/datav/subonedatav/SubOneCaseVerif.vue @@ -548,6 +548,7 @@ const getSubOneCaseProblemPropertyData = async (departId, timeValue) => { const res = await getSubOneCaseProblemProperty(departId, timeValue); zfbaPieOption.value.series[0].data = res.zfbaPieList; fwglPieOption.value.series[0].data = res.fwglPieList; + jgjjPieOption.value.series[0].data = res.fwglPieList; } const getSubOneAllCaseVerificationCountData = async () => { diff --git a/src/views/datav/subonedatav/SubOneSceneInsp.vue b/src/views/datav/subonedatav/SubOneSceneInsp.vue index fa74fc9..6832bf6 100644 --- a/src/views/datav/subonedatav/SubOneSceneInsp.vue +++ b/src/views/datav/subonedatav/SubOneSceneInsp.vue @@ -510,7 +510,7 @@ import moment from "moment"; import {getSubOneStreetMap} from "@/api/screen/subScreen/subOneGlobal.ts"; import { getSubOneChangedRank, - getSubOneProblemTypeRate, getSubOneSupervisionMap, getSubOneSupervisionNotifyCount, + getSubOneProblemTypeRate, getSubOneSupervisionNotifyMap, getSubOneSupervisionNotifyCount, getSubOneSupervisionTrend, getSubOneWorkDynamics, getSubOneYellowBetDrug } from "@/api/screen/subScreen/subOneSupervisionNotify.ts"; import {workDynamicColorMapping} from "@/enums/workDynamicColorMapping.js"; @@ -590,8 +590,14 @@ let subOneSceneWorkDynamicsIntervalId; const tempDepartId = ref(0); // 临时部门id const showDialog = ref(false); // 负面信息弹窗显示 const rightOverview =ref({}) -const getYellowBetDrugData = async (departId,times) => { - const res = await getSubOneYellowBetDrug(departId, times,subOneZxdcProRankTab.value) +const getYellowBetDrugData = async () => { + const body = { + beginTime: time.value[0], + endTime: time.value[1], + departId: currentDepartId, + specialSupervision: subOneZxdcProRankTab.value + } + const res = await getSubOneYellowBetDrug(body) rightOverview.value = res.overview; fxsjYellowBetOverview.value = res.fxsjYellowBetOverview jsdwYellowBetOverview.value = res.jsdwYellowBetOverview @@ -600,7 +606,7 @@ const getYellowBetDrugData = async (departId,times) => { }; watch(subOneZxdcProRankTab, () => { - getYellowBetDrugData(currentDepartId, time.value) + getYellowBetDrugData() }) @@ -808,8 +814,12 @@ const getMapJSON = async (departId = currentDepartId) => { echarts.registerMap("changsha", res); subOneSceneInspMapChart.value.chart.setOption(option.value); } -const getSubOneChangedRankData = async (departId, times) => { - const res = await getSubOneChangedRank(departId, times) +const getSubOneChangedRankData = async () => { + const res = await getSubOneChangedRank({ + departId: currentDepartId, + beginTime: time.value[0], + endTime: time.value[1] + }) leftOverview.value =res.overview; fxsjRankOverview.value = res.fxsjRankOverview; jsdwRankOverview.value = res.jsdwRankOverview; @@ -818,13 +828,17 @@ const getSubOneChangedRankData = async (departId, times) => { console.log(res); } -const getSubOneProblemTypeRateData = async (departId, times) => { - const res = await getSubOneProblemTypeRate(departId, times) +const getSubOneProblemTypeRateData = async () => { + const res = await getSubOneProblemTypeRate(currentDepartId, time.value) // wtlxList.value = circularChart; wtlxList.value = res.wtlxList } -const getSubOneSupervisionNotifyCountData = async (departId, times) => { - const res = await getSubOneSupervisionNotifyCount(departId, times) +const getSubOneSupervisionNotifyCountData = async () => { + const res = await getSubOneSupervisionNotifyCount({ + departId: currentDepartId, + beginTime: time.value[0], + endTime: time.value[1] + }) Object.assign(overview.value, { correctionRate: Number(res.overview.completedRate), supervisionNotifyPreTotal: Number(res.overview.personNumber), @@ -835,8 +849,12 @@ const getSubOneSupervisionNotifyCountData = async (departId, times) => { reportNumber: Number(res.overview.reportNumber) }); } -const getSubOneSupervisionMapData = async (departId, times) => { - const res = await getSubOneSupervisionMap(departId, times); +const getSubOneSupervisionMapData = async () => { + const res = await getSubOneSupervisionNotifyMap({ + departId: currentDepartId, + beginTime: time.value[0], + endTime: time.value[1] + }); const mappedData = res.superviseTempMapVoList.map(item => { return { ...item, @@ -844,7 +862,7 @@ const getSubOneSupervisionMapData = async (departId, times) => { }; }); const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); - const avg = total / mappedData.length; // 计算平均值 + const avg = total / mappedData.length; // 计算平均�? const range30Percent = avg * 0.3 // 不用取整,小数也可以 option.value.visualMap.pieces = [ {gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, @@ -854,41 +872,32 @@ const getSubOneSupervisionMapData = async (departId, times) => { superviseTempMapVoList.value = mappedData; option.value.series[0].data = mappedData; } -const getSubOneSupervisionTrendData = async (departId, year) => { - const res = await getSubOneSupervisionTrend(departId, year) +const getSubOneSupervisionTrendData = async () => { + const res = await getSubOneSupervisionTrend(currentDepartId, selectedYear.value) const supervisionTrend = res.supervisionTrend; const categories = supervisionTrend.map(item => item.name); const values = supervisionTrend.map(item => item.value); proTrend.value.xAxis.data = categories; proTrend.value.series[0].data = values; } -const getSubOneYellowBetDrugData = async (departId, times) => { - const res = await getSubOneYellowBetDrug(departId, times) - fxsjYellowBetOverview.value = res.fxsjYellowBetOverview - jsdwYellowBetOverview.value = res.jsdwYellowBetOverview - fxsjYellowBetRankList.value = res.fxsjYellowBetRankList - jsdwYellowBetRankList.value = res.jsdwYellowBetRankList -} -const getSubOneWorkDynamicsData = async (departId, times) => { - const data = await getSubOneWorkDynamics(departId, times); +const getSubOneWorkDynamicsData = async () => { + const data = await getSubOneWorkDynamics(currentDepartId, time.value); const colorNewsVoList = workDynamicColorMapping(data); messages.value = colorNewsVoList; } const getData = async () => { - await Promise.all([ - getMapJSON(currentDepartId), - getSubOneSupervisionMapData(currentDepartId, time.value), - getSubOneChangedRankData(currentDepartId, time.value), - getSubOneProblemTypeRateData(currentDepartId, time.value), - getSubOneSupervisionNotifyCountData(currentDepartId, time.value), - getSubOneSupervisionTrendData(currentDepartId, selectedYear.value), - getYellowBetDrugData(currentDepartId, time.value), - getSubOneWorkDynamicsData(currentDepartId, time.value) - ]); + getMapJSON(currentDepartId); + getSubOneSupervisionMapData(); + getSubOneChangedRankData(); + getSubOneProblemTypeRateData(); + getSubOneSupervisionNotifyCountData(); + getSubOneSupervisionTrendData(); + getYellowBetDrugData(); + getSubOneWorkDynamicsData(); } // endregion @@ -922,17 +931,17 @@ const subOneSceneInspMapAnimation = () => { seriesIndex: 0, }); mapTemp.dispatchAction({ - type: "highlight", //highLight 高亮指定的数据图形 + type: "highlight", //highLight 高亮指定的数据图�? seriesIndex: 0, //系列index dataIndex: randomNum, //数据index }); mapTemp.dispatchAction({ - type: "showTip", //showTip 显示提示框 + type: "showTip", //showTip 显示提示�? seriesIndex: 0, dataIndex: randomNum, }); }; -// 启动定时器,每隔 2 秒执行一次 +// 启动定时器,每隔 2 秒执行一�? subOneSceneInspMapIntervalId = setInterval(subOneSceneInspMapAnimation, 2000); // 问题趋势动画 const subOneSceneInspTrendAnimation = () => { @@ -961,7 +970,7 @@ const subOneSceneInspZxdxRankAnimation = () => { } }; subOneSceneInspZxdxIntervalId = setInterval(subOneSceneInspZxdxRankAnimation, 5000); -// 工作动态动画 +// 工作动态动�? const subOneSceneWorkDynamicsAnimation = () => { const sceneScrollTemp = subOneSceneScrollbar?.value; const maxScroll = sceneScrollTemp?.wrapRef?.scrollHeight - sceneScrollTemp?.wrapRef?.clientHeight; @@ -992,7 +1001,7 @@ onMounted(() => { }); const handleCommand = (year) => { selectedYear.value = year; // 更新当前选中的年份 - getSubOneSupervisionTrendData(currentDepartId, selectedYear.value); + getSubOneSupervisionTrendData(); }; const handleClick = (params) => { const departId = params.data.departId; @@ -1193,7 +1202,7 @@ const getNegativePageFun = async (row)=>{ font-weight: 400; font-size: 16px; color: #FFFFFF; - border-bottom: 1px solid #253755; /* 设置下边框 */ + border-bottom: 1px solid #253755; /* 设置下边�?*/ } .tooltip-content {