Browse Source

fix--审计大屏添加工作趋势、修改审计项目类型、添加问题金额

master
buaixuexideshitongxue 3 weeks ago
parent
commit
ec015f30e8
  1. 34
      src/api/data/aduit.ts
  2. 192
      src/views/datav/AuditSuper.vue

34
src/api/data/aduit.ts

@ -14,6 +14,19 @@ export function getAuditNegativeVo(times){
} }
/**
*
* @param times
*/
export function getOverview(body){
return request.post({
url: `/datav/audit/getOverview`,
body
})
}
/** /**
* *
* @param times * @param times
@ -24,3 +37,24 @@ export function getAuditMap(body){
body body
}) })
} }
/**
*
* @param body
*/
export function getAuditType(body) {
return request.post({
url: `/datav/audit/getAuditType`,
body
});
}
/**
*
*/
export function getAuditTrend(year) {
return request.get({
url: `/datav/audit/getAuditTrend?year=${year}`
});
}

192
src/views/datav/AuditSuper.vue

@ -65,8 +65,8 @@
style="width: 20%" style="width: 20%"
/> />
<datav-statistic <datav-statistic
:value="overview.auditSjAmount" :value="`${overview.auditSjAmount}/${overview.auditWtAmount}`"
:title="`审减金额\n(万元)`" :title="`审减/问题金额\n(万元)`"
:isDecimal="true" :isDecimal="true"
style="width: 20%" style="width: 20%"
/> />
@ -91,7 +91,32 @@
style="height: 300px" style="height: 300px"
:option="option1" :option="option1"
autoresize autoresize
ref="auditTrend"
/> />
<div class="gobal-dropdown-container">
<el-dropdown
class="test"
@command="handleCommand"
>
<span
class="el-dropdown-link my-gobal-yearselect"
>
{{ selectedYear + " 年" }}
</span>
<template #dropdown>
<el-dropdown-menu
style="width: 90px"
>
<el-dropdown-item
v-for="year in years"
:key="year"
:command="year"
>{{ year + " 年" }}
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</datav-card> </datav-card>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -133,7 +158,13 @@ import vCharts from "vue-echarts";
import changshaMap from "@/assets/data/changsha.json"; import changshaMap from "@/assets/data/changsha.json";
import * as echarts from "echarts/core"; import * as echarts from "echarts/core";
import moment from "moment/moment.js"; import moment from "moment/moment.js";
import {getWorkDynamics, getAuditNegativeVo, getAuditMap} from "@/api/data/aduit.ts"; import {
getWorkDynamics,
getAuditNegativeVo,
getAuditMap,
getAuditType,
getAuditTrend, getOverview
} from "@/api/data/aduit.ts";
import { workDynamicColorMapping } from "@/enums/workDynamicColorMapping.js"; import { workDynamicColorMapping } from "@/enums/workDynamicColorMapping.js";
import { getAuditOverview, getAuditProblems } from '@/api/datav' import { getAuditOverview, getAuditProblems } from '@/api/datav'
import { onMounted } from "vue"; import { onMounted } from "vue";
@ -154,6 +185,7 @@ const overview = ref({
projectNumber: 0, projectNumber: 0,
auditAmount: 0, auditAmount: 0,
auditSjAmount: 0, auditSjAmount: 0,
auditWtAmount: 0,
}); });
const problemOptions = ref({ const problemOptions = ref({
@ -177,13 +209,7 @@ onMounted(() => {
}) })
function getData() { function getData() {
getAuditOverview(time.value).then(data => { getOverviewFun();
debugger
overview.value = data;
// overview.value.projectNumber = 496;
// overview.value.auditAmount = 12169.83
// overview.value.auditSjAmount =1096.89
});
getAuditProblems(time.value).then(data => { getAuditProblems(time.value).then(data => {
console.log(data) console.log(data)
problemOptions.value.series[0].data = data problemOptions.value.series[0].data = data
@ -191,6 +217,8 @@ function getData() {
getWorkDynamicsData(); getWorkDynamicsData();
getAuditNegativeVoFun(); getAuditNegativeVoFun();
getAuditMapData(); getAuditMapData();
getAuditTypeFun();
getAuditTrendFun();
} }
@ -202,75 +230,69 @@ const getAuditNegativeVoFun =async ()=>{
if(res){ if(res){
fxData.value=res.fxData; fxData.value=res.fxData;
jsData.value=res.jsData; jsData.value=res.jsData;
}
}
/**
* 项目类型
* @returns {Promise<void>}
*/
const getAuditTypeFun = async ()=>{
const body = {
beginTime: time.value[0],
endTime: time.value[1]
}
const res = await getAuditType(body);
if(res){
option2.value.series[0].data = res.barData; option2.value.series[0].data = res.barData;
} }
} }
/**
* 总览数据
* @returns {Promise<void>}
*/
const getOverviewFun = async()=>{
const body = {
beginTime: time.value[0],
endTime: time.value[1]
}
overview.value = await getOverview(body);
}
const auditTrend = ref(null);
const currentYear = new Date().getFullYear();
const years = ref([
currentYear.toString(),
(currentYear - 1).toString(),
(currentYear - 2).toString(),
]); //
const selectedYear = ref(currentYear); //
//
const handleCommand = (year) => {
selectedYear.value = year; //
//
getAuditTrendFun();
};
/**
* 审计工作趋势
* @type {Ref<UnwrapRef<string>, UnwrapRef<string> | string>}
*/
const getAuditTrendFun = async (year = selectedYear.value) => {
const res = await getAuditTrend(year);
// //
option1.value.xAxis.data = res.auditTrend.map((item) => item.name);
option1.value.series[0].data = res.auditTrend.map((item) => item.value);
}
const auditSuperRankTab = ref('1'); const auditSuperRankTab = ref('1');
// let auditMapData = [
// {
// name: "",
// reviewOrg: 0,
// checkPro: 0,
// rushPro: 0,
// changed: 0,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 186,
// rushPro: 0,
// changed: 137,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 11,
// rushPro: 0,
// changed: 0,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 0,
// rushPro: 0,
// changed: 0,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 0,
// rushPro: 0,
// changed: 0,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 0,
// rushPro: 0,
// changed: 0,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 1,
// rushPro: 0,
// changed: 1,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 240,
// rushPro: 0,
// changed: 220,
// },
// {
// name: "",
// reviewOrg: 0,
// checkPro: 232,
// rushPro: 194,
// changed: 194,
// },
// ];
const auditMapData = ref([ const auditMapData = ref([
{ {
originalName: "浏阳市局", originalName: "浏阳市局",
@ -710,6 +732,26 @@ const getAuditMapData = async ()=>{
} }
} }
.test {
width: 95px;
height: 25px;
background: #1c3472;
}
.gobal-dropdown-container {
position: absolute;
right: 20px;
top: 15px;
}
.my-gobal-yearselect {
font-size: 14px;
padding-top: 6px;
padding-left: 20px;
width: 90px;
color: #fff;
}
</style> </style>

Loading…
Cancel
Save