2025-02-21 11:36:01 +08:00
|
|
|
<template>
|
|
|
|
|
<browser :component-loading="componentLoading"
|
|
|
|
|
:api-config="apiConfig"
|
|
|
|
|
:table-config="tableConfig"
|
|
|
|
|
:permissions="permissions"
|
|
|
|
|
:dialog-config="dialogConfig"
|
|
|
|
|
:actions="actions"
|
|
|
|
|
:default-query-params="queryParams"
|
|
|
|
|
:custom-query="true"
|
|
|
|
|
@custom-query="handleQuery"
|
|
|
|
|
@update:dialog-config="dialogConfig = $event"
|
|
|
|
|
@update:actions="actions = $event">
|
|
|
|
|
<template #queryPanel="{ queryParams: query }">
|
2025-03-21 20:14:15 +08:00
|
|
|
|
2025-02-21 11:36:01 +08:00
|
|
|
<el-form ref="queryForm" :model="query" label-width="80px">
|
|
|
|
|
<el-row class="query-condition">
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="案件名称" prop="caseName">
|
|
|
|
|
<el-input v-model="query.caseName" clearable/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="立案日期" prop="fillingDate">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="query.fillingDate"
|
|
|
|
|
type="daterange"
|
|
|
|
|
range-separator="至"
|
|
|
|
|
start-placeholder="开始日期"
|
|
|
|
|
end-placeholder="结束日期">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="当前节点" prop="status">
|
|
|
|
|
<el-select v-model="query.status" placeholder="请选择" clearable>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in DICTITEMS.ZFJD_OPTIONS.filter(o => o.value !== 'plan_approval' &&
|
|
|
|
|
o.value !== 'plan_approval_failed' &&
|
|
|
|
|
o.value !== 'plan_approved' &&
|
|
|
|
|
o.value !== 'inspect_done' &&
|
|
|
|
|
o.value !== 'filed' &&
|
|
|
|
|
o.value !== 'investigating' &&
|
|
|
|
|
o.value !== 'investigation_done' &&
|
|
|
|
|
o.value !== 'analyze_judge' &&
|
|
|
|
|
o.value !== 'inform' &&
|
|
|
|
|
o.value !== 'hearing' &&
|
|
|
|
|
o.value !== 'decided' &&
|
|
|
|
|
o.value !== 'closed')"
|
|
|
|
|
:key="item.value"
|
|
|
|
|
:label="item.label"
|
|
|
|
|
:value="item.value"/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<el-table-column label="案件号" prop="caseNum" min-width="200"/>
|
|
|
|
|
<el-table-column label="案件名称" prop="caseName" min-width="350"/>
|
|
|
|
|
<el-table-column label="立案日期" prop="fillingDate" min-width="150"/>
|
|
|
|
|
<el-table-column label="当前节点" prop="enforcementInfo.currentNode" min-width="150"/>
|
|
|
|
|
<el-table-column label="立案人" prop="filedUserName" min-width="150"/>
|
|
|
|
|
|
|
|
|
|
<template #tableControlColumn="{ data: r }">
|
|
|
|
|
<el-link type="primary" @click="handleCloseCase(r.data.row)" v-if="r.data.row.enforcementInfo.currentNodeCode === 'execute'" title="结案">结案</el-link>
|
|
|
|
|
<el-link type="primary" @click="handleDetail(r.data.row)" v-if="r.data.row.enforcementInfo.currentNodeCode !== 'execute'" title="详情">详情</el-link>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #dialog>
|
|
|
|
|
<el-dialog class="business-dialog"
|
|
|
|
|
v-model="dialogConfig.show"
|
|
|
|
|
:show-close="false"
|
|
|
|
|
:append-to-body="true"
|
|
|
|
|
:top="'100px'"
|
|
|
|
|
:width="'1292px'">
|
|
|
|
|
<template #header>
|
|
|
|
|
<div class="cvi-dialog-header">
|
|
|
|
|
<div class="cvi-dialog-header-title">
|
|
|
|
|
<div class="dialog-line"></div>
|
|
|
|
|
{{ dialogConfig.title }}
|
|
|
|
|
</div>
|
|
|
|
|
<i class="iconfont icon-zyyy_tcgb" @click="dialogConfig.actions.handleClose"></i>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<el-form class="browser-businesss-table-dialog-form"
|
|
|
|
|
label-width="130px"
|
|
|
|
|
:model="dialogConfig.data"
|
|
|
|
|
:rules="dialogConfig.rules"
|
|
|
|
|
ref="formRef">
|
|
|
|
|
<el-collapse v-model="activeNames">
|
|
|
|
|
<el-collapse-item title="当事人信息" name="1">
|
|
|
|
|
<el-row class="width-100">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="执法机构" prop="agencyName">
|
|
|
|
|
<el-input v-model="dialogConfig.data.agency.agencyName" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="企业名称" prop="unitName">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.unitName" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="统一信用代码" prop="unifiedSocialCode">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.unifiedSocialCode" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="注册地址" prop="detailedAddress">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.detailedAddress" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="经营地址" prop="opLocAddress">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.opLocAddress" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="邮编" prop="postalCode">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.postalCode" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="单位联系电话" prop="contactPhone">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.contactPhone" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="法人姓名" prop="legalRepresentative">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.legalRepresentative" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="法人联系电话" prop="legalPhone">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.legalPhone" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="证件类型" prop="detailedAddress">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.legalPersonIdType" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="证件号码" prop="legalPersonIdNumber">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.legalPersonIdNumber" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="职务" prop="legalDuty">
|
|
|
|
|
<el-input v-model="dialogConfig.data.enterprise.legalDuty" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-collapse-item>
|
|
|
|
|
<el-collapse-item title="案件信息" name="2">
|
|
|
|
|
<el-row class="width-100">
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="承办机构" prop="agencyName">
|
|
|
|
|
<el-input v-model="dialogConfig.data.caseInfo.agency.agencyName" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="案件来源" prop="caseSourceCode">
|
|
|
|
|
<el-select v-model="dialogConfig.data.caseInfo.caseSourceCode" placeholder="请选择" disabled>
|
|
|
|
|
<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="dialogConfig.data.caseInfo.caseName" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="案件号" prop="caseNum">
|
|
|
|
|
<el-input v-model="dialogConfig.data.caseInfo.caseNum" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="案由" prop="caseCause">
|
|
|
|
|
<el-select v-model="dialogConfig.data.caseCause" placeholder="请选择" disabled>
|
|
|
|
|
<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="12">
|
|
|
|
|
<el-form-item label="立案时间" prop="fillingDate">
|
|
|
|
|
<el-input v-model="dialogConfig.data.caseInfo.fillingDate" readonly/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<!-- <el-col :span="12">-->
|
|
|
|
|
<!-- <el-form-item label="案发地点" prop="caseAdd">-->
|
|
|
|
|
<!-- <el-input v-model="dialogConfig.data.caseInfo.caseAdd" readonly/>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<!-- <el-col :span="12">-->
|
|
|
|
|
<!-- <el-form-item label="案发时间" prop="caseTime">-->
|
|
|
|
|
<!-- <el-date-picker v-model="dialogConfig.data.caseInfo.caseTime"-->
|
|
|
|
|
<!-- type="datetime"-->
|
|
|
|
|
<!-- format="YYYY-MM-DD HH:mm:ss"-->
|
|
|
|
|
<!-- value-format="YYYY-MM-DD HH:mm:ss"-->
|
|
|
|
|
<!-- disabled/>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<!-- <el-col :span="12">-->
|
|
|
|
|
<!-- <el-form-item label="立案人" prop="filedUserName">-->
|
|
|
|
|
<!-- <el-input v-model="dialogConfig.data.caseInfo.filedUserName" readonly/>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<!-- <el-col :span="12">-->
|
|
|
|
|
<!-- <el-form-item label="是否有违法记录" prop="isLawBreak">-->
|
|
|
|
|
<!-- <el-select v-model="dialogConfig.data.caseInfo.isLawBreak" placeholder="请选择" disabled>-->
|
|
|
|
|
<!-- <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="24">-->
|
|
|
|
|
<!-- <el-form-item label="案件简要情况" prop="caseDesc">-->
|
|
|
|
|
<!-- <el-input type="textarea" :rows="5" v-model="dialogConfig.data.caseInfo.caseDesc" readonly/>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-collapse-item>
|
|
|
|
|
<el-collapse-item title="执法人员" name="3">
|
|
|
|
|
<el-row class="width-100">
|
|
|
|
|
<el-col :span="24" class="padding-bottom-10">
|
|
|
|
|
<el-table :data="dialogConfig.data.officerList" height="260" border>
|
|
|
|
|
<el-table-column header-align="center" align="center" label="主办人" prop="officerName" min-width="250"/>
|
|
|
|
|
<el-table-column header-align="center" align="center" label="执法证号" prop="certificateNo" min-width="250"/>
|
|
|
|
|
</el-table>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-collapse-item>
|
|
|
|
|
<!-- <el-collapse-item title="检查事项" name="4">-->
|
|
|
|
|
<!-- <el-row class="width-100">-->
|
|
|
|
|
<!-- <el-col :span="24" class="padding-bottom-10">-->
|
|
|
|
|
<!-- <el-table :data="dialogConfig.data.checkItems" height="300" border>-->
|
|
|
|
|
<!-- <el-table-column header-align="center" align="center" label="检查事项" prop="itemName" min-width="250"/>-->
|
|
|
|
|
<!-- <el-table-column header-align="center" align="center" label="执法依据" prop="enforcementBasis"-->
|
|
|
|
|
<!-- min-width="250"/>-->
|
|
|
|
|
<!-- <el-table-column header-align="center" align="center" label="处罚依据" prop="punishmentBasis"-->
|
|
|
|
|
<!-- min-width="250"/>-->
|
|
|
|
|
<!-- </el-table>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<!-- </el-row>-->
|
|
|
|
|
<!-- </el-collapse-item>-->
|
|
|
|
|
<el-collapse-item title="结案" name="4">
|
|
|
|
|
<el-row class="width-100" v-if="dialogConfig.mode === 'closeCase'">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="结案类型" prop="caseCloseType">
|
|
|
|
|
<el-select v-model="dialogConfig.data.caseInfo.finalCase.caseCloseType" placeholder="请选择">
|
|
|
|
|
<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="复议情况" prop="reviewSituation">
|
|
|
|
|
<el-select v-model="dialogConfig.data.caseInfo.finalCase.reviewSituation" placeholder="请选择">
|
|
|
|
|
<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="诉讼情况" prop="litigationSituation">
|
|
|
|
|
<el-select v-model="dialogConfig.data.caseInfo.finalCase.litigationSituation" placeholder="请选择">
|
|
|
|
|
<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-row class="width-100" v-if="dialogConfig.mode === 'detail'">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="结案类型">
|
|
|
|
|
<el-select v-model="dialogConfig.data.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="dialogConfig.data.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="dialogConfig.data.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-collapse-item>
|
|
|
|
|
</el-collapse>
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
<div class="cvi-dialog-footer">
|
|
|
|
|
<el-button @click="dialogConfig.actions.handleClose">取消</el-button>
|
|
|
|
|
<el-button type="primary" @click="dialogConfig.actions.handleDialogOk">确定</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
</browser>
|
|
|
|
|
</template>
|
|
|
|
|
<script setup>
|
|
|
|
|
import browser from '@/components/Browser.vue'
|
|
|
|
|
import MultipleFile from '@pages/common/MultipleFile.vue'
|
|
|
|
|
import moment from 'moment'
|
|
|
|
|
import {DICTITEMS} from '@/utils/Constants.js'
|
|
|
|
|
import {reactive, toRefs, ref} from 'vue'
|
|
|
|
|
import caseApi from '@/api/lawenforcement/Case'
|
|
|
|
|
import messagesApi from '@/api/lawenforcement/Message.js'
|
|
|
|
|
import enforcementInfo from '@/api/lawenforcement/EnforcementInfo'
|
|
|
|
|
import {ElMessage} from 'element-plus'
|
|
|
|
|
|
|
|
|
|
const state = reactive({
|
|
|
|
|
componentLoading: false,
|
|
|
|
|
queryParams: {
|
|
|
|
|
status: 'execute',
|
|
|
|
|
},
|
|
|
|
|
permissions: {
|
|
|
|
|
query: true,
|
|
|
|
|
add: false,
|
|
|
|
|
modify: false,
|
|
|
|
|
detail: false,
|
|
|
|
|
delete: false,
|
|
|
|
|
importFile: false,
|
|
|
|
|
exportFile: false,
|
|
|
|
|
exportSelectFile: false,
|
|
|
|
|
downloadTemp: false,
|
|
|
|
|
},
|
|
|
|
|
tableConfig: {
|
|
|
|
|
hasControlColumn: true,
|
|
|
|
|
multipleSelect: false,
|
|
|
|
|
controlWidth: '120'
|
|
|
|
|
},
|
|
|
|
|
apiConfig: {
|
|
|
|
|
api: caseApi,
|
|
|
|
|
api2: enforcementInfo,
|
|
|
|
|
modelId: 'caseId'
|
|
|
|
|
},
|
|
|
|
|
dialogConfig: {
|
|
|
|
|
show: false,
|
|
|
|
|
mode: 'add',
|
|
|
|
|
title: '结案',
|
|
|
|
|
loading: false,
|
|
|
|
|
formLabelWidth: '100',
|
|
|
|
|
data: {
|
|
|
|
|
agency: {},
|
|
|
|
|
enterprise: {},
|
|
|
|
|
officerList: [],
|
|
|
|
|
checkItems: [],
|
|
|
|
|
filesData: [],
|
|
|
|
|
caseInfo: {
|
|
|
|
|
agency: {},
|
|
|
|
|
finalCase: {}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
actions: {
|
|
|
|
|
handleClose: handleClose,
|
|
|
|
|
handleDialogOk: handleDialogOk
|
|
|
|
|
},
|
|
|
|
|
rules: {
|
|
|
|
|
'caseCloseType': [{
|
|
|
|
|
required: true,
|
|
|
|
|
trigger: 'change',
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
let _value = dialogConfig.value.data.caseInfo.finalCase.caseCloseType
|
|
|
|
|
if (_value === null || _value === undefined || _value === '') {
|
|
|
|
|
callback(new Error('结案类型不能为空'));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}],
|
|
|
|
|
'reviewSituation': [{
|
|
|
|
|
required: true,
|
|
|
|
|
trigger: 'change',
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
let _value = dialogConfig.value.data.caseInfo.finalCase.reviewSituation
|
|
|
|
|
if (_value === null || _value === undefined || _value === '') {
|
|
|
|
|
callback(new Error('复议情况不能为空'));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}],
|
|
|
|
|
'litigationSituation': [{
|
|
|
|
|
required: true,
|
|
|
|
|
trigger: 'change',
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
let _value = dialogConfig.value.data.caseInfo.finalCase.litigationSituation
|
|
|
|
|
if (_value === null || _value === undefined || _value === '') {
|
|
|
|
|
callback(new Error('诉讼情况不能为空'));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}],
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
actions: {},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const {
|
|
|
|
|
componentLoading,
|
|
|
|
|
queryParams,
|
|
|
|
|
permissions,
|
|
|
|
|
tableConfig,
|
|
|
|
|
apiConfig,
|
|
|
|
|
dialogConfig,
|
|
|
|
|
actions,
|
|
|
|
|
} = toRefs(state)
|
|
|
|
|
|
|
|
|
|
// 分页查询
|
|
|
|
|
function handleQuery(query) {
|
|
|
|
|
queryParams.value = query
|
|
|
|
|
tableConfig.value.tableLoading = true
|
|
|
|
|
apiConfig.value.api.query(queryParams.value).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
tableConfig.value.tableData = res
|
|
|
|
|
tableConfig.value.tableLoading = false
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const activeNames = ref(['1', '2', '4'])
|
|
|
|
|
|
|
|
|
|
function handleDetail(row) {
|
|
|
|
|
dialogConfig.value.show = true
|
|
|
|
|
dialogConfig.value.mode = 'detail'
|
|
|
|
|
dialogConfig.value.title = '结案'
|
|
|
|
|
dialogConfig.value.loading = true
|
|
|
|
|
findOne(row)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function handleCloseCase(row) {
|
|
|
|
|
dialogConfig.value.show = true
|
|
|
|
|
dialogConfig.value.mode = 'closeCase'
|
|
|
|
|
dialogConfig.value.title = '结案'
|
|
|
|
|
dialogConfig.value.loading = true
|
|
|
|
|
findOne(row)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function findOne(row) {
|
|
|
|
|
activeNames.value = ['1', '2', '4']
|
|
|
|
|
apiConfig.value.api2.findOne(row.enforcementId).then(res => {
|
|
|
|
|
dialogConfig.value.loading = false
|
|
|
|
|
if (res.success) {
|
|
|
|
|
const data = res.data
|
|
|
|
|
// 处理机构信息
|
|
|
|
|
if (!data.agency) data.agency = {}
|
|
|
|
|
// 执法人员
|
|
|
|
|
data.officerList = data.enforceChecks[0].officerList
|
|
|
|
|
// 处理案件机构信息
|
|
|
|
|
if (!data.caseInfo.agency) data.caseInfo.agency = {}
|
|
|
|
|
// 处理案件信息
|
|
|
|
|
if (!data.caseInfo.finalCase) data.caseInfo.finalCase = {}
|
|
|
|
|
// 响应式更新
|
|
|
|
|
dialogConfig.value.data = Object.assign({}, data)
|
|
|
|
|
} else {
|
|
|
|
|
ElMessage.error('执法信息详情查询失败')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const formRef = ref()
|
|
|
|
|
|
|
|
|
|
function handleDialogOk() {
|
|
|
|
|
let _event = actions.value
|
|
|
|
|
formRef.value.validate(valid => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
dialogConfig.value.loading = true
|
|
|
|
|
apiConfig.value.api.saveFinalCase(dialogConfig.value.data.caseInfo).then(res => {
|
|
|
|
|
dialogConfig.value.loading = false
|
|
|
|
|
dialogConfig.value.show = false
|
|
|
|
|
if (res.success) {
|
|
|
|
|
ElMessage.success('操作成功')
|
|
|
|
|
messagesApi
|
|
|
|
|
.sendMessage({
|
|
|
|
|
title: '结案',
|
|
|
|
|
content: '您有一条待结案记录!',
|
|
|
|
|
routeUrl: '/xzzfgl/xzcf/zfja',
|
|
|
|
|
receiverIds: ['111111']
|
|
|
|
|
})
|
|
|
|
|
.then(res => console.log(res))
|
|
|
|
|
_event.query()
|
|
|
|
|
} else {
|
|
|
|
|
ElMessage.error('操作失败')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function handleClose() {
|
|
|
|
|
dialogConfig.value.show = false
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
.pic-content {
|
|
|
|
|
.el-upload-list__item-thumbnail,
|
|
|
|
|
.el-upload-list__item-actions,
|
|
|
|
|
.el-upload-list__item,
|
|
|
|
|
.el-upload--picture-card {
|
|
|
|
|
width: 64px !important;
|
|
|
|
|
height: 64px !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.browser-businesss-table {
|
|
|
|
|
.browser-businesss-table-dialog-form {
|
|
|
|
|
padding: 10px 20px 10px 20px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.width-100 {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.padding-bottom-10 {
|
|
|
|
|
padding-bottom: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:deep(.el-input) {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:deep(.el-select__wrapper.is-disabled) {
|
|
|
|
|
background: unset !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:deep(.el-select__wrapper.is-disabled .el-select__selected-item) {
|
|
|
|
|
color: #606266 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:deep(.el-input.is-disabled .el-input__wrapper) {
|
|
|
|
|
background: unset !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:deep(.el-input__inner) {
|
|
|
|
|
-webkit-text-fill-color: #606266 !important;
|
|
|
|
|
}
|
|
|
|
|
</style>
|