This commit is contained in:
fz
2023-09-13 15:51:13 +08:00
6 changed files with 1244 additions and 366 deletions
+1
View File
@@ -48,6 +48,7 @@
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
"js-cookie": "3.0.1", "js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",
"moment": "^2.29.4",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"qrcodejs2": "0.0.2", "qrcodejs2": "0.0.2",
"quill": "1.3.7", "quill": "1.3.7",
+54 -4
View File
@@ -1,10 +1,60 @@
import request from '@/utils/request' import request from '@/utils/request'
// 查询在线用户列表 // 查询案件录入列表
export function list(query) { export function caseApply(data) {
return request({ return request({
url: '/monitor/online/list', url: '/caseApplication/list',
method: 'get', method: 'get',
params: query params: data
})
}
// 立案申请
export function addCaseApply(data) {
return request({
url: '/caseApplication/addCaseApplication',
method: 'post',
data: data
})
}
// 点击修改获取主体信息
export function selectCaseApply(data) {
return request({
url: '/caseApplication/selectCaseApplication',
method: 'post',
data: data
})
}
// 修改案件信息
export function editCaseApply(data) {
return request({
url: '/caseApplication/editCaseApplication',
method: 'post',
data: data
})
}
// 删除案件信息
export function removeCaseApply(data) {
return request({
url: '/caseApplication/removeCaseApplication',
method: 'post',
data: data
})
}
// 提交
export function submitCaseApply(data) {
return request({
url: '/caseApplication/submitCaseApplication',
method: 'post',
data: data
})
}
// 下载模板
export function importTemplate(data) {
return request({
url: '/caseApplication/importTemplate',
method: 'post',
data: data
}) })
} }
+43 -23
View File
@@ -49,11 +49,7 @@
> >
</el-col> </el-col>
</el-row> </el-row>
<el-table <el-table v-loading="loading" :data="batchList" style="width: 100%">
v-loading="loading"
:data="list.slice((pageNum - 1) * pageSize, pageNum * pageSize)"
style="width: 100%"
>
<el-table-column label="序号" type="index" align="center"> <el-table-column label="序号" type="index" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span> <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>
@@ -78,7 +74,7 @@
prop="filingDate" prop="filingDate"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column label="仲裁方式" align="center" prop="ArbitrateMethod" /> <!-- <el-table-column label="仲裁方式" align="center" prop="ArbitrateMethod" /> -->
<el-table-column label="案件状态" align="center" prop="caseStatus" /> <el-table-column label="案件状态" align="center" prop="caseStatus" />
<el-table-column <el-table-column
label="操作" label="操作"
@@ -102,6 +98,14 @@
v-hasPermi="['monitor:online:forceLogout']" v-hasPermi="['monitor:online:forceLogout']"
>详情</el-button >详情</el-button
> >
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -127,7 +131,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-button type="primary" @click="downloadTemplate">下载模板</el-button> <el-button type="primary" @click="downloadTemplate"
>下载模板</el-button
>
</el-col> </el-col>
<!-- <el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="立案申请书:" prop="applybook"> </el-form-item> <el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
@@ -174,7 +180,7 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 表格数据 // 表格数据
list: [], batchList: [],
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
// 查询参数 // 查询参数
@@ -207,16 +213,7 @@ export default {
}, },
starttime: "", //开始时间 starttime: "", //开始时间
endtime: "", //结束时间 endtime: "", //结束时间
fileList: [ fileList: [],
// {
// name: "food.jpeg",
// url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
// },
// {
// name: "food2.jpeg",
// url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
// },
],
}; };
}, },
created() { created() {
@@ -226,11 +223,22 @@ export default {
/** 查询登录日志列表 */ /** 查询登录日志列表 */
getList() { getList() {
this.loading = true; this.loading = true;
list(this.queryParams).then((response) => { this.batchList = [
this.list = response.rows; {
this.total = response.total; id: 1,
caseNumber: "5644456",
applicant: "韩某某",
matterofCase: "5000",
filingDate: "2023-9-3",
// ArbitrateMethod: '线上',
caseStatus: "未开庭",
},
];
// list(this.queryParams).then((response) => {
// this.list = response.rows;
// this.total = response.total;
this.loading = false; this.loading = false;
}); // });
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
@@ -257,9 +265,21 @@ export default {
editRow() {}, editRow() {},
// 详情 // 详情
detailRow() {}, detailRow() {},
// 删除
deleteRow(row) {
// const id = row.id;
this.$modal
.confirm("是否确认删除?")
.then()
.then(() => {
// this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
// 下载模板 // 下载模板
downloadTemplate() { downloadTemplate() {
console.log('下载模板'); console.log("下载模板");
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log(file, fileList); console.log(file, fileList);
+197 -337
View File
@@ -7,22 +7,22 @@
:inline="true" :inline="true"
label-width="68px" label-width="68px"
> >
<el-form-item label="案件编号" prop="caseNumber"> <el-form-item label="案件编号" prop="caseNum">
<el-input <el-input
v-model="queryParams.caseNumber" v-model="queryParams.caseNum"
placeholder="请输入案件编号" placeholder="请输入案件编号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="申请人" prop="applicant"> <!-- <el-form-item label="申请人" prop="applicant">
<el-input <el-input
v-model="queryParams.applicant" v-model="queryParams.applicant"
placeholder="请输入申请人" placeholder="请输入申请人"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item> <el-form-item>
<el-button <el-button
type="primary" type="primary"
@@ -31,9 +31,9 @@
@click="handleQuery" @click="handleQuery"
>搜索</el-button >搜索</el-button
> >
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button >重置</el-button
> > -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
@@ -47,38 +47,49 @@
v-hasPermi="['monitor:job:add']" v-hasPermi="['monitor:job:add']"
>立案申请</el-button >立案申请</el-button
> >
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="batchApplication"
v-hasPermi="['monitor:job:add']"
>批量立案</el-button
>
</el-col> </el-col>
</el-row> </el-row>
<el-table <el-table v-loading="loading" :data="dataList" style="width: 100%">
v-loading="loading"
:data="list.slice((pageNum - 1) * pageSize, pageNum * pageSize)"
style="width: 100%"
>
<el-table-column label="序号" type="index" align="center"> <el-table-column label="序号" type="index" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span> <span>{{
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="案件编号" label="案件编号"
align="center" align="center"
prop="caseNumber" prop="caseNum"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column <!-- <el-table-column
label="申请人" label="申请人"
align="center" align="center"
prop="applicant" prop="caseAffiliates[0].name"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> -->
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/> />
<el-table-column label="案件标的" align="center" prop="matterofCase" />
<el-table-column <el-table-column
label="立案日期" label="立案日期"
align="center" align="center"
prop="filingDate" prop="registerDate"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column label="仲裁方式" align="center" prop="ArbitrateMethod" /> <!-- <el-table-column label="仲裁方式" align="center" prop="arbitratMethod" /> -->
<el-table-column label="案件状态" align="center" prop="caseStatus" /> <el-table-column label="案件状态" align="center" prop="caseStatus" />
<el-table-column <el-table-column
label="操作" label="操作"
@@ -86,6 +97,14 @@
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="onsubmitRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>提交</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@@ -102,339 +121,117 @@
v-hasPermi="['monitor:online:forceLogout']" v-hasPermi="['monitor:online:forceLogout']"
>详情</el-button >详情</el-button
> >
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total > 0" v-show="total > 0"
:total="total" :total="total"
:page.sync="pageNum" :page.sync="queryParams.pageNum"
:limit.sync="pageSize" :limit.sync="queryParams.pageSize"
@pagination="getcaseApply"
/> />
<!-- 立案申请弹框 --> <!-- 立案申请弹框 -->
<el-dialog <caseentryDialog
:title="dialogtitle" :visible="visible"
:visible.sync="openapply" @cancel="cancel"
width="1000px" :form="form"
append-to-body :dialogtitle="dialogtitle"
> :getcaseApply="getcaseApply"
<el-form ref="form" :model="form" :rules="rules" label-width="150px"> :flag="flag"
<p>案件信息:</p> :initpaymentArr="initpaymentArr"
<hr /> :initpaymentArr1="initpaymentArr1"
<el-row> ></caseentryDialog>
<el-col :span="12"> <!-- 批量申请弹框 openbatch-->
<el-form-item label="案件编号:" prop="caseNumber"> <batchDialog
<el-input :openbatch="openbatch"
v-model="form.caseNumber" @cancelBatch="cancelBatch"
placeholder="请输入案件编号" :getcaseApply="getcaseApply"
/> ></batchDialog>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="matterofCase">
<el-input
v-model="form.matterofCase"
placeholder="请输入案件标的"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="startTime">
<el-date-picker
v-model="starttime"
type="date"
placeholder="开始日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="endTime">
<el-date-picker
v-model="endtime"
type="date"
placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人姓名:" prop="applyname">
<el-input v-model="form.jobGroup" placeholder="请输入姓名" />
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="立案申请书:" prop="applybook">
<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="contractnum">
<el-input v-model="form.contractnum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="principal">
<el-input v-model="form.principal" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠利息:" prop="interest">
<el-input v-model="form.interest" placeholder="请输入" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="还款方式:" prop="repayment">
<el-input v-model="form.repayment" placeholder="请输入" />
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="逾期天数:" prop="Overduedays">
<el-input v-model="form.Overduedays" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张违约金:" prop="Penalty">
<el-input v-model="form.Penalty" 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-col :span="12">
<el-form-item label="缴费通知单:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col> -->
</el-row>
</el-form>
<el-form ref="form2" :model="form2" :rules="rules" label-width="150px">
<p>主体信息:</p>
<hr />
<el-row>
<el-col :span="12">
<el-form-item label="主体身份类型:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位地址:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位电话:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址:" prop="PaymentNotice">
<el-input v-model="form.PaymentNotice" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item label="姓名:" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号:" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话:" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系地址:" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-button @click="generateForm()">新增主体信息</el-button>
<div id="formContainer"></div>
</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> </div>
</template> </template>
<script> <script>
import { list } from "@/api/caseAccess/caseEntry"; import caseentryDialog from "./components/caseentryDialog";
import batchDialog from "./components/batchDialog";
import {
caseApply,
removeCaseApply,
submitCaseApply,
selectCaseApply
} from "@/api/caseAccess/caseEntry";
export default { export default {
name: "caseEntry", name: "caseEntry",
dicts: ["sys_identity_type"],
components: {
caseentryDialog,
batchDialog
},
data() { data() {
return { return {
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 总条数 // 总条数
total: 0, total: 0,
isapply: "申请人:",
// 表格数据 // 表格数据
list: [], dataList: [],
pageNum: 1,
pageSize: 10,
// 查询参数 // 查询参数
queryParams: { queryParams: {
caseNumber: undefined, caseNum: undefined,
applicant: undefined, // applicant: undefined,
caseStatus: 0,
pageNum: 1,
pageSize: 10,
}, },
dialogtitle: "", //弹框标题 dialogtitle: "", //弹框标题
openapply: false, //申请弹框控制 visible: false, //申请弹框控制
form: {}, // 表单参数 form: {},
form2: {}, //主体信息
// 表单校验
rules: {
caseNumber: [
{ required: true, message: "案件编号不能为空", trigger: "blur" },
],
invokeTarget: [
{
required: true,
message: "调用目标字符串不能为空",
trigger: "blur",
},
],
cronExpression: [
{
required: true,
message: "cron执行表达式不能为空",
trigger: "blur",
},
],
},
starttime: "", //开始时间 starttime: "", //开始时间
endtime: "", //结束时间 endtime: "", //结束时间
fileList: [], formData: {},
paymentArr: [], flag:"-1",
initpaymentArr:[],
initpaymentArr1:[],
// 批量申请弹框
openbatch: false,
}; };
}, },
created() { created() {
this.getList(); this.getcaseApply();
}, },
methods: { methods: {
generateForm() { cancel() {
// var formContainer = document.getElementById("formContainer"); this.visible = false;
// var form = document.createElement("form2"); },
// form.setAttribute("method", "post"); cancelBatch() {
// form.setAttribute("action", "#"); this.openbatch = false
// var inputField = document.createElement("input");
// inputField.setAttribute("type", "text");
// inputField.setAttribute("name", "username");
// inputField.setAttribute("placeholder", "用户名");
// var passwordField = document.createElement("input");
// passwordField.setAttribute("type", "password");
// passwordField.setAttribute("name", "password");
// passwordField.setAttribute("placeholder", "密码");
// var submitButton = document.createElement("input");
// submitButton.setAttribute("type", "submit");
// submitButton.setAttribute("value", "提交");
// form.appendChild(inputField);
// form.appendChild(passwordField);
// form.appendChild(submitButton);
// formContainer.appendChild(form);
}, },
/** 查询登录日志列表 */ /** 查询登录日志列表 */
getList() { getcaseApply() {
this.loading = true; this.loading = true;
list(this.queryParams).then((response) => { caseApply(this.queryParams).then((response) => {
this.list = response.rows; this.dataList = response.rows;
this.dataList.forEach((item) => {
item.caseStatus = item.caseStatus == 0 ? "立案申请" : "待缴费";
});
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.pageNum = 1; this.queryParams.pageNum = 1;
this.getList(); this.getcaseApply();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
@@ -443,47 +240,110 @@ export default {
}, },
// 立案申请 // 立案申请
filingApplication() { filingApplication() {
this.openapply = true; this.form = {};
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: "",
},
]
this.visible = true;
this.dialogtitle = "立案申请"; this.dialogtitle = "立案申请";
this.flag = "2"
}, },
// 提交立案申请 // 批量立案
submitForm() {}, batchApplication() {
// 取消 this.openbatch = true
cancel() {
this.openapply = false;
}, },
// 列表提交立案
onsubmitRow(row) {
this.$modal
.confirm("是否提交立案?")
.then(function () {
return submitCaseApply({ id: row.id });
})
.then(() => {
this.getcaseApply();
this.$modal.msgSuccess("立案成功");
})
.catch(() => {});
},
// 修改 // 修改
editRow() {}, editRow(row) {
this.flag = "1"
this.form = row;
this.visible = true;
this.dialogtitle = "立案修改";
this.getInfo(row);
},
// 详情 // 详情
detailRow() {}, detailRow(row) {
handleRemove(file, fileList) { this.flag = "0"
console.log(file, fileList); this.form = row;
this.visible = true;
this.dialogtitle = "立案详情";
this.getInfo(row);
}, },
handlePreview(file) { // 查找主体信息数据
console.log(file); getInfo(row) {
const id = row.id;
selectCaseApply({ id }).then((res) => {
this.visible = true;
this.formData = res.data;
this.initpaymentArr = [];
this.initpaymentArr1 = [];
res.data.caseAffiliates.forEach((item) => {
if (item.identityType == 1) {
this.initpaymentArr.push(item);
} else {
this.initpaymentArr1.push(item);
}
});
});
}, },
handleExceed(files, fileList) { // 删除
this.$message.warning( deleteRow(row) {
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${ // const id = row.id;
files.length + fileList.length this.$modal
} 个文件` .confirm("是否确认删除?")
); .then(function () {
return removeCaseApply({ id: row.id });
})
.then((res) => {
this.getcaseApply();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
}, },
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 700px !important;
overflow: auto !important;
}
#formContainer { #formContainer {
} }
</style> </style>
@@ -0,0 +1,159 @@
<template>
<div>
<!-- 立案申请弹框 -->
<el-dialog
title="批量立案"
:visible="openbatch"
width="600px"
append-to-body
@close="cancel"
>
<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">
<div class="download" style="margin-bottom: 20px">
<span> 下载: </span>
<a href="#">
<el-button class="uploadlink" @click="downloadTemplate">批量导入模板</el-button>
</a>
</div>
</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"
ref="uploadbatch"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<!-- <el-button size="small" type="primary">点击上传</el-button> -->
<div slot="tip" class="el-upload__tip">
只接收.xlsx, .xls格式文件
</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>
import { importTemplate } from "@/api/caseAccess/caseEntry";
import { getToken } from "@/utils/auth";
export default {
props: ["openbatch","getcaseApply"],
data() {
return {
// key: value,
form: {},
fileList: [],
rules: {
upload: [
{ required: true, message: "批量立案文件不能为空", trigger: "blur" },
],
},
// 案件批量导入
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/caseApplication/importData",
},
};
},
methods: {
// 批量提交立案申请
submitForm() {
this.$refs.uploadbatch.submit();
},
// 取消
cancel() {
// this.openbatch = false;
this.$emit("cancelBatch");
},
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}?`);
},
// 下载模板 importTemplate
downloadTemplate() {
// console.log("下载模板");
this.download(
"caseApplication/importTemplate",
{},
`case_batch_${new Date().getTime()}.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
// this.upload.open = false;
this.$emit("cancelBatch");
this.upload.isUploading = false;
this.$refs.uploadbatch.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getcaseApply();
},
},
};
</script>
<style lang="scss" scoped>
.download {
a {
.uploadlink{
border: none;
color: #2092c7;
}
}
}
</style>
@@ -0,0 +1,788 @@
<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"
:disabled="flag == '0'"
>
<div v-for="(item, index) in form2.paymentArr" :key="index">
<div style="display: flex; justify-content: space-between">
<p>申请人主体信息:</p>
<el-button
type="danger"
icon="el-icon-delete"
@click="deleteData(index)"
v-if="form2.paymentArr.length > 1 && flag != '0'"
></el-button>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="申请人姓名"
:prop="'paymentArr.' + index + '.name'"
:rules="[
{
required: true,
message: '申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr.' + index + '.identityNum'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr.' + index + '.contactTelphone'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:prop="'paymentArr.' + index + '.workAddress'"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:prop="'paymentArr.' + index + '.workTelphone'"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr.' + index + '.contactAddress'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:prop="'paymentArr.' + index + '.nameAgent'"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr.' + index + '.identityNumAgent'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.identityNumAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr.' + index + '.contactTelphoneAgent'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr.' + index + '.contactAddressAgent'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.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'"
:model="form3"
>
<div
v-for="(itm, index) in form3.paymentArr1"
:key="index + form2.paymentArr.length"
>
<div style="display: flex; justify-content: space-between">
<p>被申请人主体信息:</p>
<el-button
type="danger"
icon="el-icon-delete"
@click="deleteData1(index)"
v-if="form3.paymentArr1.length > 1 && flag != '0'"
></el-button>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="被申请人姓名"
:prop="'paymentArr1.' + index + '.name'"
:rules="[
{
required: true,
message: '被申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNum'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphone'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:prop="'paymentArr1.' + index + '.workAddress'"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:prop="'paymentArr1.' + index + '.workTelphone'"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddress'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:prop="'paymentArr1.' + index + '.nameAgent'"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNumAgent'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.identityNumAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="itm.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddressAgent'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="itm.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: {
paymentArr: [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
}, //申请人主体信息
form3: {
paymentArr1: [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
}, //被申请人主体信息
// 表单校验
rules: {
caseNum: [
{
required: true,
message: "案件编号不能为空",
trigger: ["change", "blur"],
},
{ min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
],
caseSubjectAmount: [
{
required: true,
message: "案件标的不能为空",
trigger: ["change", "blur"],
},
// { type: "Number", message: "案件标的必须为数字值" },
],
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",
},
// { type: 'number', message: '申请人主张欠本金必须为数字值'}
],
claimInterestOwed: [
{
required: true,
message: "申请人主张欠利息不能为空",
trigger: "blur",
},
// { type: 'number', message: '申请人主张欠利息必须为数字值'}
],
Overduedays: [
{
required: true,
message: "逾期天数不能为空",
trigger: "blur",
},
// { type: 'number', message: '逾期天数必须为数字值'}
],
claimLiquidDamag: [
{
required: true,
message: "申请人主张违约金不能为空",
trigger: "blur",
},
// { type: 'number', message: '申请人主张违约金必须为数字值'}
],
},
fileList: [],
};
},
watch: {
visible: {
handler(val) {
if (val) {
this.formData = this.form;
if (this.flag == "1" || this.flag == "0") {
setTimeout(() => {
this.form2.paymentArr = this.initpaymentArr;
this.form3.paymentArr1 = this.initpaymentArr1;
}, 1000);
}
}
},
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.form2.paymentArr.push({
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
});
},
// 新增被申请人主体信息
generateForm1() {
this.form3.paymentArr1.push({
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
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,
];
if (this.formData.id) {
editCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((res) => {
this.$modal.msgSuccess("修改成功");
this.$emit("cancel");
this.getcaseApply();
});
} else {
addCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((response) => {
this.$modal.msgSuccess("新增成功");
this.$emit("cancel");
this.getcaseApply();
});
}
// this.$emit("cancel");
// this.getcaseApply();
}
});
}
});
}
});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 700px !important;
overflow: auto !important;
}
</style>