|
|
|
|
@ -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, () => { |
|
|
|
|
|