Files
Arbitrate-Frontend/src/views/caseManagement/components/caseentryDialog.vue
T

1091 lines
38 KiB
Vue
Raw Normal View History

2023-09-18 21:55:43 +08:00
<template>
<div>
2023-10-18 08:50:17 +08:00
<el-dialog :title="dialogtitle" :visible="visible" @close="cancel" width="1000px" append-to-body
:destroy-on-close="true" center>
2023-09-18 21:55:43 +08:00
<!-- 案件信息 -->
2023-10-18 08:50:17 +08:00
<el-form ref="form" :model="formData" :rules="rules" label-width="150px" :disabled="flag == '0'">
2023-10-12 15:54:30 +08:00
<div style="display: inline-flex">
2023-10-08 11:28:27 +08:00
<div class="infoIcon"></div>
<div class="caseInfo">案件信息:</div>
</div>
2023-09-18 21:55:43 +08:00
<el-divider></el-divider>
<el-row>
<el-col :span="12">
2023-10-10 11:30:50 +08:00
<el-form-item label="案件编号:" prop="caseNum" v-if="flag !== '2'">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="flag == '1'" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
2023-11-03 17:02:15 +08:00
<el-col :span="12">
<el-form-item label="案件名称:" prop="caseName">
<el-input v-model="formData.caseName" placeholder="请输入案件名称" :disabled="flag == '1'" />
</el-form-item>
</el-col>
2023-09-18 21:55:43 +08:00
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的"
@input="numberFn('caseSubjectAmount')" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
2023-10-18 08:50:17 +08:00
<el-date-picker v-model="formData.loanStartDate" type="datetime" placeholder="借款开始日期"
@change="setStartTime">
2023-09-18 21:55:43 +08:00
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
2023-10-18 08:50:17 +08:00
<el-date-picker v-model="formData.loanEndDate" type="datetime" placeholder="借款结束日期" @change="setEndTime">
2023-09-18 21:55:43 +08:00
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同编号:" prop="contractNumber">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.contractNumber" placeholder="请输入" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" @input="numberFn('claimPrinciOwed')" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.claimInterestOwed" placeholder="请输入" @input="numberFn('claimInterestOwed')" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.claimLiquidDamag" placeholder="请输入" @input="numberFn('claimLiquidDamag')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="申请人请求仲裁庭裁决:" prop="requestRule">
<el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否财产保全申请:" prop="properPreser">
<el-radio-group v-model="formData.properPreser">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<!-- 应缴费用 -->
<el-col :span="12" v-if="flag == 0">
<el-form-item label="应缴费用:" prop="feePayable">
<el-input v-model="formData.feePayable" placeholder="请输入" />
</el-form-item>
</el-col>
<!-- 申请人仲裁诉求 -->
<el-col :span="24">
2023-10-18 08:50:17 +08:00
<el-form-item label="申请人仲裁请求及事实和理由" prop="arbitratClaims">
<el-input v-model="formData.arbitratClaims" placeholder="请输入申请人仲裁诉求" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
2023-09-18 21:55:43 +08:00
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence" v-if="flag !== '0'">
<el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
:action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
:before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="3"
:on-exceed="handleExceed" :file-list="fileList">
2023-09-18 21:55:43 +08:00
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
2023-09-30 15:40:47 +08:00
文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
2023-09-18 21:55:43 +08:00
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="申请人案件证据资料:" v-if="flag == '0' &&
caseAttachList.length > 0 &&
applicateArr.length > 0
">
2023-09-27 15:49:08 +08:00
<div v-for="(item, index) in applicateArr" :key="index">
<a href="#" @click="toFile(item, index)" style="color: blue">
{{ item.annexName }}
2023-09-27 15:49:08 +08:00
</a>
</div>
</el-form-item>
</el-col>
<!-- 仅详情展示 案件质证环节以后显示被申请人证据-->
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="被申请人案件证据资料:" prop="respondentEvidence" v-if="flag == '0' && caseAttachList.length > 0 && quiltArr.length > 0
">
2023-09-27 15:49:08 +08:00
<div v-for="(item, index) in quiltArr" :key="index">
<a href="#" @click="toFile1(item, index)" style="color: blue">
{{ item.annexName }}
2023-09-27 15:49:08 +08:00
</a>
</div>
<!-- <el-upload
2023-09-18 21:55:43 +08:00
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png文件,且不超过500kb
</div>
</el-upload> -->
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
2023-09-18 21:55:43 +08:00
</el-row>
</el-form>
<!-- 申请人主体信息 -->
2023-10-18 08:50:17 +08:00
<el-form ref="form2" :model="form2" label-width="150px" :disabled="flag == '0'">
2023-09-18 21:55:43 +08:00
<div v-for="(item, index) in form2.paymentArr" :key="index">
<div style="display: flex; justify-content: space-between">
2023-10-12 15:54:30 +08:00
<div style="display: inline-flex">
2023-10-08 11:28:27 +08:00
<div class="infoIcon"></div>
<div class="caseInfo">申请人主体信息:</div>
</div>
<!-- <p>申请人主体信息:</p> -->
2023-10-18 08:50:17 +08:00
<el-button type="danger" icon="el-icon-delete" @click="deleteData(index)"
v-if="form2.paymentArr.length > 1 && flag != '0'"></el-button>
2023-09-18 21:55:43 +08:00
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="申请人(机构):" :prop="'paymentArr.' + index + '.name'" :rules="[
{
required: true,
message: '申请人不能为空',
trigger: 'blur',
},
{ max: 20, message: '长度应小于20个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="item.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="代码:" :prop="'paymentArr.' + index + '.identityNum'" :rules="[
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="item.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系电话:" :prop="'paymentArr.' + index + '.contactTelphone'" :rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
{
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="item.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<!-- 新增申请人邮箱 -->
<el-col :span="12">
<el-form-item label="邮箱" :prop="'paymentArr.' + index + '.email'" :rules="[
{
required: true,
message: '邮箱地址不能为空',
trigger: 'blur',
},
{
pattern:
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
message: '请输入正确的邮箱地址',
trigger: 'blur',
},
]">
<el-input
v-model="item.email"
placeholder="请输入电子邮件"
/>
</el-form-item>
</el-col>
2023-09-18 21:55:43 +08:00
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="单位地址:" :prop="'paymentArr.' + index + '.workAddress'" :rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="item.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="单位电话:" :prop="'paymentArr.' + index + '.workTelphone'" :rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="item.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系地址:" :prop="'paymentArr.' + index + '.contactAddress'" :rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="item.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
2023-11-02 14:30:57 +08:00
<el-col :span="12">
<el-form-item label="申请人住所:" :prop="'paymentArr.' + index + '.residenAffili'" :rules="[
{
required: true,
message: '申请人住所不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
<el-input v-model="item.residenAffili" placeholder="请输入" />
</el-form-item>
</el-col>
2023-10-18 08:50:17 +08:00
<el-col :span="12">
<el-form-item label="法定代表人:" :prop="'paymentArr.' + index + '.compLegalPerson'" :rules="[
{
required: true,
message: '法定代表人不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
<el-input v-model="item.compLegalPerson" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法定代表人职位:" :prop="'paymentArr.' + index + '.compLegalperPost'" :rules="[
{
required: true,
message: '法定代表人职位不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
<el-input v-model="item.compLegalperPost" placeholder="请输入" />
</el-form-item>
</el-col>
2023-09-18 21:55:43 +08:00
</el-row>
2023-10-12 15:54:30 +08:00
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo2">代理人信息:</div>
2023-10-08 11:28:27 +08:00
</div>
<!-- <p>代理人信息:</p> -->
2023-09-18 21:55:43 +08:00
<el-row>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="姓名:" :prop="'paymentArr.' + index + '.nameAgent'" :rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
{ max: 20, message: '长度应小于20个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="item.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="身份证号:" :prop="'paymentArr.' + index + '.identityNumAgent'" :rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
{
pattern:
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '请输入正确的身份证号码',
trigger: 'blur',
},
]">
<el-input v-model="item.identityNumAgent" placeholder="请输入" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系电话:" :prop="'paymentArr.' + index + '.contactTelphoneAgent'" :rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
{
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]">
<el-input v-model="item.contactTelphoneAgent" placeholder="请输入" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系地址:" :prop="'paymentArr.' + index + '.contactAddressAgent'" :rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
<el-input v-model="item.contactAddressAgent" placeholder="请输入" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- <el-button
2023-09-18 21:55:43 +08:00
v-if="flag == 1 || flag == 2"
type="primary"
plain
@click="generateForm"
>新增申请人主体信息</el-button
> -->
2023-09-18 21:55:43 +08:00
<!-- 被申请人主体信息 -->
2023-10-18 08:50:17 +08:00
<el-form ref="form3" label-width="150px" :disabled="flag == '0'" :model="form3">
<div v-for="(itm, index) in form3.paymentArr1" :key="index + form2.paymentArr.length">
2023-09-18 21:55:43 +08:00
<div style="display: flex; justify-content: space-between">
2023-10-12 15:54:30 +08:00
<div style="display: inline-flex">
2023-10-08 11:28:27 +08:00
<div class="infoIcon"></div>
<div class="caseInfo">被申请人主体信息:</div>
</div>
<!-- <p>被申请人主体信息:</p> -->
2023-10-18 08:50:17 +08:00
<el-button type="danger" icon="el-icon-delete" @click="deleteData1(index)"
v-if="form3.paymentArr1.length > 1 && flag != '0'"></el-button>
2023-09-18 21:55:43 +08:00
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="被申请人姓名" :prop="'paymentArr1.' + index + '.name'" :rules="[
{
required: true,
message: '被申请人不能为空',
trigger: 'blur',
},
{ max: 20, message: '长度应小于20个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="身份证号:" :prop="'paymentArr1.' + index + '.identityNum'" :rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
{
pattern:
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '请输入正确的身份证号码',
trigger: 'blur',
},
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系电话:" :prop="'paymentArr1.' + index + '.contactTelphone'" :rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
{
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮箱" :prop="'paymentArr1.' + index + '.email'" :rules="[
{
required: true,
message: '邮箱地址不能为空',
trigger: 'blur',
},
{
pattern:
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
message: '请输入正确的邮箱地址',
trigger: 'blur',
},
]">
<el-input
v-model="itm.email"
placeholder="请输入电子邮件"
/>
</el-form-item>
</el-col>
2023-09-18 21:55:43 +08:00
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="单位地址:" :prop="'paymentArr1.' + index + '.workAddress'" :rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="单位电话:" :prop="'paymentArr1.' + index + '.workTelphone'" :rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系地址:" :prop="'paymentArr1.' + index + '.contactAddress'" :rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
2023-11-02 14:30:57 +08:00
<el-col :span="12">
<el-form-item label="被申请人住所:" :prop="'paymentArr1.' + index + '.residenAffili'" :rules="[
{
required: true,
message: '被申请人住所不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
<el-input v-model="itm.residenAffili" placeholder="请输入" />
</el-form-item>
</el-col>
2023-10-18 08:50:17 +08:00
<el-col :span="12">
<el-form-item label="被申请人性别:" :prop="'paymentArr1.' + index + '.responSex'" :rules="[
{
required: true,
},
]">
<el-radio-group v-model="itm.responSex">
<el-radio label="1">男</el-radio>
<el-radio label="0">女</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-24 16:27:30 +08:00
<el-form-item label="被申请人出生年月日:" :prop="'paymentArr1.' + index + '.responBirth'" :rules="[
2023-10-18 08:50:17 +08:00
{
required: true,
message: '被申请人出生年月日不能为空',
trigger: 'blur',
},
]">
2023-11-02 14:30:57 +08:00
<el-date-picker v-model="itm.responBirth" :picker-options="pickerOptions" type="datetime"
placeholder="被申请人出生年月日">
2023-10-24 16:27:30 +08:00
</el-date-picker>
</el-form-item>
</el-col>
2023-09-18 21:55:43 +08:00
</el-row>
2023-10-12 15:54:30 +08:00
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo2">代理人信息:</div>
2023-10-08 11:28:27 +08:00
</div>
<!-- <p>代理人信息:</p> -->
2023-09-18 21:55:43 +08:00
<el-row>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="姓名:" :prop="'paymentArr1.' + index + '.nameAgent'" :rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
{ max: 20, message: '长度应小于20个字符', trigger: 'blur' }
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-09-21 17:55:50 +08:00
<!-- -->
2023-10-18 08:50:17 +08:00
<el-form-item label="身份证号:" :prop="'paymentArr1.' + index + '.identityNumAgent'" :rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
{
pattern:
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '请输入正确的身份证号码',
trigger: 'blur',
},
]">
2023-09-18 21:55:43 +08:00
<el-input v-model="itm.identityNumAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系电话:" :prop="'paymentArr1.' + index + '.contactTelphoneAgent'" :rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
{
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]">
<el-input v-model="itm.contactTelphoneAgent" placeholder="请输入" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-18 08:50:17 +08:00
<el-form-item label="联系地址:" :prop="'paymentArr1.' + index + '.contactAddressAgent'" :rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
{ max: 50, message: '长度应小于50个字符', trigger: 'blur' }
]">
<el-input v-model="itm.contactAddressAgent" placeholder="请输入" />
2023-09-18 21:55:43 +08:00
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- <el-button
2023-09-18 21:55:43 +08:00
v-if="flag == 1 || flag == 2"
type="primary"
plain
@click="generateForm1()"
>新增被申请人主体信息</el-button
> -->
2023-09-18 21:55:43 +08:00
<div slot="footer" class="dialog-footer">
2023-10-18 08:50:17 +08:00
<el-button type="primary" @click="submitForm" v-if="flag != 0" class="endbutton"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
2023-09-18 21:55:43 +08:00
</div>
</el-dialog>
</div>
</template>
<script>
import moment from "moment"; //导入文件
import { getToken } from "@/utils/auth";
2023-09-18 21:55:43 +08:00
import { addCaseApply, editCaseApply } from "@/api/caseAccess/caseEntry";
export default {
props: [
"visible",
"dialogtitle",
"form",
"getcaseApply",
"flag",
"initpaymentArr",
"initpaymentArr1",
2023-09-21 17:55:50 +08:00
"queryParams",
"caseAttachList",
2023-09-18 21:55:43 +08:00
],
data() {
return {
formData: this.form,
filedata: {
annexType: 2,
},
headers: {
Authorization: "Bearer " + getToken(),
},
2023-09-18 21:55:43 +08:00
form2: {
paymentArr: [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
email: "",
2023-09-18 21:55:43 +08:00
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
2023-11-02 14:30:57 +08:00
residenAffili: ""
2023-09-18 21:55:43 +08:00
},
],
}, //申请人主体信息
form3: {
paymentArr1: [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
email: "",
2023-09-18 21:55:43 +08:00
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
2023-10-24 16:27:30 +08:00
responSex: 1,
2023-11-02 14:30:57 +08:00
responBirth: "",
residenAffili: ""
2023-09-18 21:55:43 +08:00
},
],
}, //被申请人主体信息
// 表单校验
rules: {
2023-10-10 16:22:52 +08:00
// caseNum: [
// {
// required: true,
// message: "案件编号不能为空",
// trigger: "blur",
// },
// { max: 20, message: "长度应小于20个字符", trigger: "blur" },
// ],
2023-09-18 21:55:43 +08:00
caseSubjectAmount: [
{
required: true,
message: "案件标的不能为空",
2023-09-23 16:01:56 +08:00
trigger: "blur",
2023-09-18 21:55:43 +08:00
},
],
2023-11-03 17:02:15 +08:00
caseName: [
{
required: true,
message: "案件名称不能为空",
trigger: "blur",
},
],
2023-09-18 21:55:43 +08:00
loanStartDate: [
{
required: true,
message: "借款开始日期不能为空",
trigger: "blur",
},
],
loanEndDate: [
{
required: true,
message: "借款结束日期不能为空",
trigger: "blur",
},
],
name: [
{
required: true,
message: "申请人姓名不能为空",
trigger: "blur",
},
],
contractNumber: [
{
required: true,
message: "合同编号不能为空",
trigger: "blur",
},
],
claimPrinciOwed: [
{
required: true,
message: "申请人主张欠本金不能为空",
trigger: "blur",
},
],
claimInterestOwed: [
{
required: true,
message: "申请人主张欠利息不能为空",
trigger: "blur",
},
],
Overduedays: [
{
required: true,
message: "逾期天数不能为空",
trigger: "blur",
},
],
claimLiquidDamag: [
{
required: true,
message: "申请人主张违约金不能为空",
trigger: "blur",
},
],
arbitratClaims: [
{
required: true,
message: "请输入申请人仲裁诉求",
trigger: "blur",
},
],
feePayable: [
{
required: true,
},
],
2023-09-18 21:55:43 +08:00
},
2023-09-27 15:49:08 +08:00
// annexId: '',
caseAttachListArr: [],
2023-09-18 21:55:43 +08:00
fileList: [],
2023-09-27 15:49:08 +08:00
applicateArr: [],
quiltArr: [],
2023-11-02 14:30:57 +08:00
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now() - 8.64e6;
}
}
2023-09-18 21:55:43 +08:00
};
},
watch: {
2023-09-28 15:05:56 +08:00
initpaymentArr: {
2023-09-18 21:55:43 +08:00
handler(val) {
if (val) {
2023-09-28 15:05:56 +08:00
this.applicateArr = [];
this.quiltArr = [];
2023-09-18 21:55:43 +08:00
this.formData = this.form;
2023-09-30 15:40:47 +08:00
this.fileList = [];
2023-09-18 21:55:43 +08:00
if (this.flag == "1" || this.flag == "0") {
2023-10-01 16:11:25 +08:00
this.form2.paymentArr = this.initpaymentArr;
this.form3.paymentArr1 = this.initpaymentArr1;
this.caseAttachList.forEach((item) => {
if (item.annexType == 2) {
this.applicateArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
2023-10-01 16:11:25 +08:00
}
if (item.annexType == 6) {
this.quiltArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
2023-10-01 16:11:25 +08:00
}
});
2023-11-24 19:02:56 +08:00
if (this.caseAttachList.length > 0) {
this.caseAttachListArr = this.caseAttachList
}
this.caseAttachList.forEach((item) => {
if (item.annexType == 2) {
this.fileList.push(item)
}
});
2023-10-01 16:11:25 +08:00
this.fileList.forEach((item) => {
item["name"] = item.annexName;
item["certificatePath"] = item.annexPath;
});
2023-09-18 21:55:43 +08:00
}
2023-09-23 16:01:56 +08:00
if (this.flag == "2") {
this.form2.paymentArr = [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
email: "",
2023-09-23 16:01:56 +08:00
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
];
this.form3.paymentArr1 = [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
email: "",
2023-09-23 16:01:56 +08:00
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
];
}
2023-09-18 21:55:43 +08:00
}
},
deep: true,
},
},
methods: {
2023-10-12 15:54:30 +08:00
numberFn(p) {
this.formData[p] =
this.formData[p]
.replace(/[^\d^\.]+/g, "")
.replace(/^0+(\d)/, "$1")
.replace(/^\./, "0.")
.match(/^\d*(\.?\d{0,2})/g)[0] || "";
2023-10-12 10:39:01 +08:00
},
UploadUrl() {
return window.location.origin + "/API/evidence/upload";
},
2023-09-27 22:55:33 +08:00
handlePreview(file) {
2023-10-01 16:11:25 +08:00
if (this.flag == "2") {
2023-09-27 22:55:33 +08:00
window.open(
window.location.origin + "/API" + file.response.data.annexName,
2023-09-27 22:55:33 +08:00
"_blank"
);
2023-10-01 16:11:25 +08:00
} else if (this.flag == "1") {
window.open(
window.location.origin + "/API" + file.certificatePath,
"_blank"
);
2023-09-27 22:55:33 +08:00
}
2023-09-28 15:05:56 +08:00
},
2023-09-27 22:55:33 +08:00
// 文件上传成功
handlSuccess(res, file) {
2023-11-24 19:02:56 +08:00
this.caseAttachListArr.push(
res.data,
);
},
2023-09-25 21:20:03 +08:00
// 文件超出个数限制时的钩子
2023-09-18 21:55:43 +08:00
handleExceed(files, fileList) {
this.$message.warning(
2023-10-18 08:50:17 +08:00
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
2023-09-18 21:55:43 +08:00
} 个文件`
);
},
2023-09-25 21:20:03 +08:00
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
2023-09-18 21:55:43 +08:00
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
2023-09-27 15:49:08 +08:00
handleRemove(file, fileList) {
2023-11-24 19:02:56 +08:00
// (this.caseAttachListArr = []),
// fileList.forEach((item) => {
// this.caseAttachListArr.push( item.response.data );
// });
2023-09-27 15:49:08 +08:00
},
2023-09-18 21:55:43 +08:00
// 取消
cancel() {
this.$emit("cancel");
},
// 校验借款开始日期与结束日期
setStartTime() {
if (
this.setTime(this.formData.loanStartDate) >=
this.setTime(this.formData.loanEndDate)
) {
this.$message.error("借款开始日期应早于借款结束日期");
this.formData.loanStartDate = "";
this.formData.loanEndDate = "";
}
},
setEndTime() {
if (
this.setTime(this.formData.loanEndDate) <=
this.setTime(this.formData.loanStartDate)
) {
this.$message.error("借款结束日期应晚于借款开始日期");
this.formData.loanStartDate = "";
this.formData.loanEndDate = "";
}
},
setTime(val) {
const date = new Date(val);
const time = date.getTime();
return time;
},
2023-09-18 21:55:43 +08:00
// 新增申请人主体信息
generateForm() {
this.form2.paymentArr.push({
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
email: "",
2023-09-18 21:55:43 +08:00
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
});
},
// 新增被申请人主体信息
generateForm1() {
this.form3.paymentArr1.push({
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
email: "",
2023-09-18 21:55:43 +08:00
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
});
},
// 删除申请人主体信息
deleteData(index) {
this.form2.paymentArr.splice(index, 1);
},
// 删除被申请人主体信息
deleteData1(index) {
this.form3.paymentArr1.splice(index, 1);
},
// 提交立案申请 addCaseApply
submitForm() {
this.$refs["form"].validate((valid) => {
this.formData.loanStartDate = moment(
this.formData.loanStartDate
).format("YYYY-MM-DD HH:mm:ss");
this.formData.loanEndDate = moment(this.formData.loanEndDate).format(
"YYYY-MM-DD HH:mm:ss"
);
if (valid) {
this.$refs["form2"].validate((valid) => {
if (valid) {
this.$refs["form3"].validate((vail) => {
if (vail) {
this.formData.caseAffiliates = [
...this.form2.paymentArr,
...this.form3.paymentArr1,
];
2023-09-27 15:49:08 +08:00
this.formData.caseAttachList = [...this.caseAttachListArr];
2023-10-24 16:27:30 +08:00
this.formData.caseAffiliates[1].responBirth = moment(this.formData.caseAffiliates[1].responBirth).format(
"YYYY-MM-DD HH:mm:ss"
);
2023-09-18 21:55:43 +08:00
if (this.formData.id) {
editCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((res) => {
2023-09-23 16:01:56 +08:00
if (res.code == 200) {
this.$modal.msgSuccess("修改成功");
this.$emit("cancel");
this.getcaseApply(this.queryParams);
}
2023-09-18 21:55:43 +08:00
});
} else {
addCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((response) => {
2023-09-23 16:01:56 +08:00
if (response.code == 200) {
this.$modal.msgSuccess("新增成功");
this.$emit("cancel");
this.getcaseApply(this.queryParams);
}
2023-09-18 21:55:43 +08:00
});
}
}
});
}
});
}
});
},
// 详情显示,展示申请人案件文件
2023-09-27 15:49:08 +08:00
toFile(item, index) {
window.open(
window.location.origin + "/API" + this.applicateArr[index].annexPath,
"_black"
);
},
// 被申请人文件
toFile1(item, index) {
window.open(
window.location.origin + "/API" + this.quiltArr[index].annexPath,
"_black"
);
},
2023-09-18 21:55:43 +08:00
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 700px !important;
overflow: auto !important;
}
2023-10-18 08:50:17 +08:00
2023-09-21 16:06:45 +08:00
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
2023-10-18 08:50:17 +08:00
2023-10-08 11:28:27 +08:00
.caseInfo {
font-size: 17px;
font-weight: 600;
}
2023-10-18 08:50:17 +08:00
2023-10-10 11:30:50 +08:00
.caseInfo2 {
font-size: 15px;
font-weight: 550;
}
2023-10-18 08:50:17 +08:00
2023-10-08 11:28:27 +08:00
.infoIcon {
width: 4px;
// height: 17px;
background-color: #0072ff;
margin-right: 5px;
}
2023-10-18 08:50:17 +08:00
.el-date-editor {
width: 100%;
}
2023-10-18 08:50:17 +08:00
2023-09-21 16:06:45 +08:00
.endbutton {
width: 154px;
height: 37px;
background: #0072ff;
border-radius: 19px;
2023-10-18 08:50:17 +08:00
2023-09-21 16:06:45 +08:00
span {
width: 96px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
}
}
2023-10-18 08:50:17 +08:00
2023-09-21 16:06:45 +08:00
.endbutton1 {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
2023-10-18 08:50:17 +08:00
2023-09-21 16:06:45 +08:00
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
2023-09-18 21:55:43 +08:00
</style>