数字督察一体化平台-前端
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

<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>