Browse Source

fix:督察任务发布(重点人员列表版加 功能点优化)

main
pengwei 5 months ago
parent
commit
7e8372105a
  1. 254
      src/views/mobileSupervise/Inspection.vue

254
src/views/mobileSupervise/Inspection.vue

@ -82,7 +82,7 @@
<span v-if="row.taskStatus === 'done'">已完成</span>
</template>
</el-table-column>
<el-table-column label="操作" width="200">
<el-table-column label="操作" fixed="right" min-width="120px">
<template #default="{ row }">
<el-button
type="primary"
@ -139,7 +139,7 @@
</div>
</div>
<!--任务发布-->
<el-dialog title="发布任务" v-model="show" width="1076px" top="5vh"
<el-dialog title="发布任务" v-model="show" width="80vw" top="5vh"
style="margin-bottom: 0"
>
<el-scrollbar max-height="76vh">
@ -431,7 +431,7 @@
>重点人员管控模板下载</a
>
</div>
<div style="width: 100%">
<div style="width: 100%" v-show="!uploadShow">
<el-upload
style="width: 100%"
drag
@ -465,11 +465,53 @@
</template>
</el-upload>
</div>
<div v-show="uploadShow" style="width: 100%;margin: 5px 0;display: flex;justify-content: space-between;background-color: #F8F9FE">
<div>
{{fileData[fileData.length - 1]?.name}}
</div>
<div >
<el-button type="primary" link @click="showUploadFun" >重新上传</el-button>
</div>
</div>
<div style="width: 100%" v-if="showRiskDataTable" >
<el-row style="width: 100%" :gutter="20">
<el-col :span="4">
<el-select placeholder="管控级别" v-model="riskDataQuery.controlLevel">
<el-option v-for="(item,index) in dict.controlLevel"
:key="index"
:label="item.dictLabel"
:value="item.dictValue"
></el-option>
</el-select>
</el-col>
<el-col :span="4">
<el-input v-model="riskDataQuery.keyword" placeholder="姓名或手机号或身份证"></el-input>
</el-col>
<el-col :span="4">
<el-select v-model="riskDataQuery.personalType" placeholder="人员类别">
<el-option v-for="(item,index) in dict.controlType"
:key="index"
:label="item.dictLabel"
:value="item.dictValue"
></el-option>
</el-select>
</el-col>
<el-col :span="4">
<el-input v-model="riskDataQuery.responsibleName" placeholder="责任民警"></el-input>
</el-col>
<el-col :span="4">
<el-input v-model="riskDataQuery.controlName" placeholder="包保督察人员"></el-input>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getRiskDataTableSubmit">查询</el-button>
</el-col>
</el-row>
<el-table
ref="singleTableRef"
:data="riskDataTable"
highlight-current-row
style="width: 100%"
style="width: 100%;margin-top: 10px"
>
<el-table-column type="index" width="50" label="序号" />
<el-table-column property="name" label="项目" width="60" />
@ -478,14 +520,14 @@
<el-table-column property="mobile" label="联系方式" width="100" />
<el-table-column property="personalType" label="人员类别" width="80" />
<el-table-column property="controlLevel" label="管控级别" width="80" />
<el-table-column property="controlTimeInterval" label="管控间隔" width="120" />
<el-table-column property="responsibleDepartName" label="责任单位" width="120" />
<el-table-column property="responsibleName" label="责任民警" width="120" />
<el-table-column property="controlTimeInterval" label="管控间隔" width="60" />
<el-table-column property="responsibleDepartName" label="责任单位" width="70" />
<el-table-column property="responsibleName" label="责任民警" width="60" />
<el-table-column property="controlEmpNo" label="包保督察人员警号" width="120" />
<el-table-column property="controlName" label="包保督察人员姓名" width="120" />
<el-table-column fixed="right" label="操作" min-width="120">
<template #default>
<el-button link type="danger" size="small">删除</el-button>
<template #default="{row}">
<el-button link type="danger" size="small" @click="delriskData(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -500,12 +542,8 @@
:total="riskDataTotal"
/>
</div>
<div class="flex gap wrap pepole-container mt-20">
<el-tag v-for="item in form.supRiskDtoList" :key="item"
>{{ item.name }}-{{ item.idCode }}
</el-tag
>
</div>
</el-form-item>
</div>
</div>
@ -729,11 +767,71 @@
</div>
<div id="zdrygk" v-if="activeRow.specialType === '重点人员管控'">
<el-form-item label="管控对象">
<div class="flex gap wrap pepole-container mt-20">
<el-tag v-for="item in activeRow.supRiskDtoList" :key="item"
>{{ item.name }}-{{ item.idCode }}
</el-tag
<div style="width: 100%" >
<el-row style="width: 100%" :gutter="20">
<el-col :span="4">
<el-select placeholder="管控级别" v-model="riskDataQuery.controlLevel">
<el-option v-for="(item,index) in dict.controlLevel"
:key="index"
:label="item.dictLabel"
:value="item.dictValue"
></el-option>
</el-select>
</el-col>
<el-col :span="4">
<el-input v-model="riskDataQuery.keyword" placeholder="姓名或手机号或身份证"></el-input>
</el-col>
<el-col :span="4">
<el-select v-model="riskDataQuery.personalType" placeholder="人员类别">
<el-option v-for="(item,index) in dict.controlType"
:key="index"
:label="item.dictLabel"
:value="item.dictValue"
></el-option>
</el-select>
</el-col>
<el-col :span="4">
<el-input v-model="riskDataQuery.responsibleName" placeholder="责任民警"></el-input>
</el-col>
<el-col :span="4">
<el-input v-model="riskDataQuery.controlName" placeholder="包保督察人员"></el-input>
</el-col>
<el-col :span="4">
<el-button type="primary" @click="getRiskDataTableSubmit">查询</el-button>
</el-col>
</el-row>
<el-table
ref="singleTableRef"
:data="riskDataTable"
highlight-current-row
style="width: 100%;margin-top: 10px"
>
<el-table-column type="index" width="50" label="序号" />
<el-table-column property="name" label="项目" width="60" />
<el-table-column property="gender" label="性别" width="60" />
<el-table-column property="idCode" label="身份证号" width="100" />
<el-table-column property="mobile" label="联系方式" width="100" />
<el-table-column property="personalType" label="人员类别" width="80" />
<el-table-column property="controlLevel" label="管控级别" width="80" />
<el-table-column property="controlTimeInterval" label="管控间隔" width="60" />
<el-table-column property="responsibleDepartName" label="责任单位" width="70" />
<el-table-column property="responsibleName" label="责任民警" width="60" />
<el-table-column property="controlEmpNo" label="包保督察人员警号" width="70" />
<el-table-column property="controlName" label="包保督察人员姓名" width="70" />
</el-table>
<div class="flex end mt-8">
<el-pagination
@size-change="getRiskDataTableList"
@current-change="getRiskDataTableList"
:page-sizes="[10]"
v-model:page-size="riskDataQuery.size"
v-model:current-page="riskDataQuery.current"
layout="total, sizes, prev, pager, next"
:total="riskDataTotal"
/>
</div>
</div>
</el-form-item>
</div>
@ -1389,7 +1487,7 @@ import {getTaskProblem} from "@/api/mobileSupervision/taskProblem";
import { getToken } from "@/utils/token";
let cardContent = ref()
const catchStore = useCatchStore();
const dict = catchStore.getDicts(["supervisionType", "personnelTypeArray", "inspectorType", "personType"]);
const dict = catchStore.getDicts(["supervisionType", "personnelTypeArray", "inspectorType", "personType","controlLevel","controlType"]);
const fileListData = ref([]);
const list = ref([]);
@ -1485,7 +1583,8 @@ getList();
const form = ref({
files: []
files: [],
supRiskDtoList:[]
});
const formRef = ref(null);
@ -1497,13 +1596,15 @@ async function submit() {
if (quillRef.value) {
form.value.taskContent = quillRef.value.getText()
}
// await addInspection(form.value);
await addTaskManagement(form.value)
feedback.msgSuccess("发布成功");
show.value = false;
getList();
form.value = {};
form.value = {
files: [],
supRiskDtoList:[]
};
}
//
@ -1521,10 +1622,16 @@ const getTaskType = (val) => {
function handleShowAdd() {
form.value.supervisionType = '日常督察'
show.value = true;
form.value = {
files: [],
supRiskDtoList:[]
};
}
const detailShow = ref(false);
const activeRow = ref({});
const activeRow = ref({
supRiskDtoList:[]
});
/**
* 显示督察任务详情
@ -1566,29 +1673,18 @@ const activeRowData = ref({})
async function showDeatil(row) {
problemShow.value = true
console.log('activeRowData-start')
activeRowData.value = await getTaskProblem(row.id)
console.log('activeRowData', activeRowData.value)
}
//
const fileData=ref([])
const fileDataLoading = ref(false)
// async function handleSupRiskImport() {
// const formData = new FormData();
// formData.append("file", fileData.value[fileData.value.length - 1].raw);
// fileDataLoading.value = true;
// try {
// form.value.supRiskDtoList = await importSupRiskPersonal(formData);
// } catch (e) {
// fileDataLoading.value = false;
// return
// }
// fileDataLoading.value = false;
// }
const showRiskDataTable =ref(false);
async function SupRiskSuccess (val){
form.value.supRiskDtoList=val.data
fileDataLoading.value=false;
showRiskDataTable.value=true;
showUploadFun();
}
const SupRiskProgress= ()=>{
fileDataLoading.value=true;
@ -1789,20 +1885,6 @@ const managementProgress = async (val)=>{
temperancLoading.value=true;
}
// async function handleImport() {
// const formData = new FormData();
// formData.append("file", fileListData.value[fileListData.value.length - 1].raw);
// loading.value = true;
// try {
// form.value.userList = await importTemperancePolice(formData);
// } catch (e) {
// loading.value = false;
// return
// }
// loading.value = false;
// }
//getDeparts
const departs = catchStore.getDepartsAll();
@ -1822,29 +1904,79 @@ onMounted(() => {
const riskDataTable = ref([]);
const riskDataQuery=ref({})
const riskDataTotal = ref(0);
const filterDataTable = ref([])
const uploadShow =ref(false)
/**
* 获取重点督察人员表单
* */
watch(()=>form.value.supRiskDtoList,(newVal)=>{
console.log('form.value.supRiskDtoList',form.value.supRiskDtoList)
if(form.value.supRiskDtoList){
riskDataTotal.value=form.value.supRiskDtoList.length;
riskDataTable.value = form.value.supRiskDtoList.slice(0,11)
if(form.value.supRiskDtoList.length > 0){
getRiskDataTableSubmit();
}
},{immediate:true})
},{immediate:true,deep:true})
/**
* 获取重点督察人员表单
* */
watch(()=>activeRow.value.supRiskDtoList,(newVal)=>{
if(activeRow.value.supRiskDtoList.length > 0){
getRiskDataTableSubmit();
}
},{immediate:true,deep:true})
const showUploadFun = ()=>{
uploadShow.value = !uploadShow.value
}
/**
* 获取表单数据
* */
const getRiskDataTableList = (val)=>{
console.log('getRiskDataTableList',val)
let end =(10 * val) + 1;
let start =(10 * (val -1));
if(riskDataTotal.value < (10 * val )){
end=riskDataTotal.value;
}
riskDataTable.value = filterDataTable.value.slice(start,end);
}
riskDataTable.value = form.value.supRiskDtoList.slice(start,end);
/**
* 删除数据
* */
const delriskData =(row)=>{
form.value.supRiskDtoList = form.value.supRiskDtoList.filter(s=>s.idCode !== row.idCode);
}
// controlLevel
// keyword
// personalType
// responsibleName
// controlName
const getRiskDataTableSubmit =()=>{
filterDataTable.value = form.value.supRiskDtoList.length > 0?form.value.supRiskDtoList:activeRow.value.supRiskDtoList
//
if(riskDataQuery.value.controlLevel){
filterDataTable.value = filterDataTable.value.filter(s=>s.controlLevel.includes(riskDataQuery.value.controlLevel));
console.log('filterDataTable',filterDataTable.value)
}
if(riskDataQuery.value.keyword){
filterDataTable.value = filterDataTable.value.filter(s=>s.name.includes(riskDataQuery.value.keyword) || s.idCode.includes(riskDataQuery.value.keyword)||s.mobile.includes(riskDataQuery.value.keyword));
}
if(riskDataQuery.value.personalType){
filterDataTable.value = filterDataTable.value.filter(s=>s.personalType.includes(riskDataQuery.value.personalType));
}
if(riskDataQuery.value.responsibleName){
filterDataTable.value = filterDataTable.value.filter(s=>s.responsibleName.includes(riskDataQuery.value.responsibleName));
}
if(riskDataQuery.value.controlName){
filterDataTable.value = filterDataTable.value.filter(s=>s.controlName.includes(riskDataQuery.value.controlName));
}
riskDataTotal.value=filterDataTable.value.length;
riskDataTable.value=filterDataTable.value.slice(0,11);
}
watch(departs, () => {

Loading…
Cancel
Save