zhzf/client/src/views/xzzfgl/caseDetail.vue

544 lines
27 KiB
Vue

<template>
<el-divider content-position="left">案件当事人</el-divider>
<el-row v-if="caseInfo.enterprise">
<el-col :span="16">
<el-form-item label="单位名称" prop="unitName">
<el-input v-model="caseInfo.enterprise.unitName" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统一社会信用代码" prop="unifiedSocialCode">
<el-input v-model="caseInfo.enterprise.unifiedSocialCode" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="法定代表人(负责人)" prop="fddbr">
<el-input v-model="caseInfo.enterprise.legalRepresentative" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="职务" prop="legalDuty">
<el-input v-model="caseInfo.enterprise.legalDuty" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系电话" prop="legalPhone">
<el-input v-model="caseInfo.enterprise.legalPhone" />
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="地址" prop="opLocAddress">
<el-input v-model="caseInfo.enterprise.detailedAddress" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="邮编" prop="postalCode">
<el-input v-model="caseInfo.enterprise.postalCode" />
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">案件流程</el-divider>
<el-timeline>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='filed'||caseInfo.enforcementInfo.currentNodeCode==='investigating'
||caseInfo.enforcementInfo.currentNodeCode==='investigation_done'||caseInfo.enforcementInfo.currentNodeCode==='analyze_judge'
||caseInfo.enforcementInfo.currentNodeCode==='inform'||caseInfo.enforcementInfo.currentNodeCode==='hearing'
||caseInfo.enforcementInfo.currentNodeCode==='decided'||caseInfo.enforcementInfo.currentNodeCode==='execute'||caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="立案" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='filed'?'#0bbd87':''">
<el-card>
<el-row class="width-100">
<el-col :span="12">
<el-form-item label="操作人" prop="filedUserName">
<el-input v-model="caseInfo.filedUserName" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作时间" prop="fillingTime">
<el-input v-model="caseInfo.fillingTime" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属机构" prop="agencyName">
<el-input v-model="caseInfo.enforcementInfo.agency.agencyName" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否有违法记录" prop="isLawBreak">
<el-select v-model="caseInfo.isLawBreak" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.SF_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件来源" prop="caseSourceCode">
<el-select v-model="caseInfo.caseSourceCode" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.AJLY_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件名称" prop="caseName">
<el-input v-model="caseInfo.caseName" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案发地点" prop="caseAdd">
<el-input v-model="caseInfo.caseAdd" readonly/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="案由" prop="caseCause">
<el-select v-model="caseInfo.caseCause" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.AJAY_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="案件简要情况" prop="caseDesc">
<el-input type="textarea" :rows="5" v-model="caseInfo.caseDesc" readonly/>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='investigating'
||caseInfo.enforcementInfo.currentNodeCode==='investigation_done'||caseInfo.enforcementInfo.currentNodeCode==='analyze_judge'
||caseInfo.enforcementInfo.currentNodeCode==='inform'||caseInfo.enforcementInfo.currentNodeCode==='hearing'
||caseInfo.enforcementInfo.currentNodeCode==='decided'||caseInfo.enforcementInfo.currentNodeCode==='execute'||caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="调查取证" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='investigating'
||caseInfo.enforcementInfo.currentNodeCode==='investigation_done'?'#0bbd87':''">
<el-card>
<el-row>
<el-col :span="24">
<div style="padding-bottom: 10px">
<el-card>
<template #header>
<div class="card-header">
<span>执法人员</span>
</div>
</template>
<div class="dynamic-table-container">
<el-table :data="caseInfo.evidence.officerList" border>
<el-table-column header-align="center" align="center" label="执法人员姓名" prop="officerName"
min-width="250"></el-table-column>
<el-table-column header-align="center" align="center" label="执法证号" prop="certificateNo"
min-width="250"></el-table-column>
</el-table>
</div>
</el-card>
</div>
</el-col>
<el-col :span="24">
<div style="padding-bottom: 10px">
<el-card>
<template #header>
<div class="card-header">
<span>违法违规事实依据</span>
</div>
</template>
<div class="dynamic-table-container">
<el-table ref="tableRef" :data="caseInfo.evidence.checkItems" height="200" border>
<el-table-column header-align="center" align="center" label="违法违规行为" prop="itemName"
min-width="450"></el-table-column>
<el-table-column header-align="center" align="center" label="执法依据" prop="enforcementBasis"
min-width="250"></el-table-column>
<el-table-column header-align="center" align="center" label="处罚依据" prop="punishmentBasis"
min-width="250"></el-table-column>
</el-table>
</div>
</el-card>
</div>
</el-col>
<el-col :span="24">
<MultipleFile :parameters="fileParameters"
:files-data="caseInfo.evidence.filesData"/>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='analyze_judge'
||caseInfo.enforcementInfo.currentNodeCode==='inform'||caseInfo.enforcementInfo.currentNodeCode==='hearing'
||caseInfo.enforcementInfo.currentNodeCode==='decided'||caseInfo.enforcementInfo.currentNodeCode==='execute'||caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="审理" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='analyze_judge'?'#0bbd87':''">
<el-card>
<el-row>
<el-col :span="12">
<el-form-item label="提交法制审核人员" prop="analyzeJudge.czr">
<el-input disabled v-model="caseInfo.analyzeJudge.czr"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作时间" prop="analyzeJudge.czsj">
<el-date-picker v-model="caseInfo.analyzeJudge.czsj" readonly
type="datetime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法审类型" prop="analyzeJudge.auditType">
<el-radio-group v-model="caseInfo.analyzeJudge.auditType" readonly>
<el-radio :label="1">一般行政执法决定法制审核</el-radio>
<el-radio :label="0">重大行政执法决定法制审核</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="违法事实是否成立" prop="analyzeJudge.shjg">
<el-radio-group v-model="caseInfo.analyzeJudge.shjg" readonly >
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.analyzeJudge.shjg===1">
<el-form-item label="违法程度" prop="analyzeJudge.wfcd">
<el-checkbox-group v-model="caseInfo.analyzeJudge.wfcd" readonly >
<el-checkbox value="scwf" label="首次违法"></el-checkbox>
<el-checkbox value="qwwf" label="轻微违法"></el-checkbox>
<el-checkbox value="ybwf" label="一般违法"></el-checkbox>
<el-checkbox value="jzwf" label="较重违法"></el-checkbox>
<el-checkbox value="yzwf" label="严重违法"></el-checkbox>
<el-checkbox value="tbyzwf" label="特别严重违法"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.analyzeJudge.shjg===1">
<el-form-item label="是否重大案件" prop="analyzeJudge.sfzdaj">
<el-radio-group v-model="caseInfo.analyzeJudge.sfzdaj" readonly >
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.analyzeJudge.shjg===1">
<el-form-item label="决定给予" prop="analyzeJudge.jdgy">
<el-checkbox-group v-model="caseInfo.analyzeJudge.jdgy" readonly >
<el-checkbox value="zlzg" label="责令整改"></el-checkbox>
<el-checkbox value="xzcfjd" label="行政处罚决定"></el-checkbox>
<el-checkbox value="byxzcf" label="不予行政处罚"></el-checkbox>
<el-checkbox value="yjsfjg" label="涉嫌犯罪移送司法机关"></el-checkbox>
<el-checkbox value="xzml" label="行政命令"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.analyzeJudge.shjg===1">
<el-form-item label="建议处罚内容" prop="analyzeJudge.jycfnr">
<el-input v-model="caseInfo.analyzeJudge.jycfnr" readonly />
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.analyzeJudge.shjg===1">
<el-form-item label="罚款(元)" prop="analyzeJudge.fk">
<el-input v-model="caseInfo.analyzeJudge.fk" readonly />
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.analyzeJudge.shjg===1">
<el-form-item label="法制审核意见" prop="analyzeJudge.fzshyj">
<el-input type="textarea" :rows="5" v-model="caseInfo.analyzeJudge.fzshyj" readonly />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="集体讨论人" prop="discuss.brainstormUserName">
<el-input v-model="caseInfo.discuss.brainstormUserName" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="集体讨论时间" prop="discuss.brainstormTime">
<el-date-picker v-model="caseInfo.discuss.brainstormTime" readonly
type="datetime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="集体讨论记录" prop="discuss.brainstormDesc">
<el-input type="textarea" :rows="5" v-model="caseInfo.discuss.brainstormDesc" readonly/>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='inform'||caseInfo.enforcementInfo.currentNodeCode==='hearing'
||caseInfo.enforcementInfo.currentNodeCode==='decided'||caseInfo.enforcementInfo.currentNodeCode==='execute'||caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="告知" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='inform'?'#0bbd87':''">
<el-card>
<el-row>
<el-col :span="12">
<el-form-item label="操作人" prop="analyzeJudge.czr">
<el-input disabled v-model="caseInfo.inform.czr" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作时间" prop="analyzeJudge.czsj">
<el-date-picker v-model="caseInfo.inform.czsj" type="datetime" readonly></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="告知时间:" prop="inform.gzsj">
<el-date-picker v-model="caseInfo.inform.gzsj" type="datetime" placeholder="选择日期时间" clearable readonly></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="送达方式" prop="inform.gzfs">
<SimpleEntitySelector :simpleConfig="simpleConfigSsr" :multiple="false" readonly
v-model="caseInfo.inform.gzfs"/>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='hearing'
||caseInfo.enforcementInfo.currentNodeCode==='decided'||caseInfo.enforcementInfo.currentNodeCode==='execute'||caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="听证或申辩" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='hearing'?'#0bbd87':''">
<el-card>
<el-row>
<el-col :span="12">
<el-form-item label="当事人陈述申辩情况" prop="informsbtz.sbqk">
<el-radio-group v-model="caseInfo.informsbtz.sbqk" readonly>
<el-radio-button :label="1">是</el-radio-button>
<el-radio-button :label="0">否</el-radio-button>
<el-radio-button :label="2">不表态</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.informsbtz.sbqk===1">
<el-form-item label="申辩内容:" prop="informsbtz.sbnr">
<el-input v-model="caseInfo.informsbtz.sbnr" readonly/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否申请听证" prop="sfsqtz">
<el-radio-group v-model="caseInfo.informsbtz.sfsqtz" readonly>
<el-radio-button label="1">是</el-radio-button>
<el-radio-button label="0">否</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='decided'||caseInfo.enforcementInfo.currentNodeCode==='execute'||caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="决定" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='decided'?'#0bbd87':''">
<el-card>
<el-row>
<el-col :span="12">
<el-form-item label="操作人" prop="decided.czr">
<el-input v-model="caseInfo.decided.czr" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作时间" prop="decided.czsj">
<el-input v-model="caseInfo.decided.czsj" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法审类型" prop="decided.auditType">
<el-radio-group v-model="caseInfo.decided.auditType" readonly>
<el-radio :label="1">一般行政执法决定法制审核</el-radio>
<el-radio :label="0">重大行政执法决定法制审核</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="违法事实是否成立" prop="decided.shjg">
<el-radio-group v-model="caseInfo.decided.shjg" readonly>
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.decided.shjg===1">
<el-form-item label="违法程度" prop="decided.wfcd">
<el-checkbox-group v-model="caseInfo.decided.wfcd" readonly>
<el-checkbox value="scwf" label="首次违法"></el-checkbox>
<el-checkbox value="qwwf" label="轻微违法"></el-checkbox>
<el-checkbox value="ybwf" label="一般违法"></el-checkbox>
<el-checkbox value="jzwf" label="较重违法"></el-checkbox>
<el-checkbox value="yzwf" label="严重违法"></el-checkbox>
<el-checkbox value="tbyzwf" label="特别严重违法"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.decided.shjg===1">
<el-form-item label="是否重大案件" prop="decided.sfzdaj">
<el-radio-group v-model="caseInfo.decided.sfzdaj" readonly>
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.decided.shjg===1">
<el-form-item label="决定给予" prop="decided.jdgy">
<el-checkbox-group v-model="caseInfo.decided.jdgy" readonly>
<el-checkbox value="zlzg" label="责令整改"></el-checkbox>
<el-checkbox value="xzcfjd" label="行政处罚决定"></el-checkbox>
<el-checkbox value="byxzcf" label="不予行政处罚"></el-checkbox>
<el-checkbox value="yjsfjg" label="涉嫌犯罪移送司法机关"></el-checkbox>
<el-checkbox value="xzml" label="行政命令"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.decided.shjg===1">
<el-form-item label="建议处罚内容" prop="decided.jycfnr">
<el-input v-model="caseInfo.decided.jycfnr" readonly/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="caseInfo.decided.shjg===1">
<el-form-item label="罚款(元)" prop="decidePayment">
<el-input v-model="caseInfo.decidePayment" readonly/>
</el-form-item>
</el-col>
<el-col :span="24">
<div style="padding-bottom: 10px">
<el-card>
<template #header>
<div class="card-header">
<span>行政裁量</span>
</div>
</template>
<div class="dynamic-table-container">
<el-table :data="caseInfo.decided.discretionItems || []" border>
<el-table-column header-align="center" type="index" label="序号" min-width="80"/>
<el-table-column header-align="center" prop="discretionElement" label="违法行为" min-width="300" show-overflow-tooltip/>
<el-table-column header-align="center" prop="applicableSituation" label="法律依据" min-width="300" show-overflow-tooltip/>
<el-table-column header-align="center" prop="benchmark" label="裁量基准" min-width="200" show-overflow-tooltip/>
</el-table>
</div>
</el-card>
</div>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='execute'||caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="执行" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='execute'?'#0bbd87':''">
<el-card>
<el-row>
<el-col :span="12">
<el-form-item label="履行结果" prop="perforResult">
<el-select v-model="caseInfo.execute.perforResult" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.AJLXJG_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否分期" prop="isInstallment">
<el-select v-model="caseInfo.execute.isInstallment" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.SF_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<MultipleFile :parameters="fileParameters1"
:files-data="caseInfo.execute.annexs"/>
</el-col>
<el-col :span="12">
<el-form-item label="是否延期" prop="isPostponement">
<el-select v-model="caseInfo.execute.isPostponement" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.SF_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="已延期(天)" prop="delayed">
<el-input v-model="caseInfo.execute.delayed" readonly/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否涉刑" prop="isCriInvol">
<el-select v-model="caseInfo.execute.isCriInvol" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.SF_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否移交" prop="isTransfer">
<el-select v-model="caseInfo.execute.isTransfer" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.SF_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否强制执行" prop="isEnforcement">
<el-select v-model="caseInfo.execute.isEnforcement" placeholder="请选择" readonly>
<el-option v-for="item in DICTITEMS.SF_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
<el-timeline-item v-if="caseInfo.enforcementInfo.currentNodeCode==='done'"
timestamp="结案" placement="top" :color="caseInfo.enforcementInfo.currentNodeCode==='done'?'#0bbd87':''">
<el-card>
<el-row>
<el-col :span="8">
<el-form-item label="结案类型">
<el-select v-model="caseInfo.finalCase.caseCloseType" placeholder="请选择" disabled>
<el-option v-for="item in DICTITEMS.AJJALX_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="复议情况">
<el-select v-model="caseInfo.finalCase.reviewSituation" placeholder="请选择" disabled>
<el-option v-for="item in DICTITEMS.YW_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="诉讼情况">
<el-select v-model="caseInfo.finalCase.litigationSituation" placeholder="请选择" disabled>
<el-option v-for="item in DICTITEMS.YW_OPTIONS" :key="item.value" :label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-card>
</el-timeline-item>
</el-timeline>
</template>
<script setup>
import MultipleFile from "@pages/common/MultipleFile.vue";
import {defineEmits, defineProps, reactive, ref, toRefs} from "vue"
import {DICTITEMS} from "@/utils/Constants.js";
import SimpleEntitySelector from "@/components/SimpleEntitySelector.vue";
const props = defineProps({
caseInfo: {
type: Object
}
})
const state = reactive({
simpleConfigSsr: {confName: 'method'},
filesData: [],
fileParameters: {title: '证据材料', mode: 'detail', tableTitle: '取证', headers: {'industry-category': 'PUB'},url: '/api/uploads', autoUpload: true} ,// ,url: '/api/uploads', autoUpload: true
fileParameters1: {title: '履行凭证', mode: 'detail', tableTitle: '履行凭证', headers: {'industry-category': 'PUB'},url: '/api/uploads', autoUpload: true}
})
const emit = defineEmits(['on-dialog-loading'])
const {
simpleConfigSsr,
fileParameters,
fileParameters1,
filesData
} = toRefs(state)
</script>
<style scoped lang="scss">
</style>