案件录入接口联调

This commit is contained in:
Your Name
2023-09-12 15:49:41 +08:00
parent c950565a24
commit 217c8edc31
6 changed files with 990 additions and 383 deletions
@@ -0,0 +1,75 @@
<template>
<div>
<!-- 立案申请弹框 -->
<el-dialog
:title="dialogtitle"
:visible.sync="openbatch"
width="800px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<!-- <el-row> -->
<!-- <el-col :span="16">
<el-form-item label="申请人姓名:" prop="applyName">
<el-input v-model="form.jobName" placeholder="请输入姓名" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" @click="downloadTemplate"
>下载模板</el-button
>
</el-col> -->
<!-- <el-col :span="12">
<el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
</el-col>
<el-col :span="12"> </el-col> -->
<!-- </el-row> -->
<el-row>
<el-form-item :span="24" label="批量立案信息上传:" prop="upload">
<el-upload
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">
只能上传文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
key: value,
};
},
methods: {
// 提交立案申请
submitForm() {},
// 取消
cancel() {
this.openbatch = false;
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -0,0 +1,721 @@
<template>
<div>
<el-dialog
:title="dialogtitle"
:visible="visible"
@close="cancel"
width="1000px"
append-to-body
:destroy-on-close="true"
>
<!-- 案件信息 -->
<el-form
ref="form"
:model="formData"
:rules="rules"
label-width="150px"
:disabled="flag == '0'"
>
<p>案件信息:</p>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
<el-input
v-model="formData.caseNum"
placeholder="请输入案件编号"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入案件标的"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
<el-date-picker
v-model="formData.loanStartDate"
type="datetime"
placeholder="借款开始日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
<el-date-picker
v-model="formData.loanEndDate"
type="datetime"
placeholder="借款结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同编号:" prop="contractNumber">
<el-input
v-model="formData.contractNumber"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
<el-input
v-model="formData.claimPrinciOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
<el-input
v-model="formData.claimInterestOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
<el-input
v-model="formData.claimLiquidDamag"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="申请人案件证据资料上传:"
prop="applicantEvidence"
>
<el-upload
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>
</el-form-item>
</el-col>
<!-- 仅详情展示 -->
<el-col :span="12">
<el-form-item
label="被申请人案件证据资料上传:"
prop="respondentEvidence"
>
<el-upload
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>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 申请人主体信息 -->
<el-form
ref="form2"
:model="form2"
label-width="150px"
v-for="(item, index) in paymentArr"
:key="index"
:disabled="flag == '0'"
>
<div>
<div style="display: flex; justify-content: space-between">
<p>申请人主体信息:</p>
<el-button
type="danger"
icon="el-icon-delete"
@click="deleteData(index)"
v-if="paymentArr.length > 1 && flag != '0'"
></el-button>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="申请人姓名" prop="name">
<el-input
v-model="paymentArr[index].name"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号:" prop="identityNum">
<el-input
v-model="paymentArr[index].identityNum"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话:" prop="contactTelphone">
<el-input
v-model="paymentArr[index].contactTelphone"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位地址:" prop="workAddress">
<el-input
v-model="paymentArr[index].workAddress"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位电话:" prop="workTelphone">
<el-input
v-model="paymentArr[index].workTelphone"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址:" prop="contactAddress">
<el-input
v-model="paymentArr[index].contactAddress"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item label="姓名:" prop="nameAgent">
<el-input
v-model="paymentArr[index].nameAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号:" prop="identityNumAgent">
<el-input
v-model="paymentArr[index].identityNumAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话:" prop="contactTelphoneAgent">
<el-input
v-model="paymentArr[index].contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址:" prop="contactAddressAgent">
<el-input
v-model="paymentArr[index].contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-button
v-if="flag == 1 || flag == 2"
type="primary"
plain
@click="generateForm"
>新增申请人主体信息</el-button
>
<!-- 被申请人主体信息 -->
<el-form
ref="form3"
label-width="150px"
:disabled="flag == '0'"
v-for="(item, index) in paymentArr1"
:key="index + paymentArr.length"
>
<div>
<div style="display: flex; justify-content: space-between">
<p>被申请人主体信息:</p>
<el-button
type="danger"
icon="el-icon-delete"
@click="deleteData1(index)"
v-if="paymentArr1.length > 1 && flag != '0'"
></el-button>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="被申请人姓名" prop="name">
<el-input
v-model="paymentArr1[index].name"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号:" prop="identityNum">
<el-input
v-model="paymentArr1[index].identityNum"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话:" prop="contactTelphone">
<el-input
v-model="paymentArr1[index].contactTelphone"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位地址:" prop="workAddress">
<el-input
v-model="paymentArr1[index].workAddress"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位电话:" prop="workTelphone">
<el-input
v-model="paymentArr1[index].workTelphone"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址:" prop="contactAddress">
<el-input
v-model="paymentArr1[index].contactAddress"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item label="姓名:" prop="nameAgent">
<el-input
v-model="paymentArr1[index].nameAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号:" prop="identityNumAgent">
<el-input
v-model="paymentArr1[index].identityNumAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话:" prop="contactTelphoneAgent">
<el-input
v-model="paymentArr1[index].contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址:" prop="contactAddressAgent">
<el-input
v-model="paymentArr1[index].contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-button
v-if="flag == 1 || flag == 2"
type="primary"
plain
@click="generateForm1()"
>新增被申请人主体信息</el-button
>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" v-if="flag != 0"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import moment from "moment"; //导入文件
import {
addCaseApply,
editCaseApply,
} from "@/api/caseAccess/caseEntry";
export default {
props: ["visible", "dialogtitle", "form", "getcaseApply", "flag","initpaymentArr","initpaymentArr1"],
data() {
return {
formData: this.form,
form2: {}, //申请人主体信息
form3: {}, //被申请人主体信息
// 表单校验
rules: {
caseNum: [
{ required: true, message: "案件编号不能为空", trigger: "blur" },
],
caseSubjectAmount: [
{
required: true,
message: "案件标的不能为空",
trigger: "blur",
},
],
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",
},
],
},
rules2: {
name: [
{
required: true,
message: "申请人不能为空",
trigger: "blur",
},
],
identityNum: [
{
required: true,
message: "身份证号不能为空",
trigger: "blur",
},
],
contactTelphone: [
{
required: true,
message: "联系电话不能为空",
trigger: "blur",
},
],
workAddress: [
{
required: true,
message: "单位地址不能为空",
trigger: "blur",
},
],
workTelphone: [
{
required: true,
message: "单位电话不能为空",
trigger: "blur",
},
],
contactAddress: [
{
required: true,
message: "联系地址不能为空",
trigger: "blur",
},
],
nameAgent: [
{
required: true,
message: "姓名不能为空",
trigger: "blur",
},
],
identityNumAgent: [
{
required: true,
message: "身份证号不能为空",
trigger: "blur",
},
],
contactTelphoneAgent: [
{
required: true,
message: "联系电话不能为空",
trigger: "blur",
},
],
contactAddressAgent: [
{
required: true,
message: "联系地址不能为空",
trigger: "blur",
},
],
},
fileList: [],
paymentArr: [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
paymentArr1: [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
};
},
watch: {
initpaymentArr: {
handler(val) {
if (val) {
this.formData = this.form;
if (this.flag == "1" || this.flag == "0") {
// this.getInfo(this.formData);
this.paymentArr = this.initpaymentArr
this.paymentArr1 = this.initpaymentArr1
}
if(this.flag == "2") {
this.paymentArr = [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
]
this.paymentArr1 = [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
]
}
}
},
deep: true,
},
},
methods: {
handleRemove(file, fileList) {
},
handlePreview(file) {
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 取消
cancel() {
this.$emit("cancel");
},
// 新增申请人主体信息
generateForm() {
this.paymentArr.push({
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
});
},
// 新增被申请人主体信息
generateForm1() {
this.paymentArr1.push({
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
});
},
// // 查找主体信息数据
// getInfo(row) {
// const id = row.id;
// selectCaseApply({ id }).then((res) => {
// this.visible = true;
// this.formData = res.data;
// this.paymentArr = [];
// this.paymentArr1 = [];
// res.data.caseAffiliates.forEach((item) => {
// if (item.identityType == 1) {
// this.paymentArr.push(item);
// } else {
// this.paymentArr1.push(item);
// }
// });
// });
// },
// 删除申请人主体信息
deleteData(index) {
this.paymentArr.splice(index, 1);
},
// 删除被申请人主体信息
deleteData1(index) {
this.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"
);
this.formData.caseAffiliates = [
...this.paymentArr,
...this.paymentArr1,
];
if (valid) {
if (this.formData.id) {
editCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((res) => {
this.$modal.msgSuccess("修改成功");
});
} else {
addCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((response) => {
this.$modal.msgSuccess("新增成功");
});
}
this.$emit("cancel");
this.getcaseApply();
}
});
},
},
};
</script>
<style lang="scss" scoped>
</style>