Compare commits

..

9 Commits

  1. 14
      src/api/screen/caseVerif.ts
  2. 38
      src/api/screen/subScreen/subOneCaseVerif.ts
  3. 16
      src/components/datav/header.vue
  4. 9
      src/components/datav/subOne/subOneHeader.vue
  5. 2
      src/views/Home.vue
  6. 36
      src/views/data/Ajhc.vue
  7. 15
      src/views/datav/AuditSuper.vue
  8. 12
      src/views/datav/CaseVerif.vue
  9. 2
      src/views/datav/MailVisits.vue
  10. 74
      src/views/datav/subonedatav/SubOneCaseVerif.vue
  11. 2
      src/views/datav/subonedatav/SubOneMailVisits.vue
  12. 2
      src/views/datav/subonedatav/SubOneVideoInsp.vue
  13. 4
      src/views/jwpy/query_110jcj.vue
  14. 4
      src/views/jwpy/query_122jcj.vue
  15. 4
      src/views/jwpy/query_cjglfw.vue
  16. 4
      src/views/jwpy/query_jwpy_total.vue
  17. 4
      src/views/jwpy/query_rjckfw.vue
  18. 4
      src/views/jwpy/query_zfba.vue

14
src/api/screen/caseVerif.ts

@ -65,13 +65,21 @@ export function getCaseVerificationTrend(year) {
export function getCaseSourceRateAndDealSituation(times) {
return request.get({
url: `/datav/caseVerif/getCaseSourceRateAndDealSituation?beginTime=${times[0]}&endTime=${times[1]}`
// export function getCaseSourceRateAndDealSituation(times) {
// return request.get({
// url: `/datav/caseVerif/getCaseSourceRateAndDealSituation?beginTime=${times[0]}&endTime=${times[1]}`
// });
// }
export function getCaseSourceRateAndDealSituation(body) {
return request.post({
url: `/datav/caseVerif/getCaseSourceRateAndDealSituation`,
body
});
}
export function getConfinementAndPause(times) {
return request.get({
url: `/datav/caseVerif/getConfinementAndPause?beginTime=${times[0]}&endTime=${times[1]}`

38
src/api/screen/subScreen/subOneCaseVerif.ts

@ -1,9 +1,11 @@
import request from "@/api/request";
export function getSubOneCaseVerificationRank(departId, times) {
return request.get({
url: `/datav/sub1/caseVerif/getSubOneCaseVerificationRank?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}`
export function getSubOneCaseVerificationRank(body) {
return request.post({
url: `/datav/sub1/caseVerif/getSubOneCaseVerificationRank`,
body
});
}
@ -13,26 +15,42 @@ export function getSubOneCaseProblemProperty(departId, times) {
});
}
export function getSubOneAllCaseVerificationCount(departId, times) {
return request.get({
url: `/datav/sub1/caseVerif/getSubOneAllCaseVerificationCount?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}`
export function getSubOneAllCaseVerificationCount(body) {
return request.post({
url: `/datav/sub1/caseVerif/getSubOneAllCaseVerificationCount`,
body
});
}
export function getSubOneCaseVerificationMap(departId, times) {
return request.get({
url: `/datav/sub1/caseVerif/getSubOneCaseVerificationMap?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}`
export function getSubOneCaseVerificationMap(body) {
return request.post({
url: `/datav/sub1/caseVerif/getSubOneCaseVerificationMap`,
body
});
}
export function getSubOneCaseVerificationTrend(departId, year) {
return request.get({
url: `/datav/sub1/caseVerif/getSubOneCaseVerificationTrend?departId=${departId}&year=${year}`
});
}
// @Operation(summary = "案件来源占比 & 问责处理情况")
export function getSubOneCaseSourceRateAndDealSituation(body) {
return request.post({
url: `/datav/sub1/caseVerif/getSubOneCaseSourceRateAndDealSituation`,
body
});
}
export function getSubOneCaseSourceRateAndDealSituation(departId, times) {
export function getSubOneConfinementAndPause(departId, times) {
return request.get({
url: `/datav/sub1/caseVerif/getSubOneCaseSourceRateAndDealSituation?departId=${departId}&beginTime=${times[0]}&endTime=${times[1]}`
});

16
src/components/datav/header.vue

@ -10,12 +10,12 @@
<span>现场专项</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/caseVerif" v-slot="{ isActive }">
<span>案件核查</span>
<router-link to="/datav/jwpy" v-slot="{ isActive }">
<span>警务评议</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/jwpy" v-slot="{ isActive }">
<span>民意感知</span>
<router-link to="/datav/caseVerif" v-slot="{ isActive }">
<span>案件核查</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
</nav>
@ -29,14 +29,14 @@
<span>信访投诉</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/rightsComfort" v-slot="{ isActive }">
<span>维权抚慰</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/auditSuper" v-slot="{ isActive }">
<span>审计监督</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/rightsComfort" v-slot="{ isActive }">
<span>维权抚慰</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link to="/datav/lmgz" v-slot="{ isActive }">
<span>灵敏感知</span>
<img :src="isActive ? Img2 : Img1" alt=""/>

9
src/components/datav/subOne/subOneHeader.vue

@ -10,11 +10,10 @@
<span>现场专项</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link :to="`/datav/subOneCaseVerif?departId=`+ deptId" v-slot="{ isActive }">
<span>案件核查</span>
<router-link :to="`/datav/subOneJwpy?departId=`+ deptId" v-slot="{ isActive }">
<span>警务评议</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
</nav>
<h1>
<router-link :to="`/datav/subOneGlobal?departId=`+ deptId" >
@ -22,8 +21,8 @@
</router-link>
</h1>
<nav class="flex right">
<router-link :to="`/datav/subOneJwpy?departId=`+ deptId" v-slot="{ isActive }">
<span>民意感知</span>
<router-link :to="`/datav/subOneCaseVerif?departId=`+ deptId" v-slot="{ isActive }">
<span>案件核查</span>
<img :src="isActive ? Img2 : Img1" alt=""/>
</router-link>
<router-link :to="`/datav/subOneMailVisits?departId=`+ deptId" v-slot="{ isActive }">

2
src/views/Home.vue

@ -71,7 +71,7 @@ flowNumberAndTodayNumber().then((data) => {
});
const links = [
{
title: "民意感知",
title: "警务评议",
url: 'http://65.47.6.114:8001'
},
{

36
src/views/data/Ajhc.vue

@ -63,9 +63,9 @@
<el-col :span="6">
<el-form-item label="是否属实">
<el-select clearable v-model="query.checkStatus">
<el-select multiple clearable v-model="query.checkStatus">
<el-option
v-for="item in dict.inspectCase"
v-for="item in dict.checkStatus"
:key="item.id"
:label="item.dictLabel"
:value="item.dictValue"
@ -166,12 +166,11 @@
prop="thingDesc"
show-overflow-tooltip
/>
<el-table-column label="是否属实" prop="isReal">
<template v-slot="scope">
<span v-if="scope.row.isReal === 1">属实</span>
<span v-else-if="scope.row.isReal === 2">部分属实</span>
<span v-else-if="scope.row.isReal === 3">不属实</span>
<span v-else>未知状态</span>
<el-table-column label="是否属实" prop="checkStatusCode">
<template #default="{ row }">
<span>
{{ getDictLable(dict.checkStatus, row.checkStatusCode) || "/" }}
</span>
</template>
</el-table-column>
<el-table-column label="状态">
@ -529,12 +528,18 @@
</div>
<div class="col col-12">
<label>是否属实</label>
<span
><span v-if="activeRow.isReal === 1">属实</span>
<span v-else-if="activeRow.isReal === 2">部分属实</span>
<span v-else-if="activeRow.isReal === 3">不属实</span>
<span v-else>/</span></span
>
<span>{{
getDictLable(
dict.checkStatus,
activeRow.checkStatusCode
) || "/"
}}</span>
<!-- <span-->
<!-- ><span v-if="activeRow.isReal === 1">属实</span>-->
<!-- <span v-else-if="activeRow.isReal === 2">部分属实</span>-->
<!-- <span v-else-if="activeRow.isReal === 3">不属实</span>-->
<!-- <span v-else>/</span></span-->
<!-- >-->
</div>
<div class="col col-24">
<label>具体内容</label>
@ -604,7 +609,7 @@ import {
caseVerifInvolvedIssueFun
} from "@/api/data/caseVerif";
import { DistributionState } from "@/enums/dictEnums";
import { getDictLable ,getYearTime} from "@/utils/util";
import {getDictLable, getInvolveProblem, getYearTime} from "@/utils/util";
import feedback from "@/utils/feedback";
import useCatchStore from "@/stores/modules/catch";
const route =useRoute()
@ -613,6 +618,7 @@ const dict = catchStore.getDicts([
"distributionState",
"timeLimit",
"approvalFlow",
"checkStatus",
"inspectCase",
"distributionFlow"
]);

15
src/views/datav/AuditSuper.vue

@ -120,14 +120,6 @@
</datav-card>
</el-col>
<el-col :span="6">
<datav-card title="审计查出问题" style="height: 350px">
<v-charts
style="height: 300px"
:option="problemOptions"
autoresize
/>
</datav-card>
<datav-card title="审计工作动态">
<el-scrollbar height="470px">
<datav-message
@ -144,6 +136,13 @@
</datav-message>
</el-scrollbar>
</datav-card>
<datav-card title="审计查出问题" style="height: 350px">
<v-charts
style="height: 300px"
:option="problemOptions"
autoresize
/>
</datav-card>
</el-col>
</el-row>
</main>

12
src/views/datav/CaseVerif.vue

@ -5,7 +5,7 @@
<main>
<el-row :gutter="16">
<el-col :span="6">
<datav-card title="分县市局排名" subTitle="问题数">
<datav-card title="分县市局排名" subTitle="查处问题数">
<datav-tabs
type="bottom-button"
v-model="caseVerifRankTab"
@ -578,8 +578,12 @@ const getCaseVerificationTrendData = async (year) => {
proTrend.value.xAxis.data = categories;
proTrend.value.series[0].data = values;
}
const getCaseSourceRateAndDealSituationData = async (timeValue) => {
const res = await getCaseSourceRateAndDealSituation(timeValue);
const getCaseSourceRateAndDealSituationData = async () => {
const body = {
beginTime: time.value[0],
endTime: time.value[1],
}
const res = await getCaseSourceRateAndDealSituation(body);
ajlyPieOption.value.series[0].data = res.caseSourceRateList
// ajlyPieOption.value.series[0].data = circularChart
wzclPieOption.value.series[0].data = res.dealSituationPieList
@ -597,7 +601,7 @@ async function getData() {
// getCaseProblemPropertyData(time.value)
getCaseVerificationCountData(),
getCaseVerificationTrendData(selectedYear.value),
getCaseSourceRateAndDealSituationData(time.value),
getCaseSourceRateAndDealSituationData(),
// getConfinementAndPauseData(time.value);
getCaseTypeFun(time.value),
getConfinementBarFun(time.value),

2
src/views/datav/MailVisits.vue

@ -828,7 +828,7 @@ const getAllMailCountDataFun = async () => {
option2.value.series[0].data= [{value:overview.value.manageMail,name:"局长信箱"},
{value:overview.value.countryMail,name:"国家信访"},
{value:overview.value.policeMail,name:"公安部信访"},
{value:overview.value.numberMail,name:"12337信访"},]
{value:overview.value.numberMail,name:"12337信访"},].filter(item => item.value > 0);
}

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

@ -5,7 +5,7 @@
<main>
<el-row :gutter="16">
<el-col :span="6">
<datav-card title="所队排名" subTitle="案件数">
<datav-card title="所队排名" subTitle="查处问题数">
<datav-tabs
type="bottom-button"
v-model="subOneCaseVerifRankTab"
@ -159,15 +159,15 @@
/>
</div>
</datav-tab-item>
<datav-tab-item label="停职处理情况" name="2" style="display: none">
<div class="mb-40">
<v-charts
style="height: 340px"
:option="tzcloption"
autoresize
/>
</div>
</datav-tab-item>
<!-- <datav-tab-item label="停职处理情况" name="2" style="display: none">-->
<!-- <div class="mb-40">-->
<!-- <v-charts-->
<!-- style="height: 340px"-->
<!-- :option="tzcloption"-->
<!-- autoresize-->
<!-- />-->
<!-- </div>-->
<!-- </datav-tab-item>-->
</datav-tabs>
</datav-card>
</el-col>
@ -190,7 +190,7 @@ import {
getSubOneCaseSourceRateAndDealSituation,
getSubOneCaseVerificationMap,
getSubOneCaseVerificationRank,
getSubOneCaseVerificationTrend
getSubOneCaseVerificationTrend, getSubOneConfinementAndPause
} from "@/api/screen/subScreen/subOneCaseVerif.ts";
import {circularChart} from "@/views/datav/simulateData/AnimationTestData.js";
import SubOneHeader from "@/components/datav/subOne/subOneHeader.vue";
@ -534,8 +534,13 @@ const getMapJSON = async (departId) => {
echarts.registerMap("changsha", res);
subOneCaseVerifMap.value.chart.setOption(option.value);
}
const getSubOneCaseVerificationRankData = async (departId, timeValue) => {
const res = await getSubOneCaseVerificationRank(departId, timeValue);
const getSubOneCaseVerificationRankData = async () => {
const body = {
beginTime: time.value[0],
endTime: time.value[1],
departId: route.query.departId
}
const res = await getSubOneCaseVerificationRank(body);
fxsjBarList.value = res.fxsjRankList
jsdwBarList.value = res.jsdwRankList
}
@ -544,12 +549,24 @@ const getSubOneCaseProblemPropertyData = async (departId, timeValue) => {
zfbaPieOption.value.series[0].data = res.zfbaPieList;
fwglPieOption.value.series[0].data = res.fwglPieList;
}
const getSubOneAllCaseVerificationCountData = async (departId, timeValue) => {
const res = await getSubOneAllCaseVerificationCount(departId, timeValue)
const getSubOneAllCaseVerificationCountData = async () => {
const body = {
beginTime: time.value[0],
endTime: time.value[1],
departId: route.query.departId
}
const res = await getSubOneAllCaseVerificationCount(body)
overview.value = res.overview
}
const getSubOneCaseVerificationMapData = async (departId, timeValue) => {
const res = await getSubOneCaseVerificationMap(departId, timeValue);
const getSubOneCaseVerificationMapData = async () => {
const body = {
beginTime: time.value[0],
endTime: time.value[1],
departId: route.query.departId
}
const res = await getSubOneCaseVerificationMap(body);
const mappedData = res.caseVerificationMapList.map(item => {
return {
...item,
@ -575,8 +592,13 @@ const getSubOneCaseVerificationTrendData = async (departId, year) => {
proTrend.value.xAxis.data = categories;
proTrend.value.series[0].data = values;
}
const getSubOneCaseSourceRateAndDealSituationData = async (departId, timeValue) => {
const res = await getSubOneCaseSourceRateAndDealSituation(departId, timeValue);
const getSubOneCaseSourceRateAndDealSituationData = async () => {
const body = {
beginTime: time.value[0],
endTime: time.value[1],
departId: route.query.departId
}
const res = await getSubOneCaseSourceRateAndDealSituation(body);
ajlyPieOption.value.series[0].data = res.caseSourceRateList
wzclPieOption.value.series[0].data = res.dealSituationPieList
}
@ -589,18 +611,24 @@ const getSubOneCaseSourceRateAndDealSituationData = async (departId, timeValue)
// }
function getData() {
getMapJSON(currentDepartId)
getSubOneCaseVerificationRankData(currentDepartId, time.value)
getSubOneCaseVerificationRankData()
getSubOneCaseProblemPropertyData(currentDepartId, time.value)
getSubOneAllCaseVerificationCountData(currentDepartId, time.value)
getSubOneAllCaseVerificationCountData()
getSubOneCaseVerificationMapData(currentDepartId, time.value)
getSubOneCaseVerificationTrendData(currentDepartId, currentYear)
getSubOneCaseSourceRateAndDealSituationData(currentDepartId, time.value)
// getConfinementAndPauseList(currentDepartId, time.value)
getSubOneCaseSourceRateAndDealSituationData()
getSubOneConfinementAndPauseData(currentDepartId, time.value)
}
// endregion
const getSubOneConfinementAndPauseData = async(departId, timeValue) =>{
const res = await getSubOneConfinementAndPause(departId, timeValue);
jbcloption.value.series[0].data=res.confinementList;
}
// region
//
const subOneCaseVerifRankAnimation = () => {

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

@ -458,7 +458,7 @@ const getSubOneAllMailCountData = async () => {
option2.value.series[0].data= [{value:overview.value.manageMail,name:"局长信箱"},
{value:overview.value.countryMail,name:"国家信访"},
{value:overview.value.policeMail,name:"公安部信访"},
{value:overview.value.numberMail,name:"12337信访"},]
{value:overview.value.numberMail,name:"12337信访"},].filter(item => item.value > 0);
}

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

@ -58,6 +58,7 @@
:data="fxsjRankList"
size="large"
:color="colors"
:isgroupby="true"
/>
</el-scrollbar>
</datav-tab-item>
@ -67,6 +68,7 @@
:data="jsdwRankList"
size="large"
:color="colors"
:isgroupby="true"
/>
</el-scrollbar>
</datav-tab-item>

4
src/views/jwpy/query_110jcj.vue

@ -29,7 +29,7 @@
v-model="query.problemSourcesCode"
placeholder="问题来源"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
</el-col>
@ -218,7 +218,7 @@
placeholder="问题来源"
v-model="query.problemSourcesCode"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
<el-select
style="width: 146px"

4
src/views/jwpy/query_122jcj.vue

@ -29,7 +29,7 @@
v-model="query.problemSourcesCode"
placeholder="问题来源"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
</el-col>
@ -218,7 +218,7 @@
placeholder="问题来源"
v-model="query.problemSourcesCode"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
<el-select
style="width: 146px"

4
src/views/jwpy/query_cjglfw.vue

@ -29,7 +29,7 @@
v-model="query.problemSourcesCode"
placeholder="问题来源"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
</el-col>
@ -218,7 +218,7 @@
placeholder="问题来源"
v-model="query.problemSourcesCode"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
<el-select
style="width: 146px"

4
src/views/jwpy/query_jwpy_total.vue

@ -29,7 +29,7 @@
v-model="query.problemSourcesCode"
placeholder="问题来源"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
</el-col>
@ -218,7 +218,7 @@
placeholder="问题来源"
v-model="query.problemSourcesCode"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
<el-select
style="width: 146px"

4
src/views/jwpy/query_rjckfw.vue

@ -29,7 +29,7 @@
v-model="query.problemSourcesCode"
placeholder="问题来源"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
</el-col>
@ -218,7 +218,7 @@
placeholder="问题来源"
v-model="query.problemSourcesCode"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
<el-select
style="width: 146px"

4
src/views/jwpy/query_zfba.vue

@ -29,7 +29,7 @@
v-model="query.problemSourcesCode"
placeholder="问题来源"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
</el-col>
@ -218,7 +218,7 @@
placeholder="问题来源"
v-model="query.problemSourcesCode"
>
<el-option label="民意感知" value="2"/>
<el-option label="警务评议" value="2"/>
</el-select>
<el-select
style="width: 146px"

Loading…
Cancel
Save