Browse Source

修改样式

main
不爱学习的石同学 11 months ago
parent
commit
474e49046d
  1. 2
      src/components/datav/chart-bar.vue
  2. 58
      src/views/data/Mail12337.vue
  3. 18
      src/views/datav/CaseVerif.vue
  4. 16
      src/views/datav/Gobal.vue
  5. 2
      src/views/datav/Lmgz.vue
  6. 22
      src/views/datav/MailVisits.vue
  7. 23
      src/views/datav/SceneInsp.vue
  8. 19
      src/views/datav/VideoInsp.vue
  9. 16
      src/views/datav/subonedatav/SubOneCaseVerif.vue
  10. 16
      src/views/datav/subonedatav/SubOneGlobal.vue
  11. 20
      src/views/datav/subonedatav/SubOneMailVisits.vue
  12. 20
      src/views/datav/subonedatav/SubOneSceneInsp.vue
  13. 18
      src/views/datav/subonedatav/SubOneVideoInsp.vue

2
src/components/datav/chart-bar.vue

@ -105,6 +105,7 @@ function getColor(val) {
if (props.color instanceof String) { if (props.color instanceof String) {
return props.color; return props.color;
} }
console.log(val)
if (props.color instanceof Array) { if (props.color instanceof Array) {
const colors = [...props.color]; const colors = [...props.color];
// percentage // percentage
@ -116,7 +117,6 @@ function getColor(val) {
} }
} }
return "linear-gradient(270deg, #63e700 0%, #19674c 100%)"; return "linear-gradient(270deg, #63e700 0%, #19674c 100%)";
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

58
src/views/data/Mail12337.vue

