+
+
+ From ac4076878f0af151daa3777c8b177aa085b6ad7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E7=88=B1=E5=AD=A6=E4=B9=A0=E7=9A=84=E7=9F=B3?= =?UTF-8?q?=E5=90=8C=E5=AD=A6?= <2936013465@qq.com> Date: Mon, 16 Dec 2024 18:36:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E7=9D=A3=E5=AF=9F=E4=BA=8C?= =?UTF-8?q?=E7=BA=A7=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/screen/mail.ts | 5 + src/api/screen/sub1.ts | 16 +- src/api/screen/subScreen/videoSupervise.ts | 21 + src/router/routes.ts | 4 + src/views/datav/MailVisits.vue | 85 +- src/views/datav/SceneInsp.vue | 3 +- src/views/datav/Sub1.vue | 164 ++-- src/views/datav/VideoInsp.vue | 12 + .../datav/subonedatav/SubOneVideoInsp.vue | 723 ++++++++++++++++++ 9 files changed, 958 insertions(+), 75 deletions(-) create mode 100644 src/api/screen/subScreen/videoSupervise.ts create mode 100644 src/views/datav/subonedatav/SubOneVideoInsp.vue diff --git a/src/api/screen/mail.ts b/src/api/screen/mail.ts index 6366b88..8905683 100644 --- a/src/api/screen/mail.ts +++ b/src/api/screen/mail.ts @@ -16,6 +16,11 @@ export function getAllMailCount(times) { }); } +export function getMailMapIcon(times) { + return request.get({ + url: `/datav/mailVisits/getMailMapIcon?beginTime=${times[0]}&endTime=${times[1]}` + }); +} export function getMailTrend(year) { return request.get({ diff --git a/src/api/screen/sub1.ts b/src/api/screen/sub1.ts index 73ea95f..c6fd5b1 100644 --- a/src/api/screen/sub1.ts +++ b/src/api/screen/sub1.ts @@ -7,6 +7,18 @@ export function getSubOneStreetMap(departPId) { } +export function getSubOneSupervisionRank(departPId, times) { + return request.get({ + url: `/datav/sub1/getSubOneSupervisionRank?departPId=${departPId}&beginTime=${times[0]}&endTime=${times[1]}` + }); +} + +export function getSubOneOverView(departPId, times) { + return request.get({ + url: `/datav/sub1/getSubOneOverView?departPId=${departPId}&beginTime=${times[0]}&endTime=${times[1]}` + }); +} + export function getSubOneTrend(departPId, year) { return request.get({ @@ -15,8 +27,8 @@ export function getSubOneTrend(departPId, year) { } -export function getCaseVerifyRank(departPId, times) { +export function getSubOneCaseVerifyRank(departPId, times) { return request.get({ - url: `/datav/sub1/getCaseVerifyRank?departPId=${departPId}&beginTime=${times[0]}&endTime=${times[1]}` + url: `/datav/sub1/getSubOneCaseVerifyRank?departPId=${departPId}&beginTime=${times[0]}&endTime=${times[1]}` }); } diff --git a/src/api/screen/subScreen/videoSupervise.ts b/src/api/screen/subScreen/videoSupervise.ts new file mode 100644 index 0000000..4c90e85 --- /dev/null +++ b/src/api/screen/subScreen/videoSupervise.ts @@ -0,0 +1,21 @@ +import request from "@/api/request"; + + +export function getSubOneAllVideoSuperviseCount(departId,times) { + return request.get({ + url: `/datav/sub1/videoSupervise/getSubOneAllVideoSuperviseCount?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` + }); +} + + +export function getSubOneVideoSuperviseProblemRank(departId,times) { + return request.get({ + url: `/datav/sub1/videoSupervise/getSubOneVideoSuperviseProblemRank?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}` + }); +} + +export function getSubOneVideoSuperviseTrend(departId,year) { + return request.get({ + url: `/datav/sub1/videoSupervise/getSubOneVideoSuperviseTrend?departId=${departId}&year=${year}` + }); +} \ No newline at end of file diff --git a/src/router/routes.ts b/src/router/routes.ts index c75c2ab..90bacd0 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -70,6 +70,10 @@ export const routes = [ path: '/datav/sub2', component: () => import('@/views/datav/Sub2.vue'), }, + { + path: '/datav/subOneVideoInsp', + component: () => import('@/views/datav/subonedatav/SubOneVideoInsp.vue'), + }, ]; diff --git a/src/views/datav/MailVisits.vue b/src/views/datav/MailVisits.vue index 4ee1078..fa110d7 100644 --- a/src/views/datav/MailVisits.vue +++ b/src/views/datav/MailVisits.vue @@ -345,7 +345,13 @@ import vCharts from "vue-echarts"; import changshaMap from "@/assets/data/changsha.json"; import * as echarts from "echarts/core"; import moment from "moment/moment.js"; -import {getAllMailCount, getEntanglementAndMassMail, getFirstAndRepeatMail, getMailTrend} from "@/api/screen/mail.ts"; +import { + getAllMailCount, + getEntanglementAndMassMail, + getFirstAndRepeatMail, + getMailMapIcon, + getMailTrend +} from "@/api/screen/mail.ts"; //region 所有变量 @@ -452,11 +458,72 @@ const getEntangleMassRank = async (timeValue = time.value) => { bwzdEntanglementMailList.value = res.bwzdEntanglementList; bwzdMassMailList.value = res.bwzdMassList; } -const getData = () => { - getFirstAndRepeatMailRank(); - getOverview(); - getTrend(); - getEntangleMassRank(); + +const mailMapIconList = ref([]); +const getMailMapIconList = async (timeValue = time.value) => { + const res = await getMailMapIcon(timeValue); + const mappedData = res.mailMapIconList.map(item => { + let name; + switch (item.name) { + case '长沙县局': + name = '长沙县'; + break; + case '芙蓉分局': + name = '芙蓉区'; + break; + case '天心分局': + name = '天心区'; + break; + case '岳麓分局': + name = '岳麓区'; + break; + case '开福分局': + name = '开福区'; + break; + case '雨花分局': + name = '雨花区'; + break; + case '望城分局': + name = '望城区'; + break; + case '宁乡市局': + name = '宁乡市'; + break; + case '浏阳市局': + name = '浏阳市'; + break; + case '高新分局': + name = '高新区'; + break; + default: + name = item.name; + break; + } + return { + ...item, + originalName: item.name, // 添加原始名称 + name: name, + value: item.total, + }; + }); + mailMapIconList.value = mappedData; + console.log(mailMapIconList) + const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); + const avg = total / mappedData.length; // 计算平均值 + const range30Percent = avg*0.3 // 不用取整,小数也可以 + option.value.series[0].data = mappedData; + option.value.visualMap.pieces = [ + {gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, + {gte: avg - range30Percent, lte: avg + range30Percent+0.1, label: `平均问题上下浮动30%内`, color: "#F6A149"}, + {gte: avg + range30Percent, label: "高于平均问题30%", color: "#D34343"}, + ]; +} +const getData = () => { + getFirstAndRepeatMailRank(); + getOverview(); + getMailMapIconList() + getTrend(); + getEntangleMassRank(); } // endregion @@ -520,6 +587,7 @@ const gobalTempMapVoList = [ "numTotal": 44, } ]; + // const gobalTempMapVoList=[] const option = ref({ geo: { @@ -530,7 +598,7 @@ const option = ref({ trigger: 'item', formatter: function (params) { console.log(params) - const dataItem = gobalTempMapVoList.find(item => item.name.includes(params.name.substring(0, 2))); + const dataItem = mailMapIconList.value.find(item => item.name.includes(params.name.substring(0, 2))); if (dataItem) { return `
+
+
+