You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
384 lines
15 KiB
384 lines
15 KiB
<template> |
|
<el-collapse v-model="activeNames"> |
|
<el-collapse-item |
|
title="核查办理" |
|
name="verify" |
|
v-if="negative.checkStatus" |
|
> |
|
<div class="row"> |
|
<div class="col col-6"> |
|
<label>核查情况</label> |
|
<span>{{ negative.checkStatusName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="negative.isRectifyName"> |
|
<label>是否整改</label> |
|
<span>{{ negative.isRectifyName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="negative.accountabilityTarget"> |
|
<label>追责对象</label> |
|
<span>{{ |
|
getDictLable( |
|
dict.accountabilityTarget, |
|
negative.accountabilityTarget |
|
) |
|
}}</span> |
|
</div> |
|
<div class="col col-6" v-if="negative.rectifyRestrictionDays"> |
|
<label>整改限制</label> |
|
<span>{{ `${negative.rectifyRestrictionDays}天` }}</span> |
|
</div> |
|
|
|
</div> |
|
<div class="row" v-if="negative.checkStatusDesc"> |
|
<div class="col col-24"> |
|
<label>问题核查情况</label> |
|
<span>{{ negative.checkStatusDesc }}</span> |
|
</div> |
|
</div> |
|
<div class="row" v-if="negative.rectifyDesc"> |
|
<div class="col col-24"> |
|
<label>问题整改情况</label> |
|
<span>{{ negative.rectifyDesc }}</span> |
|
</div> |
|
</div> |
|
<div class="row" v-if="negative.unrectifyReason"> |
|
<div class="col col-24"> |
|
<label>问题未整改原因</label> |
|
<span>{{ negative.unrectifyReason }}</span> |
|
</div> |
|
</div> |
|
</el-collapse-item> |
|
<el-collapse-item |
|
title="信访情况" |
|
name="mail" |
|
v-if=" |
|
negative.problemSourcesCode === ProblemSources.GJXFPT || |
|
negative.problemSourcesCode === ProblemSources.GABXF || |
|
negative.problemSourcesCode === ProblemSources.JZXX || |
|
negative.problemSourcesCode === ProblemSources.XF12337 |
|
" |
|
> |
|
<div class="row" > |
|
<div class="col col-24" v-if="negative.handlePolices.length > 0"> |
|
<label>经办人</label> |
|
<span> |
|
<div v-for="item in negative.handlePolices" :key="item" class="mr-20"> |
|
<span class="mr-8">{{ item.name }}</span> |
|
<span class="text-primary">{{ item.empNo }}</span> |
|
</div> |
|
</span> |
|
</div> |
|
<div class="col col-24" v-if="negative.visitingLeaderName"> |
|
<label>接访领导</label> |
|
<span>{{ negative.visitingLeaderName }} {{ negative.visitingLeaderEmpNo }}</span> |
|
</div> |
|
<div class="col col-6"> |
|
<label>化解情况</label> |
|
<span>{{ negative.resolveSituation }}</span> |
|
</div> |
|
<div class="col col-6" v-if="negative.resolveStatus"> |
|
<label>当前状态</label> |
|
<span>{{ negative.resolveStatus }}</span> |
|
</div> |
|
</div> |
|
</el-collapse-item> |
|
<el-collapse-item |
|
v-for="(blame, index) in negative.blames.filter( |
|
(item) => item.type === BlameType.PERSONAL |
|
)" |
|
:key="index" |
|
:title="`涉及人员${index + 1}`" |
|
:name="`involved${index}`" |
|
> |
|
<div class="row"> |
|
<div class="col col-6"> |
|
<label>涉及人员姓名</label> |
|
<span> |
|
<span>{{ blame.blameName }}</span> |
|
<span class="text-primary ml-10">{{ blame.blameEmpNo }}</span> |
|
</span> |
|
</div> |
|
<div class="col col-6"> |
|
<label>身份证</label> |
|
<span>{{ blame.blameIdCode }}</span> |
|
</div> |
|
<div class="col col-6"> |
|
<label>人员属性</label> |
|
<span>{{ |
|
getDictLable(dict.personType, blame.ivPersonTypeCode) |
|
}}</span> |
|
</div> |
|
</div> |
|
<div |
|
class="row" |
|
v-for="(problem, index) in blame.problems" |
|
:key="index" |
|
> |
|
<div class="col col-24"> |
|
<label>问题类型{{ index + 1 }}</label> |
|
<span |
|
>{{ problem.oneLevelContent }} / |
|
{{ problem.twoLevelContent }} / |
|
{{ problem.threeLevelContent }} |
|
{{ problem.threeLevelContent === '其他' && problem.threeLevelContentOther ? `(${problem.threeLevelContentOther})` : ''}} |
|
</span |
|
> |
|
</div> |
|
</div> |
|
<div class="row"> |
|
<div class="col col-6" v-if="blame.responsibilityTypeName"> |
|
<label>责任类别</label> |
|
<span>{{ blame.responsibilityTypeName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="blame.subjectiveAspectCode"> |
|
<label>主观方面</label> |
|
<span>{{ blame.subjectiveAspectName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="blame.handleResultCode"> |
|
<label>处置结果</label> |
|
<span> |
|
<span>{{ blame.handleResultName }}</span> |
|
<span v-if="blame.handleResultNameOther">({{ blame.handleResultNameOther }})</span> |
|
</span> |
|
</div> |
|
<div class="col col-6" v-if="blame.protectRightsName"> |
|
<label>维权容错</label> |
|
<span>{{ blame.protectRightsName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="blame.superviseMeasuresCode"> |
|
<label>督察措施</label> |
|
<span>{{ blame.superviseMeasuresName }}</span> |
|
</div> |
|
|
|
</div> |
|
<div class="row"> |
|
|
|
<div class="col col-12" v-if="rtuenConfinementData(blame)"> |
|
<label>禁闭时间</label> |
|
<span >{{rtuenConfinementData(blame).startTime+ " - " + rtuenConfinementData(blame).endTime}}</span> |
|
</div> |
|
<div class="col col-4" v-if="rtuenConfinementData(blame)"> |
|
<label>禁闭时长(天)</label> |
|
<span >{{rtuenConfinementData(blame).confinementTime}}</span> |
|
</div> |
|
<div class="col col-24" v-if="rtuenConfinementData(blame)"> |
|
<label>禁闭措施</label> |
|
<span>{{rtuenConfinementData(blame).matter}}</span> |
|
</div> |
|
</div> |
|
<div v-perms="['negative:score']"> |
|
<div |
|
class="row" |
|
v-for="item in negative.scorePolices.filter( |
|
(item) => blame.blameIdCode === item.idCode |
|
)" |
|
:key="item" |
|
|
|
> |
|
<div class="col col-6"> |
|
<label>问题分值</label> |
|
<span |
|
style="color: var(--danger-color)" |
|
class="text-bold" |
|
>{{ item.score }}</span |
|
> |
|
</div> |
|
<div class="col col-6"> |
|
<label>公式</label> |
|
<span>{{ item.expression }}</span> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row" style="background: #f5f5f5"> |
|
<div class="col col-6"> |
|
<label>涉及领导姓名</label> |
|
<span v-if="blame.leadName">{{ blame.leadName }} {{ blame.leadEmpNo }}</span> |
|
<span v-else>/</span> |
|
</div> |
|
<div class="col col-6"> |
|
<label>身份证</label> |
|
<span>{{ blame.leadIdCode || '/' }}</span> |
|
</div> |
|
|
|
<div class="col col-6" v-if="blame.leadResponsibilityTypeName"> |
|
<label>责任类别</label> |
|
<span>{{ blame.leadResponsibilityTypeName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="blame.leadMeasuresCode"> |
|
<label>督察措施</label> |
|
<span>{{ blame.leadMeasuresName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="blame.leadHandleResultCode"> |
|
<label>处置结果</label> |
|
<span> |
|
<span>{{ blame.leadHandleResultName }}</span> |
|
<span v-if="blame.leadHandleResultNameOther">({{ blame.leadHandleResultNameOther }})</span> |
|
</span> |
|
</div> |
|
|
|
</div> |
|
<div class="row" style="background: #f5f5f5"> |
|
<div class="col col-12" v-if="rtuenLeadConfinementData(blame)"> |
|
<label>禁闭时间</label> |
|
<span >{{rtuenLeadConfinementData(blame).startTime+ " - " + rtuenLeadConfinementData(blame).endTime}}</span> |
|
</div> |
|
<div class="col col-4" v-if="rtuenLeadConfinementData(blame)"> |
|
<label>禁闭时长(天)</label> |
|
<span >{{rtuenLeadConfinementData(blame).confinementTime}}</span> |
|
</div> |
|
<div class="col col-24" v-if="rtuenLeadConfinementData(blame)"> |
|
<label>禁闭措施</label> |
|
<span>{{rtuenLeadConfinementData(blame).matter}}</span> |
|
</div> |
|
</div> |
|
<div class="row" style="background: #f5f5f5"> |
|
<div class="col col-6" v-if="blame.leadProtectRightsName"> |
|
<label>维权容错</label> |
|
<span>{{ blame.leadProtectRightsName }}</span> |
|
</div> |
|
</div> |
|
</el-collapse-item> |
|
<el-collapse-item |
|
v-for="(blame, index) in negative.blames.filter( |
|
(item) => item.type === BlameType.DEPARTMENT |
|
)" |
|
:key="index" |
|
:title="`涉及单位`" |
|
:name="`involved_department`" |
|
> |
|
<div class="row"> |
|
<div class="col col-6"> |
|
<label>班子成员姓名</label> |
|
<span>{{ blame.blameName }}</span> |
|
</div> |
|
<div class="col col-6"> |
|
<label>身份证号码</label> |
|
<span>{{ blame.blameIdCode }}</span> |
|
</div> |
|
<div class="col col-6"> |
|
<label>人员属性</label> |
|
<span>{{ |
|
getDictLable(dict.personType, blame.ivPersonTypeCode) |
|
}}</span> |
|
</div> |
|
</div> |
|
<div |
|
class="row" |
|
v-for="(problem, index) in blame.problems" |
|
:key="index" |
|
> |
|
<div class="col col-24"> |
|
<label>问题类型{{ index + 1 }}</label> |
|
<span |
|
>{{ problem.oneLevelContent }} / |
|
{{ problem.twoLevelContent }} / |
|
{{ problem.threeLevelContent }} |
|
{{ problem.threeLevelContent === '其他' && problem.threeLevelContentOther ? `(${problem.threeLevelContentOther})` : ''}} |
|
</span |
|
> |
|
</div> |
|
</div> |
|
<div class="row"> |
|
<div class="col col-6" v-if="blame.subjectiveAspectCode"> |
|
<label>主观方面</label> |
|
<span>{{ blame.subjectiveAspectName }}</span> |
|
</div> |
|
<div class="col col-6"> |
|
<label>责任类别</label> |
|
<span>{{ blame.responsibilityTypeName }}</span> |
|
</div> |
|
<div class="col col-6" v-if="blame.handleResultCode"> |
|
<label>处置结果</label> |
|
<span> |
|
<span>{{ blame.handleResultName }}</span> |
|
<span v-if="blame.handleResultNameOther">({{ blame.handleResultNameOther }})</span> |
|
</span> |
|
</div> |
|
</div> |
|
</el-collapse-item> |
|
<el-collapse-item |
|
name="completionAttachment" |
|
v-if="negative.files.length" |
|
> |
|
<template #title> |
|
<span>办结佐证材料</span> |
|
<span class="ml-8 text-small" style="color: #666">{{ negative.files.length }}个附件</span> |
|
</template> |
|
<file-list :files="negative.files" /> |
|
</el-collapse-item> |
|
|
|
</el-collapse> |
|
</template> |
|
<script setup> |
|
import { BlameType, ProblemSources } from "@/enums/dictEnums"; |
|
|
|
import { ProcessingStatus } from "@/enums/flowEnums"; |
|
import { getDictLable } from "@/utils/util"; |
|
import useCatchStore from "@/stores/modules/catch"; |
|
import {getConfinementListAll} from "@/api/work/confinement"; |
|
|
|
const dict = useCatchStore().getDicts([ |
|
"accountabilityTarget", |
|
"personType", |
|
"verifySituation", |
|
"verifyFileSituation", |
|
]); |
|
|
|
const activeNames = ref([ |
|
"verify", |
|
"involved_department", |
|
"completionAttachment", |
|
"completed", |
|
]); |
|
const negative = inject("negative"); |
|
console.log(negative) |
|
|
|
let ConfinementDataList= ref([]) |
|
/** |
|
* 禁闭信息入参 |
|
* */ |
|
let confinementQuery = ref({ |
|
current: 1, |
|
size: 100, |
|
departBranch: false |
|
}) |
|
|
|
/** |
|
* 警员禁闭处罚 |
|
* */ |
|
function rtuenConfinementData(val){ |
|
const data = getConfinementData(val) |
|
return data?.find(s=>s.id === val.confinementId); |
|
} |
|
/** |
|
* 领导禁闭处罚 |
|
* */ |
|
function rtuenLeadConfinementData(val){ |
|
const data = getConfinementData(val) |
|
return data?.find(s=>s.id === val.leadConfinementId); |
|
} |
|
/** |
|
* 获取禁闭信息 |
|
* */ |
|
async function getConfinementData(val){ |
|
confinementQuery.value.id = val |
|
const res = await getConfinementListAll(confinementQuery.value); |
|
return res.records; |
|
} |
|
|
|
for ( |
|
let i = 0; |
|
i < |
|
negative.value.blames.filter((item) => item.type === BlameType.PERSONAL) |
|
.length; |
|
i++ |
|
) { |
|
activeNames.value.push("involved" + i); |
|
} |
|
</script> |
|
<style lang="scss" scoped> |
|
.el-collapse { |
|
--el-collapse-header-text-color: var(--primary-color); |
|
--el-collapse-header-font-size: 16px; |
|
} |
|
</style>
|
|
|