@ -19,8 +19,8 @@
style="width: 160px" style="width: 160px"
@change="delete query.responderValue" @change="delete query.responderValue"
> >
<el-option value="name" label="姓名" /> <el-option value="name" label="姓名"/>
<el-option value="phone" label="电话" /> <el-option value="phone" label="电话"/>
</el-select> </el-select>
<el-input <el-input
placeholder="请输入" placeholder="请输入"
@ -33,7 +33,7 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item label="登记时间"> <el-form-item label="登记时间">
<date-time-range-picker-ext <date-time-range-picker-ext
v-model="query.discoverTime" v-model="query.discoveryTime"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -70,7 +70,7 @@
<div> <div>
<el-button type="primary" @click="getList"> <el-button type="primary" @click="getList">
<template #icon> <template #icon>
<icon name="el-icon-Search" /> <icon name="el-icon-Search"/>
</template> </template>
查询 查询
</el-button> </el-button>
@ -86,15 +86,15 @@
show-overflow-tooltip show-overflow-tooltip
width="180" width="180"
/> />
<el-table-column label="投诉渠道" prop="letterSource" width="120" /> <el-table-column label="投诉渠道" prop="letterSource" width="120"/>
<el-table-column <el-table-column
label="登记时间" label="登记时间"
prop="discoverTime" prop="discoverTime"
width="150" width="150"
/> />
<el-table-column label="投诉人" prop="name" width="90" /> <el-table-column label="投诉人" prop="name" width="90"/>
<el-table-column label="电话" prop="phone" width="116" /> <el-table-column label="电话" prop="phone" width="116"/>
<el-table-column label="被投诉机构" show-overflow-tooltip> <el-table-column label="被投诉机构" show-overflow-tooltip>
<template #default="{ row }"> <template #default="{ row }">
@ -128,8 +128,7 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" width="120"> <el-table-column label="操作" width="120">
<template #default="{ row }"> <template #default="{ row }">
<el-button type="danger" link @click="handleDel(row)" <el-button type="danger" link @click="handleDel(row)">删除
>删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -158,10 +157,10 @@
finish-status="success" finish-status="success"
style="width: 800px" style="width: 800px"
> >
<el-step title="数据导入" /> <el-step title="数据导入"/>
<el-step title="数据校验" /> <el-step title="数据校验"/>
<el-step title="问题下发" /> <el-step title="问题下发"/>
<el-step title="完成下发" /> <el-step title="完成下发"/>
</el-steps> </el-steps>
</header> </header>
<div style="min-height: 50vh"> <div style="min-height: 50vh">
@ -178,8 +177,10 @@
> >
<template v-if="fileList.length === 0"> <template v-if="fileList.length === 0">
<el-icon class="el-icon--upload" <el-icon class="el-icon--upload"
><upload-filled >
/></el-icon> <upload-filled
/>
</el-icon>
<div class="el-upload__text"> <div class="el-upload__text">
<p>点击或拖拽文件到此区域上传</p> <p>点击或拖拽文件到此区域上传</p>
</div> </div>
@ -442,10 +443,12 @@
v-for="item in dict.approvalFlow" v-for="item in dict.approvalFlow"
:key="item.dictCode" :key="item.dictCode"
:value="item.dictValue" :value="item.dictValue"
>{{ item.dictLabel >{{
item.dictLabel
}}{{ }}{{
item.remark ? `(${item.remark})` : "" item.remark ? `(${item.remark})` : ""
}}</el-radio }}
</el-radio
> >
</el-radio-group> </el-radio-group>
<div class="tips mt-10"> <div class="tips mt-10">
@ -459,7 +462,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="附件说明" prop="thingFiles"> <el-form-item label="附件说明" prop="thingFiles">
<file-upload v-model:files="formData.thingFiles" /> <file-upload v-model:files="formData.thingFiles"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
@ -471,7 +474,9 @@
<template #sub-title> <template #sub-title>
<p> <p>
<span>{{ formData.taskName }}</span> <span>{{ formData.taskName }}</span>
已成功导入系统并完成下发您可通过<span class="link pointer" @click="router.push('/work/BatchDistribute')">批量下发</span> <span class="link pointer" @click="router.push('/query')">综合查询</span>功能进行查看 已成功导入系统并完成下发您可通过<span class="link pointer"
@click="router.push('/work/BatchDistribute')">批量下发</span> <span
class="link pointer" @click="router.push('/query')">综合查询</span>功能进行查看
</p> </p>
</template> </template>
</el-result> </el-result>
@ -479,25 +484,27 @@
</div> </div>
<footer class="flex end mt-20 v-center"> <footer class="flex end mt-20 v-center">
<el-button size="large" @click="handlePrev" v-if="activeStep !== 3" <el-button size="large" @click="handlePrev" v-if="activeStep !== 3"
>上一步</el-button >上一步
</el-button
> >
<el-button <el-button
type="primary" type="primary"
size="large" size="large"
@click="handleNext" @click="handleNext"
:disabled="loading" :disabled="loading"
>{{ activeStep === 3 ? "确定" : "下一步" }}</el-button >{{ activeStep === 3 ? "确定" : "下一步" }}
</el-button
> >
</footer> </footer>
</el-dialog> </el-dialog>
</template> </template>
<script setup> <script setup>
import { delPetitionComplaint } from "@/api/data/petitionComplaint"; import {delPetitionComplaint} from "@/api/data/petitionComplaint";
import { ProblemSources, DistributionState } from "@/enums/dictEnums"; import {ProblemSources, DistributionState} from "@/enums/dictEnums";
import feedback from "@/utils/feedback"; import feedback from "@/utils/feedback";
import { getDictLable } from "@/utils/util"; import {getDictLable} from "@/utils/util";
import useCatchStore from "@/stores/modules/catch"; import useCatchStore from "@/stores/modules/catch";
import { import {
@ -528,6 +535,7 @@ const list = ref([]);
const total = ref(0); const total = ref(0);
function getList() { function getList() {
console.log(query.value);
listPetitionComplaint12337(query.value).then((data) => { listPetitionComplaint12337(query.value).then((data) => {
list.value = data.records; list.value = data.records;
total.value = data.total; total.value = data.total;
@ -567,6 +575,7 @@ const formRef = ref();
function handlePrev() { function handlePrev() {
activeStep.value = activeStep.value - 1; activeStep.value = activeStep.value - 1;
} }
async function handleNext() { async function handleNext() {
if (activeStep.value === 0) { if (activeStep.value === 0) {
if (fileList.value.length === 0) { if (fileList.value.length === 0) {
@ -632,5 +641,6 @@ watch(importShow, (val) => {
} }
}); });
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>

18
src/views/datav/CaseVerif.vue

@ -222,11 +222,7 @@ const colors = [
{ {
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)", color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 60, percentage: 60,
}, }
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 40,
},
]; ];
// region // region
@ -575,15 +571,15 @@ const getCaseVerificationMapData = async (timeValue) => {
value: item.total, value: item.total,
}; };
}); });
const maxItem = mappedData.reduce((max, item) => (Number(item.value) > Number(max.value) ? item : max), mappedData[0]);
const range60Percent = maxItem.value * 0.6 //
const range80Percent = maxItem.value * 0.8 //
globalTempMapVoList.value = mappedData globalTempMapVoList.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.series[0].data = mappedData;
option.value.visualMap.pieces = [ option.value.visualMap.pieces = [
{gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, {gte: 0, lte: range60Percent, label: "低于最大问题的60%", color: "#4987F6"},
{gte: avg - range30Percent, lte: avg + range30Percent + 0.1, label: "平均问题上下浮动30%内", color: "#F6A149"}, {gte: range60Percent, lte: range80Percent, label: "介于最大问题的60%~80%", color: "#F6A149"},
{gte: avg + range30Percent, label: "高于平均问题30%", color: "#D34343"}, {gte: range80Percent, label: "高于最大问题80%", color: "#D34343"},
]; ];
} }
const getCaseVerificationTrendData = async (year) => { const getCaseVerificationTrendData = async (year) => {

16
src/views/datav/Gobal.vue

@ -197,11 +197,7 @@ const colors = [
{ {
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)", color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 60, percentage: 60,
}, }
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 40,
},
]; ];
const activeOrgTab = ref("1"); const activeOrgTab = ref("1");
@ -416,6 +412,8 @@ const proTrend = ref({
const getOrganizationRankData = async (timeValue = time.value) => { const getOrganizationRankData = async (timeValue = time.value) => {
const res = await getOrganizationRank(timeValue); const res = await getOrganizationRank(timeValue);
fxsjlist.value = res.fxsjlist; fxsjlist.value = res.fxsjlist;
// 5, 3, 2, 1
// console.log(fxsjlist.value);
jsdwlist.value = res.jsdwlist; jsdwlist.value = res.jsdwlist;
} }
const getBusinessRateData = async (timeValue = time.value) => { const getBusinessRateData = async (timeValue = time.value) => {
@ -474,16 +472,14 @@ const getGlobalMapData = async (timeValue = time.value) => {
}); });
// //
const maxItem = mappedData.reduce((max, item) => (Number(item.value) > Number(max.value) ? item : max), mappedData[0]); const maxItem = mappedData.reduce((max, item) => (Number(item.value) > Number(max.value) ? item : max), mappedData[0]);
const range40Percent = maxItem.value * 0.4 //
const range60Percent = maxItem.value * 0.6 // const range60Percent = maxItem.value * 0.6 //
const range80Percent = maxItem.value * 0.8 // const range80Percent = maxItem.value * 0.8 //
globalTempMapVoList.value = mappedData; globalTempMapVoList.value = mappedData;
option.value.series[0].data = globalTempMapVoList; option.value.series[0].data = globalTempMapVoList;
console.log(range40Percent, range60Percent, range80Percent);
option.value.visualMap.pieces = [ option.value.visualMap.pieces = [
{gte: 0, lte: range40Percent, label: "低于最大问题的40%", color: "#4987F6"}, {gte: 0, lte: range60Percent, label: "低于最大问题的60%", color: "#4987F6"},
{gte: range40Percent, lte: range60Percent, label: "平均问题上下浮动30%内", color: "#F6A149"}, {gte: range60Percent, lte: range80Percent, label: "介于最大问题的60%~80%", color: "#F6A149"},
{gte: range80Percent, label: "高于平均问题30%", color: "#D34343"}, {gte: range80Percent, label: "高于最大问题80%", color: "#D34343"},
]; ];
} }
const getGlobalTrendData = async (year = selectedYear.value) => { const getGlobalTrendData = async (year = selectedYear.value) => {

2
src/views/datav/Lmgz.vue

@ -347,7 +347,7 @@ let orgRateList = ref([])
let orgCarRateList = ref([]) let orgCarRateList = ref([])
const time = ref([ const time = ref([
moment().startOf("year").format("YYYY-MM-DD"), moment().subtract(1, "year").format("YYYY-MM-DD"),
moment().format("YYYY-MM-DD"), moment().format("YYYY-MM-DD"),
]); ]);

22
src/views/datav/MailVisits.vue

@ -71,6 +71,7 @@
:data="fxsjLeaderViewMailList" :data="fxsjLeaderViewMailList"
:max="11" :max="11"
size="large" size="large"
:color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -104,6 +105,7 @@
:data="bwzdLeaderViewMailList" :data="bwzdLeaderViewMailList"
:max="11" :max="11"
size="large" size="large"
:color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -256,7 +258,7 @@
:data="fxsjLeaderReviewMailList" :data="fxsjLeaderReviewMailList"
size="large" size="large"
:max="11" :max="11"
:color="colors" :color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -291,6 +293,7 @@
<datav-chart-bar <datav-chart-bar
:data="bwzdLeaderReviewMailList" :data="bwzdLeaderReviewMailList"
size="large" size="large"
:color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -422,6 +425,21 @@ const colors = [
percentage: 40, percentage: 40,
}, },
]; ];
const leaderViewColors = [
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 80,
},
{
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 60,
},
{
color: "linear-gradient( 270deg, #FB002D 0%, #822232 100%)",
percentage: 0,
},
];
//endregion //endregion
// region // region
@ -699,7 +717,7 @@ const option = ref({
borderColor: "#FF0000", // borderColor: "#FF0000", //
borderWidth: 4 // borderWidth: 4 //
}, },
data:[] data: []
} }
], ],
}) })

