diff --git a/src/views/datav/CaseVerif.vue b/src/views/datav/CaseVerif.vue
index 8cd8006..3377f37 100644
--- a/src/views/datav/CaseVerif.vue
+++ b/src/views/datav/CaseVerif.vue
@@ -196,17 +196,7 @@ const overview = ref({
punishOrg: 0, // 问责单位数、
Rate: 0, // 查实率
});
-let gobalTempMapVoList = ref([
- {
- "name": "浏阳市局",
- "total": 93,
- "confirmed": 11,
- "dealCasePro": 8,
- "punishPre": 7,
- "punishOrg": 9,
- "rate": "12%"
- }
-]);
+let gobalTempMapVoList = ref([]);
const jjjgPieList = ref([]);
@@ -287,8 +277,15 @@ const getMapIcon = async(timeValue)=> {
};
});
gobalTempMapVoList.value = mappedData
+ 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 getProTrendList= async(year) => {
const res = await getCaseVerificationTrend(year);
@@ -381,7 +378,7 @@ const option = ref({
`;
} else {
return `
`;
} else {
return ``;
}
},
-
},
visualMap: {
- min: 1,
- max: 200,
- text: ['最高问题数', '最低问题数'],
- left: 'right',
+ type: "piecewise",
+ bottom: 10,
+ pieces: [
+ {gte: 0, lte: 200, label: "低于平均问题30%", color: "#4987F6"},
+ {gte: 200, lte: 400, label: "平均问题上下浮动30%内", color: "#F6A149"},
+ {gte: 400, label: "高于平均问题30%", color: "#D34343"},],
+ right: 10,
+ realtime: false,
+ orient: "horizontal",
textStyle: {
- color: '#fff',
+ color: "#fff",
},
- realtime: false,
calculable: true,
- inRange: {
- color: ['#4987F6', '#F6A149', '#D34343']
- }
+ // inRange: {
+ // color: ['#4987F6', '#F6A149', '#D34343']
+ // }
},
series: [
{
@@ -1084,8 +1088,6 @@ const proTrend = ref({
// endregion
-
-
const handleCommand = (year) => {
selectedYear.value = year; // 更新当前选中的年份
getSupervisionTrend(year).then(res => {
@@ -1099,7 +1101,6 @@ const handleCommand = (year) => {
};
-
// region 初始化数据
const time = ref([
moment().startOf("year").format("YYYY-MM-DD"),
@@ -1107,8 +1108,8 @@ const time = ref([
]);
// 地图临时测试数据
-const getData = async ()=> {
- await getAllSupervisionNotifyCount(time.value).then((res) => {
+const getData = async () => {
+ getAllSupervisionNotifyCount(time.value).then((res) => {
Object.assign(overview.value, {
correctionRate: Number(res.overview.correctionRate),
supervisionNotifyPreTotal: Number(res.overview.supervisionNotifyPreTotal),
@@ -1120,7 +1121,7 @@ const getData = async ()=> {
});
});
- await getChangedRank(time.value, 3).then((res) => {
+ getChangedRank(time.value, 3).then((res) => {
fxsjRankOverview.value = res.fxsjRankOverview;
jsdwRankOverview.value = res.jsdwRankOverview;
fxsjChangedRankList.value = res.fxsjChangedRankList;
@@ -1129,7 +1130,7 @@ const getData = async ()=> {
// data1.value = res.changedRankList;
});
- await getSupervisionTrend(new Date().getFullYear()).then((res) => {
+ getSupervisionTrend(new Date().getFullYear()).then((res) => {
const supervisionTrend = res.supervisionTrend;
const categories = supervisionTrend.map(item => item.name);
const values = supervisionTrend.map(item => item.value);
@@ -1138,7 +1139,7 @@ const getData = async ()=> {
proTrend.value.series[0].data = values;
});
- await getMap(time.value).then((res) => {
+ getMap(time.value).then((res) => {
// 对返回的数据映射处理
const mappedData = res.superviseTempMapVoList.map(item => {
let name;
@@ -1184,19 +1185,23 @@ const getData = async ()=> {
value: item.totalPro,
};
});
- const maxItem = mappedData.reduce((prev, current) => (prev.value > current.value) ? prev : current);
- const minItem = mappedData.reduce((prev, current) => (prev.value < current.value) ? prev : current);
+ const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0);
+ const avg = total / mappedData.length; // 计算平均值
+ const range30Percent = avg*0.3 // 不用取整,小数也可以
+ option.value.visualMap.pieces = [
+ {gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"},
+ {gte: avg - range30Percent, lte: avg + range30Percent, label: "平均问题上下浮动30%内", color: "#F6A149"},
+ {gte: avg + range30Percent, label: "高于平均问题30%", color: "#D34343"},
+ ];
superviseTempMapVoList.value = mappedData;
option.value.series[0].data = mappedData;
- option.value.visualMap.max = maxItem.value;
- option.value.visualMap.min = minItem.value;
})
- await getProblemTypeRate(time.value).then((res) => {
+ getProblemTypeRate(time.value).then((res) => {
wtlxList.value = res.wtlxList
});
- await getYellowBetDrug(time.value).then((res) => {
+ getYellowBetDrug(time.value).then((res) => {
fxsjYellowBetOverview.value = res.fxsjYellowBetOverview
jsdwYellowBetOverview.value = res.jsdwYellowBetOverview
fxsjYellowBetRankList.value = res.fxsjYellowBetRankList
@@ -1206,28 +1211,28 @@ const getData = async ()=> {
// hddList.value = res.hddList
});
- await getGunController(time.value).then((res) => {
+ getGunController(time.value).then((res) => {
fxsjGunControllerOverview.value = res.fxsjGunControllerOverview
jsdwGunControllerOverview.value = res.jsdwGunControllerOverview
fxsjGunControllerRankList.value = res.fxsjGunControllerRankList
jsdwGunControllerRankList.value = res.jsdwGunControllerRankList
})
- await getCompanyProblem(time.value).then((res) => {
+ getCompanyProblem(time.value).then((res) => {
fxsjCompanyProblemOverview.value = res.fxsjCompanyProblemOverview
jsdwCompanyProblemOverview.value = res.jsdwCompanyProblemOverview
fxsjCompanyProblemRankList.value = res.fxsjCompanyProblemRankList
jsdwCompanyProblemRankList.value = res.jsdwCompanyProblemRankList
})
- await getHandleCase(time.value).then((res) => {
+ getHandleCase(time.value).then((res) => {
fxsjHandleCaseOverview.value = res.fxsjHandleCaseOverview
jsdwHandleCaseOverview.value = res.jsdwHandleCaseOverview
fxsjHandleCaseRankList.value = res.fxsjHandleCaseRankList
jsdwHandleCaseRankList.value = res.jsdwHandleCaseRankList
})
- await getCheckBeer(time.value).then((res) => {
+ getCheckBeer(time.value).then((res) => {
fxsjCheckBeerOverview.value = res.fxsjCheckBeerOverview
jsdwCheckBeerOverview.value = res.jsdwCheckBeerOverview
fxsjCheckBeerRankList.value = res.fxsjCheckBeerRankList
diff --git a/src/views/datav/VideoInsp.vue b/src/views/datav/VideoInsp.vue
index 7735f52..74434b3 100644
--- a/src/views/datav/VideoInsp.vue
+++ b/src/views/datav/VideoInsp.vue
@@ -232,7 +232,7 @@ const getOverview = async (timeValue) => {
}
const getMap = async (timeValue) => {
const res = await getVideoSuperviseMap(timeValue);
- console.log(res.videoSuperviseMapIconVoList)
+ // console.log(res.videoSuperviseMapIconVoList)
const mappedData = res.videoSuperviseMapIconVoList.map(item => {
let name;
switch (item.name) {
@@ -277,13 +277,16 @@ const getMap = async (timeValue) => {
value: item.discoverProblem,
};
});
- const maxItem = mappedData.reduce((prev, current) => (prev.value > current.value) ? prev : current);
- const minItem = mappedData.reduce((prev, current) => (prev.value < current.value) ? prev : current);
+ const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0);
+ const avg = total / mappedData.length; // 计算平均值
+ const range30Percent = avg*0.3 // 不用取整,小数也可以
mapIconList.value = mappedData
option.value.series[0].data = mapIconList
- option.value.visualMap.max = maxItem.value;
- option.value.visualMap.min = minItem.value;
- // console.log(mapIconList.value)
+ 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"},
+ ];
}
@@ -419,31 +422,35 @@ const option = ref({
${params.name}
`;
}
},
-
},
visualMap: {
- min: 1,
- max: 200,
- text: ['最高问题数', '最低问题数'],
- left: 'right',
+ type: "piecewise",
+ bottom: 10,
+ pieces: [
+ {gte: 0, lte: 200, label: "低于平均问题30%", color: "#4987F6"},
+ {gte: 200, lte: 400, label: "平均问题上下浮动30%内", color: "#F6A149"},
+ {gte: 400, label: "高于平均问题30%", color: "#D34343"},],
+ right: 10,
+ realtime: false,
+ orient: "horizontal",
textStyle: {
- color: '#fff',
+ color: "#fff",
},
- realtime: false,
+
calculable: true,
inRange: {
- color: ['#4987F6', '#F6A149', '#D34343']
- }
+ color: ["#4987F6","#F6A149", "#D34343" ],
+ },
},
series: [
{