Compare commits

...

3 Commits

  1. 7
      src/api/screen/mail.ts
  2. 4
      src/api/screen/subScreen/subOneCaseVerif.ts
  3. 41
      src/api/screen/subScreen/subOneSupervisionNotify.ts
  4. 14
      src/views/datav/MailVisits.vue
  5. 1
      src/views/datav/subonedatav/SubOneCaseVerif.vue
  6. 123
      src/views/datav/subonedatav/SubOneSceneInsp.vue

7
src/api/screen/mail.ts

@ -42,9 +42,10 @@ export function getEntanglementAndMassMail(body) {
//追责问责情况 //追责问责情况
export function getResultCount(times){ export function getResultCount(body){
return request.get({ return request.post({
url:`/datav/mailVisits/getResultCount?beginTime=${times[0]}&endTime=${times[1]}` url:`/datav/mailVisits/getResultCount`,
body
}) })
} }

4
src/api/screen/subScreen/subOneCaseVerif.ts

@ -40,7 +40,7 @@ export function getSubOneCaseVerificationTrend(departId, year) {
}); });
} }
// @Operation(summary = "案件来源占比 & 问责处理情况")
export function getSubOneCaseSourceRateAndDealSituation(body) { export function getSubOneCaseSourceRateAndDealSituation(body) {
return request.post({ return request.post({
url: `/datav/sub1/caseVerif/getSubOneCaseSourceRateAndDealSituation`, url: `/datav/sub1/caseVerif/getSubOneCaseSourceRateAndDealSituation`,
@ -52,6 +52,6 @@ export function getSubOneCaseSourceRateAndDealSituation(body) {
export function getSubOneConfinementAndPause(departId, times) { export function getSubOneConfinementAndPause(departId, times) {
return request.get({ 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]}`
}); });
} }

41
src/api/screen/subScreen/subOneSupervisionNotify.ts

@ -1,14 +1,13 @@
import request from "@/api/request"; import request from "@/api/request";
// 现场监督卡片
//监督管理-整改率排名 export function getSubOneChangedRank(body) {
export function getSubOneChangedRank(departId, times) { return request.post({
return request.get({ url: `/datav/sub1/supervisonNotify/getSubOneChangedRank`,
url: `/datav/sub1/supervisonNotify/getSubOneChangedRank?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` body
}); });
} }
export function getSubOneProblemTypeRate(departId, times) { export function getSubOneProblemTypeRate(departId, times) {
return request.get({ return request.get({
url: `/datav/sub1/supervisonNotify/getSubOneProblemTypeRate?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` 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}` url: `/datav/sub1/supervisonNotify/getSubOneSupervisionTrend?departId=${departId}&year=${year}`
}); });
} }
//监督管理-中央数据
export function getSubOneSupervisionNotifyCount(departId, times) { // 中央数据
return request.get({ export function getSubOneSupervisionNotifyCount(body) {
url: `/datav/sub1/supervisonNotify/getSubOneSupervisionNotifyCount?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` return request.post({
url: `/datav/sub1/supervisonNotify/getSubOneSupervisionNotifyCount`,
body
}); });
} }
export function getSubOneSupervisionMap(departId, times) { export function getSubOneSupervisionNotifyMap(body) {
return request.get({ return request.post({
url: `/datav/sub1/supervisonNotify/getSubOneSupervisionMap?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` 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]}` url: `/datav/sub1/supervisonNotify/getSubOneWorkDynamics?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}`
}); });
} }
// export

14
src/views/datav/MailVisits.vue

@ -807,13 +807,13 @@ const option3 =ref( {
// //
const getResultCountDataFun = async (timeValue = time.value)=>{ const getResultCountDataFun = async ()=>{
const res = await getResultCount(timeValue); const body = {
let resultCountArray = [] beginTime: time.value[0],
Object.keys(res).forEach(s=>{ endTime: time.value[1],
resultCountArray.push({name:s,value:res[s]}) }
}) const res = await getResultCount(body);
option3.value.series[0].data=resultCountArray; option3.value.series[0].data=res.resultCountArray;
} }
// region // region

1
src/views/datav/subonedatav/SubOneCaseVerif.vue

@ -548,6 +548,7 @@ const getSubOneCaseProblemPropertyData = async (departId, timeValue) => {
const res = await getSubOneCaseProblemProperty(departId, timeValue); const res = await getSubOneCaseProblemProperty(departId, timeValue);
zfbaPieOption.value.series[0].data = res.zfbaPieList; zfbaPieOption.value.series[0].data = res.zfbaPieList;
fwglPieOption.value.series[0].data = res.fwglPieList; fwglPieOption.value.series[0].data = res.fwglPieList;
jgjjPieOption.value.series[0].data = res.fwglPieList;
} }
const getSubOneAllCaseVerificationCountData = async () => { const getSubOneAllCaseVerificationCountData = async () => {

123
src/views/datav/subonedatav/SubOneSceneInsp.vue

@ -27,7 +27,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ leftOverview.changing }} {{ leftOverview.processingNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办理中 办理中
@ -37,7 +37,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ leftOverview.changed }} {{ leftOverview.completedNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
已办结 已办结
@ -47,7 +47,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ leftOverview.correctionRate }}% {{ leftOverview.completedRate }}%
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办结率 办结率
@ -58,10 +58,11 @@
<el-scrollbar height="350px"> <el-scrollbar height="350px">
<datav-chart-bar <datav-chart-bar
:data="fxsjChangedRankList" :data="fxsjChangedRankList"
size="small" size="large"
title="办结率排名" title="办结率排名"
sub-title="已办结/问题数" sub-title="已办结/问题数"
unit="%" unit="%"
:isgroupby="true"
:label-width="110" :label-width="110"
:color="dayTimeColors" :color="dayTimeColors"
/> />
@ -82,7 +83,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ leftOverview.changing }} {{ leftOverview.processingNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办理中 办理中
@ -92,7 +93,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ leftOverview.changed }} {{ leftOverview.completedNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
已办结 已办结
@ -102,7 +103,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ leftOverview.correctionRate }}% {{ leftOverview.completedRate }}%
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办结率 办结率
@ -117,6 +118,7 @@
title="办结率排名" title="办结率排名"
sub-title="已办结/问题数" sub-title="已办结/问题数"
unit="%" unit="%"
:isgroupby="true"
:label-width="110" :label-width="110"
:color="dayTimeColors" :color="dayTimeColors"
/> />
@ -216,7 +218,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ fxsjYellowBetOverview.proTotal }} {{ rightOverview.proTotal }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
问题数 问题数
@ -226,7 +228,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ fxsjYellowBetOverview.changing }} {{ rightOverview.processingNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办理中 办理中
@ -236,7 +238,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ fxsjYellowBetOverview.changed }} {{ rightOverview.completedNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
已办结 已办结
@ -246,7 +248,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ fxsjYellowBetOverview.correctionRate }}% {{ rightOverview.completedRate }}%
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办结率 办结率
@ -270,7 +272,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ jsdwYellowBetOverview.proTotal }} {{ rightOverview.proTotal }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
问题数 问题数
@ -280,7 +282,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ jsdwYellowBetOverview.changing }} {{ rightOverview.processingNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办理中 办理中
@ -290,7 +292,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ jsdwYellowBetOverview.changed }} {{ rightOverview.completedNumber }}
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
已办结 已办结
@ -300,7 +302,7 @@
<el-col :span="6"> <el-col :span="6">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ jsdwYellowBetOverview.correctionRate }}% {{ rightOverview.completedRate }}%
</div> </div>
<div class="descriptions_label"> <div class="descriptions_label">
办结率 办结率
@ -510,7 +512,7 @@ import moment from "moment";
import {getSubOneStreetMap} from "@/api/screen/subScreen/subOneGlobal.ts"; import {getSubOneStreetMap} from "@/api/screen/subScreen/subOneGlobal.ts";
import { import {
getSubOneChangedRank, getSubOneChangedRank,
getSubOneProblemTypeRate, getSubOneSupervisionMap, getSubOneSupervisionNotifyCount, getSubOneProblemTypeRate, getSubOneSupervisionNotifyMap, getSubOneSupervisionNotifyCount,
getSubOneSupervisionTrend, getSubOneWorkDynamics, getSubOneYellowBetDrug getSubOneSupervisionTrend, getSubOneWorkDynamics, getSubOneYellowBetDrug
} from "@/api/screen/subScreen/subOneSupervisionNotify.ts"; } from "@/api/screen/subScreen/subOneSupervisionNotify.ts";
import {workDynamicColorMapping} from "@/enums/workDynamicColorMapping.js"; import {workDynamicColorMapping} from "@/enums/workDynamicColorMapping.js";
@ -590,8 +592,14 @@ let subOneSceneWorkDynamicsIntervalId;
const tempDepartId = ref(0); // id const tempDepartId = ref(0); // id
const showDialog = ref(false); // const showDialog = ref(false); //
const rightOverview =ref({}) const rightOverview =ref({})
const getYellowBetDrugData = async (departId,times) => { const getYellowBetDrugData = async () => {
const res = await getSubOneYellowBetDrug(departId, times,subOneZxdcProRankTab.value) const body = {
beginTime: time.value[0],
endTime: time.value[1],
departId: currentDepartId,
specialSupervision: subOneZxdcProRankTab.value
}
const res = await getSubOneYellowBetDrug(body)
rightOverview.value = res.overview; rightOverview.value = res.overview;
fxsjYellowBetOverview.value = res.fxsjYellowBetOverview fxsjYellowBetOverview.value = res.fxsjYellowBetOverview
jsdwYellowBetOverview.value = res.jsdwYellowBetOverview jsdwYellowBetOverview.value = res.jsdwYellowBetOverview
@ -600,7 +608,7 @@ const getYellowBetDrugData = async (departId,times) => {
}; };
watch(subOneZxdcProRankTab, () => { watch(subOneZxdcProRankTab, () => {
getYellowBetDrugData(currentDepartId, time.value) getYellowBetDrugData()
}) })
@ -808,23 +816,29 @@ const getMapJSON = async (departId = currentDepartId) => {
echarts.registerMap("changsha", res); echarts.registerMap("changsha", res);
subOneSceneInspMapChart.value.chart.setOption(option.value); subOneSceneInspMapChart.value.chart.setOption(option.value);
} }
const getSubOneChangedRankData = async (departId, times) => { const getSubOneChangedRankData = async () => {
const res = await getSubOneChangedRank(departId, times) const res = await getSubOneChangedRank({
departId: currentDepartId,
beginTime: time.value[0],
endTime: time.value[1]
})
leftOverview.value =res.overview; leftOverview.value =res.overview;
fxsjRankOverview.value = res.fxsjRankOverview;
jsdwRankOverview.value = res.jsdwRankOverview;
fxsjChangedRankList.value = res.fxsjChangedRankList; fxsjChangedRankList.value = res.fxsjChangedRankList;
jsdwChangedRankList.value = res.jsdwChangedRankList; jsdwChangedRankList.value = res.jsdwChangedRankList;
console.log(res); console.log(res);
} }
const getSubOneProblemTypeRateData = async (departId, times) => { const getSubOneProblemTypeRateData = async () => {
const res = await getSubOneProblemTypeRate(departId, times) const res = await getSubOneProblemTypeRate(currentDepartId, time.value)
// wtlxList.value = circularChart; // wtlxList.value = circularChart;
wtlxList.value = res.wtlxList wtlxList.value = res.wtlxList
} }
const getSubOneSupervisionNotifyCountData = async (departId, times) => { const getSubOneSupervisionNotifyCountData = async () => {
const res = await getSubOneSupervisionNotifyCount(departId, times) const res = await getSubOneSupervisionNotifyCount({
departId: currentDepartId,
beginTime: time.value[0],
endTime: time.value[1]
})
Object.assign(overview.value, { Object.assign(overview.value, {
correctionRate: Number(res.overview.completedRate), correctionRate: Number(res.overview.completedRate),
supervisionNotifyPreTotal: Number(res.overview.personNumber), supervisionNotifyPreTotal: Number(res.overview.personNumber),
@ -835,8 +849,12 @@ const getSubOneSupervisionNotifyCountData = async (departId, times) => {
reportNumber: Number(res.overview.reportNumber) reportNumber: Number(res.overview.reportNumber)
}); });
} }
const getSubOneSupervisionMapData = async (departId, times) => { const getSubOneSupervisionMapData = async () => {
const res = await getSubOneSupervisionMap(departId, times); const res = await getSubOneSupervisionNotifyMap({
departId: currentDepartId,
beginTime: time.value[0],
endTime: time.value[1]
});
const mappedData = res.superviseTempMapVoList.map(item => { const mappedData = res.superviseTempMapVoList.map(item => {
return { return {
...item, ...item,
@ -844,7 +862,7 @@ const getSubOneSupervisionMapData = async (departId, times) => {
}; };
}); });
const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0);
const avg = total / mappedData.length; // const avg = total / mappedData.length; // <EFBFBD>?
const range30Percent = avg * 0.3 // const range30Percent = avg * 0.3 //
option.value.visualMap.pieces = [ option.value.visualMap.pieces = [
{gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, {gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"},
@ -854,41 +872,32 @@ const getSubOneSupervisionMapData = async (departId, times) => {
superviseTempMapVoList.value = mappedData; superviseTempMapVoList.value = mappedData;
option.value.series[0].data = mappedData; option.value.series[0].data = mappedData;
} }
const getSubOneSupervisionTrendData = async (departId, year) => { const getSubOneSupervisionTrendData = async () => {
const res = await getSubOneSupervisionTrend(departId, year) const res = await getSubOneSupervisionTrend(currentDepartId, selectedYear.value)
const supervisionTrend = res.supervisionTrend; const supervisionTrend = res.supervisionTrend;
const categories = supervisionTrend.map(item => item.name); const categories = supervisionTrend.map(item => item.name);
const values = supervisionTrend.map(item => item.value); const values = supervisionTrend.map(item => item.value);
proTrend.value.xAxis.data = categories; proTrend.value.xAxis.data = categories;
proTrend.value.series[0].data = values; 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 getSubOneWorkDynamicsData = async () => {
const data = await getSubOneWorkDynamics(departId, times); const data = await getSubOneWorkDynamics(currentDepartId, time.value);
const colorNewsVoList = workDynamicColorMapping(data); const colorNewsVoList = workDynamicColorMapping(data);
messages.value = colorNewsVoList; messages.value = colorNewsVoList;
} }
const getData = async () => { const getData = async () => {
await Promise.all([ getMapJSON(currentDepartId);
getMapJSON(currentDepartId), getSubOneSupervisionMapData();
getSubOneSupervisionMapData(currentDepartId, time.value), getSubOneChangedRankData();
getSubOneChangedRankData(currentDepartId, time.value), getSubOneProblemTypeRateData();
getSubOneProblemTypeRateData(currentDepartId, time.value), getSubOneSupervisionNotifyCountData();
getSubOneSupervisionNotifyCountData(currentDepartId, time.value), getSubOneSupervisionTrendData();
getSubOneSupervisionTrendData(currentDepartId, selectedYear.value), getYellowBetDrugData();
getYellowBetDrugData(currentDepartId, time.value), getSubOneWorkDynamicsData();
getSubOneWorkDynamicsData(currentDepartId, time.value)
]);
} }
// endregion // endregion
@ -922,17 +931,17 @@ const subOneSceneInspMapAnimation = () => {
seriesIndex: 0, seriesIndex: 0,
}); });
mapTemp.dispatchAction({ mapTemp.dispatchAction({
type: "highlight", //highLight type: "highlight", //highLight <EFBFBD>?
seriesIndex: 0, //index seriesIndex: 0, //index
dataIndex: randomNum, //index dataIndex: randomNum, //index
}); });
mapTemp.dispatchAction({ mapTemp.dispatchAction({
type: "showTip", //showTip type: "showTip", //showTip <EFBFBD>?
seriesIndex: 0, seriesIndex: 0,
dataIndex: randomNum, dataIndex: randomNum,
}); });
}; };
// 2 // 2 <EFBFBD>?
subOneSceneInspMapIntervalId = setInterval(subOneSceneInspMapAnimation, 2000); subOneSceneInspMapIntervalId = setInterval(subOneSceneInspMapAnimation, 2000);
// //
const subOneSceneInspTrendAnimation = () => { const subOneSceneInspTrendAnimation = () => {
@ -961,7 +970,7 @@ const subOneSceneInspZxdxRankAnimation = () => {
} }
}; };
subOneSceneInspZxdxIntervalId = setInterval(subOneSceneInspZxdxRankAnimation, 5000); subOneSceneInspZxdxIntervalId = setInterval(subOneSceneInspZxdxRankAnimation, 5000);
// // <EFBFBD>?
const subOneSceneWorkDynamicsAnimation = () => { const subOneSceneWorkDynamicsAnimation = () => {
const sceneScrollTemp = subOneSceneScrollbar?.value; const sceneScrollTemp = subOneSceneScrollbar?.value;
const maxScroll = sceneScrollTemp?.wrapRef?.scrollHeight - sceneScrollTemp?.wrapRef?.clientHeight; const maxScroll = sceneScrollTemp?.wrapRef?.scrollHeight - sceneScrollTemp?.wrapRef?.clientHeight;
@ -992,7 +1001,7 @@ onMounted(() => {
}); });
const handleCommand = (year) => { const handleCommand = (year) => {
selectedYear.value = year; // selectedYear.value = year; //
getSubOneSupervisionTrendData(currentDepartId, selectedYear.value); getSubOneSupervisionTrendData();
}; };
const handleClick = (params) => { const handleClick = (params) => {
const departId = params.data.departId; const departId = params.data.departId;
@ -1193,7 +1202,7 @@ const getNegativePageFun = async (row)=>{
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #FFFFFF; color: #FFFFFF;
border-bottom: 1px solid #253755; /* 设置下边*/ border-bottom: 1px solid #253755; /* 设置下边<EFBFBD>?*/
} }
.tooltip-content { .tooltip-content {

Loading…
Cancel
Save