23
src/views/datav/SceneInsp.vue

@ -62,6 +62,7 @@
title="整改率排名" title="整改率排名"
sub-title="已整改/问题数" sub-title="已整改/问题数"
unit="%" unit="%"
:color="dayTimeColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -115,6 +116,7 @@
title="整改率排名" title="整改率排名"
sub-title="已整改/问题数" sub-title="已整改/问题数"
unit="%" unit="%"
:color="dayTimeColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -938,9 +940,28 @@ const colors = [
}, },
{ {
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)", color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 40, percentage: 0,
}, },
]; ];
const dayTimeColors = [
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 80,
},
{
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 75,
},
{
color: "linear-gradient( 270deg, #FB002D 0%, #822232 100%)",
percentage: 0,
},
];
// endregion // endregion
// region // region

19
src/views/datav/VideoInsp.vue

@ -243,11 +243,7 @@ const colors = [
{ {
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)", color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 60, percentage: 60,
}, }
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 40,
},
]; ];
const videoUrl = 'webrtc://47.121.143.167/live/livestream'; const videoUrl = 'webrtc://47.121.143.167/live/livestream';
// endregion // endregion
@ -478,15 +474,16 @@ const getVideoSuperviseMapData = async (timeValue) => {
value: item.discoverProblem, value: item.discoverProblem,
}; };
}); });
const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); //
const avg = total / mappedData.length; // const maxItem = mappedData.reduce((max, item) => (Number(item.value) > Number(max.value) ? item : max), mappedData[0]);
const range30Percent = avg * 0.3 // const range60Percent = maxItem.value * 0.6 //
const range80Percent = maxItem.value * 0.8 //
mapIconList.value = mappedData mapIconList.value = mappedData
option.value.series[0].data = mapIconList option.value.series[0].data = mapIconList
option.value.visualMap.pieces = [ option.value.visualMap.pieces = [
{gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, {gte: 0, lte: range60Percent, label: "低于最大问题的60%", color: "#4987F6"},
{gte: avg - range30Percent, lte: avg + range30Percent + 0.1, label: "平均问题上下浮动30%内", color: "#F6A149"}, {gte: range60Percent, lte: range80Percent, label: "介于最大问题的60%~80%", color: "#F6A149"},
{gte: avg + range30Percent, label: "高于平均问题30%", color: "#D34343"}, {gte: range80Percent, label: "高于最大问题80%", color: "#D34343"},
]; ];
} }
const getVideoSuperviseTrendData = async (year) => { const getVideoSuperviseTrendData = async (year) => {

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

@ -213,10 +213,6 @@ const colors = [
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)", color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 60, percentage: 60,
}, },
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 40,
},
]; ];
// endregion // endregion
@ -518,14 +514,14 @@ const getMapIcon = async(departId, timeValue)=> {
}; };
}); });
gobalTempMapVoList.value = mappedData gobalTempMapVoList.value = mappedData
const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); const maxItem = mappedData.reduce((max, item) => (Number(item.value) > Number(max.value) ? item : max), mappedData[0]);
const avg = total / mappedData.length; // const range60Percent = maxItem.value * 0.6 //
const range30Percent = avg*0.3 // const range80Percent = maxItem.value * 0.8 //
option.value.series[0].data = mappedData; option.value.series[0].data = mappedData;
option.value.visualMap.pieces = [ option.value.visualMap.pieces = [
{gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, {gte: 0, lte: range60Percent, label: "低于最大问题的60%", color: "#4987F6"},
{gte: avg - range30Percent, lte: avg + range30Percent+0.1, label: "平均问题上下浮动30%内", color: "#F6A149"}, {gte: range60Percent, lte: range80Percent, label: "介于最大问题的60%~80%", color: "#F6A149"},
{gte: avg + range30Percent, label: "高于平均问题30%", color: "#D34343"}, {gte: range80Percent, label: "高于最大问题80%", color: "#D34343"},
]; ];
} }
const getProTrendList= async(departId, year) => { const getProTrendList= async(departId, year) => {

16
src/views/datav/subonedatav/SubOneGlobal.vue

@ -10,7 +10,7 @@
v-model="activeOrgTab" v-model="activeOrgTab"
type="bottom-button" type="bottom-button"
> >
<datav-tab-item label="分县市局" name="1"> <datav-tab-item label="派出所" name="1">
<el-scrollbar height="340px"> <el-scrollbar height="340px">
<datav-chart-bar <datav-chart-bar
:data="fxsjlist" :data="fxsjlist"
@ -20,7 +20,7 @@
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
<datav-tab-item label="局属单位" name="2"> <datav-tab-item label="大队" name="2">
<el-scrollbar height="340px"> <el-scrollbar height="340px">
<datav-chart-bar <datav-chart-bar
:data="jsdwlist" :data="jsdwlist"
@ -428,15 +428,15 @@ const getSubOneGlobalMapIcon = async (departId = currentDepartId, timeValue = ti
value: item.totalPro, value: item.totalPro,
}; };
}); });
const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); const maxItem = mappedData.reduce((max, item) => (Number(item.value) > Number(max.value) ? item : max), mappedData[0]);
const avg = total / mappedData.length; // const range60Percent = maxItem.value * 0.6 //
const range30Percent = avg * 0.3 // const range80Percent = maxItem.value * 0.8 //
globalTempMapVoList.value = mappedData; globalTempMapVoList.value = mappedData;
option.value.series[0].data = globalTempMapVoList; option.value.series[0].data = globalTempMapVoList;
option.value.visualMap.pieces = [ option.value.visualMap.pieces = [
{gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, {gte: 0, lte: range60Percent, label: "低于最大问题的60%", color: "#4987F6"},
{gte: avg - range30Percent, lte: avg + range30Percent + 0.1, label: "平均问题上下浮动30%内", color: "#F6A149"}, {gte: range60Percent, lte: range80Percent, label: "介于最大问题的60%~80%", color: "#F6A149"},
{gte: avg + range30Percent, label: "高于平均问题30%", color: "#D34343"}, {gte: range80Percent, label: "高于最大问题80%", color: "#D34343"},
]; ];
} }
const getSubOneGlobalTrendData = async (departId = currentDepartId, year) => { const getSubOneGlobalTrendData = async (departId = currentDepartId, year) => {

20
src/views/datav/subonedatav/SubOneMailVisits.vue

@ -74,6 +74,7 @@
:max="11" :max="11"
size="large" size="large"
label-width="110" label-width="110"
:color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -110,6 +111,7 @@
:max="11" :max="11"
size="large" size="large"
label-width="110" label-width="110"
:color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -262,7 +264,7 @@
:data="fxsjLeaderReviewMailList" :data="fxsjLeaderReviewMailList"
size="large" size="large"
:max="11" :max="11"
:color="colors" :color="leaderViewColors"
label-width="110" label-width="110"
/> />
</el-scrollbar> </el-scrollbar>
@ -301,6 +303,7 @@
:data="bwzdLeaderReviewMailList" :data="bwzdLeaderReviewMailList"
size="large" size="large"
label-width="110" label-width="110"
:color="leaderViewColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -442,6 +445,21 @@ const colors = [
}, },
]; ];
const leaderViewColors = [
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 80,
},
{
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 60,
},
{
color: "linear-gradient( 270deg, #FB002D 0%, #822232 100%)",
percentage: 0,
},
];
//endregion //endregion
// region // region

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

