|
|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
<template> |
|
|
|
|
<el-dialog title="问题录入" width="54vw" :lock-scroll="false" top="5vh"> |
|
|
|
|
<el-dialog title="问题下发" width="54vw" :lock-scroll="false" top="5vh"> |
|
|
|
|
<el-scrollbar |
|
|
|
|
height="75vh" |
|
|
|
|
v-loading="loading" |
|
|
|
|
@ -108,8 +108,8 @@
|
|
|
|
|
label="通报期数" |
|
|
|
|
prop="reportNumber" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择通报期数', |
|
|
|
|
required: form.specialSupervision !== '2', |
|
|
|
|
message: '请输入通报期数', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
@ -293,147 +293,170 @@
|
|
|
|
|
tips="为便于“办理单位”更全面了解问题详情,请上传相关附件,如现场督察、数字督察等相关照片、视频及其他佐证材料。" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
<h2>办理单位</h2> |
|
|
|
|
<div class="add-negation-container"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="主办层级" |
|
|
|
|
prop="hostLevel" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择主办层级', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
style="width: 280px" |
|
|
|
|
v-model="form.hostLevel" |
|
|
|
|
@change="handleChangeHostLevel" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dict.hostLevel" |
|
|
|
|
:key="item.id" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
<div class="tips mt-10"> |
|
|
|
|
<p> |
|
|
|
|
如主办层级 为 市局主办, 则由市局直属支队办理; |
|
|
|
|
</p> |
|
|
|
|
<p> |
|
|
|
|
如主办层级 为 |
|
|
|
|
二级机构主办时,则由涉及单位的二级机构办理; |
|
|
|
|
</p> |
|
|
|
|
<p> |
|
|
|
|
如主办层级 为 三级机构主办时, |
|
|
|
|
则由涉及单位办理。 |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item |
|
|
|
|
label="指定具体办理单位" |
|
|
|
|
prop="departId" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择办理单位', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<div class="flex gap"> |
|
|
|
|
<div style="width: 280px"> |
|
|
|
|
<template |
|
|
|
|
v-if="form.hostLevel === HostLevel.THREE" |
|
|
|
|
> |
|
|
|
|
<depart-tree-select |
|
|
|
|
v-model="form.departId" |
|
|
|
|
v-loading="departLoading" |
|
|
|
|
/> |
|
|
|
|
</template> |
|
|
|
|
<el-tree-select |
|
|
|
|
v-else |
|
|
|
|
:data="departs" |
|
|
|
|
:props="{ label: 'shortName', value: 'id' }" |
|
|
|
|
node-key="id" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
v-model="form.departId" |
|
|
|
|
@node-click="handleSelectDepart" |
|
|
|
|
check-strictly |
|
|
|
|
style="width: 280px" |
|
|
|
|
v-loading="departLoading" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
@click="handleLinkDepart" |
|
|
|
|
text |
|
|
|
|
v-if="form.hostLevel !== HostLevel.FIRST" |
|
|
|
|
>关联问题涉及单位</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<div class="tips mt-10"> |
|
|
|
|
<p>问题涉及单位 指与该问题相关的单位;</p> |
|
|
|
|
<p>指定具体办理单位 指将问题分派给哪个单位办理。</p> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
<h2>办理时限</h2> |
|
|
|
|
<div class="add-negation-container"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="办理时限" |
|
|
|
|
prop="timeLimit" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择办理时限', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<time-limit-select |
|
|
|
|
v-model="form.timeLimit" |
|
|
|
|
v-model:maxSignDuration="form.maxSignDuration" |
|
|
|
|
v-model:maxHandleDuration="form.maxHandleDuration" |
|
|
|
|
v-model:maxExtensionDuration=" |
|
|
|
|
form.maxExtensionDuration |
|
|
|
|
" |
|
|
|
|
<el-form-item label="流程" prop=""> |
|
|
|
|
<el-switch |
|
|
|
|
v-model="form.flowFlag" |
|
|
|
|
inline-prompt |
|
|
|
|
active-text="开启" |
|
|
|
|
inactive-text="关闭" |
|
|
|
|
:active-value="true" |
|
|
|
|
:inactive-value="false" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div> |
|
|
|
|
<h2>审批流程</h2> |
|
|
|
|
<template v-if="form.flowFlag"> |
|
|
|
|
<el-divider /> |
|
|
|
|
<h2>办理单位</h2> |
|
|
|
|
<div class="add-negation-container"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="审批流程" |
|
|
|
|
prop="approvalFlow" |
|
|
|
|
label="主办层级" |
|
|
|
|
prop="hostLevel" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择审批流程', |
|
|
|
|
message: '请选择主办层级', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-radio-group v-model="form.approvalFlow"> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in dict.approvalFlow" |
|
|
|
|
:key="item.dictCode" |
|
|
|
|
<el-select |
|
|
|
|
style="width: 280px" |
|
|
|
|
v-model="form.hostLevel" |
|
|
|
|
@change="handleChangeHostLevel" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dict.hostLevel" |
|
|
|
|
:key="item.id" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
>{{ item.dictLabel |
|
|
|
|
}}{{ |
|
|
|
|
item.remark ? `(${item.remark})` : "" |
|
|
|
|
}}</el-radio |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
<div class="tips mt-10"> |
|
|
|
|
<p> |
|
|
|
|
三级审核 在问题提交办结时,需经过“所队—>二级机构—>市局”三级审核,通过后方可办结; |
|
|
|
|
如主办层级 为 市局主办, |
|
|
|
|
则由督察支队办理; |
|
|
|
|
</p> |
|
|
|
|
<p> |
|
|
|
|
二级审核 在问题提交办结时,仅需经过“所队—>二级机构”两级审核,通过后即可办结; |
|
|
|
|
如主办层级为 二级机构主办,则由督察部门办理,可进一步下发; |
|
|
|
|
</p> |
|
|
|
|
<p style="color: var(--danger-color)"> |
|
|
|
|
如主办层级为 三级机构主办,则由所队办理。 |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item |
|
|
|
|
label="指定办理单位" |
|
|
|
|
prop="departId" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择办理单位', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<div class="flex gap"> |
|
|
|
|
<div style="width: 280px"> |
|
|
|
|
<template |
|
|
|
|
v-if=" |
|
|
|
|
form.hostLevel === HostLevel.THREE |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<depart-tree-select |
|
|
|
|
v-model="form.departId" |
|
|
|
|
v-loading="departLoading" |
|
|
|
|
/> |
|
|
|
|
</template> |
|
|
|
|
<el-tree-select |
|
|
|
|
v-else |
|
|
|
|
:data="departs" |
|
|
|
|
:props="{ |
|
|
|
|
label: 'shortName', |
|
|
|
|
value: 'id', |
|
|
|
|
}" |
|
|
|
|
node-key="id" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
v-model="form.departId" |
|
|
|
|
@node-click="handleSelectDepart" |
|
|
|
|
check-strictly |
|
|
|
|
style="width: 280px" |
|
|
|
|
v-loading="departLoading" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
@click="handleLinkDepart" |
|
|
|
|
text |
|
|
|
|
v-if="form.hostLevel !== HostLevel.FIRST" |
|
|
|
|
>关联问题涉及单位</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<div class="tips mt-10"> |
|
|
|
|
<p>问题涉及单位 指与该问题相关的单位;</p> |
|
|
|
|
<p> |
|
|
|
|
指定具体办理单位 |
|
|
|
|
指将问题分派给哪个单位办理。 |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<h2>办理时限</h2> |
|
|
|
|
<div class="add-negation-container"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="办理时限" |
|
|
|
|
prop="timeLimit" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择办理时限', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<time-limit-select |
|
|
|
|
v-model="form.timeLimit" |
|
|
|
|
v-model:maxSignDuration="form.maxSignDuration" |
|
|
|
|
v-model:maxHandleDuration=" |
|
|
|
|
form.maxHandleDuration |
|
|
|
|
" |
|
|
|
|
v-model:maxExtensionDuration=" |
|
|
|
|
form.maxExtensionDuration |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<h2>审批流程</h2> |
|
|
|
|
<div class="add-negation-container"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="审批流程" |
|
|
|
|
prop="approvalFlow" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择审批流程', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-radio-group v-model="form.approvalFlow"> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in dict.approvalFlow" |
|
|
|
|
:key="item.dictCode" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
>{{ item.dictLabel |
|
|
|
|
}}{{ |
|
|
|
|
item.remark |
|
|
|
|
? `(${item.remark})` |
|
|
|
|
: "" |
|
|
|
|
}}</el-radio |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
<div class="tips mt-10"> |
|
|
|
|
<p> |
|
|
|
|
三级审核 在问题提交办结时,需经过“所队—>二级机构—>市局”三级审核,通过后方可办结; |
|
|
|
|
</p> |
|
|
|
|
<p> |
|
|
|
|
二级审核 在问题提交办结时,仅需经过“所队—>二级机构”两级审核,通过后即可办结; |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-form> |
|
|
|
|
</el-scrollbar> |
|
|
|
|
<footer class="flex end"> |
|
|
|
|
@ -449,7 +472,7 @@
|
|
|
|
|
</el-dialog> |
|
|
|
|
</template> |
|
|
|
|
<script lang="ts" setup> |
|
|
|
|
import moment from 'moment' |
|
|
|
|
import moment from "moment"; |
|
|
|
|
import { |
|
|
|
|
HostLevel, |
|
|
|
|
TimeLimit, |
|
|
|
|
@ -487,6 +510,7 @@ const form = ref({
|
|
|
|
|
hostLevel: HostLevel.THREE, |
|
|
|
|
timeLimit: TimeLimit.WORK_137, |
|
|
|
|
approvalFlow: ApprovalFlow.SECOND, |
|
|
|
|
flowFlag: true |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
watch( |
|
|
|
|
@ -546,6 +570,10 @@ function handleSelectDepart(row, node) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleLinkDepart() { |
|
|
|
|
if (form.value.hostLevel === HostLevel.SECOND) { |
|
|
|
|
feedback.msgWarning('当前选择二级机构主办,指定办理单位请选择二级机构!') |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
form.value.departId = form.value.involveDepartId; |
|
|
|
|
form.value.departName = form.value.involveDepartName; |
|
|
|
|
} |
|
|
|
|
@ -560,7 +588,7 @@ function handleChangeHostLevel(val) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function disabledDate(time) { |
|
|
|
|
return time.getTime() < moment('1949-10-01', 'YYYY-MM-DD').valueOf() |
|
|
|
|
return time.getTime() < moment("1949-10-01", "YYYY-MM-DD").valueOf(); |
|
|
|
|
} |
|
|
|
|
</script> |
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
|