Files
Arbitrate-Frontend/src/views/caseManagement/caseList.vue
T

789 lines
22 KiB
Vue

<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
label-width="98px"
>
<el-form-item label="案件编号" prop="caseNum">
<el-input
v-model="queryParams.caseNum"
placeholder="请输入案件编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="申请人(机构)" prop="applicantName">
<!-- <el-input
v-model="queryParams.applicantName"
placeholder="请输入机构名称"
clearable
@keyup.enter.native="handleQuery"
/> -->
<el-cascader
v-model="queryParams.nameId"
:options="options"
@change="changeDept"
:props="{ checkStrictly: true }"
clearable
></el-cascader>
</el-form-item>
<el-form-item label="案件状态" prop="caseStatus">
<el-select
v-model="queryParams.caseStatus"
placeholder="请选择案件状态"
clearable
@keyup.enter.native="handleQuery"
>
<el-option
v-for="dict in dict.type.case_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="开庭日期" prop="hearDate">
<el-date-picker
v-model="queryParams.hearDate"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="filingApplication"
v-hasPermi="['caseManagement:list:add']"
>案件录入</el-button
>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="batchApplication"
v-hasPermi="['caseManagement:list:import']"
>案件批量导入</el-button
>
</el-col>
</el-row>
<el-table v-loading="loading" :data="dataList" 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="applicantName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/>
<el-table-column
label="仲裁方式"
align="center"
prop="arbitratMethodName"
:show-overflow-tooltip="true"
/>
<!-- 仲裁员 -->
<el-table-column label="仲裁员" align="center" prop="arbitratorName" />
<!-- 开庭日期 -->
<el-table-column
label="开庭日期"
align="center"
prop="hearDate"
:show-overflow-tooltip="true"
/>
<el-table-column label="案件状态" align="center" prop="caseStatusName">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
<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="detailRow(scope.row)"
>详情</el-button
>
<!-- 案件日志 -->
<el-button
size="mini"
type="text"
icon="el-icon-notebook-2"
@click="caselogRow(scope.row)"
>案件日志</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="editRow(scope.row)"
v-if="
scope.row.caseStatus == 0 &&
checkPermi(['caseManagement:list:update'])
"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="onsubmitRow(scope.row)"
v-if="
scope.row.caseStatus == 0 &&
checkPermi(['caseManagement:list:submit'])
"
>提交</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-if="
scope.row.caseStatus == 0 &&
checkPermi(['caseManagement:list:delete'])
"
>删除</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="filingreviewRow(scope.row)"
v-if="
scope.row.caseStatus == 1 &&
checkPermi(['caseManagement:list:check'])
"
>立案审查</el-button
>
<!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)"
v-if="scope.row.caseStatus == 2" v-hasPermi="['caseManagement:list:pay']">缴费</el-button> -->
<el-button
size="mini"
type="text"
icon="el-icon-tickets"
@click="payStatus(scope.row)"
v-if="
scope.row.caseStatus == 2 &&
checkPermi(['caseManagement:list:pay'])
"
>缴费</el-button
>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-data-analysis"
@click="formationcourtRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>组庭</el-button
> -->
<el-button
size="mini"
type="text"
icon="el-icon-s-check"
@click="courtconfirmationRow(scope.row)"
v-if="
scope.row.caseStatus == 6 &&
checkPermi(['caseManagement:list:confirmgroup'])
"
>组庭确认</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="courtreviewRow(scope.row)"
v-if="
scope.row.caseStatus == 5 &&
checkPermi(['caseManagement:list:checkgroup'])
"
>组庭审核</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-sort"
@click="choosetrialmethodRow(scope.row)"
v-if="
scope.row.caseStatus == 7 &&
checkPermi(['caseManagement:list:checkarbitrationway'])
"
>审核仲裁方式</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit-outline"
@click="adjudicaterecordRow(scope.row)"
v-if="
scope.row.caseStatus == 9 &&
scope.row.arbitratMethod == 2 &&
checkPermi(['caseManagement:list:hear'])
"
>书面审理</el-button
>
<!-- v-hasPermi="['caseManagement:list:hear']" -->
<el-button
size="mini"
type="text"
icon="el-icon-service"
@click="trialcourtRow(scope.row)"
v-if="
scope.row.caseStatus == 8 &&
scope.row.arbitratMethod == 1 &&
checkPermi(['caseManagement:list:hear'])
"
>开庭审理</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-document"
@click="generateawardRow(scope.row)"
v-if="
scope.row.caseStatus == 10 &&
checkPermi(['caseManagement:list:createaward'])
"
>生成裁决书</el-button
>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-receiving"
@click="fileRow(scope.row)"
v-if="scope.row.caseStatus == 16"
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="getcaseApply(queryParams)"
/>
<!-- 立案申请弹框 -->
<caseentryDialog
:visible="visible"
@cancel="cancel"
:form="form"
:queryParams="queryParams"
:dialogtitle="dialogtitle"
:getcaseApply="getcaseApply"
:flag="flag"
:caseAttachList="caseAttachList"
:initpaymentArr="initpaymentArr"
:initpaymentArr1="initpaymentArr1"
></caseentryDialog>
<!-- 批量申请弹框 openbatch-->
<batchDialog
:openbatch="openbatch"
:queryParams="queryParams"
@cancelBatch="cancelBatch"
:getcaseApply="getcaseApply"
></batchDialog>
<!-- 立案审查页面 -->
<filingreviewDialog
:showfilingreview="showfilingreview"
:filingreviewdata="filingreviewdata"
:queryParams="queryParams"
@getcaseApply="getcaseApply"
@cancelFilingreview="cancelFilingreview"
>
</filingreviewDialog>
<!-- 组庭页面---改为组庭审核 -->
<formateCourtDialog
:showformateCourt="showformateCourt"
@cancelcourtDialog="cancelcourtDialog"
:queryParams="queryParams"
:formateCourtData="formateCourtData"
@getcaseApply="getcaseApply"
></formateCourtDialog>
<!-- 组庭审核--改组庭确认 -->
<courtReviewDialog
:showcourtReview="showcourtReview"
:form="form"
:queryParams="queryParams"
@cancelcourtReview="cancelcourtReview"
@getcaseApply="getcaseApply"
></courtReviewDialog>
<!-- 审核仲裁方式 -->
<choosetrialmethodDaiog
:showchoosetrialmethod="showchoosetrialmethod"
:choosetrialmethodata="choosetrialmethodata"
:queryParams="queryParams"
@getcaseApply="getcaseApply"
@cancelshowchoosetrialMethod="cancelshowchoosetrialMethod"
>
</choosetrialmethodDaiog>
<!-- 书面审理 -->
<adjudicaterecordDialog
:showadjudicaterecord="showadjudicaterecord"
:form="form"
:adjudicatename="adjudicatename"
:queryParams="queryParams"
@canceladjudicaterecord="canceladjudicaterecord"
@getcaseApply="getcaseApply"
>
</adjudicaterecordDialog>
<!-- 开庭审理 -->
<trialincourtDialog
:showtrialincourt="showtrialincourt"
:adjudicatename="adjudicatename"
:form="form"
:queryParams="queryParams"
@getcaseApply="getcaseApply"
@canceltrialincourt="canceltrialincourt"
>
</trialincourtDialog>
<!-- 缴费 -->
<payDialog
:openPay="openPay"
:payTitle="payTitle"
:form="form"
:payForm="payForm"
:queryParams="queryParams"
@getcaseApply="getcaseApply"
@paycancelRow="paycancelRow"
></payDialog>
<!-- 案件日志 -->
<caselogDialog
:showcaseLog="showcaseLog"
@cancelcaseLog="cancelcaseLog"
:flagLoading="flagLoading"
:caselogDataArr="caselogDataArr"
></caselogDialog>
</div>
</template>
<script>
import caseentryDialog from "./components/caseentryDialog";
import batchDialog from "./components/batchDialog";
import formateCourtDialog from "./components/formateCourtDialog.vue";
import courtReviewDialog from "./components/courtReviewDialog.vue";
import choosetrialmethodDaiog from "./components/choosetrialmethodDaiog.vue";
import adjudicaterecordDialog from "./components/adjudicaterecordDialog.vue";
import trialincourtDialog from "./components/trialincourtDialog.vue";
import payDialog from "./components/payDialog.vue";
import filingreviewDialog from "./components/filingreviewDialog.vue";
import caselogDialog from "./components/caselogDialog.vue";
import { caseApplicationDetail } from "@/api/pay/pay";
import {
caseApply,
removeCaseApply,
submitCaseApply,
selectCaseApply,
} from "@/api/caseAccess/caseEntry";
import { listDept } from "@/api/system/dept";
import {
document,
caseLogRecordList,
} from "@/api/caseManagement/caseManagement";
export default {
name: "caseList",
dicts: ["case_status"],
components: {
caseentryDialog,
batchDialog,
formateCourtDialog,
courtReviewDialog,
choosetrialmethodDaiog,
adjudicaterecordDialog,
trialincourtDialog,
payDialog,
filingreviewDialog,
caselogDialog,
},
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
isapply: "申请人:",
// 表格数据
dataList: [],
// 查询参数
queryParams: {
caseNum: undefined,
// caseStatusList: [0, 1, 2, 5, 6, 7, 8, 9, 10, 16],
caseStatusList: [0, 1, 2, 5, 6, 7, 8, 9, 10],
// hearDate: "",
caseStatus: null,
applicantName: "",
nameId: "",
pageNum: 1,
pageSize: 10,
},
dialogtitle: "", //弹框标题
visible: false, //申请弹框控制
form: {},
starttime: "", //开始时间
endtime: "", //结束时间
formData: {},
flag: "-1",
initpaymentArr: [],
initpaymentArr1: [],
showfilingreview: false, //立案申查弹框控制
filingreviewdata: {}, //立案审查传输数据
openbatch: false, // 批量申请弹框
formateCourtData: {}, //组庭
showformateCourt: false, //组庭界面显示
showcourtReview: false, //组庭审核页面
showchoosetrialmethod: false, //选择仲裁方式页面
choosetrialmethodata: {},
showadjudicaterecord: false, //书面审理弹框
adjudicatename: {}, //书面仲裁(被)申请人姓名
showtrialincourt: false, //开庭审理
openPay: false, //缴费弹框
payTitle: "",
payForm: {},
caseAttachList: [], //案件质证资料
showcaseLog: false, //案件日志弹框显示
flagLoading: true, //案件日志弹框loading
caselogDataArr: [],
options: [], //机构数据
};
},
created() {
this.getcaseApply(this.queryParams);
this.getInstitution();
},
methods: {
cancel() {
this.visible = false;
},
cancelBatch() {
this.openbatch = false;
},
// 机构发生变化
changeDept(data) {
this.queryParams.nameId = data[0];
},
// 获取机构数据
getInstitution() {
listDept().then((res) => {
res.data.forEach((item) => {
item.value = item.deptId;
item.label = item.deptName;
});
this.options = this.handleTree(res.data, "deptId");
});
},
/** 查询列表 */
getcaseApply(val) {
this.loading = true;
caseApply(val).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.caseStatusList = [];
this.queryParams.pageNum = 1;
this.getcaseApply(this.queryParams);
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
(this.queryParams.caseStatusList = [0, 1, 2, 5, 6, 7, 8, 9, 10]),
(this.queryParams.applicantName = ""),
(this.queryParams.nameId = ""),
this.getcaseApply(this.queryParams);
},
// 案件录入
filingApplication() {
this.form = {};
this.initpaymentArr = [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
];
this.initpaymentArr1 = [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
];
this.visible = true;
this.dialogtitle = "立案申请";
this.flag = "2";
},
// 批量批量录入
batchApplication() {
this.openbatch = true;
},
// 详情
detailRow(row) {
this.flag = "0";
this.form = row;
this.visible = true;
this.dialogtitle = "立案详情";
this.getInfo(row);
},
// 案件日志
caselogRow(row) {
this.showcaseLog = true;
this.caseLogRecordListFn(row);
},
// 查询案件日志信息
caseLogRecordListFn(val) {
this.flagLoading = true;
let params = {
caseAppliId: val.id,
};
caseLogRecordList(params).then((res) => {
this.caselogDataArr = res.rows;
this.flagLoading = false;
});
},
// 关闭案件日志
cancelcaseLog() {
this.showcaseLog = false;
},
// 修改
editRow(row) {
this.flag = "1";
this.form = row;
this.visible = true;
this.dialogtitle = "立案修改";
this.getInfo(row);
},
// 列表提交立案
onsubmitRow(row) {
this.$modal
.confirm("是否提交立案申请?")
.then(function () {
return submitCaseApply({ id: row.id });
})
.then(() => {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("立案申请成功");
})
.catch(() => {});
},
// 立案审查
filingreviewRow(row) {
console.log(row, "立案审查");
this.showfilingreview = true;
this.filingreviewdata = row;
},
cancelFilingreview() {
this.showfilingreview = false;
},
// 取消缴费
paycancelRow(row) {
this.openPay = false;
},
// 是否进行缴费
payStatus(val) {
this.getDetail({ id: val.id });
this.payTitle = "缴费";
this.openPay = true;
},
getDetail(parms) {
caseApplicationDetail(parms).then((res) => {
if (res.data.caseStatus == 1) {
res.data.caseStatusName = "待缴费";
}
this.form = res.data;
this.payForm.feePayable = res.data.feePayable;
this.payForm.caseId = res.data.id;
});
},
// 组庭
// formationcourtRow(row) {
// console.log(row, "组庭");
// this.formateCourtData = row;
// this.showformateCourt = true;
// },
// 关闭组庭页面
cancelcourtDialog() {
this.showformateCourt = false;
},
// 组庭确认
courtconfirmationRow(row) {
// console.log(row, "组庭确认");
this.showcourtReview = true;
this.form = row;
},
// 组庭审核
courtreviewRow(row) {
// console.log(row, "组庭审核");
this.formateCourtData = row;
this.showformateCourt = true;
},
cancelcourtReview() {
this.showcourtReview = false;
},
// 选择开庭方式改为审核仲裁方式
choosetrialmethodRow(row) {
// console.log(row, "审核仲裁方式");
this.choosetrialmethodata = row;
this.showchoosetrialmethod = true;
},
// 关闭审核仲裁方式
cancelshowchoosetrialMethod() {
this.showchoosetrialmethod = false;
},
// 书面审理
adjudicaterecordRow(row) {
// console.log(row, "书面审理");
this.showadjudicaterecord = true;
this.form = row;
this.getInfo(row);
},
canceladjudicaterecord() {
this.showadjudicaterecord = false;
},
// 开庭审理
trialcourtRow(row) {
console.log(row, "开庭审理");
this.showtrialincourt = true;
this.form = row;
this.getInfo(row);
},
canceltrialincourt() {
this.showtrialincourt = false;
},
// 生成裁决书
generateawardRow(row) {
console.log(row, "生成裁决书");
this.$modal
.confirm("确定生成裁决书吗?")
.then(function () {
return document({ id: row.id });
})
.then((res) => {
if (res.code == 200) {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("裁决书生成成功");
}
})
.catch(() => {});
},
// 归档
fileRow(row) {
console.log(row, "归档");
},
// 查找主体信息数据
getInfo(row) {
const id = row.id;
selectCaseApply({ id }).then((res) => {
// this.visible = true;
// this.formData = res.data;
this.adjudicatename = {
applicantName: res.data.applicantName,
respondentName: res.data.respondentName,
feePayable: res.data.feePayable,
hearDate: res.data.hearDate,
arbitratorName: res.data.arbitratorName,
caseAttachList: res.data.caseAttachList
};
this.initpaymentArr = [];
this.initpaymentArr1 = [];
res.data.caseAffiliates.forEach((item) => {
if (item.identityType == 1) {
this.initpaymentArr.push(item);
} else {
this.initpaymentArr1.push(item);
}
});
this.caseAttachList = res.data.caseAttachList;
});
},
// 删除
deleteRow(row) {
// const id = row.id;
this.$modal
.confirm("是否确认删除?")
.then(function () {
return removeCaseApply({ id: row.id });
})
.then((res) => {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
},
};
</script>
<style lang="scss" scoped>
#formContainer {
}
</style>