@ -63,6 +63,7 @@
sub-title="已整改/问题数" sub-title="已整改/问题数"
unit="%" unit="%"
:label-width="110" :label-width="110"
:color="dayTimeColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -117,6 +118,7 @@
sub-title="已整改/问题数" sub-title="已整改/问题数"
unit="%" unit="%"
:label-width="110" :label-width="110"
:color="dayTimeColors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -938,7 +940,23 @@ const colors = [
}, },
{ {
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)", color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 40, percentage: 0,
},
];
const dayTimeColors = [
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 80,
},
{
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 75,
},
{
color: "linear-gradient( 270deg, #FB002D 0%, #822232 100%)",
percentage: 0,
}, },
]; ];

18
src/views/datav/subonedatav/SubOneVideoInsp.vue

@ -242,10 +242,6 @@ const colors = [
color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)", color: "linear-gradient( 270deg, #FFB90E 0%, #71501D 100%)",
percentage: 60, percentage: 60,
}, },
{
color: "linear-gradient( 270deg, #63E700 0%, #19674C 100%)",
percentage: 40,
},
]; ];
// endregion // endregion
@ -433,23 +429,21 @@ const getSubOneAllVideoSuperviseCountData = async (departId, timeValue) => {
const getSubOneVideoSuperviseMapData = async (departId, timeValue) => { const getSubOneVideoSuperviseMapData = async (departId, timeValue) => {
const res = await getSubOneVideoSuperviseMap(departId, timeValue); const res = await getSubOneVideoSuperviseMap(departId, timeValue);
console.log(res.videoSuperviseMapIconVoList)
console.log("地图数据来了");
const mappedData = res.videoSuperviseMapIconVoList.map(item => { const mappedData = res.videoSuperviseMapIconVoList.map(item => {
return { return {
...item, ...item,
value: item.discoverProblem, value: item.discoverProblem,
}; };
}); });
const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); const maxItem = mappedData.reduce((max, item) => (Number(item.value) > Number(max.value) ? item : max), mappedData[0]);
const avg = total / mappedData.length; // const range60Percent = maxItem.value * 0.6 //
const range30Percent = avg * 0.3 // const range80Percent = maxItem.value * 0.8 //
mapIconList.value = mappedData mapIconList.value = mappedData
option.value.series[0].data = mapIconList option.value.series[0].data = mapIconList
option.value.visualMap.pieces = [ option.value.visualMap.pieces = [
{gte: 0, lte: avg - range30Percent, label: "低于平均问题30%", color: "#4987F6"}, {gte: 0, lte: range60Percent, label: "低于最大问题的60%", color: "#4987F6"},
{gte: avg - range30Percent, lte: avg + range30Percent + 0.1, label: "平均问题上下浮动30%内", color: "#F6A149"}, {gte: range60Percent, lte: range80Percent, label: "介于最大问题的60%~80%", color: "#F6A149"},
{gte: avg + range30Percent, label: "高于平均问题30%", color: "#D34343"}, {gte: range80Percent, label: "高于最大问题80%", color: "#D34343"},
]; ];
} }

Loading…
Cancel
Save