|
|
|
|
@ -22,7 +22,10 @@
|
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<div style="width: 280px"> |
|
|
|
|
<depart-tree-select v-model="form.involveDepartId" /> |
|
|
|
|
<depart-tree-select |
|
|
|
|
v-model="form.involveDepartId" |
|
|
|
|
:auth="false" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
@ -141,19 +144,26 @@
|
|
|
|
|
v-model="form.checkStatusDesc" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item |
|
|
|
|
label-position="top" |
|
|
|
|
prop="blames" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请添加涉及人员', |
|
|
|
|
trigger: ['change'], |
|
|
|
|
}" |
|
|
|
|
v-if="form.checkStatus !== InspectCase.OTHER" |
|
|
|
|
|
|
|
|
|
<div |
|
|
|
|
v-if="form.accountabilityTarget !== AccountabilityTarget.DEPARTMENT" |
|
|
|
|
> |
|
|
|
|
<div v-for="(item, index) in form.blames" :key="index"> |
|
|
|
|
<template v-if="item.type === BlameType.PERSONAL"> |
|
|
|
|
<div class="flex between v-center"> |
|
|
|
|
<el-form-item |
|
|
|
|
label-position="top" |
|
|
|
|
prop="blames" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请添加涉及人员', |
|
|
|
|
trigger: ['change'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<div |
|
|
|
|
v-for="(item, index) in form.blames.filter( |
|
|
|
|
(obj) => obj.type === BlameType.PERSONAL |
|
|
|
|
)" |
|
|
|
|
:key="index" |
|
|
|
|
> |
|
|
|
|
<div class="flex v-center"> |
|
|
|
|
<h5> |
|
|
|
|
涉及人员{{ |
|
|
|
|
form.blames |
|
|
|
|
@ -169,7 +179,9 @@
|
|
|
|
|
plain |
|
|
|
|
size="small" |
|
|
|
|
@click="handleRemovePersonal(item)" |
|
|
|
|
>删除人员</el-button |
|
|
|
|
text |
|
|
|
|
class="ml-10" |
|
|
|
|
>删除</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
@ -192,7 +204,8 @@
|
|
|
|
|
" |
|
|
|
|
v-model="item.blameEmpNo" |
|
|
|
|
@change=" |
|
|
|
|
(police) => handleChangePolice(police, item) |
|
|
|
|
(police) => |
|
|
|
|
handleChangePolice(police, item) |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
@ -271,8 +284,9 @@
|
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
v-if="form.checkStatus !== InspectCase.FALSE" |
|
|
|
|
style="margin-bottom: 0" |
|
|
|
|
> |
|
|
|
|
<el-row style="width: 100%"> |
|
|
|
|
<el-row style="width: 98%"> |
|
|
|
|
<el-col |
|
|
|
|
:span="24" |
|
|
|
|
v-for="(problem, j) in item.problems" |
|
|
|
|
@ -287,68 +301,58 @@
|
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-tree-select |
|
|
|
|
v-model="problem.threeLevelCode" |
|
|
|
|
:data="dictContent" |
|
|
|
|
:props="{ |
|
|
|
|
label: 'name', |
|
|
|
|
value: 'code', |
|
|
|
|
}" |
|
|
|
|
node-key="code" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
accordion |
|
|
|
|
style="width: 420px" |
|
|
|
|
@current-change=" |
|
|
|
|
(nodeData, node) => |
|
|
|
|
handleChangeProblem( |
|
|
|
|
node, |
|
|
|
|
problem |
|
|
|
|
) |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
<el-button |
|
|
|
|
type="danger" |
|
|
|
|
plain |
|
|
|
|
circle |
|
|
|
|
@click="item.problems.splice(j, 1)" |
|
|
|
|
class="ml-10" |
|
|
|
|
<div |
|
|
|
|
class="flex between" |
|
|
|
|
style="width: 90%" |
|
|
|
|
> |
|
|
|
|
<template #icon> |
|
|
|
|
<icon name="el-icon-Delete" /> |
|
|
|
|
</template> |
|
|
|
|
</el-button> |
|
|
|
|
<div class="ml-16"> |
|
|
|
|
<span>{{ |
|
|
|
|
problem.oneLevelContent |
|
|
|
|
}}</span> |
|
|
|
|
<span>{{ |
|
|
|
|
problem.twoLevelContent |
|
|
|
|
? " / " + |
|
|
|
|
problem.twoLevelContent |
|
|
|
|
: "" |
|
|
|
|
}}</span> |
|
|
|
|
<span>{{ |
|
|
|
|
problem.threeLevelContent |
|
|
|
|
? " / " + |
|
|
|
|
problem.threeLevelContent |
|
|
|
|
: "" |
|
|
|
|
}}</span> |
|
|
|
|
<problem-type-select |
|
|
|
|
v-model="problem.threeLevelCode" |
|
|
|
|
@change=" |
|
|
|
|
(node) => |
|
|
|
|
handleChangeProblem( |
|
|
|
|
node, |
|
|
|
|
problem |
|
|
|
|
) |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
<div |
|
|
|
|
class="flex center v-center" |
|
|
|
|
style="width: 90px" |
|
|
|
|
> |
|
|
|
|
<el-button |
|
|
|
|
type="danger" |
|
|
|
|
plain |
|
|
|
|
@click=" |
|
|
|
|
item.problems.splice(j, 1) |
|
|
|
|
" |
|
|
|
|
v-if="j !== 0" |
|
|
|
|
size="small" |
|
|
|
|
> |
|
|
|
|
<template #icon> |
|
|
|
|
<icon |
|
|
|
|
name="el-icon-Delete" |
|
|
|
|
/> |
|
|
|
|
</template> |
|
|
|
|
删除问题 |
|
|
|
|
</el-button> |
|
|
|
|
<el-button |
|
|
|
|
@click="handleAddProblem(item)" |
|
|
|
|
plain |
|
|
|
|
type="primary" |
|
|
|
|
v-if="j === 0" |
|
|
|
|
size="small" |
|
|
|
|
><template #icon> |
|
|
|
|
<icon |
|
|
|
|
name="el-icon-Plus" |
|
|
|
|
/> </template |
|
|
|
|
>添加问题</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form-item> |
|
|
|
|
<div |
|
|
|
|
class="flex center mb-20" |
|
|
|
|
v-if="form.checkStatus !== InspectCase.FALSE" |
|
|
|
|
> |
|
|
|
|
<el-button @click="handleAddProblem(item)" |
|
|
|
|
><template #icon> |
|
|
|
|
<icon name="el-icon-Plus" /> </template |
|
|
|
|
>添加问题类型</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
@ -423,7 +427,6 @@
|
|
|
|
|
item.subjectiveAspectCode === |
|
|
|
|
SubjectiveAspect.OTHER |
|
|
|
|
" |
|
|
|
|
style="margin-bottom: 0" |
|
|
|
|
> |
|
|
|
|
<el-input |
|
|
|
|
v-model="item.subjectiveAspectName" |
|
|
|
|
@ -469,125 +472,144 @@
|
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col |
|
|
|
|
:span="12" |
|
|
|
|
v-if="form.checkStatus !== InspectCase.FALSE" |
|
|
|
|
> |
|
|
|
|
<el-form-item |
|
|
|
|
label="督察措施" |
|
|
|
|
:prop="`blames[${index}].superviseMeasuresCode`" |
|
|
|
|
> |
|
|
|
|
<el-radio-group |
|
|
|
|
v-model="item.superviseMeasuresCode" |
|
|
|
|
clearabled |
|
|
|
|
<template v-if="form.checkStatus !== InspectCase.FALSE"> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="督察措施" |
|
|
|
|
:prop="`blames[${index}].superviseMeasuresCode`" |
|
|
|
|
> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="dictItem in dict.superviseMeasures" |
|
|
|
|
:key="dictItem.dictCode" |
|
|
|
|
:value="dictItem.dictValue" |
|
|
|
|
@click.native.prevent=" |
|
|
|
|
() => { |
|
|
|
|
if ( |
|
|
|
|
item.superviseMeasuresCode === |
|
|
|
|
dictItem.dictValue |
|
|
|
|
) { |
|
|
|
|
item.superviseMeasuresCode = |
|
|
|
|
''; |
|
|
|
|
item.superviseMeasuresName = |
|
|
|
|
''; |
|
|
|
|
} else { |
|
|
|
|
item.superviseMeasuresCode = |
|
|
|
|
dictItem.dictValue; |
|
|
|
|
item.superviseMeasuresName = |
|
|
|
|
dictItem.dictLabel; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
" |
|
|
|
|
>{{ dictItem.dictLabel }}</el-radio |
|
|
|
|
<el-radio-group |
|
|
|
|
v-model="item.superviseMeasuresCode" |
|
|
|
|
clearabled |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="维权容错" |
|
|
|
|
:prop="`blames.${index}.protectRightsCode`" |
|
|
|
|
v-if=" |
|
|
|
|
negative.problemSourcesCode !== |
|
|
|
|
ProblemSources.JWDC |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<el-radio-group |
|
|
|
|
v-model="item.protectRightsCode" |
|
|
|
|
@change=" |
|
|
|
|
(val) => |
|
|
|
|
(item.protectRightsName = |
|
|
|
|
dict.protectRights.filter( |
|
|
|
|
(item) => |
|
|
|
|
item.dictValue === val |
|
|
|
|
)[0].dictLabel) |
|
|
|
|
<el-radio |
|
|
|
|
v-for="dictItem in dict.superviseMeasures" |
|
|
|
|
:key="dictItem.dictCode" |
|
|
|
|
:value="dictItem.dictValue" |
|
|
|
|
@click.native.prevent=" |
|
|
|
|
() => { |
|
|
|
|
if ( |
|
|
|
|
item.superviseMeasuresCode === |
|
|
|
|
dictItem.dictValue |
|
|
|
|
) { |
|
|
|
|
item.superviseMeasuresCode = |
|
|
|
|
''; |
|
|
|
|
item.superviseMeasuresName = |
|
|
|
|
''; |
|
|
|
|
} else { |
|
|
|
|
item.superviseMeasuresCode = |
|
|
|
|
dictItem.dictValue; |
|
|
|
|
item.superviseMeasuresName = |
|
|
|
|
dictItem.dictLabel; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
" |
|
|
|
|
>{{ dictItem.dictLabel }}</el-radio |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="维权容错" |
|
|
|
|
:prop="`blames.${index}.protectRightsCode`" |
|
|
|
|
v-if=" |
|
|
|
|
negative.problemSourcesCode !== |
|
|
|
|
ProblemSources.JWDC |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in dict.protectRights" |
|
|
|
|
:key="item.dictCode" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
>{{ item.dictLabel }}</el-radio |
|
|
|
|
<el-radio-group |
|
|
|
|
v-model="item.protectRightsCode" |
|
|
|
|
@change=" |
|
|
|
|
(val) => |
|
|
|
|
(item.protectRightsName = |
|
|
|
|
dict.protectRights.filter( |
|
|
|
|
(item) => |
|
|
|
|
item.dictValue === |
|
|
|
|
val |
|
|
|
|
)[0].dictLabel) |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in dict.protectRights" |
|
|
|
|
:key="item.dictCode" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
>{{ item.dictLabel }}</el-radio |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</template> |
|
|
|
|
</el-row> |
|
|
|
|
</div> |
|
|
|
|
<div class="flex center" style="width: 100%"> |
|
|
|
|
<el-button type="primary" plain @click="handleAddPersomal" |
|
|
|
|
><template #icon> |
|
|
|
|
<icon name="el-icon-Plus" /> </template |
|
|
|
|
>添加涉及人员</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-divider /> |
|
|
|
|
<el-form-item |
|
|
|
|
label-position="top" |
|
|
|
|
prop="blameLeaders" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请添加涉及领导', |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<div v-for="(item, index) in form.blameLeaders" :key="index"> |
|
|
|
|
<div class="flex v-center"> |
|
|
|
|
<h5>涉及领导{{ index + 1 }}</h5> |
|
|
|
|
<el-button |
|
|
|
|
type="danger" |
|
|
|
|
plain |
|
|
|
|
size="small" |
|
|
|
|
@click="handleRemoveBlameLeader(index)" |
|
|
|
|
text |
|
|
|
|
class="ml-10" |
|
|
|
|
>删除</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<el-row style="background: #f9faff"> |
|
|
|
|
<el-col :span="24"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="帮扶情况" |
|
|
|
|
:prop="`blames[${index}].assistCaseCode`" |
|
|
|
|
v-if=" |
|
|
|
|
negative.problemSourcesCode !== |
|
|
|
|
ProblemSources.JWDC |
|
|
|
|
" |
|
|
|
|
label="涉及人员" |
|
|
|
|
:prop="`blameLeaders.${index}.blameIdCodes`" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择涉及领导关联的涉及人员', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-radio-group |
|
|
|
|
v-model="item.assistCaseCode" |
|
|
|
|
<el-checkbox |
|
|
|
|
border |
|
|
|
|
v-for="(obj, j) in form.blames.filter( |
|
|
|
|
(obj) => |
|
|
|
|
obj.type === BlameType.PERSONAL && |
|
|
|
|
obj.blameIdCode |
|
|
|
|
)" |
|
|
|
|
:key="obj.blameIdCode" |
|
|
|
|
:label="obj.blameName" |
|
|
|
|
:value="obj.blameIdCode" |
|
|
|
|
:checked="item.blameIdCodes.includes(obj.blameIdCode)" |
|
|
|
|
@change=" |
|
|
|
|
(val) => |
|
|
|
|
(item.assistCaseName = |
|
|
|
|
dict.assistCase.filter( |
|
|
|
|
(item) => |
|
|
|
|
item.dictValue === val |
|
|
|
|
)[0].dictLabel) |
|
|
|
|
(bool) => |
|
|
|
|
handleCheckboxChange( |
|
|
|
|
item, |
|
|
|
|
bool, |
|
|
|
|
obj.blameIdCode |
|
|
|
|
) |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in dict.assistCase" |
|
|
|
|
:key="item.dictCode" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
>{{ item.dictLabel }}</el-radio |
|
|
|
|
> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="帮扶起止时间" |
|
|
|
|
:prop="`blames.${index}.assistTime`" |
|
|
|
|
v-if="item.assistCaseCode === AssistCase.YES" |
|
|
|
|
> |
|
|
|
|
<el-date-picker |
|
|
|
|
v-model="item.assistTime" |
|
|
|
|
type="datetimerange" |
|
|
|
|
start-placeholder="帮扶开始时间" |
|
|
|
|
end-placeholder="帮扶结束时间" |
|
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<div class="text-primary mb-10">涉及领导</div> |
|
|
|
|
<el-row style="background: #f9faff"> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="涉及领导姓名" |
|
|
|
|
:prop="`blames.${index}.leadName`" |
|
|
|
|
:prop="`blameLeaders.${index}.leadName`" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择涉及领导', |
|
|
|
|
@ -615,7 +637,7 @@
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="警号" |
|
|
|
|
:prop="`blames.${index}.leadEmpNo`" |
|
|
|
|
:prop="`blameLeaders.${index}.leadEmpNo`" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请输入警号', |
|
|
|
|
@ -632,7 +654,7 @@
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="身份证号码" |
|
|
|
|
:prop="`blames.${index}.leadIdCode`" |
|
|
|
|
:prop="`blameLeaders.${index}.leadIdCode`" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请输入身份证号码', |
|
|
|
|
@ -649,7 +671,7 @@
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="责任类别" |
|
|
|
|
:prop="`blames.${index}.leadResponsibilityTypeCode`" |
|
|
|
|
:prop="`blameLeaders.${index}.leadResponsibilityTypeCode`" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择责任类别', |
|
|
|
|
@ -680,7 +702,7 @@
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="处理结果" |
|
|
|
|
:prop="`blames.${index}.leadHandleResultCode`" |
|
|
|
|
:prop="`blameLeaders.${index}.leadHandleResultCode`" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择处理结果', |
|
|
|
|
@ -716,7 +738,7 @@
|
|
|
|
|
> |
|
|
|
|
<el-form-item |
|
|
|
|
label="督察措施" |
|
|
|
|
:prop="`blames.${index}.leadMeasuresCode`" |
|
|
|
|
:prop="`blameLeaders.${index}.leadMeasuresCode`" |
|
|
|
|
> |
|
|
|
|
<el-radio-group v-model="item.leadMeasuresCode"> |
|
|
|
|
<el-radio |
|
|
|
|
@ -753,7 +775,7 @@
|
|
|
|
|
> |
|
|
|
|
<el-form-item |
|
|
|
|
label="维权容错" |
|
|
|
|
:prop="`blames.${index}.leadProtectRightsCode`" |
|
|
|
|
:prop="`blameLeaders.${index}.leadProtectRightsCode`" |
|
|
|
|
> |
|
|
|
|
<el-radio-group |
|
|
|
|
v-model="item.leadProtectRightsCode" |
|
|
|
|
@ -776,21 +798,31 @@
|
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
<div |
|
|
|
|
class="flex center mb-20" |
|
|
|
|
style="width: 100%" |
|
|
|
|
v-if=" |
|
|
|
|
form.accountabilityTarget !== |
|
|
|
|
AccountabilityTarget.DEPARTMENT |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<el-button type="primary" plain @click="handleAddPersomal" |
|
|
|
|
><template #icon> <icon name="el-icon-Plus" /> </template |
|
|
|
|
>添加涉及人员</el-button |
|
|
|
|
</div> |
|
|
|
|
<div |
|
|
|
|
class="flex center" |
|
|
|
|
style="width: 100%" |
|
|
|
|
v-if=" |
|
|
|
|
form.accountabilityTarget !== |
|
|
|
|
AccountabilityTarget.DEPARTMENT |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
plain |
|
|
|
|
@click="handleAddBlameLeader" |
|
|
|
|
><template #icon> |
|
|
|
|
<icon name="el-icon-Plus" /> </template |
|
|
|
|
>添加涉及领导</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-divider /> |
|
|
|
|
</div> |
|
|
|
|
<el-form-item |
|
|
|
|
label-position="top" |
|
|
|
|
v-if="form.accountabilityTarget !== AccountabilityTarget.PERSONAL" |
|
|
|
|
> |
|
|
|
|
<div v-for="(item, index) in form.blames" :key="index"> |
|
|
|
|
<template v-if="item.type === BlameType.DEPARTMENT"> |
|
|
|
|
<div class="flex between v-center"> |
|
|
|
|
@ -851,9 +883,7 @@
|
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-radio-group |
|
|
|
|
v-model="item.ivPersonTypeCode" |
|
|
|
|
> |
|
|
|
|
<el-radio-group v-model="item.ivPersonTypeCode"> |
|
|
|
|
<el-radio :value="PersonType.POLICE" |
|
|
|
|
>民警</el-radio |
|
|
|
|
> |
|
|
|
|
@ -897,8 +927,9 @@
|
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
v-if="form.checkStatus !== InspectCase.FALSE" |
|
|
|
|
style="margin-bottom: 0" |
|
|
|
|
> |
|
|
|
|
<el-row style="width: 100%"> |
|
|
|
|
<el-row style="width: 80%"> |
|
|
|
|
<el-col |
|
|
|
|
:span="24" |
|
|
|
|
v-for="(problem, j) in item.problems" |
|
|
|
|
@ -913,68 +944,58 @@
|
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<el-tree-select |
|
|
|
|
v-model="problem.threeLevelCode" |
|
|
|
|
:data="dictContent" |
|
|
|
|
:props="{ |
|
|
|
|
label: 'name', |
|
|
|
|
value: 'code', |
|
|
|
|
}" |
|
|
|
|
node-key="code" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
accordion |
|
|
|
|
style="width: 420px" |
|
|
|
|
@current-change=" |
|
|
|
|
(nodeData, node) => |
|
|
|
|
handleChangeProblem( |
|
|
|
|
node, |
|
|
|
|
problem |
|
|
|
|
) |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
<el-button |
|
|
|
|
type="danger" |
|
|
|
|
plain |
|
|
|
|
circle |
|
|
|
|
@click="item.problems.splice(j, 1)" |
|
|
|
|
class="ml-10" |
|
|
|
|
<div |
|
|
|
|
class="flex between" |
|
|
|
|
style="width: 90%" |
|
|
|
|
> |
|
|
|
|
<template #icon> |
|
|
|
|
<icon name="el-icon-Delete" /> |
|
|
|
|
</template> |
|
|
|
|
</el-button> |
|
|
|
|
<div class="ml-16"> |
|
|
|
|
<span>{{ |
|
|
|
|
problem.oneLevelContent |
|
|
|
|
}}</span> |
|
|
|
|
<span>{{ |
|
|
|
|
problem.twoLevelContent |
|
|
|
|
? " / " + |
|
|
|
|
problem.twoLevelContent |
|
|
|
|
: "" |
|
|
|
|
}}</span> |
|
|
|
|
<span>{{ |
|
|
|
|
problem.threeLevelContent |
|
|
|
|
? " / " + |
|
|
|
|
problem.threeLevelContent |
|
|
|
|
: "" |
|
|
|
|
}}</span> |
|
|
|
|
<problem-type-select |
|
|
|
|
v-model="problem.threeLevelCode" |
|
|
|
|
@change=" |
|
|
|
|
(node) => |
|
|
|
|
handleChangeProblem( |
|
|
|
|
node, |
|
|
|
|
problem |
|
|
|
|
) |
|
|
|
|
" |
|
|
|
|
/> |
|
|
|
|
<div |
|
|
|
|
class="flex center v-center" |
|
|
|
|
style="width: 90px" |
|
|
|
|
> |
|
|
|
|
<el-button |
|
|
|
|
type="danger" |
|
|
|
|
plain |
|
|
|
|
@click=" |
|
|
|
|
item.problems.splice(j, 1) |
|
|
|
|
" |
|
|
|
|
v-if="j !== 0" |
|
|
|
|
size="small" |
|
|
|
|
> |
|
|
|
|
<template #icon> |
|
|
|
|
<icon |
|
|
|
|
name="el-icon-Delete" |
|
|
|
|
/> |
|
|
|
|
</template> |
|
|
|
|
删除问题 |
|
|
|
|
</el-button> |
|
|
|
|
<el-button |
|
|
|
|
@click="handleAddProblem(item)" |
|
|
|
|
plain |
|
|
|
|
type="primary" |
|
|
|
|
v-if="j === 0" |
|
|
|
|
size="small" |
|
|
|
|
><template #icon> |
|
|
|
|
<icon |
|
|
|
|
name="el-icon-Plus" |
|
|
|
|
/> </template |
|
|
|
|
>添加问题</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form-item> |
|
|
|
|
<div |
|
|
|
|
class="flex center mb-20" |
|
|
|
|
v-if="form.checkStatus !== InspectCase.FALSE" |
|
|
|
|
> |
|
|
|
|
<el-button @click="handleAddProblem(item)" |
|
|
|
|
><template #icon> |
|
|
|
|
<icon name="el-icon-Plus" /> </template |
|
|
|
|
>添加问题类型</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
@ -1143,6 +1164,7 @@ import {
|
|
|
|
|
SubjectiveAspect, |
|
|
|
|
} from "@/enums/dictEnums"; |
|
|
|
|
import useCatchStore from "@/stores/modules/catch"; |
|
|
|
|
import { computed } from "vue"; |
|
|
|
|
const catchSotre = useCatchStore(); |
|
|
|
|
const dict = catchSotre.getDicts([ |
|
|
|
|
"inspectCase", |
|
|
|
|
@ -1158,10 +1180,9 @@ const dict = catchSotre.getDicts([
|
|
|
|
|
"leadResponsibilityType", |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
const dictContent = catchSotre.getDictContent(); |
|
|
|
|
|
|
|
|
|
const negative = inject("negative"); |
|
|
|
|
const form = ref({}); |
|
|
|
|
|
|
|
|
|
getFormData(); |
|
|
|
|
|
|
|
|
|
watch(negative, () => { |
|
|
|
|
@ -1185,6 +1206,7 @@ function getFormData() {
|
|
|
|
|
? AccountabilityTarget.PERSONAL |
|
|
|
|
: "", |
|
|
|
|
blames: negative.value.blames, |
|
|
|
|
blameLeaders: negative.value.blameLeaders, |
|
|
|
|
files: negative.value.files || [], |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
@ -1204,6 +1226,16 @@ function handleAddProblem(blame) {
|
|
|
|
|
blame.problems.push({}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleAddBlameLeader() { |
|
|
|
|
form.value.blameLeaders.push({ |
|
|
|
|
blameIdCodes: [], |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleRemoveBlameLeader(index) { |
|
|
|
|
form.value.blameLeaders.splice(index, 1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleChangeBlame(val, blame) { |
|
|
|
|
const police = polices.value.filter((item) => item.empNo === val)[0]; |
|
|
|
|
blame.blameName = police.name; |
|
|
|
|
@ -1281,13 +1313,12 @@ function handleChangeCheckStatus(val, item) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleChangePolice(police, item) { |
|
|
|
|
console.log(police) |
|
|
|
|
console.log(police); |
|
|
|
|
item.blameName = police.name; |
|
|
|
|
item.blameIdCode = police.idCode; |
|
|
|
|
item.ivPersonTypeCode = police.personType |
|
|
|
|
item.ivPersonTypeCode = police.personType; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function handleChangeSubjectiveAspect(val, item) { |
|
|
|
|
if (val === SubjectiveAspect.OTHER) { |
|
|
|
|
item.subjectiveAspectName = ""; |
|
|
|
|
@ -1308,11 +1339,35 @@ function handleChangeProblem(node, problem) {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleCheckboxChange(blameLeader, bool, val) { |
|
|
|
|
if (bool) { |
|
|
|
|
blameLeader.blameIdCodes.push(val); |
|
|
|
|
} else { |
|
|
|
|
blameLeader.blameIdCodes.splice( |
|
|
|
|
blameLeader.blameIdCodes.indexOf(val), |
|
|
|
|
1 |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
const formRef = ref(null); |
|
|
|
|
|
|
|
|
|
async function validate() { |
|
|
|
|
const flag = await formRef.value.validate(); |
|
|
|
|
if (flag) { |
|
|
|
|
let arr = []; |
|
|
|
|
form.value.blameLeaders.forEach((item) => { |
|
|
|
|
arr = arr.concat(item.blameIdCodes); |
|
|
|
|
}); |
|
|
|
|
const blame = form.value.blames.filter( |
|
|
|
|
(item) => !arr.includes(item.blameIdCode) |
|
|
|
|
); |
|
|
|
|
if (blame.length) { |
|
|
|
|
throw new Error( |
|
|
|
|
`涉及人员【${blame |
|
|
|
|
.map((item) => item.blameName) |
|
|
|
|
.join("、")}】未关联领导` |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
return form.value; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|