Browse Source

fix:1、禁闭管理涉及问题下发; 2、信访大屏数字布局调整;3、信访大屏湖南地图数据展示

main
pengwei 9 months ago
parent
commit
69f37c5750
  1. 10
      src/api/work/confinement.ts
  2. 3
      src/components/datav/tabs.vue
  3. 11
      src/components/negative/dialog.vue
  4. 2699
      src/components/negative/verify.vue
  5. 105
      src/views/datav/MailVisits.vue

10
src/api/work/confinement.ts

@ -6,6 +6,16 @@ export const getConfinementList = (query)=>{
query query
}) })
} }
//无权限判断的分页查询
export const getConfinementListAll =(query)=>{
return request.get({
url:'/confinement/listALl',
query
})
}
//新增 //新增
export const InsertConfinement = (body) =>{ export const InsertConfinement = (body) =>{
return request.post({ return request.post({

3
src/components/datav/tabs.vue

@ -114,6 +114,9 @@ function handleChangeActiveTab(item) {
} }
} }
} }
.tabs-content{
min-width: 300px;
}
.tab-title { .tab-title {
margin-bottom: 4px; margin-bottom: 4px;
cursor: pointer; cursor: pointer;

11
src/components/negative/dialog.vue

@ -136,8 +136,11 @@
</el-col> </el-col>
<el-col :span="19" style="height: 100%"> <el-col :span="19" style="height: 100%">
<el-scrollbar max-height="100%" class="main-container"> <el-scrollbar max-height="100%" class="main-container">
<!--提回-->
<negative-sign-return-description /> <negative-sign-return-description />
<!-- 延期-->
<negative-apply-extension-description /> <negative-apply-extension-description />
<!-- 问题信息-->
<negative-description /> <negative-description />
<div <div
class="row mt-10" class="row mt-10"
@ -161,6 +164,7 @@
verifyEditFlag verifyEditFlag
" "
> >
<!-- 核查办理-->
<negative-verify <negative-verify
ref="componentRef" ref="componentRef"
@submit="handleSubmitExecute" @submit="handleSubmitExecute"
@ -174,9 +178,11 @@
) > -1 && !verifyEditFlag ) > -1 && !verifyEditFlag
" "
> >
<!-- 核查办理查看-->
<negative-verify-description /> <negative-verify-description />
</template> </template>
<template v-if="approves.length"> <template v-if="approves.length">
<!-- 审批意见-->
<negative-approve-description /> <negative-approve-description />
</template> </template>
<div <div
@ -208,15 +214,18 @@
-1 -1
" "
> >
<!-- 办理单位-->
<negative-distribute ref="componentRef" /> <negative-distribute ref="componentRef" />
</template> </template>
</template> </template>
<!-- 会签-->
<negative-countersign-description /> <negative-countersign-description />
<template <template
v-if=" v-if="
components.indexOf('negative-countersign') > -1 components.indexOf('negative-countersign') > -1
" "
> >
<!-- 会签意见-->
<negative-countersign <negative-countersign
ref="componentRef" ref="componentRef"
@submit="handleSubmitExecute" @submit="handleSubmitExecute"
@ -250,6 +259,7 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 抽检-->
<el-form <el-form
class="mt-20" class="mt-20"
:model="formData" :model="formData"
@ -362,6 +372,7 @@
/> />
</template> </template>
<template v-if="item.actionKey.includes('apply_extension')"> <template v-if="item.actionKey.includes('apply_extension')">
<!-- 申请延期-->
<negative-apply-extension <negative-apply-extension
:ref="(el) => setActionItemRef(item.actionKey, el)" :ref="(el) => setActionItemRef(item.actionKey, el)"
@submit="handleSubmitExecute" @submit="handleSubmitExecute"

2699
src/components/negative/verify.vue

File diff suppressed because it is too large Load Diff

105
src/views/datav/MailVisits.vue

@ -7,7 +7,7 @@
<el-col :span="6"> <el-col :span="6">
<datav-card title="初访重访情况"> <datav-card title="初访重访情况">
<el-row class="mb-32"> <el-row class="mb-32">
<el-col :span="8"> <el-col :span="12">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ currentLeftOverview.firstMail }} {{ currentLeftOverview.firstMail }}
@ -17,7 +17,7 @@
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="12">
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ currentLeftOverview.repeatMail }} {{ currentLeftOverview.repeatMail }}
@ -27,16 +27,7 @@
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="8">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ currentLeftOverview.leaderMail }}
</div>
<div class="descriptions_label">
领导接访数
</div>
</div>
</el-col>
</el-row> </el-row>
<datav-card> <datav-card>
<datav-tabs v-model="activeTab" ref="firstAndRepeat"> <datav-tabs v-model="activeTab" ref="firstAndRepeat">
@ -44,6 +35,7 @@
<datav-tabs <datav-tabs
v-model="fxsjFirstAndRepeatTab" v-model="fxsjFirstAndRepeatTab"
type="bottom-button" type="bottom-button"
> >
<datav-tab-item label="初信初访" name="1"> <datav-tab-item label="初信初访" name="1">
<el-scrollbar height="300px"> <el-scrollbar height="300px">
@ -52,6 +44,7 @@
size="large" size="large"
:max="11" :max="11"
:color="colors" :color="colors"
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
@ -65,16 +58,7 @@
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
<datav-tab-item label="领导接访" name="3">
<el-scrollbar height="300px">
<datav-chart-bar
:data="fxsjLeaderViewMailList"
:max="11"
size="large"
:color="leaderViewColors"
/>
</el-scrollbar>
</datav-tab-item>
</datav-tabs> </datav-tabs>
</datav-tab-item> </datav-tab-item>
<datav-tab-item label="局属单位" name="2"> <datav-tab-item label="局属单位" name="2">
@ -99,16 +83,7 @@
/> />
</el-scrollbar> </el-scrollbar>
</datav-tab-item> </datav-tab-item>
<datav-tab-item label="领导接访" name="3">
<el-scrollbar height="300px">
<datav-chart-bar
:data="bwzdLeaderViewMailList"
:max="11"
size="large"
:color="leaderViewColors"
/>
</el-scrollbar>
</datav-tab-item>
</datav-tabs> </datav-tabs>
</datav-tab-item> </datav-tab-item>
</datav-tabs> </datav-tabs>
@ -227,8 +202,7 @@
<el-col :span="6"> <el-col :span="6">
<datav-card title="群众集访情况"> <datav-card title="群众集访情况">
<el-row class="mb-32"> <el-row class="mb-32">
<el-col :span="12">
<el-col >
<div class="descriptions_cell text-center"> <div class="descriptions_cell text-center">
<div class="descriptions_content"> <div class="descriptions_content">
{{ currentRightOverview.mass }} {{ currentRightOverview.mass }}
@ -238,7 +212,18 @@
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="12">
<div class="descriptions_cell text-center">
<div class="descriptions_content">
{{ currentLeftOverview.leaderMail }}
</div>
<div class="descriptions_label">
领导接访数
</div>
</div>
</el-col>
</el-row> </el-row>
<datav-card> <datav-card>
<datav-tabs v-model="activeTabRight" ref="entanglement"> <datav-tabs v-model="activeTabRight" ref="entanglement">
<datav-tab-item label="分县市局" name="1"> <datav-tab-item label="分县市局" name="1">
@ -246,8 +231,17 @@
type="bottom-button" type="bottom-button"
v-model="fxsjEntanglementTab" v-model="fxsjEntanglementTab"
> >
<datav-tab-item label="领导接访" name="1">
<datav-tab-item label="群体集访" name="3"> <el-scrollbar height="300px">
<datav-chart-bar
:data="fxsjLeaderViewMailList"
:max="11"
size="large"
:color="leaderViewColors"
/>
</el-scrollbar>
</datav-tab-item>
<datav-tab-item label="群体集访" name="2">
<el-scrollbar height="300px"> <el-scrollbar height="300px">
<datav-chart-bar <datav-chart-bar
:data="fxsjMassMailList" :data="fxsjMassMailList"
@ -262,9 +256,19 @@
<datav-tab-item label="局属单位" name="2"> <datav-tab-item label="局属单位" name="2">
<datav-tabs <datav-tabs
type="bottom-button" type="bottom-button"
>
<datav-tab-item label="群体集访" name="3"> >
<datav-tab-item label="领导接访" name="1">
<el-scrollbar height="300px">
<datav-chart-bar
:data="bwzdLeaderViewMailList"
:max="11"
size="large"
:color="leaderViewColors"
/>
</el-scrollbar>
</datav-tab-item>
<datav-tab-item label="群体集访" name="2">
<el-scrollbar height="300px"> <el-scrollbar height="300px">
<datav-chart-bar <datav-chart-bar
:data="bwzdMassMailList" :data="bwzdMassMailList"
@ -441,20 +445,19 @@ const option = ref({
trigger: 'item', trigger: 'item',
position: 'bottom', position: 'bottom',
formatter: function (params) { formatter: function (params) {
console.log(params)
const dataItem = mailMapIconList.value.find(item => item.name.includes(params.name.substring(0, 2))); const dataItem = mailMapIconList.value.find(item => item.name.includes(params.name.substring(0, 2)));
//
if (dataItem) { if (dataItem) {
return ` return `
<div class="tooltip"> <div class="tooltip">
<div class="tooltip-title">${dataItem.originalName}</div> <div class="tooltip-title">${dataItem.originalName} </div>
<div class="tooltip-content"> <div class="tooltip-content">
<ul class="tooltip-ul" > <ul class="tooltip-ul" >
<li>信访总件数 <span>${dataItem.total}</span></li> <li>信访总件数 <span>${dataItem.total}</span></li>
<li>国家信访 <span>${dataItem.countryTotal}</span></li> <li>国家信访 <span> ${dataItem.countryTotal }</span></li>
<li>公安部信访 <span>${dataItem.policeTotal}</span></li> <li>公安部信访 <span> ${dataItem.policeTotal }</span></li>
<li>局长信箱 <span>${dataItem.commissionerTotal}</span></li> <li>局长信箱 <span> ${dataItem.commissionerTotal }</span></li>
<li>12337信访 <span>${dataItem.numTotal}</span></li> <li>12337信访 <span>${dataItem.numTotal }</span></li>
</ul> </ul>
</div> </div>
</div>`; </div>`;
@ -840,9 +843,11 @@ const getAllMailCountData = async (timeValue = time.value) => {
const getMailMapIconData = async (timeValue = time.value) => { const getMailMapIconData = async (timeValue = time.value) => {
console.log('-------执行')
const res = await getMailMapIcon(timeValue); const res = await getMailMapIcon(timeValue);
const mappedData = mapOrgNameMapping(res.mailMapIconList, "total"); const mappedData = mapOrgNameMapping(res.mailMapIconList, "total");
mailMapIconList.value = mappedData; mailMapIconList.value = mappedData;
console.log('-------执行2')
console.log(mailMapIconList) console.log(mailMapIconList)
const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0); const total = mappedData.reduce((sum, item) => sum + Number(item.value), 0);
const avg = total / mappedData.length; // const avg = total / mappedData.length; //
@ -921,7 +926,7 @@ const currentRightOverview = computed(() => {
// region // region
const fxsjFirstAndRepeatAnimation = () => { const fxsjFirstAndRepeatAnimation = () => {
fxsjFirstAndRepeatTab.value = (parseInt(fxsjFirstAndRepeatTab.value) % 3 + 1).toString(); fxsjFirstAndRepeatTab.value = (parseInt(fxsjFirstAndRepeatTab.value) % 2 + 1).toString();
}; };
fxsjFirstAndRepeatIntervalId = setInterval(fxsjFirstAndRepeatAnimation, 3000); fxsjFirstAndRepeatIntervalId = setInterval(fxsjFirstAndRepeatAnimation, 3000);
// //
@ -966,7 +971,7 @@ const mailTrendAnimation = () => {
mailTrendIntervalId = setInterval(mailTrendAnimation, 2000); mailTrendIntervalId = setInterval(mailTrendAnimation, 2000);
// 访访 // 访访
const fxsjEntanglementAnimation = () => { const fxsjEntanglementAnimation = () => {
fxsjEntanglementTab.value = (parseInt(fxsjEntanglementTab.value) % 3 + 1).toString(); fxsjEntanglementTab.value = (parseInt(fxsjEntanglementTab.value) % 2 + 1).toString();
}; };
fxsjEntanglementIntervalId = setInterval(fxsjEntanglementAnimation, 3000); fxsjEntanglementIntervalId = setInterval(fxsjEntanglementAnimation, 3000);
// // // //
@ -1116,6 +1121,8 @@ function open(path) {
} }
.tooltip-content ul li { .tooltip-content ul li {
display: flex;
justify-content: space-around;
height: 26px; height: 26px;
color: #597AE9; color: #597AE9;
font-weight: 400; font-weight: 400;
@ -1123,11 +1130,11 @@ function open(path) {
} }
.tooltip-ul span { .tooltip-ul span {
display: inline-block;
float: right; float: right;
width: 55px;
color: #fff; color: #fff;
font-size: 14px; font-size: 14px;
text-align: center; /* 水平居中 */ //text-align: center; /* */
} }
} }

Loading…
Cancel
Save