Compare commits

..

No commits in common. '6f9b8c6d2ffdf156e9b6f3fa6e45e652e009107e' and 'df48c3907d35869eddec91cded1b8ea7c90ab7be' have entirely different histories.

  1. 7
      src/api/data/aduit.ts
  2. 2
      src/components/negative/apply-extension.vue
  3. 332
      src/views/datav/AuditSuper.vue
  4. 12
      src/views/datav/subonedatav/SubOneCaseVerif.vue
  5. 8
      src/views/datav/subonedatav/SubOneGlobal.vue

7
src/api/data/aduit.ts

@ -7,10 +7,9 @@ export function getWorkDynamics(times) {
});
}
export function getAuditNegativeVo(body){
return request.post({
url: `/datav/audit/getAuditNegativeVo`,
body
export function getAuditNegativeVo(times){
return request.get({
url: `/datav/audit/getAuditNegativeVo?beginTime=${times[0]}&endTime=${times[1]}`
})
}

2
src/components/negative/apply-extension.vue

@ -7,7 +7,7 @@
<h3 v-if="negative.approvalFlow === '3'">{{ negative.handleSecondDepartName }}专班 市局</h3>
<h3 v-else>{{ negative.handleSecondDepartName }}专班</h3>
<p>
审批通过之后才能正式生效在申请延期过程中不可对问题进行退回提交审批等操作避免同一个问题出现多个待办
审批通过之后才能正式生效在申请延期过程中三级机构仍然可以按照正常流程进行信件的处理如果已提交信件办结申请并通过市局专班的审批则申请延期的流程自动结束
</p>
</div>
<el-form label-position="top" :model="form" ref="formRef" class="mb-40">

332
src/views/datav/AuditSuper.vue

@ -7,209 +7,41 @@
<el-row :gutter="16">
<el-col :span="6">
<datav-card>
<datav-tabs
v-model="activeAuditType"
size="small"
@tab-change="handleAuditTypeChange"
>
<template
v-for="item in dictData"
:key="item.dictValue"
>
<datav-tab-item
:label="item.dictLabel"
:name="item.dictValue"
<datav-card title="审计整改结果"
sub-title="已整改问题数/查处问题数"
>
<datav-tabs type="bottom-button">
<datav-tab-item
label="分县市局"
name="1"
<datav-tabs
type="bottom-button"
v-model="auditSuperRankTab"
ref="auditSuperRankTabs"
>
<el-row class="mb-32">
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.projectNumber }}
</div>
<div class="descriptions_label">
审计单位/项目
</div>
</div>
</el-col>
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.auditAmount }}
</div>
<div class="descriptions_label">
审计总金额万元
</div>
</div>
</el-col>
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.auditSjAmount }}
</div>
<div class="descriptions_label">
审减/问题金额万元
</div>
</div>
</el-col>
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.negativeNumber }}
</div>
<div class="descriptions_label">
查处问题数
</div>
</div>
</el-col>
<el-col :span="4">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.accountableNumber }}
</div>
<div class="descriptions_label">
追责问责数
</div>
</div>
</el-col>
</el-row>
<datav-tab-item label="分县市局" name="1">
<el-scrollbar height="350px">
<datav-chart-bar
:data="
fxsjList
"
size="small"
:data="fxData"
unit="%"
title="审计整改结果"
remark-font-size="12px"
sub-title="已整改问题数/查处问题数"
spanClass="right-aligned"
:color="colors"
/>
</el-scrollbar>
</datav-tab-item>
<datav-tab-item
label="局属单位"
name="2"
>
<el-row class="mb-32">
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.projectNumber }}
</div>
<div class="descriptions_label">
审计单位/项目
</div>
</div>
</el-col>
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.auditAmount }}
</div>
<div class="descriptions_label">
审计总金额万元
</div>
</div>
</el-col>
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.auditSjAmount }}
</div>
<div class="descriptions_label">
审减/问题金额万元
</div>
</div>
</el-col>
<el-col :span="5">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.negativeNumber }}
</div>
<div class="descriptions_label">
查处问题数
</div>
</div>
</el-col>
<el-col :span="4">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ leftOverview.accountableNumber }}
</div>
<div class="descriptions_label">
追责问责数
</div>
</div>
</el-col>
</el-row>
<datav-tab-item label="局属单位" name="2">
<el-scrollbar height="350px">
<datav-chart-bar
:data="jsdwList"
size="large"
size="small"
:data="jsData"
unit="%"
title="审计整改结果"
sub-title="已整改问题数/查处问题数"
remark-font-size="12px"
spanClass="right-aligned"
:color="colors"
/>
</el-scrollbar>
</datav-tab-item>
</datav-tabs>
</datav-tab-item>
</template>
</datav-tabs>
</datav-card>
<!-- <datav-card title="审计整改结果"-->
<!-- sub-title="已整改问题数/查处问题数"-->
<!-- >-->
<!-- <datav-tabs-->
<!-- type="bottom-button"-->
<!-- v-model="auditSuperRankTab"-->
<!-- ref="auditSuperRankTabs"-->
<!-- >-->
<!-- <datav-tab-item label="分县市局" name="1">-->
<!-- <el-scrollbar height="350px">-->
<!-- <datav-chart-bar-->
<!-- size="small"-->
<!-- :data="fxData"-->
<!-- unit="%"-->
<!-- remark-font-size="12px"-->
<!-- spanClass="right-aligned"-->
<!-- :color="colors"-->
<!-- />-->
<!-- </el-scrollbar>-->
<!-- </datav-tab-item>-->
<!-- <datav-tab-item label="局属单位" name="2">-->
<!-- <el-scrollbar height="350px">-->
<!-- <datav-chart-bar-->
<!-- size="small"-->
<!-- :data="jsData"-->
<!-- unit="%"-->
<!-- remark-font-size="12px"-->
<!-- spanClass="right-aligned"-->
<!-- :color="colors"-->
<!-- />-->
<!-- </el-scrollbar>-->
<!-- </datav-tab-item>-->
<!-- </datav-tabs>-->
<!-- </datav-card>-->
<datav-card title="审计项目类型">
<v-charts
style="height: 300px"
@ -233,7 +65,7 @@
style="width: 20%"
/>
<datav-statistic
:value="`${overview.auditSjAmount}`"
:value="`${overview.auditSjAmount}/${overview.auditWtAmount}`"
:title="`审减/问题金额\n(万元)`"
:isDecimal="true"
style="width: 20%"
@ -336,7 +168,6 @@ import { workDynamicColorMapping } from "@/enums/workDynamicColorMapping.js";
import { getAuditOverview, getAuditProblems } from '@/api/datav'
import { onMounted } from "vue";
import {mapOrgNameMapping} from "@/enums/orgMapping.js";
import useCatchStore from "@/stores/modules/catch.ts";
const messages = ref([]);
const time = ref([
moment().startOf("year").format("YYYY-MM-DD"),
@ -347,22 +178,6 @@ watch(time, () => {
getData();
});
const activeAuditType = ref("");
const fxsjList = ref([]); //
const jsdwList = ref([]); //
const leftOverview = ref({});
const catchStore = useCatchStore();
const dictData = computed(() => {
return (catchStore.getDictProblemSources()
.find(item => item.id === "26")?.children || [])
.map(item => ({
dictLabel: item.label?.trim(),
dictValue: item.id
}));
});
const overview = ref({
negativeNumber: 0,
accountableNumber: 0,
@ -389,12 +204,9 @@ const problemOptions = ref({
});
onMounted(() => {
console.log("******")
console.log(dictData)
getData()
})
function getData() {
getOverviewFun();
getAuditProblems(time.value).then(data => {
@ -412,24 +224,11 @@ function getData() {
const fxData =ref([])
const jsData =ref([])
watch(activeAuditType, () => {
getAuditNegativeVoFun()
},{deep:true})
const getAuditNegativeVoFun =async ()=>{
if (!activeAuditType.value) return;
const body = {
beginTime: time.value[0],
endTime: time.value[1],
auditType: activeAuditType.value,
};
const res = await getAuditNegativeVo(body);
const res = await getAuditNegativeVo(time.value);
if(res){
fxsjList.value = res.fxData || [];
jsdwList.value = res.jsData || [];
leftOverview.value = res.leftOverview || {};
fxData.value=res.fxData;
jsData.value=res.jsData;
}
}
@ -491,6 +290,7 @@ const getAuditTrendFun = async (year = selectedYear.value) => {
const auditSuperRankTab = ref('1');
const auditMapData = ref([
{
@ -510,38 +310,32 @@ const option = ref({
},
tooltip: {
trigger: "item",
position: "bottom",
formatter: function (params) {
const dataItem = auditMapData.value.find((item) =>
item.name.includes(params.name.substring(0, 2))
);
if (dataItem) {
return `
<div class="tooltip">
<div class="tooltip-title">${dataItem.originalName}</div>
<div class="tooltip-title">${dataItem.name}</div>
<div class="tooltip-content">
<ul class="tooltip-ul" >
<li>审计单位/项目数<span>${dataItem.projectNumber ?? "-"}</span></li>
<li>审计总金额<span>${dataItem.auditAmount ?? "-"}</span></li>
<li>审减/问题金额<span>${dataItem.auditSjAmount ?? "-"}</span></li>
<li>查出问题数<span>${dataItem.negativeNumber ?? "-"}</span></li>
<li>追责问责数<span>${dataItem.accountableNumber ?? "-"}</span></li>
<li>审计单位/项目数<span>${dataItem.reportProjectNumber}</span></li>
<li>查处问题数 <span>${dataItem.checkProNumber}</span></li>
<li>追责问责数 <span>${dataItem.rushProNumber}</span></li>
<li>整改问题数 <span>${dataItem.rectifyNumber}</span></li>
</ul>
</div>
</div>`;
} else {
return `
<div class="tooltip">
return `<div class="tooltip">
<div class="tooltip-title">${params.name}</div>
<div class="tooltip-content">
<ul class="tooltip-ul">
<li>审计单位/项目数<span>-</span></li>
<li>审计总金额<span>-</span></li>
<li>审减金额<span>-</span></li>
<li>问题金额<span>-</span></li>
<li>查出问题数<span>-</span></li>
<ul class="tooltip-ul"">
<li>审计单位/项目 <span>-</span></li>
<li>查处问题数 <span>-</span></li>
<li>追责问责数 <span>-</span></li>
<li>整改问题数 <span>-</span></li>
</ul>
</div>
</div>`;
@ -659,7 +453,64 @@ const option1 = ref({
},
],
});
const data1 = [
{
label: "公交分局",
value: 100,
numerator: 7,
denominator: 8,
},
{
label: "岳麓分局",
value: 100,
numerator: 2,
denominator: 2,
},
{
label: "交警支队",
value: 100,
numerator: 2,
denominator: 2,
},
{
label: "高新分局",
value: 100,
numerator: 1,
denominator: 1,
},
];
const data2 = [
{
name: "开福分局",
value: 9700,
},
{
name: "芙蓉分局",
value: 9021,
},
{
name: "岳麓分局",
value: 8512,
},
{
name: "雨花分局",
value: 8021,
},
{
name: "望城分局",
value: 7111,
},
{
name: "浏阳市局",
value: 6622,
},
{
name: "长沙县局",
value: 6221,
},
];
const option2 = ref({
series: [
{
@ -721,7 +572,7 @@ const getAuditMapData = async ()=>{
endTime: time.value[1]
}
const res = await getAuditMap(body);
const mappedData = mapOrgNameMapping(res.auditSuperviseMapIconVoList,"negativeNumber");
const mappedData = mapOrgNameMapping(res.auditSuperviseMapIconVoList,"checkProNumber");
//
const maxItem = mappedData.reduce(
(max, item) => (Number(item.value) > Number(max.value) ? item : max),
@ -762,7 +613,7 @@ const getAuditMapData = async ()=>{
.tooltip {
position: relative;
width: 169.88px;
height: 185px;
height: 155px;
background: linear-gradient(
180deg,
rgba(1, 4, 87, 0.8) 0%,
@ -794,7 +645,7 @@ const getAuditMapData = async ()=>{
.tooltip-content {
width: 170px;
height: 139px;
height: 106px;
//font-size: 11px;
margin-top: -12px;
background: linear-gradient(180deg, #010457 0%, #031577 100%);
@ -900,11 +751,6 @@ const getAuditMapData = async ()=>{
width: 90px;
color: #fff;
}
.descriptions_content {
font-size: 18px;
line-height: 24px;
}
</style>

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

@ -725,12 +725,12 @@ const handleClick = (params) => {
clearInterval(subOneCaseVerifMapIntervalId);
}
const setupEventListeners = () => {
// caseVerifRankAnimationStop();
// caseVerifProPropertyAnimationStop();
// subOneCaseVerifMapAnimationStop();
// subOneCaseVerifTrendAnimationStop();
// subOneCaseVerifCaseSourceRateAnimationStop();
// subOneCaseVerifJbclSituationAnimationStop();
caseVerifRankAnimationStop();
caseVerifProPropertyAnimationStop();
subOneCaseVerifMapAnimationStop();
subOneCaseVerifTrendAnimationStop();
subOneCaseVerifCaseSourceRateAnimationStop();
subOneCaseVerifJbclSituationAnimationStop();
};
const caseVerifRankAnimationStop = () => {
const temp = subOneCaseVerifRankTabs.value.$el;

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

@ -173,12 +173,11 @@ let currentDepartId = route.query.departId;
import useUserStore from "@/stores/modules/user";
const userStore = useUserStore();
watch(()=>route.query.departId,(newVal)=>{
debugger
console.log('newValue',newVal)
if(newVal!= null){
currentDepartId = newVal
}else{
currentDepartId=userStore.user.authDepartIds[0];
currentDepartId=userStore.user.departId;
}
},{immediate:true})
@ -503,9 +502,8 @@ const getSubOneProblemBusinessRateData = async (departId = currentDepartId, time
wtlxlist.value = res.wtlxlist;
}
const getData = () => {
debugger
if(currentDepartId == null){
currentDepartId=userStore.user.authDepartIds[0];
if(route.query.departId == null){
currentDepartId=userStore.user.departId;
console.log(userStore)
}
console.log('currentDepartId',currentDepartId)

Loading…
Cancel
Save