组庭页面开发 #19

Merged
hhlxayunmei merged 1 commits from hhl into dev 2023-09-13 13:22:58 +00:00
5 changed files with 979 additions and 6 deletions
@@ -0,0 +1,45 @@
<template>
<div>
<!-- 组庭审核页面 -->
<el-dialog
title="组庭审核"
:visible="showcourtReview"
width="500px"
@close="cancel"
:destroy-on-close="true"
>
<el-form>
<el-form-item label="开庭日期:">
<el-date-picker v-model="value1" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</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 {
name: "courtReviewDialog",
props: ["showcourtReview"],
data() {
return {
// key: value
value1: "",
};
},
methods: {
submitForm() {},
cancel() {
this.$emit("cancelcourtReview");
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -7,7 +7,7 @@
width="1000px"
@close="cancel"
>
<el-form ref="form" label-width="150px" disabled>
<!-- <el-form ref="form" label-width="150px" disabled>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
@@ -17,7 +17,7 @@
/>
</el-form-item>
</el-col>
<!-- 申请人 -->
申请人
<el-col :span="12">
<el-form-item label="申请人:" prop="name">
<el-input v-model="formData.name" placeholder="请输入申请人" />
@@ -31,7 +31,7 @@
/>
</el-form-item>
</el-col>
<!-- 立案日期 -->
立案日期
<el-col :span="12">
<el-form-item label="立案日期:" prop="registerDate">
<el-date-picker
@@ -52,7 +52,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<!-- 案件仲裁员 -->
案件仲裁员
<el-col :span="12">
<el-form-item label="案件仲裁员:" prop="caseArbitrator">
<el-input
@@ -61,7 +61,7 @@
/>
</el-form-item>
</el-col>
<!-- 案件状态 -->
案件状态
<el-col :span="12">
<el-form-item label="案件状态:" prop="caseStatus">
<el-input
@@ -71,6 +71,479 @@
</el-form-item>
</el-col>
</el-row>
</el-form> -->
<!-- 案件信息 -->
<el-form
ref="form"
:model="formData"
label-width="150px"
:disabled="true"
>
<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="true">
<div v-for="(item, index) in form2.paymentArr" :key="index">
<div style="display: flex; justify-content: space-between">
<p>申请人主体信息:</p>
</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-form ref="form3" label-width="150px" :disabled="true" :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>
</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>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
@@ -87,6 +560,39 @@ export default {
return {
formData: {},
// key: value
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: "",
},
],
},
fileList:[]
};
},
watch: {
@@ -102,6 +608,18 @@ export default {
cancel() {
this.$emit("cancelDetails");
},
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}?`);
},
},
};
</script>
@@ -0,0 +1,203 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
label-width="68px"
>
<el-form-item label="案件编号" prop="caseNum">
<el-input
v-model="queryParams.caseNum"
placeholder="请输入案件编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
> -->
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="formationData" style="width: 100%">
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
}}</span>
</template>
</el-table-column>
<el-table-column
label="案件编号"
align="center"
prop="caseNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="申请人"
align="center"
prop="name"
:show-overflow-tooltip="true"
/>
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/>
<el-table-column
label="立案日期"
align="center"
prop="registerDate"
:show-overflow-tooltip="true"
/>
<!-- 开庭日期 -->
<el-table-column
label="开庭日期"
align="center"
prop="hearDate"
:show-overflow-tooltip="true"
/>
<!-- 案件仲裁员 -->
<el-table-column
label="案件仲裁员"
align="center"
prop="caseArbitrator"
/>
<el-table-column label="案件状态" align="center" prop="caseStatus" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
@click="viewdetails(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>案件详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-shopping-bag-1"
@click="courtConfirm(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>组庭确认</el-button
>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
> -->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getcourtConfirmationData"
/>
<!-- 案件详情页面 -->
<formateCourtdetailDaiog
:showDetails="showDetails"
@cancelDetails="cancelDetails"
:formateListdata="formateListdata"
></formateCourtdetailDaiog>
</div>
</template>
<script>
import formateCourtdetailDaiog from "./components/formateCourtdetailDaiog.vue";
export default {
name: "courtConfirmationlist",
components: {
formateCourtdetailDaiog,
},
data() {
return {
// key: value
// 遮罩层
loading: true,
showDetails: false,
// 总条数
total: 0,
queryParams: {
caseNum: undefined,
pageNum: 1,
pageSize: 10,
},
formateListdata: {},
};
},
created() {
this.getcourtConfirmationData();
},
methods: {
// 搜索
handleQuery() {
this.queryParams.pageNum = 1;
this.getformationData();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
getcourtConfirmationData() {
this.loading = true;
this.formationData = [
{
caseNum: "1",
name: "hcb",
caseSubjectAmount: "3000",
registerDate: "2022-05-05 20:23:08",
hearDate: "2022-09-05 20:23:08",
caseArbitrator: "hhl",
caseStatus: "待组庭",
},
];
this.total = this.formationData.length;
this.loading = false;
},
// 详情
viewdetails(val) {
this.showDetails = true;
this.formateListdata = val;
},
// 关闭详情
cancelDetails() {
this.showDetails = false;
},
// 组庭确认
courtConfirm() {
this.$modal
.confirm("确认进行组庭确认吗?")
.then(function () {})
.then(() => {
this.$modal.msgSuccess("确认成功");
})
.catch((err) => {});
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -0,0 +1,207 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
label-width="68px"
>
<el-form-item label="案件编号" prop="caseNum">
<el-input
v-model="queryParams.caseNum"
placeholder="请输入案件编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
> -->
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="formationData" style="width: 100%">
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
}}</span>
</template>
</el-table-column>
<el-table-column
label="案件编号"
align="center"
prop="caseNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="申请人"
align="center"
prop="name"
:show-overflow-tooltip="true"
/>
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/>
<el-table-column
label="立案日期"
align="center"
prop="registerDate"
:show-overflow-tooltip="true"
/>
<!-- 开庭日期 -->
<el-table-column
label="开庭日期"
align="center"
prop="hearDate"
:show-overflow-tooltip="true"
/>
<!-- 案件仲裁员 -->
<el-table-column
label="案件仲裁员"
align="center"
prop="caseArbitrator"
/>
<el-table-column label="案件状态" align="center" prop="caseStatus" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
@click="viewdetails(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>案件详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-shopping-bag-1"
@click="courtReview(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>组庭审核</el-button
>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
> -->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getcourtConfirmationData"
/>
<!-- 案件详情页面 -->
<formateCourtdetailDaiog
:showDetails="showDetails"
@cancelDetails="cancelDetails"
:formateListdata="formateListdata"
></formateCourtdetailDaiog>
<!-- 组庭审核 -->
<courtReviewDialog
:showcourtReview="showcourtReview"
@cancelcourtReview="cancelcourtReview"
></courtReviewDialog>
</div>
</template>
<script>
import courtReviewDialog from "./components/courtReviewDialog.vue";
import formateCourtdetailDaiog from "./components/formateCourtdetailDaiog.vue";
export default {
name: "courtReviewlist",
components: {
formateCourtdetailDaiog,
courtReviewDialog,
},
data() {
return {
// key: value
// 遮罩层
loading: true,
showDetails: false,
// 总条数
total: 0,
queryParams: {
caseNum: undefined,
pageNum: 1,
pageSize: 10,
},
formateListdata: {},
showcourtReview: false, //组庭审核页面
};
},
created() {
this.getcourtConfirmationData();
},
methods: {
// 搜索
handleQuery() {
this.queryParams.pageNum = 1;
this.getformationData();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
getcourtConfirmationData() {
this.loading = true;
this.formationData = [
{
caseNum: "1",
name: "hcb",
caseSubjectAmount: "3000",
registerDate: "2022-05-05 20:23:08",
hearDate: "2022-09-05 20:23:08",
caseArbitrator: "hhl",
caseStatus: "待组庭",
},
];
this.total = this.formationData.length;
this.loading = false;
},
// 详情
viewdetails(val) {
this.showDetails = true;
this.formateListdata = val;
},
// 关闭详情
cancelDetails() {
this.showDetails = false;
},
// 组庭审核
courtReview() {
this.showcourtReview = true;
},
cancelcourtReview() {
this.showcourtReview = false;
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -85,7 +85,7 @@
icon="el-icon-zoom-in"
@click="viewdetails(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>详情</el-button
>案件详情</el-button
>
<el-button
size="mini"