|
|
|
|
@ -207,12 +207,21 @@
|
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<div style="width: 800px"> |
|
|
|
|
<!-- <el-date-picker--> |
|
|
|
|
<!-- v-model="form.times"--> |
|
|
|
|
<!-- type="datetimerange"--> |
|
|
|
|
<!-- range-separator="-"--> |
|
|
|
|
<!-- start-placeholder="开始时间"--> |
|
|
|
|
<!-- end-placeholder="结束时间"--> |
|
|
|
|
<!-- />--> |
|
|
|
|
<el-date-picker |
|
|
|
|
@change="changEndDateTime" |
|
|
|
|
v-model="form.times" |
|
|
|
|
type="datetimerange" |
|
|
|
|
range-separator="-" |
|
|
|
|
start-placeholder="开始时间" |
|
|
|
|
end-placeholder="结束时间" |
|
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
|
|
|
:unlink-panels="true" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
@ -1119,6 +1128,13 @@
|
|
|
|
|
width="140" |
|
|
|
|
show-overflow-tooltip |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="下发状态" > |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
<el-tag type="info" v-if=" row.hasProblem && row.distributionState == '0' ">未下发</el-tag> |
|
|
|
|
<el-tag type="primary" v-if="row.hasProblem && row.distributionState == '1' ">已分发</el-tag> |
|
|
|
|
<el-tag type="primary" v-if="row.hasProblem && row.distributionState == '2' ">已处置</el-tag> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column |
|
|
|
|
label="问题类型" |
|
|
|
|
prop="problemType" |
|
|
|
|
@ -1138,8 +1154,15 @@
|
|
|
|
|
link |
|
|
|
|
@click="showDeatil(row)" |
|
|
|
|
>详情 |
|
|
|
|
</el-button |
|
|
|
|
</el-button> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
link |
|
|
|
|
v-if="row.hasProblem && row.distributionState == '0'" |
|
|
|
|
@click="issueMatterFun(row,'rcdc')" |
|
|
|
|
> |
|
|
|
|
下发 |
|
|
|
|
</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
@ -1176,7 +1199,7 @@
|
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<div class="flex end"> |
|
|
|
|
<el-button type="primary" @click="getProblems"> |
|
|
|
|
<el-button type="primary" @click="getSelfexaminationProblemFun"> |
|
|
|
|
<template #icon> |
|
|
|
|
<icon name="el-icon-Search"/> |
|
|
|
|
</template> |
|
|
|
|
@ -1214,6 +1237,13 @@
|
|
|
|
|
show-overflow-tooltip |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="具体情况" prop="detail"/> |
|
|
|
|
<el-table-column label="下发状态" > |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
<el-tag type="info" v-if=" row.hasProblem && row.distributionState == '0' ">未下发</el-tag> |
|
|
|
|
<el-tag type="primary" v-if="row.hasProblem && row.distributionState == '1' ">已分发</el-tag> |
|
|
|
|
<el-tag type="primary" v-if="row.hasProblem && row.distributionState == '2' ">已处置</el-tag> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column |
|
|
|
|
label="创建时间" |
|
|
|
|
prop="createTime" |
|
|
|
|
@ -1228,6 +1258,14 @@
|
|
|
|
|
>详情 |
|
|
|
|
</el-button |
|
|
|
|
> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
link |
|
|
|
|
v-if="row.hasProblem && row.distributionState == '0'" |
|
|
|
|
@click="issueMatterFun(row,'sdzc')" |
|
|
|
|
> |
|
|
|
|
下发 |
|
|
|
|
</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
@ -1355,8 +1393,8 @@
|
|
|
|
|
link |
|
|
|
|
@click="handleShowPeople(row)" |
|
|
|
|
>详情 |
|
|
|
|
</el-button |
|
|
|
|
> |
|
|
|
|
</el-button> |
|
|
|
|
<el-button v-if="row.drinkResult === '饮酒' && row.issueState != 'done' " type="primary" link @click="issueMatterFun(row,'zjdc')">下发</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
@ -1474,82 +1512,325 @@
|
|
|
|
|
</div> |
|
|
|
|
</el-dialog> |
|
|
|
|
<!-- 重点人员督察情况--> |
|
|
|
|
<el-dialog title="重点人员督察情况" v-model="superviseRiskShow" width="80vw" style="height:80vh"> |
|
|
|
|
<div class="superviseRiskCards"> |
|
|
|
|
<div class="risk_left"> |
|
|
|
|
<div class="user_cards"> |
|
|
|
|
<div class="user_card" v-for="(item,index) in riskDataCards" @click="handSupRiskCard(item,index)" :class="changeCardIndex == index?`user_card_change`:''"> |
|
|
|
|
<div class="user_card_img"> |
|
|
|
|
<el-avatar style="height: 100% " shape="square" :size="100" :fit="`fit`" |
|
|
|
|
:src="item.imgBase64"/> |
|
|
|
|
<el-dialog title="重点人员督察情况" v-model="superviseRiskShow" width="80vw" style="min-height:80vh"> |
|
|
|
|
<el-form> |
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-input v-model="riskPersonalQuery.name" placeholder="请输入姓名或身份证、手机号" clearable /> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-select v-model="riskPersonalQuery.personalType" placeholder="请选择人员类别" clearable> |
|
|
|
|
<el-option v-for="(item,index) in dict.controlType" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue"/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-select placeholder="管控级别" clearable v-model="riskPersonalQuery.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="6"> |
|
|
|
|
<el-input size="default" placeholder="管控间隔" v-model="riskPersonalQuery.controlTimeInterval" /> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-top:20px" :gutter="20"> |
|
|
|
|
<el-col :span="6" > |
|
|
|
|
<depart-tree-select :size="'default'" placeholder="责任单位" v-model="riskPersonalQuery.responsibleDepartId" clearable/> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-input placeholder="责任民警" clearable v-model="riskPersonalQuery.responsibleName"></el-input> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-select placeholder="督察状态" v-model="riskPersonalQuery.supStatus" clearable> |
|
|
|
|
<el-option label="在控" value="在控"></el-option> |
|
|
|
|
<el-option label="失控" value="失控"></el-option> |
|
|
|
|
<el-option label="无法确认" value="无法确认"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
<div class="flex end" style="margin: 10px 0"> |
|
|
|
|
<el-button type="primary" @click="getSuperviseTable" > |
|
|
|
|
<template #icon> |
|
|
|
|
<icon name="el-icon-Search"/> |
|
|
|
|
</template> |
|
|
|
|
查询 |
|
|
|
|
</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-table :data="riskDataCards" @row-click="row=>handSupRiskCard(row)"> |
|
|
|
|
<el-table-column label="姓名" prop="name" width="120"> |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
<div style="display:flex;align-items: center;justify-content: space-around"> |
|
|
|
|
<el-avatar style="height: 60px;width: 60px " shape="square" :size="100" :fit="`fit`" |
|
|
|
|
:src="row.imgBase64"/> |
|
|
|
|
<div >{{row.name}}</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="user_card_info"> |
|
|
|
|
<div> |
|
|
|
|
<el-row style="margin-bottom: 2px"> |
|
|
|
|
<el-col :span="12">姓名:<span class="user_card_info_text">{{ item.name }}</span></el-col> |
|
|
|
|
<el-col :span="12">管控级别:<span class="user_card_info_text">{{ item.controlLevel }}</span></el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-bottom: 2px"> |
|
|
|
|
<el-col :span="12">人员类别:<span class="user_card_info_text">{{ item.personalType }}</span></el-col> |
|
|
|
|
<el-col :span="12">性别:<span class="user_card_info_text">{{ item.gender }}</span></el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-bottom: 2px"> |
|
|
|
|
身份证:<span class="user_card_info_text">{{ item.idCode }}</span> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-bottom: 2px"> |
|
|
|
|
联系电话:<span class="user_card_info_text">{{ item.mobile }}</span> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-bottom: 2px"> |
|
|
|
|
<el-col :span="12">责任单位:<span class="user_card_info_text">{{ item.responsibleDepartName }}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12">责任民警:<span class="user_card_info_text">{{ item.responsibleName }}</span> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-bottom: 2px"> |
|
|
|
|
<el-col :span="12">管控间隔:<span class="user_card_info_text">{{ item.controlTimeInterval }}</span> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12">督察状态:<span class="user_card_info_text">{{ item.supStatus }}</span></el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="性别" prop="gender" width="40"></el-table-column> |
|
|
|
|
<el-table-column label="身份证号" prop="idCode" width="120"></el-table-column> |
|
|
|
|
<el-table-column label="联系方式" prop="mobile"></el-table-column> |
|
|
|
|
<el-table-column label="人员类别" prop="personalType"></el-table-column> |
|
|
|
|
<el-table-column label="管控级别" prop="controlLevel"></el-table-column> |
|
|
|
|
<el-table-column label="管控间隔" prop="controlTimeInterval"></el-table-column> |
|
|
|
|
<el-table-column label="责任单位" prop="responsibleDepartName"></el-table-column> |
|
|
|
|
<el-table-column label="责任民警" prop="responsibleName"></el-table-column> |
|
|
|
|
<el-table-column label="督察状态" prop="supStatus"> |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
<el-tag type="danger" v-if="row.supStatus == '失控'">{{row.supStatus}}</el-tag> |
|
|
|
|
<el-tag type="primary" v-if="row.supStatus == '在控'">{{row.supStatus}}</el-tag> |
|
|
|
|
<el-tag type="info" v-if="row.supStatus == '无法确认'">{{row.supStatus}}</el-tag> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<div class="flex end mt-8"> |
|
|
|
|
<el-pagination |
|
|
|
|
@size-change="getSuperviseTable" |
|
|
|
|
@current-change="getSuperviseTable" |
|
|
|
|
:page-sizes="[10, 20, 50]" |
|
|
|
|
v-model:page-size="riskPersonalQuery.size" |
|
|
|
|
v-model:current-page="riskPersonalQuery.current" |
|
|
|
|
layout="total, sizes, prev, pager, next" |
|
|
|
|
:total="riskPersonalTotal" |
|
|
|
|
> |
|
|
|
|
</el-pagination> |
|
|
|
|
</div> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row> |
|
|
|
|
<el-table ref="taskSupDataTable" :preserve-expanded-content="preserveExpanded" :data="taskSupData" v-loading="taskLoading"> |
|
|
|
|
<el-table-column type="expand"> |
|
|
|
|
<template #default="props"> |
|
|
|
|
<div > |
|
|
|
|
<p >督察时间: {{ props.row.supTime }}</p> |
|
|
|
|
<p>督察状态: {{ props.row.supStatus }}</p> |
|
|
|
|
<p >督察方式: {{ props.row.supType }}</p> |
|
|
|
|
<p>督察情况: {{props.row.supDesc}}</p> |
|
|
|
|
<p>附件:</p> |
|
|
|
|
<file-list v-model:files="props.row.fileVoList" :removeEnable="false" /> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="督察时间" prop="supTime"></el-table-column> |
|
|
|
|
<el-table-column label="督察状态" prop="supStatus"> |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
<el-tag type="danger" v-if="row.supStatus == '失控'">{{row.supStatus}}</el-tag> |
|
|
|
|
<el-tag type="primary" v-if="row.supStatus == '在控'">{{row.supStatus}}</el-tag> |
|
|
|
|
<el-tag type="info" v-if="row.supStatus == '无法确认'">{{row.supStatus}}</el-tag> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="督察方式" prop="supType"></el-table-column> |
|
|
|
|
<el-table-column label="督察情况" prop="supDesc"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<div class="flex end mt-8"> |
|
|
|
|
<el-pagination |
|
|
|
|
@size-change="getTaskSupDataFun" |
|
|
|
|
@current-change="getTaskSupDataFun" |
|
|
|
|
:page-sizes="[10, 20, 50]" |
|
|
|
|
v-model:page-size="taskSupQuery.size" |
|
|
|
|
v-model:current-page="taskSupQuery.current" |
|
|
|
|
layout="total, sizes, prev, pager, next" |
|
|
|
|
:total="taskSupTotal" |
|
|
|
|
> |
|
|
|
|
</el-pagination> |
|
|
|
|
</div> |
|
|
|
|
</el-row> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<el-dialog title="任务分发" v-model="distributeShow" width="50vw" top="2vh" style="margin-bottom: 0"> |
|
|
|
|
<el-form :label-width="120" ref="formRefs" :model="issueForm" v-loading="issueLoading"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="任务名称" |
|
|
|
|
prop="taskName" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请输入任务名称', |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-input |
|
|
|
|
v-model="issueForm.taskName" |
|
|
|
|
style="width: 280px" |
|
|
|
|
placeholder="请输入" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="指定办理单位" prop="handleDepartId"> |
|
|
|
|
<div class="flex gap"> |
|
|
|
|
<div style="width: 280px"> |
|
|
|
|
<depart-tree-select v-model="issueForm.handleDepartId" /> |
|
|
|
|
</div> |
|
|
|
|
<div class="tips mt-10"> |
|
|
|
|
<p>指定具体办理单位 指将问题分派给哪个单位办理。</p> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="risk_right"> |
|
|
|
|
<el-table ref="taskSupDataTable" :preserve-expanded-content="preserveExpanded" :data="taskSupData" v-loading="taskLoading"> |
|
|
|
|
<el-table-column type="expand"> |
|
|
|
|
<template #default="props"> |
|
|
|
|
<div > |
|
|
|
|
<p >督察时间: {{ props.row.supTime }}</p> |
|
|
|
|
<p>督察状态: {{ props.row.supStatus }}</p> |
|
|
|
|
<p >督察方式: {{ props.row.supType }}</p> |
|
|
|
|
<p>督察情况: {{props.row.supDesc}}</p> |
|
|
|
|
<p>附件:</p> |
|
|
|
|
<file-list v-model:files="props.row.fileVoList" :removeEnable="false" /> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="督察时间" prop="supTime"></el-table-column> |
|
|
|
|
<el-table-column label="督察状态" prop="supStatus"></el-table-column> |
|
|
|
|
<el-table-column label="督察方式" prop="supType"></el-table-column> |
|
|
|
|
<el-table-column label="督察情况" prop="supDesc"></el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<div class="flex end mt-8"> |
|
|
|
|
<el-pagination |
|
|
|
|
@size-change="getTaskSupDataFun" |
|
|
|
|
@current-change="getTaskSupDataFun" |
|
|
|
|
:page-sizes="[10, 20, 50]" |
|
|
|
|
v-model:page-size="taskSupQuery.size" |
|
|
|
|
v-model:current-page="taskSupQuery.current" |
|
|
|
|
layout="total, sizes, prev, pager, next" |
|
|
|
|
:total="taskSupTotal" |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item |
|
|
|
|
label="业务类别" |
|
|
|
|
prop="businessTypeCode" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择业务类别', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-select v-model="issueForm.businessTypeCode" style="width: 280px"> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dict.businessType" |
|
|
|
|
:key="item.id" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item |
|
|
|
|
label="涉嫌问题" |
|
|
|
|
prop="involveProblem" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择涉嫌问题', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
v-model="issueForm.involveProblem" |
|
|
|
|
multiple |
|
|
|
|
clearable |
|
|
|
|
style="width: 280px" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dict.suspectProblem" |
|
|
|
|
:key="item.id" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="涉及警种" prop="policeType"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="issueForm.policeType" |
|
|
|
|
clearable |
|
|
|
|
style="width: 280px" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dict.policeType" |
|
|
|
|
:key="item.id" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item |
|
|
|
|
label="办理时限" |
|
|
|
|
prop="timeLimit" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择办理时限', |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<time-limit-select |
|
|
|
|
v-model="issueForm.timeLimit" |
|
|
|
|
v-model:maxSignDuration="issueForm.maxSignDuration" |
|
|
|
|
v-model:maxHandleDuration="issueForm.maxHandleDuration" |
|
|
|
|
v-model:maxExtensionDuration="issueForm.maxExtensionDuration" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item |
|
|
|
|
label="下发流程" |
|
|
|
|
prop="distributionFlow" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择下发流程', |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-radio-group v-model="issueForm.distributionFlow" class="block"> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in dict.distributionFlow" |
|
|
|
|
:key="item.dictCode" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
>{{ item.dictLabel |
|
|
|
|
}}</el-radio |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item |
|
|
|
|
label="审核流程" |
|
|
|
|
prop="approvalFlow" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择审核流程', |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-radio-group v-model="issueForm.approvalFlow"> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in dict.approvalFlow" |
|
|
|
|
:key="item.dictCode" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
>{{ item.dictLabel |
|
|
|
|
}}{{ item.remark ? `(${item.remark})` : "" }}</el-radio |
|
|
|
|
> |
|
|
|
|
</el-pagination> |
|
|
|
|
</el-radio-group> |
|
|
|
|
<div class="tips mt-10"> |
|
|
|
|
<p> |
|
|
|
|
三级审核 在问题提交办结时,需经过“所队—>二级机构—>市局”三级审核,通过后方可办结; |
|
|
|
|
</p> |
|
|
|
|
<p> |
|
|
|
|
二级审核 在问题提交办结时,仅需经过“所队—>二级机构”两级审核,通过后即可办结; |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="附件说明" prop="thingFiles"> |
|
|
|
|
<file-upload v-model:files="issueForm.thingFiles" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-form> |
|
|
|
|
<footer class="flex end mt-20"> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
size="large" |
|
|
|
|
@click="handleSubmitTask" |
|
|
|
|
v-loading="issueLoading" |
|
|
|
|
>确认下发</el-button |
|
|
|
|
> |
|
|
|
|
</footer> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<el-dialog title="配置涉及单位" v-model="editDepartShow" width="500"> |
|
|
|
|
<el-form |
|
|
|
|
:label-width="120" |
|
|
|
|
:model="editDepartForm" |
|
|
|
|
ref="editDepartFormRef" |
|
|
|
|
> |
|
|
|
|
<el-form-item |
|
|
|
|
label="涉及单位" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择涉及单位', |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<depart-tree-select |
|
|
|
|
v-model="editDepartForm.departId" |
|
|
|
|
@node-click=" |
|
|
|
|
(node) => (editDepartForm.name = node.shortName) |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-form> |
|
|
|
|
<footer class="flex end mt-40"> |
|
|
|
|
<el-button @click="editDepartShow = false">取消</el-button> |
|
|
|
|
<el-button type="primary" @click="handleUpdatDepartModelClue" |
|
|
|
|
>确认</el-button |
|
|
|
|
> |
|
|
|
|
</footer> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
<script setup> |
|
|
|
|
import { |
|
|
|
|
@ -1557,6 +1838,7 @@ import {
|
|
|
|
|
addInspection, |
|
|
|
|
listInspectionProblems |
|
|
|
|
} from "@/api/mobileSupervision/inspection"; |
|
|
|
|
import {TestingAlcoholIssueMatterFun} from '@/api/mobileSupervision/testingAlcohol'; |
|
|
|
|
import feedback from "@/utils/feedback"; |
|
|
|
|
import useCatchStore from "@/stores/modules/catch"; |
|
|
|
|
import {selectListData} from "@/api/mobileSupervision/Sampling"; |
|
|
|
|
@ -1568,6 +1850,7 @@ import {getTaskSuprt} from '@/api/mobileSupervision/supRiskPerson';
|
|
|
|
|
import { |
|
|
|
|
addTaskManagement, |
|
|
|
|
getTaskManagementDetail, |
|
|
|
|
getRiskPersonalPage, |
|
|
|
|
getDepartByIds, |
|
|
|
|
delTaskManagement, |
|
|
|
|
importTemperancePolice, |
|
|
|
|
@ -1578,10 +1861,13 @@ import {listTestingAlcoholPeoples, TestingAlcoholDetail} from "@/api/mobileSuper
|
|
|
|
|
import {getSelfexaminationProblem} from "@/api/mobileSupervision/selfexamination"; |
|
|
|
|
import {getTaskProblem} from "@/api/mobileSupervision/taskProblem"; |
|
|
|
|
import {getToken} from "@/utils/token"; |
|
|
|
|
import {disabledDate} from "@/utils/util"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let cardContent = ref() |
|
|
|
|
const catchStore = useCatchStore(); |
|
|
|
|
const dict = catchStore.getDicts(["supervisionType", "personnelTypeArray", "inspectorType", "personType", "controlLevel", "controlType"]); |
|
|
|
|
const dict = catchStore.getDicts(["supervisionType","policeType","suspectProblem", "approvalFlow","distributionFlow","personnelTypeArray", "inspectorType", "personType","businessType", "controlLevel", "controlType"]); |
|
|
|
|
const fileListData = ref([]); |
|
|
|
|
const list = ref([]); |
|
|
|
|
|
|
|
|
|
@ -1659,8 +1945,10 @@ function getList() {
|
|
|
|
|
* */ |
|
|
|
|
async function delTaskManagementFun(row) { |
|
|
|
|
await feedback.confirm("确定要删除该数据?"); |
|
|
|
|
const res = delTaskManagement(row.id) |
|
|
|
|
getList(); |
|
|
|
|
delTaskManagement(row.id).then(res=>{ |
|
|
|
|
getList() |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
feedback.msgSuccess("删除成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1690,7 +1978,10 @@ async function submit() {
|
|
|
|
|
if (quillRef.value) { |
|
|
|
|
form.value.taskContent = quillRef.value.getText() |
|
|
|
|
} |
|
|
|
|
// await addInspection(form.value); |
|
|
|
|
if(form.value.files ){ |
|
|
|
|
delete form.value.files |
|
|
|
|
} |
|
|
|
|
console.log('form.value',form.value) |
|
|
|
|
await addTaskManagement(form.value) |
|
|
|
|
feedback.msgSuccess("发布成功"); |
|
|
|
|
show.value = false; |
|
|
|
|
@ -1715,14 +2006,22 @@ const getTaskType = (val) => {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const changEndDateTime =()=>{ |
|
|
|
|
if(form.value.times[1]){ |
|
|
|
|
form.value.times[1]= timeFormat(new Date(form.value.times[1]))+" 23:59:59"; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleShowAdd() { |
|
|
|
|
show.value = true; |
|
|
|
|
form.value = { |
|
|
|
|
files: [], |
|
|
|
|
supervisionType: '日常督察', |
|
|
|
|
supRiskDtoList: [] |
|
|
|
|
supRiskDtoList: [], |
|
|
|
|
times:[] |
|
|
|
|
}; |
|
|
|
|
form.value.times[0]=timeFormat(new Date(),"yyyy-mm-dd hh:MM:ss"); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const detailShow = ref(false); |
|
|
|
|
@ -1814,20 +2113,45 @@ const taskSupTotal = ref(0)
|
|
|
|
|
const taskSupData = ref([]) |
|
|
|
|
const taskLoading = ref(false) |
|
|
|
|
const riskDataCards = ref(null) |
|
|
|
|
const changeCardIndex = ref(0) |
|
|
|
|
|
|
|
|
|
const riskPersonalQuery = ref({ |
|
|
|
|
current: 1, |
|
|
|
|
size: 10, |
|
|
|
|
}) |
|
|
|
|
const riskPersonalTotal =ref(0); |
|
|
|
|
const riskPersonalLoading = ref(false); |
|
|
|
|
|
|
|
|
|
const getSuperviseTable = async ()=>{ |
|
|
|
|
const res = await getRiskPersonalPage(riskPersonalQuery.value); |
|
|
|
|
const riskData = res.records; |
|
|
|
|
riskPersonalTotal.value = res.total; |
|
|
|
|
riskDataCards.value = riskData; |
|
|
|
|
if (res.records?.length > 0) { |
|
|
|
|
taskSupQuery.value.idCode = riskData[0].idCode; |
|
|
|
|
taskSupQuery.value.taskId = row.id; |
|
|
|
|
const taskSupert = await getTaskSuprt(taskSupQuery.value); |
|
|
|
|
taskSupTotal.value = taskSupert.total; |
|
|
|
|
taskSupData.value = taskSupert.records; |
|
|
|
|
}else{ |
|
|
|
|
taskSupData.value = null |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const showSupervise = async (row) => { |
|
|
|
|
const res = await getTaskManagementDetail(row.id); |
|
|
|
|
riskPersonalQuery.value.id = row.id; |
|
|
|
|
const res = await getRiskPersonalPage(riskPersonalQuery.value); |
|
|
|
|
//获取重点人员列表 |
|
|
|
|
const riskData = res.supRiskDtoList; |
|
|
|
|
const riskData = res.records; |
|
|
|
|
riskPersonalTotal.value = res.total; |
|
|
|
|
riskDataCards.value = riskData; |
|
|
|
|
if (res.supRiskDtoList?.length > 0) { |
|
|
|
|
if (res.records?.length > 0) { |
|
|
|
|
taskSupQuery.value.idCode = riskData[0].idCode; |
|
|
|
|
taskSupQuery.value.taskId = row.id; |
|
|
|
|
//获取重点人员列表第一位的数据 |
|
|
|
|
changeCardIndex.value=0; |
|
|
|
|
const taskSupert = await getTaskSuprt(taskSupQuery.value); |
|
|
|
|
taskSupTotal.value = taskSupert.total; |
|
|
|
|
taskSupData.value = taskSupert.records; |
|
|
|
|
}else{ |
|
|
|
|
taskSupData.value = null; |
|
|
|
|
} |
|
|
|
|
superviseRiskShow.value = true; |
|
|
|
|
} |
|
|
|
|
@ -1848,8 +2172,7 @@ const getTaskSupDataFun = async () => {
|
|
|
|
|
/** |
|
|
|
|
* 点击重点人员 |
|
|
|
|
* */ |
|
|
|
|
const handSupRiskCard = async (row,index)=>{ |
|
|
|
|
changeCardIndex.value=index |
|
|
|
|
const handSupRiskCard = async (row)=>{ |
|
|
|
|
taskLoading.value = true; |
|
|
|
|
try { |
|
|
|
|
taskSupQuery.value.idCode = row.idCode; |
|
|
|
|
@ -1969,14 +2292,17 @@ const selfProblemTotal = ref(0);
|
|
|
|
|
//打开所队自查详情界面 |
|
|
|
|
const handleSelfProblemShow = (row) => { |
|
|
|
|
selfProblemsShow.value = true; |
|
|
|
|
getSelfexaminationProblemFun(row); |
|
|
|
|
selfPeopleQuery.value.id = row.id; |
|
|
|
|
console.log('selfPeopleQuery.value.id',selfPeopleQuery.value.id) |
|
|
|
|
getSelfexaminationProblemFun(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//获取所队自查-问题内容 |
|
|
|
|
async function getSelfexaminationProblemFun(row) { |
|
|
|
|
async function getSelfexaminationProblemFun() { |
|
|
|
|
problemLoading.value = true; |
|
|
|
|
try { |
|
|
|
|
const res = await getSelfexaminationProblem(row.id, selfPeopleQuery.value); |
|
|
|
|
console.log('selfPeopleQuery.value.id',selfPeopleQuery.value.id) |
|
|
|
|
const res = await getSelfexaminationProblem(selfPeopleQuery.value.id, selfPeopleQuery.value); |
|
|
|
|
selfProblemList.value = res.records; |
|
|
|
|
selfProblemTotal.value = res.total; |
|
|
|
|
} catch (e) { |
|
|
|
|
@ -2002,8 +2328,8 @@ async function handleProblemsShow(row) {
|
|
|
|
|
problemsShow.value = true; |
|
|
|
|
try { |
|
|
|
|
const res = await listInspectionProblems(activeRow.value.id); |
|
|
|
|
problems.value = data.records; |
|
|
|
|
peopleTotal.value = data.total; |
|
|
|
|
problems.value = res.records; |
|
|
|
|
problemTotal.value = res.total; |
|
|
|
|
} catch (e) { |
|
|
|
|
problemsLoading.value = false; |
|
|
|
|
} |
|
|
|
|
@ -2014,6 +2340,8 @@ async function handleProblemsShow(row) {
|
|
|
|
|
function getProblems() { |
|
|
|
|
listInspectionProblems(activeRow.value.id).then((data) => { |
|
|
|
|
problems.value = data.records; |
|
|
|
|
problemTotal.value=data.total; |
|
|
|
|
console.log('problems.value',data.records) |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -2117,6 +2445,45 @@ const managementProgress = async (val) => {
|
|
|
|
|
//getDeparts |
|
|
|
|
const departs = catchStore.getDepartsAll(); |
|
|
|
|
|
|
|
|
|
//任务分发 |
|
|
|
|
const distributeShow = ref(false) |
|
|
|
|
const editDepartShow =ref(false) |
|
|
|
|
const issueForm = ref({}) |
|
|
|
|
const issueLoading = ref(false) |
|
|
|
|
const formRefs =ref(); |
|
|
|
|
//禁酒督察下发问题 |
|
|
|
|
const issueMatterFun =(row,key)=>{ |
|
|
|
|
console.log('row',row) |
|
|
|
|
issueForm.value.problemVo = row |
|
|
|
|
issueForm.value.tableKey = key |
|
|
|
|
distributeShow.value=true; |
|
|
|
|
} |
|
|
|
|
//下发问题 |
|
|
|
|
const handleSubmitTask =async ()=>{ |
|
|
|
|
await formRefs.value.validate(); |
|
|
|
|
issueLoading.value = true |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
await TestingAlcoholIssueMatterFun(issueForm.value) |
|
|
|
|
} catch(e) { |
|
|
|
|
issueLoading.value = false |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
issueLoading.value = false |
|
|
|
|
feedback.msgSuccess("下发成功"); |
|
|
|
|
distributeShow.value = false; |
|
|
|
|
switch (issueForm.value.tableKey){ |
|
|
|
|
case "sdzc": |
|
|
|
|
getSelfexaminationProblemFun(); |
|
|
|
|
break; |
|
|
|
|
case "rcdc": |
|
|
|
|
getProblems(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getData() { |
|
|
|
|
if (departs.length && departs[0].id === ROOT_DEPART_ID) { |
|
|
|
|
dictData.value = departs[0].children |
|
|
|
|
@ -2267,6 +2634,7 @@ h5 {
|
|
|
|
|
} |
|
|
|
|
.user_card_change{ |
|
|
|
|
background-color: #eaeaf1; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.user_card_img { |
|
|
|
|
|