删除仓库

This commit is contained in:
hanchaobo
2024-02-29 14:16:54 +08:00
parent 53ca46a5f5
commit 20c062fcef
348 changed files with 0 additions and 33742 deletions
-737
View File
@@ -1,737 +0,0 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item label="案件状态" prop="caseFlowId">
<el-select v-model="queryParams.caseFlowId" placeholder="请选择" clearable>
<el-option v-for="dict in caseStausArr" :key="dict.id" :label="dict.caseStatusName" :value="dict.id"
@keyup.enter.native="handleQuery"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="申请机构" prop="applicationOrganId">
<el-select v-model="queryParams.applicationOrganId" placeholder="请选择" clearable>
<el-option v-for="dict in deptList" :key="dict.deptId" :label="dict.deptName" :value="dict.deptId"
@keyup.enter.native="handleQuery"></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="批号" prop="batchNumber">
<el-input v-model="queryParams.batchNumber" placeholder="请输入案件批号" clearable style="width: 240px"
@keyup.enter.native="handleQuery" />
</el-form-item> -->
<el-form-item label="案件编号" prop="caseNum">
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable style="width: 240px"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="创建时间" prop="caseTime">
<el-date-picker v-model="caseTime" type="daterange" align="right" unlink-panels range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" clearable style="width: 240px" @change="caseTimeChange">
</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" v-hasPermi="['caseManagement:list:add']" size="mini"
@click="addCase()">新增案件</el-button>
</el-col>
<!-- TODO 后期可能加上-->
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini"
@click="compressedPackages">案件压缩包上传</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="batchNumber" :show-overflow-tooltip="true" /> -->
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
<el-table-column label="申请人" align="center" prop="applicationName" :show-overflow-tooltip="true" />
<el-table-column label="被申请人" align="center" prop="respondentName" :show-overflow-tooltip="true" />
<!-- <el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" /> -->
<el-table-column label="调解员" align="center" prop="mediatorName" :show-overflow-tooltip="true" />
<el-table-column label="调解方式" align="center" prop="mediationMethodName" :show-overflow-tooltip="true" />
<el-table-column label="调解时间" align="center" prop="hearDate" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" icon="el-icon-edit"
v-hasPermi="['caseManagement:list:edit']" v-if="scope.row.caseFlowId <= 1">修改</el-button>
<el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
<el-button size="mini" @click="caseFlow(scope.row)" type="text" icon="el-icon-zoom-in">查看流程</el-button>
<el-button size="mini" @click="caseLog(scope.row)" type="text"
icon="el-icon-edit-outline">案件日志</el-button>
<el-button size="mini" @click="viewpaymentformRow(scope.row)" type="text"
icon="el-icon-edit">查看缴费单</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="evidenceUpload(scope.row)"
v-hasPermi="['caseManagement:list:evidenceEdit']" v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId == 15 ||
scope.row.caseFlowId == 16 ||
scope.row.caseFlowId == 17
" @click="caseFilingDetails(scope.row)">归档详情</el-button>
<div class="btnList" v-for="item in buttonList" :key="item.id">
<el-button size="mini" type="text" icon="el-icon-tickets" @click="caseClick(scope.row, item.id)"
v-if="item.id == scope.row.caseFlowId &&
checkPermi([item.buttonAuthFlag]) &&
scope.row.signButtonFlag != 1
">{{ item.nodeName }}</el-button>
</div>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" />
<!-- 新增编辑详情 -->
<addCase :addVisable="addVisable" :queryParams="queryParams" @cancelCaseAdd="cancelCaseAdd" @getList="getList"
:caseData="caseData" :caseDisabled="caseDisabled" :tabFlag="tabFlag" :addModifyData="addModifyData"></addCase>
<!-- 压缩包导入 -->
<caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams"
@cancelCompreess="cancelCompreess" :getList="getList">
</caseCompressionPackage>
<!-- 案件详情 -->
<mediationCaseDetails :processVisable="processVisable" @cancelViewProcess="cancelViewProcess"
:caseFlowNumber="caseFlowNumber">
</mediationCaseDetails>
<!-- 案件日志 -->
<mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :caselogDataArr="caselogDataArr"
:flagLoading="flagLoading"></mediationCaseLog>
<!-- 证据修改 -->
<evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
</evidenceDialog>
<!-- 缴费 -->
<payDialog :openPay="openPay" :payTitle="payTitle" :formPayDetail="formPayDetail" :payId="payId" :payForm="payForm"
:queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow"
:formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
<!-- 缴费确认查看详情 -->
<paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle"
:detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma"
:isapplicant="isapplicant" @getList="getList">
</paymentdetailsDialog>
<!-- 案件受理 -->
<caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance"
:caseAcceptanceData="caseAcceptanceData" @getList="getList"></caseAcceptance>
<!-- 被申请人缴费 -->
<respondentPay :openResPay="openResPay" :resPayTitle="resPayTitle" :formResPayDetail="formResPayDetail"
:resPayId="resPayId" :resPayForm="resPayForm" :queryParams="queryParams" @getList="getList"
@paycancelRes="paycancelRes" :formResPay="formResPay"></respondentPay>
<!-- 调解员弹窗 -->
<selectMediator @cancelMediator="cancelMediator" :mediatorVisable="mediatorVisable" :mediatorData="mediatorData"
@getList="getList" :queryParams="queryParams"></selectMediator>
<!-- 秘书确认 -->
<confirmMediator @cancelConfirm="cancelConfirm" :confirmVisable="confirmVisable" :confirmData="confirmData"
@getList="getList" :queryParams="queryParams"></confirmMediator>
<!-- 部门长确认 -->
<departmentMediator @cancelDepartment="cancelDepartment" :departmentVisable="departmentVisable"
:departmentData="departmentData" @getList="getList" :queryParams="queryParams"></departmentMediator>
<!-- 秘书确认时间 -->
<timeConfirm @cancelTimeConfirm="cancelTimeConfirm" :timeConfirmVisable="timeConfirmVisable"
:timeConfirmData="timeConfirmData" @getList="getList" :queryParams="queryParams"></timeConfirm>
<!-- 待调解 -->
<mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable" :mediationData="mediationData"
@getList="getList" :queryParams="queryParams"></mediation>
<confirmMediation @cancelConfirmTion="cancelConfirmTion" :confirmTionVisable="confirmTionVisable"
:confirmTionData="confirmTionData" @getList="getList" :queryParams="queryParams"></confirmMediation>
<!-- 归档详情 -->
<caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData"
@cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS">
</caseFilingDetailsPage>
</div>
</template>
<script>
import {
caseApplicationList,
caseApplicationSelectById,
submitCaseApply,
selectPaymentDetail,
sealApply,
selectSealUrl,
listCaseLogRecord,
msCaseFile,
msCaseSign,
listDeptApplied,
msCaseSignUrlApplyPC,
} from "@/api/caseManagement/caseManagement.js";
import { listDept } from "@/api/system/dept.js";
import { queryCaseFlowInfo } from "@/api/caseprocessManagement/caseprocessManagement.js";
import moment from "moment";
import addCase from "./components/addCase.vue";
import evidenceDialog from "./components/evidenceDialog.vue";
import caseCompressionPackage from "./components/caseCompressionPackage.vue";
import mediationCaseDetails from "./components/mediationCaseDetails.vue";
import mediationCaseLog from "./components/mediationCaseLog.vue";
import payDialog from "./components/payDialog.vue";
import respondentPay from "./components/respondentPay.vue";
import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
import caseAcceptance from "./components/caseAcceptance.vue";
import selectMediator from "./components/selectMediator.vue";
import confirmMediator from "./components/confirmMediator.vue";
import departmentMediator from "./components/departmentMediator.vue";
import timeConfirm from "./components/timeConfirm.vue";
import mediation from "./components/mediation.vue";
import confirmMediation from "./components/confirmMediation.vue";
import caseFilingDetailsPage from "./components/caseFilingDetailsPage.vue";
export default {
name: "caseList",
dicts: ["case_flow_node"],
components: {
addCase,
caseCompressionPackage,
mediationCaseDetails,
mediationCaseLog,
evidenceDialog,
payDialog,
paymentdetailsDialog,
caseAcceptance,
selectMediator, //调解员弹窗
confirmMediator,
departmentMediator,
timeConfirm,
mediation,
confirmMediation,
caseFilingDetailsPage,
respondentPay,
},
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
form: {},
// 校验表单
rules: {},
dataList: [],
addVisable: false, //新增弹窗
openPay: false, //缴费弹框
openResPay: false, //被申请人缴费弹窗
formPayDetail: {},
formResPayDetail: {},
payId: null,
resPayId: null,
payForm: {},
resPayForm: {},
openCompressedPackages: false, //压缩包导入弹窗
processVisable: false, //案件详情
showcaseLog: false, //案件日志
openDialog: false, //确认缴费和缴费详情
detailform: {}, //缴费详情数据
evidenceVisable: false, //证据修改弹窗
mediationVisable: false, //待调解弹窗
mediationData: {},
payTitle: "", //缴费标题
resPayTitle: "", //被申请人缴费标题
paymentConfirma: {}, //缴费确认
showAcceptance: false, //案件受理弹框
caseAcceptanceData: {}, //案件受理数据
mediatorVisable: false, //选择调解员弹窗
timeVisable: false, //预约时间弹窗
confirmVisable: false, //确认时间/调解员
caseFlowNumber: {}, //案件流程数据
caselogDataArr: [], //案件日志数据
flagLoading: true, //案件日志弹框loading
confirmTionVisable: false, //确认调解书弹窗
addModifyData: null, //新增修改传的参数
showarchiveDetails: false, //归档详情弹窗
detailsAwardNum: {},
flagLoadingS: true,
formPayDetailAffiliate: {},
formResPay: {},
mediatorData: {},
flag: null,
caseData: {},
evidenceData: {},
caseDisabled: false,
caseTime: "",
deptList: [],
payTitle: "",
tabFlag: false,
confirmData: {},
departmentVisable: false,
departmentData: {},
timeConfirmVisable: false,
timeConfirmData: {},
confirmTionData: {},
buttonList: [],
caseStausArr: [], //案件状态
isapplicant: true, //判断角色申请人或非申请人
caseFilingData: {},
};
},
created() {
// this.getList(this.queryParams);
this.listDeptFn();
// this.getButtonList()
queryCaseFlowInfo({
pageNum: 1,
pageSize: 100000,
}).then((res) => {
res.rows.forEach((item) => {
if (item.id != 17) {
this.buttonList.push(item);
}
this.caseStausArr.push(item);
});
if (this.$route.query.caseFlowId) {
let querydata = Number(this.$route.query.caseFlowId);
if (querydata > 0) {
this.$set(this.queryParams, 'caseFlowId', querydata)
}
}
this.getList(this.queryParams);
});
},
methods: {
/**所有按钮事件 */
caseClick(val, type) {
if (type == 1) {
// 提交案件
this.onsubmitRow(val);
} else if (type == 2) {
// 缴费
this.payStatus(val);
} else if (type == 3 || type == 45) {
// 确认缴费
this.paymentconfirmationRow(val, type);
} else if (type == 4) {
// 受理分配
this.caseAccep(val);
} else if (type == 5) {
// 选择调解员
this.selectMediator(val);
} else if (type == 6) {
// 核实调解员
this.secretaryConfirm(val);
} else if (type == 7) {
// 确认调解员
this.department(val);
} else if (type == 8) {
// 确定调解时间
this.timeConfirm(val);
} else if (type == 9) {
// 调解
this.mediationClick(val);
} else if (type == 10) {
// 确认调解书
this.confirmMediation(val);
} else if (type == 11) {
// 签名
this.msCaseSignUrlApplyPCFn(val);
} else if (type == 12) {
// 用印申请
this.consultantApplica(val);
} else if (type == 13) {
// 用印
this.departmentApplica(val);
} else if (type == 14) {
// 归档
this.caseFiling(val);
} else if (type == 15) {
// 申请人签收
this.signMediation(val);
} else if (type == 16) {
// 被申请人签收
this.receivedMediation(val);
} else if (type == 17) {
//结束
} else if (type == 44) {
// 被申请人缴费
this.resPayStatus(val);
}
},
/**查询按钮列表 */
getButtonList() { },
/** 新增案件 */
addCase() {
this.addModifyData = 1;
this.addVisable = true;
this.caseData = {};
this.caseDisabled = false;
this.tabFlag = false;
},
/** 查看详情 */
checkDetail(val) {
this.addModifyData = 2;
this.addVisable = true;
this.caseData = val;
this.caseDisabled = true;
this.tabFlag = true;
},
/** 修改案件 */
eidtNodeprocess(row) {
this.addModifyData = 3;
this.addVisable = true;
this.caseData = row;
this.$set(this.caseData, "flag", 2);
this.caseDisabled = false;
this.tabFlag = false;
},
/** 案件导入压缩包 */
compressedPackages() {
this.openCompressedPackages = true;
},
/** 缴费 */
payStatus(val) {
this.getDetail({ id: val.id });
this.payTitle = "申请人缴费";
this.payId = val.id;
this.openPay = true;
},
/** 被申请人缴费 */
resPayStatus(val) {
this.getResDetail({ id: val.id });
this.resPayTitle = "被申请人缴费";
this.resPayId = val.id;
this.openResPay = true;
},
/** 列表提交立案 */
onsubmitRow(row) {
this.$modal
.confirm("是否提交调解申请?")
.then(function () {
return submitCaseApply({ id: row.id, caseFlowId: row.caseFlowId });
})
.then(() => {
this.getList(this.queryParams);
this.$modal.msgSuccess("调解申请成功");
})
.catch(() => { });
},
/** 签名 */
msCaseSignUrlApplyPCFn(row) {
// this.$modal
// .confirm("是否")
// .then(function () {
// return msCaseSignUrlApplyPC({ caseId: row.id });
// })
// .then(() => {
// this.getList(this.queryParams);
// this.$modal.msgSuccess("立案申请成功");
// })
// .catch(() => { });
msCaseSignUrlApplyPC({ caseId: row.id }).then((res) => {
console.log(res, "PPPPPPPPPPPPPPPPPPPP");
window.open(res.data.sealUrl);
});
},
/** 选择调解员 */
selectMediator(val) {
this.mediatorVisable = true;
this.mediatorData = val;
},
/** 预约时间 */
selectTime(val) {
this.timeVisable = true;
},
/** 调解 */
mediationClick(val) {
this.mediationVisable = true;
this.mediationData = val;
},
/** 确认调解书 */
confirmMediation(val) {
this.confirmTionVisable = true;
this.confirmTionData = val;
},
getDetail(parms) {
caseApplicationSelectById(parms).then((res) => {
this.formPayDetail = res.data;
this.formPayDetailAffiliate = res.data.affiliate;
this.payForm.feePayable = res.data.feePayable;
this.payForm.caseId = res.data.id;
});
},
getResDetail(parms) {
caseApplicationSelectById(parms).then((res) => {
this.formResPayDetail = res.data;
this.formResPay = res.data.affiliate;
this.resPayForm.feePayable = res.data.feePayable;
this.resPayForm.caseId = res.data.id;
});
},
/** 确认调解员 */
secretaryConfirm(val) {
this.confirmVisable = true;
this.confirmData = val;
},
/** 部门长确认调解员 */
department(val) {
this.departmentVisable = true;
this.departmentData = val;
},
/**确认时间 */
timeConfirm(val) {
this.timeConfirmVisable = true;
this.timeConfirmData = val;
},
/** 时间改变处理 */
caseTimeChange() {
if (this.caseTime) {
this.queryParams.startTime = moment(this.caseTime[0]).format(
"YYYY-MM-DD HH:mm:ss"
);
this.queryParams.endTime = moment(this.caseTime[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else {
this.queryParams.startTime = "";
this.queryParams.endTime = "";
}
},
/** 获取所有部门 */
listDeptFn() {
listDeptApplied().then((res) => {
this.deptList = res.data;
});
},
/** 修改证据 */
evidenceUpload(row) {
this.evidenceData = row;
this.evidenceVisable = true;
},
/** 取消弹窗(证据弹窗) */
cancelEvidence() {
this.evidenceVisable = false;
},
/** 关闭新增弹窗 */
cancelCaseAdd() {
this.addVisable = false;
},
/** 关闭压缩包导入弹窗 */
cancelCompreess() {
this.openCompressedPackages = false;
},
/**取消缴费*/
paycancelRow(row) {
this.openPay = false;
},
/**被申请人取消缴费*/
paycancelRes(row) {
this.openResPay = false;
},
/** 取消调解员弹窗 */
cancelMediator() {
this.mediatorVisable = false;
},
/** 取消预约时间弹窗 */
cancelTime() {
this.timeVisable = false;
},
/**取消调解 */
cancelMediation() {
this.timeConfirmVisable = false;
},
/** 取消确认调解弹窗 */
cancelConfirmTion() {
this.confirmTionVisable = false;
},
cancelMediation() {
this.mediationVisable = false;
},
cancelConfirm() {
this.confirmVisable = false;
},
cancelDepartment() {
this.departmentVisable = false;
},
cancelTimeConfirm() {
this.timeConfirmVisable = false;
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(this.queryParams);
},
/** 重置按钮操作 */
// resetQuery() {
// this.resetForm("queryForm");
// this.handleQuery();
// },
// 查询列表数据
getList(parms) {
this.loading = true;
caseApplicationList(parms).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 法律顾问用印申请
consultantApplica(row) {
let paramsValue = {
caseId: row.id,
batchNumber: "",
caseFlowId: row.caseFlowId,
};
this.$modal
.confirm("你确定要用印申请吗?")
.then((res) => {
sealApply(paramsValue).then((res) => {
this.getList(this.queryParams);
this.$modal.msgSuccess("用印申请成功");
});
})
.catch(() => { });
},
// 部门长用印申请
departmentApplica(row) {
this.$modal
.confirm("你确定要用印确认吗?")
.then((res) => {
let paramsValue = {
caseId: row.id,
};
selectSealUrl(paramsValue).then((res) => {
window.open(res.data.sealUrl);
this.$modal
.confirm("你确认用印了吗?")
.then((res) => {
this.getList(this.queryParams);
})
.catch(() => { });
});
})
.catch(() => { });
},
// 案件受理
caseAccep(row) {
this.caseAcceptanceData = row;
this.showAcceptance = true;
},
cancelAcceptance() {
this.showAcceptance = false;
},
// 缴费确认
paymentconfirmationRow(row, type) {
this.paymentConfirma = row;
console.log(this.paymentConfirma);
this.paymentDetails({
id: row.id,
});
this.openDialog = true;
this.payTitle = "缴费确认";
this.flag = 0;
this.detailform = {};
if (type == 3) {
// 申请人
this.isapplicant = true;
} else {
this.isapplicant = false;
}
},
cancelpaymentdetails() {
this.openDialog = false;
},
// 查看缴费确认
viewpaymentformRow(row) {
this.paymentDetails({
id: row.id,
});
this.payTitle = "缴费单详情";
this.flag = 1;
this.detailform = {};
this.openDialog = true;
},
// 缴费详情
paymentDetails(val) {
selectPaymentDetail(val).then((res) => {
this.detailform = res.data;
});
},
//案件流程
caseFlow(row) {
this.caseFlowNumber = row;
this.processVisable = true;
},
cancelViewProcess() {
this.processVisable = false;
},
//案件日志
caseLog(row) {
this.caseLogNumber = row;
this.showcaseLog = true;
this.flagLoading = true;
listCaseLogRecord({ caseId: row.id }).then((res) => {
this.caselogDataArr = res.data;
this.flagLoading = false;
});
},
cancelcaseLog() {
this.showcaseLog = false;
},
// 案件送达
caseFiling(row) {
console.log(row.id);
let paramValues = {
ids: [row.id],
};
this.$modal
.confirm("你确定要案件送达吗?")
.then((res) => {
msCaseFile(paramValues).then((res) => {
this.$modal.msgSuccess("案件送达成功");
this.getList(this.queryParams);
});
})
.catch(() => { });
},
//申请人签收调解书
signMediation(row) {
this.$modal
.confirm("你确定要签收调解书吗?")
.then((res) => {
this.signingMediationAgreement({ caseId: row.id, isSignApply: 1 });
})
.catch(() => { });
},
//被申请人签收调解书
receivedMediation(row) {
this.$modal
.confirm("你确定要签收调解书吗?")
.then((res) => {
this.signingMediationAgreement({ caseId: row.id, isSignRespon: 1 });
})
.catch(() => { });
},
// 申请人和被申请人签收调解书接口
signingMediationAgreement(val) {
console.log(val);
msCaseSign(val).then((res) => {
this.$modal.msgSuccess("签收成功");
this.getList(this.queryParams);
});
},
//归档详情
caseFilingDetails(val) {
this.showarchiveDetails = true;
this.caseFilingData = val;
let vals = { id: val.id };
caseApplicationSelectById(vals).then((res) => {
res.data.affiliate.respondentSex = Number(
res.data.affiliate.respondentSex
);
this.detailsAwardNum = res.data;
console.log(this.detailsAwardNum);
this.flagLoadingS = false;
});
},
cancelDetail() {
this.showarchiveDetails = false;
},
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,713 +0,0 @@
<template>
<div>
<el-dialog :title="title" :visible="addVisable" v-if="addVisable" @close="cancel" width="1000px" center
:distroy-on-close="true">
<el-tabs v-model="activeName">
<el-tab-pane label="案件信息" name="first"> </el-tab-pane>
<el-tab-pane label="证据清单" name="second" v-if="tabFlag">
</el-tab-pane>
</el-tabs>
<el-form v-if="activeName == 'first'" :disabled="caseDisabled" :model="formData" ref="ruleForm" label-width="130px"
class="demo-ruleForm">
<el-row>
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">案件信息:</div>
</div>
<el-divider></el-divider>
<el-col :span="24">
<el-form-item label="申请人调解请求" prop="arbitratClaims" :rules="[
{
required: true,
message: '申请人调解请求不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="事实和理由" prop="facts" :rules="[
{
required: true,
message: '事实和理由不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</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="24">
<el-form-item label="案件描述" prop="caseDescribe">
<el-input v-model="formData.caseDescribe" placeholder="请输入案件描述" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="12">
<el-form-item label="案件标的" prop="caseSubjectAmount" :rules="[
{
required: true,
message: '案件标的不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="24">
<el-form-item label="调解模板" prop="templateId" :rules="[
{
required: true,
message: '调解模板',
trigger: 'blur',
},
]">
<el-select placeholder="请选择调解模板" v-model="formData.templateId">
<el-option v-for="item in templateList" :label="item.temName" :key="item.id" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
<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="50"
:on-exceed="handleExceed" :file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24" v-if="modelFlag">
<el-form-item label="证据:">
<div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 2">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="modelFlag">
<el-form-item label="调解申请书:">
<div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 3">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="modelFlag && showmediate">
<el-form-item label="调解书:">
<div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 7">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">双方信息:</div>
</div>
<el-divider></el-divider>
</el-col>
<el-col :span="24">
<el-form-item label="选择机构或自然人" prop="affiliate.organizeFlag">
<el-radio-group v-model="formData.affiliate.organizeFlag" :disabled="modelFlag" @change="clearValidate">
<el-radio :label="0">自然人</el-radio>
<el-radio :label="1">机构</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
<el-form-item label="申请机构名称" prop="affiliate.applicationName" :rules="[
{
required: true,
message: '申请机构名称不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.applicationName" placeholder="请输入申请机构名称" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
<el-form-item label="申请人" prop="affiliate.applicationName" :rules="[
{
required: true,
message: '申请人名称不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.applicationName" disabled placeholder="请输入申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
<el-form-item label="统一社会信用代码" prop="affiliate.code" :rules="[
{
required: true,
message: '统一社会信用代码不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.code" placeholder="请输入统一社会信用代码" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
<el-form-item label="申请人身份证号码" prop="affiliate.code" :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="formData.affiliate.code" disabled placeholder="请输入申请人的身份证号" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
<el-form-item label="申请人邮箱" prop="affiliate.applicationEmail" :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="formData.affiliate.applicationEmail" disabled placeholder="请输入申请人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
<el-form-item label="申请人电话" prop="affiliate.applicationPhone" :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="formData.affiliate.applicationPhone" disabled placeholder="请输入申请人联系电话" />
</el-form-item>
</el-col>
<!-- <el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
<el-form-item label="申请人电话" prop="affiliate.applicationPhone" :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="formData.affiliate.applicationPhone" placeholder="请输入申请人联系电话" />
</el-form-item>
</el-col> -->
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
<el-form-item label="法定代表人" prop="affiliate.compLegalPerson" :rules="[
{
required: true,
message: '法定代表人不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人住所" prop="affiliate.applicantHome" :rules="[
{
required: true,
message: '申请人住所不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.applicantHome" placeholder="请输入申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人联系地址" prop="affiliate.applicantAddress" :rules="[
{
required: true,
message: '申请人联系地址不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
<el-form-item label="代理人联系电话" prop="affiliate.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="formData.affiliate.contactTelphoneAgent" disabled placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
<el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent">
<el-input v-model="formData.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent" :rules="[
{
required: true,
message: '代理人姓名不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.nameAgent" disabled placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent">
<el-input v-model="formData.affiliate.nameAgent" placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 1">
<el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :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="formData.affiliate.agentEmail" disabled placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.affiliate.organizeFlag == 0">
<el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
{
pattern:
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
message: '请输入正确的邮箱地址',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人姓名" prop="affiliate.respondentName" :rules="[
{
required: true,
message: '被申请人姓名不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.respondentName" placeholder="请输入被申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人联系电话" prop="affiliate.respondentPhone" :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="formData.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人身份证号" prop="affiliate.respondentIdentityNum" :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="formData.affiliate.respondentIdentityNum" @blur="handleBlur" placeholder="请输入被申请人身份证号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人性别:" prop="affiliate.respondentSex" :rules="[
{
required: true,
message: '请选择性别',
},
]">
<el-radio-group v-model="formData.affiliate.respondentSex" disabled>
<el-radio :label="0">男</el-radio>
<el-radio :label="1">女</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth">
<el-date-picker disabled v-model="formData.affiliate.respondentBirth" type="date" placeholder="被申请人出生年月日">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人申请人住所" prop="affiliate.respondentHome" :rules="[
{
required: true,
message: '被申请人申请人住所不能为空',
trigger: 'blur',
},
]">
<el-input v-model="formData.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人邮箱" prop="affiliate.respondentEmail" :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="formData.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
</el-form-item>
</el-col>
</el-row>
<el-col :span="24" v-if="modelFlag">
<el-form-item v-for="item in formData.columnValueList" :label="item.name" :key="item.id">
<el-input type="textarea" v-model="item.value"></el-input>
</el-form-item>
</el-col>
</el-form>
<div v-if="activeName == 'second'">
<el-card class="box-card" style="margin-bottom: 30px" v-if="applicantEvidence.length">
<div slot="header" class="clearfix">
<span>申请人证据清单</span>
</div>
<div v-for="(item, index) in applicantEvidence" :key="index" class="text item"
style="color: blue; cursor: pointer" @click="toPreview(item.annexPath)">
{{ item.annexName }}
</div>
</el-card>
<el-card class="box-card" v-if="respondentEvidence.length">
<div slot="header" class="clearfix">
<span>被申请人证据清单</span>
</div>
<div v-for="(item, index) in respondentEvidence" :key="index" class="text item"
style="color: blue; cursor: pointer" @click="toPreview(item.annexPath)">
{{ item.annexName }}
</div>
</el-card>
</div>
<div slot="footer" class="dialog-footer" v-if="buttonFlag">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
caseApplicationInsert,
caseApplicationSelectById,
updateComfire,
getInfoByIdCard,
getUserInfo
} from "@/api/caseManagement/caseManagement.js";
import { getTemplate } from "@/api/officialSeal/officialSeal.js";
import { getToken } from "@/utils/auth";
export default {
props: [
"addVisable",
"queryParams",
"caseData",
"caseDisabled",
"tabFlag",
"addModifyData",
],
dicts: ["case_built_type"],
data() {
return {
activeName: "first",
title: "新增案件",
// organizeFlag:0,//选择机构和自然人
formData: {
affiliate: {
organizeFlag: 0,
respondentSex: 0,
},
columnValueList: [],
caseAttachList: [],
},
templateList: [],
modelFlag: false,
fileURL: window.location.origin + "/API",
fileList: [],
filedata: {
annexType: 2,
},
headers: {
Authorization: "Bearer " + getToken(),
},
applicantEvidence: [], //申请人证据
respondentEvidence: [], //被申请人证据
buttonFlag: true,
getUserInfoList: {},
applicationFlag: null,
showmediate: false
};
},
watch: {
addModifyData(val) {
if (val == 1) {
this.title = "新增案件";
this.getUserInfoFn();
this.modelFlag = false;
this.buttonFlag = true;
this.formData = {
affiliate: {
organizeFlag: 0,
respondentSex: 0,
},
columnValueList: [],
caseAttachList: [],
};
} else if (val == 3) {
this.title = "修改案件";
this.modelFlag = true;
this.buttonFlag = true;
} else if (val == 2) {
this.title = "案件详情";
this.modelFlag = true;
this.buttonFlag = false;
}
},
addVisable(val) {
if (val) {
this.activeName = "first";
this.showmediate = false;
this.getTemplateFn();
if (this.addModifyData != 1) {
this.caseApplicationSelectByIdFn(this.caseData.id);
}
}
},
},
created() {
console.log(this.formData, "000000000000000000")
// this.getUserInfoFn();
},
methods: {
/** 切换申请类型 */
changeApplyType(val) {
console.log(val, "变化");
// this.$refs["ruleForm"].resetFields();
},
/**获取申请人信息 */
getUserInfoFn() {
getUserInfo().then(res => {
this.getUserInfoList = res.data;
this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
})
},
/** 根据案件id获取对应信息 */
caseApplicationSelectByIdFn(data) {
this.applicantEvidence = [];
this.respondentEvidence = [];
caseApplicationSelectById({ id: data }).then((res) => {
res.data.affiliate.respondentSex = Number(res.data.affiliate.respondentSex)
this.formData = res.data;
this.formData.caseAttachList.forEach((item) => {
if (item.annexType == 2) {
this.applicantEvidence.push(item);
} else if (item.annexType == 6) {
this.respondentEvidence.push(item);
} else if (item.annexType == 7) {
this.showmediate = true
}
});
});
},
// 新增案件
insertFn(data) {
caseApplicationInsert(data).then((res) => {
this.$modal.msgSuccess("新增成功!");
this.$emit("cancelCaseAdd");
this.$emit("getList", this.queryParams);
});
},
// 修改确定
modifyData(data) {
updateComfire(data).then((res) => {
this.$modal.msgSuccess("修改成功!");
this.$emit("cancelCaseAdd");
this.$emit("getList", this.queryParams);
});
},
/** 获取裁决书模板 */
getTemplateFn(data) {
getTemplate(data).then((res) => {
this.templateList = res.rows;
});
},
/** 查看证据 */
fileDetil(val) {
window.open(this.fileURL + val);
},
/** 查看证据 */
toPreview(val) {
window.open(this.fileURL + val);
},
/** 文件上传地址 */
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
/**文件上传成功*/
handlSuccess(res, file) {
this.formData.caseAttachList.push({
annexId: res.annexId,
});
},
/**文件超出个数限制时的钩子*/
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
} 个文件`
);
},
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
handleRemove(file, fileList) {
this.caseAttachListArr = this.caseAttachListArr.filter(
(item) => item.annexId != file.annexId
);
},
handlePreview(file) {
window.open(
window.location.origin + "/API" + file.certificatePath,
"_blank"
);
},
// 提交form表单
submitForm() {
this.$refs["ruleForm"].validate((valid) => {
if (valid) {
if (this.addModifyData == 3) {
this.modifyData(this.formData);
} else if (this.addModifyData == 1) {
this.insertFn(this.formData);
}
}
});
},
clearValidate(val) {
if (val == 0) {
this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
this.formData.affiliate.nameAgent = null;
this.formData.affiliate.agentEmail = null;
this.formData.affiliate.contactTelphoneAgent = null;
} else if (val == 1) {
this.$set(this.formData.affiliate, "nameAgent", this.getUserInfoList.nickName);
this.$set(this.formData.affiliate, "agentEmail", this.getUserInfoList.email);
this.$set(this.formData.affiliate, "contactTelphoneAgent", this.getUserInfoList.phonenumber);
this.formData.affiliate.applicationName = null;
this.formData.affiliate.code = null;
this.formData.affiliate.applicationEmail = null;
this.formData.affiliate.applicationPhone = null;
}
this.$refs["ruleForm"].clearValidate()
},
cancel() {
this.$emit("cancelCaseAdd");
},
institutionalNatural() {
console.log(this.formData.affiliate.organizeFlag);
},
handleBlur() {
console.log(this.formData.affiliate.respondentIdentityNum);
let idCards = {
idCard: this.formData.affiliate.respondentIdentityNum,
};
getInfoByIdCard(idCards).then((res) => {
this.formData.affiliate.respondentSex = Number(res.respondentSex);
console.log(res.respondentBirth);
this.formData.affiliate.respondentBirth = res.respondentBirth;
});
},
},
};
</script>
<style lang="scss" scoped>
.infoIcon {
width: 4px;
// height: 17px;
background-color: #0072ff;
margin-right: 5px;
}
.caseInfo {
font-size: 17px;
font-weight: 600;
}
::v-deep .el-dialog__body {
height: 700px !important;
overflow: auto !important;
}
</style>
@@ -1,148 +0,0 @@
<template>
<div>
<!-- 案件受理 -->
<el-dialog title="案件受理" :visible="showAcceptance" @close="cancel" :destroy-on-close="true" center>
<el-form ref="courtReviewform" :model="courtReviewform">
<el-form-item label="被申请人是否同意调解:">
<el-radio-group v-model="courtReviewform.agreeFlag">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="调解方式:" v-if="courtReviewform.agreeFlag == 1">
<el-radio-group v-model="courtReviewform.mediationMethod">
<el-radio :label="1">线上调解</el-radio>
<el-radio :label="2">线下调解</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否纸质送达:" v-if="courtReviewform.agreeFlag == 1">
<el-radio-group v-model="courtReviewform.paperFlag">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="是否仲裁确认:" v-if="courtReviewform.agreeFlag == 1" >
<el-radio-group v-model="courtReviewform.arbitrateConfirm">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item> -->
<el-form-item v-if="courtReviewform.agreeFlag == 0" label="拒绝理由:" prop="rejectReason" :rules="[
{
required: true,
message: '拒绝理由不能为空',
trigger: 'blur',
},
]">
<el-input v-model="courtReviewform.rejectReason" type="textarea" :rows="8" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span> 取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { accept } from '@/api/caseManagement/caseManagement.js'
export default {
name: "caseAcceptance",
props: ["showAcceptance", "caseAcceptanceData", "getList", "queryParams"],
data() {
return {
courtReviewform: {
mediationMethod: 2,
paperFlag: 0,
arbitrateConfirm: 0,
agreeFlag: 1
},
};
},
watch: {
showAcceptance(val) {
if (val) {
console.log(this.caseAcceptanceData)
}
},
},
methods: {
submitForm() {
this.$refs["courtReviewform"].validate((valid) => {
if (valid) {
let paramsdata = {
id: this.caseAcceptanceData.id,
caseFlowId: this.caseAcceptanceData.caseFlowId,
batchNumber: ""
}
let mergeValue = Object.assign({}, this.courtReviewform, paramsdata)
accept(mergeValue).then((res) => {
this.$modal.msgSuccess("确认成功");
this.$emit("getList", this.queryParams)
this.cancel();
})
.catch((err) => { });
}
});
},
cancel() {
this.$emit("cancelAcceptance");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
background: #ffffff;
border-radius: 20px;
}
.el-form-item {
margin-left: 10%;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
// line-height: 48px;
}
}
.nowarbitrator {
margin-left: 10%;
}
::v-deep .el-form-item__error {
left: 90px;
}
</style>
@@ -1,206 +0,0 @@
<template>
<div>
<el-dialog title="案件压缩包导入" :visible="openCompressedPackages" width="600px" append-to-body @close="cancel" center>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<el-form-item :span="24" label="案件压缩包上传:" prop="upload">
<el-upload class="upload-demo" ref="uploadZipBatch" :limit="1" accept=".zip" :headers="upload.headers"
:action="upload.url" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess" :auto-upload="false" :data="paramsData" 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">
支持zip格式文件
</div>
</el-upload>
</el-form-item>
<el-form-item :span="24" label="调解书模板" prop="templateId">
<el-select v-model="form.templateId" placeholder="请选择">
<el-option v-for="dict in templateList" :key="dict.id" :label="dict.temName" :value="dict.id"></el-option>
</el-select>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getTemplate,
} from "@/api/officialSeal/officialSeal.js";
import { getToken } from "@/utils/auth";
export default {
props: ["openCompressedPackages", "getList", "queryParams"],
data() {
return {
// key: value,
form: {},
fileList: [],
templateList: [],
rules: {
// upload: [
// { required: true, message: "案件压缩包不能为空", trigger: "blur" },
// ],
templateId: [
{ required: true, message: "调解书模板不能为空", trigger: "blur" },
],
},
paramsData:{
// templateId:this.form.templateId
},
// 案件压缩导入
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
// updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/caseApplication/uploadCaseZipFile",
},
};
},
watch: {
openCompressedPackages(val) {
if (val) {
this.form = {}
this.getTemplateFn({
pageNum: 1,
pageSize: 10000000,
})
}
},
},
methods: {
submitForm() {
this.paramsData.templateId = this.form.templateId;
this.$refs["form"].validate((valid) => {
if (valid) {
this.$refs.uploadZipBatch.submit();
}
})
},
// 获取裁决书模板
getTemplateFn(data) {
getTemplate(data).then(res => {
console.log(res.rows, "KKKKKKKKKKKKKKKKKKKKKKK");
this.templateList = res.rows;
})
},
// 取消
cancel() {
this.$emit("cancelCompreess");
},
handleRemove(file, fileList) { },
handlePreview(file) { },
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 1个文件,本次选择了 ${files.length} `
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 下载模板 importTemplate
downloadTemplate() {
// console.log("下载模板");
this.download(
"caseApplication/uploadCaseZipFile",
{},
`case_batch_${new Date().getTime()}.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
// this.upload.open = false;
this.$emit("cancelCompreess");
this.upload.isUploading = false;
this.$refs.uploadZipBatch.clearFiles();
if (response.code == 200) {
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
)
} else {
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
"导入压缩失败" +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
)
}
this.getList(this.queryParams);
},
},
};
</script>
<style lang="scss" scoped>
.download {
a {
.uploadlink {
border: none;
color: #2092c7;
}
}
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 154px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 96px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
}
}
.endbutton1 {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
</style>
@@ -1,366 +0,0 @@
<template>
<div>
<el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
<div class="loading" v-if="flagLoadingS">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="案件信息" name="five"></el-tab-pane>
<el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
<!-- <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane> -->
<el-tab-pane label="调解书" name="third"></el-tab-pane>
<el-tab-pane label="案件视频" name="fourth" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
<el-tab-pane label="庭审笔录" name="six" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
</el-tabs>
<div v-show="activeName=='first'">
<div v-for="(item,index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType==2" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,2) == 0" description="暂无数据"></el-empty>
</div>
<!-- <div v-show="activeName=='second'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div> -->
<div v-show="activeName=='third'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==7" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,7) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='fourth'">
<div style="margin-top:10px;" v-for="(item,index) in detailsAwardNum.caseAttachList" v-if="item.annexType==5">
<video style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :key="index" :src="fileURL+item.annexPath" controls="controls"></video>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,5) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='six'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='five'">
<el-form :disabled="true" :model="detailsAwardNum" label-width="130px"
class="demo-ruleForm">
<el-row>
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">案件信息:</div>
</div>
<el-divider></el-divider>
<el-col :span="24">
<el-form-item label="申请人调解请求">
<el-input v-model="detailsAwardNum.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="事实和理由">
<el-input v-model="detailsAwardNum.facts" placeholder="请输入事实和理由" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
<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="50"
:on-exceed="handleExceed" :file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="证据:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 2">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调解申请书:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 3">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调解书:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">双方信息:</div>
</div>
<el-divider></el-divider>
</el-col>
<el-col :span="24">
<el-form-item label="选择机构或自然人" prop="affiliate.organizeFlag">
<el-radio-group v-model="detailsAwardNum.affiliate.organizeFlag">
<el-radio :label="0">自然人</el-radio>
<el-radio :label="1">机构</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="申请机构名称">
<el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请机构名称" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人">
<el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="统一社会信用代码">
<el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入统一社会信用代码" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人身份证号码">
<el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入申请人的身份证号" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人邮箱">
<el-input v-model="detailsAwardNum.affiliate.applicationEmail" placeholder="请输入申请人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人电话">
<el-input v-model="detailsAwardNum.affiliate.applicationPhone" placeholder="请输入申请人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="法定代表人">
<el-input v-model="detailsAwardNum.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人住所">
<el-input v-model="detailsAwardNum.affiliate.applicantHome" placeholder="请输入申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人联系地址">
<el-input v-model="detailsAwardNum.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人联系电话">
<el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent">
<el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent">
<el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent">
<el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人邮箱">
<el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人邮箱">
<el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人姓名">
<el-input v-model="detailsAwardNum.affiliate.respondentName" placeholder="请输入被申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人联系电话" >
<el-input v-model="detailsAwardNum.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人身份证号">
<el-input v-model="detailsAwardNum.affiliate.respondentIdentityNum" placeholder="请输入被申请人身份证号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人性别:">
<el-radio-group v-model="detailsAwardNum.affiliate.respondentSex">
<el-radio :label="0">男</el-radio>
<el-radio :label="1">女</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth">
<el-date-picker v-model="detailsAwardNum.affiliate.respondentBirth" type="date" placeholder="被申请人出生年月日">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人申请人住所">
<el-input v-model="detailsAwardNum.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人邮箱">
<el-input v-model="detailsAwardNum.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
</el-form-item>
</el-col>
</el-row>
<el-col :span="24">
<el-form-item v-for="item in detailsAwardNum.columnValueList" :label="item.name" :key="item.id">
<el-input type="textarea" v-model="item.value"></el-input>
</el-form-item>
</el-col>
</el-form>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
props: ["showarchiveDetails","detailsAwardNum","videoList","flagLoadingS","trialTranscripts","caseFilingData"],
components: {
},
data() {
return {
activeName: 'five',
fileURL: window.location.origin + "/API",
noData: false,
filedata: {
annexType: 2,
},
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
};
},
watch: {
showarchiveDetails: {
handler(val) {
if (val) {
this.activeName = 'five'
// this.detailsAwardNum.affiliate.respondentSex = Number(this.detailsAwardNum.affiliate.respondentSex)
console.log(this.detailsAwardNum)
}
},
},
},
created(){
},
methods: {
isNoData(data,type){
let resNumber = 0
if(data){
let list = data.filter(item => item.annexType == type)
if(list){
resNumber = list.length
}
}
return resNumber
},
/** 查看证据 */
fileDetil(val) {
window.open(this.fileURL + val);
},
/** 文件上传地址 */
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
/**文件上传成功*/
handlSuccess(res, file) {
this.detailsAwardNum.caseAttachList.push({
annexId: res.annexId,
});
},
/**文件超出个数限制时的钩子*/
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
} 个文件`
);
},
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
handleRemove(file, fileList) {
this.caseAttachListArr = this.caseAttachListArr.filter(
(item) => item.annexId != file.annexId
);
},
handlePreview(file) {
window.open(
window.location.origin + "/API" + file.certificatePath,
"_blank"
);
},
handleClick(tab, event) {
},
cancel() {
this.$emit("cancelDetail");
},
},
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 850px;
background: #ffffff;
border-radius: 20px;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
</style>
@@ -1,242 +0,0 @@
<template>
<div>
<el-dialog
title="确认调解书"
v-if="confirmTionVisable"
:visible="confirmTionVisable"
@close="cancel"
width="800px"
append-to-body
:destroy-on-close="true"
center
>
<el-form ref="form" :model="formData" label-width="180px">
<div class="caseInfo">案件信息:</div>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人:" prop="affiliate.applicationName">
<el-input v-model="formData.affiliate.applicationName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人:" prop="respondentName">
<el-input v-model="formData.affiliate.respondentName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入案件标的"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调解费用:" prop="feePayable">
<el-input v-model="formData.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调解员:" prop="mediatorName">
<el-input v-model="formData.mediatorName" placeholder="请输入" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调解书:">
<div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType==7">
<div style="color: blue;cursor: pointer;" @click="fileDetil(item.annexPath)">{{
item.annexName }}</div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否和解:" prop="isReconci">
<el-radio-group v-model="isReconci">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<div class="payupload">
<span>上传修改后调解书</span>
<div class="uploadBtn">
<el-upload
class="upload-demo"
ref="upload"
:action="UploadUrl()"
:headers="headers"
:data="filedata"
:on-preview="handlePreview"
:on-remove="handleRemove"
:on-change="beforeUpload"
:on-success="handlSuccess"
:file-list="fileList"
>
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<div slot="tip" class="el-upload__tip">只能上传word文件</div>
</el-upload>
</div>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round>
<span>取 消</span>
</el-button>
<el-button @click="submitMediator" type="primary" class="endbutton1" round>
<span>确 认</span>
</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { casePay, confirmPayDig } from "@/api/pay/pay";
import { caseApplicationSelectById,confirmMediation } from "@/api/caseManagement/caseManagement.js";
import { getToken } from "@/utils/auth";
export default {
props: ["confirmTionVisable", "queryParams", "confirmTionData"],
data() {
return {
fileList: [],
formData: {
affiliate: {},
},
isReconci:0,
fileURL: window.location.origin + "/API",
annexId:null,
headers: {
Authorization: "Bearer " + getToken()
},
filedata: {
annexType: 7
}
};
},
methods: {
/** 获取案件详情信息 */
caseApplicationSelectByIdFn(data) {
caseApplicationSelectById(data).then(res => {
this.formData = res.data;
});
},
/** 查看申请书 */
fileDetil(val) {
window.open(this.fileURL + val)
},
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
beforeUpload(flie, fileList) {
this.fileList = fileList;
},
// 文件上传成功
handlSuccess(res, file) {
this.annexId = res.annexId;
},
submitMediator() {
confirmMediation({
caseAppliId: this.confirmTionData.id,
caseFlowId: this.confirmTionData.caseFlowId,
annexId: this.annexId,
isReconci:this.isReconci,
}).then(res => {
this.$modal.msgSuccess("成功");
this.cancel();
this.$emit("getList", this.queryParams);
});
},
handleRemove(file, fileList) {},
handlePreview(file) {},
cancel() {
this.$emit("cancelConfirmTion");
}
},
watch: {
confirmTionVisable(val) {
if (val) {
this.annexId = '';
this.caseApplicationSelectByIdFn({
id: this.confirmTionData.id
});
}
}
}
};
</script>
<style lang="scss" scoped>
.payType {
height: 80px;
line-height: 80px;
display: flex;
.icon-weixinzhifu {
font-size: 24px;
color: #27a56f;
margin-right: 15px;
}
.icon-zhifubao {
font-size: 24px;
color: #1d76cc;
}
}
.paySelectType {
margin-top: 20px;
margin-bottom: 20px;
}
.payupload {
display: flex;
.uploadBtn {
margin-left: 20px;
}
}
.payImg {
width: 100%;
display: flex;
justify-content: center;
}
.payTitle {
margin-top: 20px;
width: 100%;
text-align: center;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
</style>
@@ -1,217 +0,0 @@
<template>
<div>
<el-dialog title="核实调解员" :visible="confirmVisable" v-if="confirmVisable" @close="cancel" center
:distroy-on-close="true">
<div>
<div v-if="tableDataFlag">
<div style="margin-bottom: 20px;">选择调解员</div>
</div>
<el-table v-if="tableDataFlag" ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column>
</el-table>
<div>
<div style="margin-bottom: 20px;margin-top: 20px;">当前调解员</div>
</div>
<el-table ref="multipleTable" :data="tableDataNow" tooltip-effect="dark" style="width: 100%">
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<!-- <el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column> -->
</el-table>
<div>
<div style="margin-bottom: 20px;margin-top: 20px;">申请人调解员</div>
</div>
<el-table ref="multipleTable" :data="applicantTable" tooltip-effect="dark" style="width: 100%">
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<!-- <el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column> -->
</el-table>
<div>
<div style="margin-bottom: 20px;margin-top: 20px;">被申请人调解员</div>
</div>
<el-table ref="multipleTable" :data="respondentTable" tooltip-effect="dark" style="width: 100%">
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<!-- <el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column> -->
</el-table>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
<el-button @click="submitMediator" class="endbutton1"><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { Message } from 'element-ui'
import { listMediator, updateBooking, selectReservation, verifyMediator } from '@/api/caseManagement/caseManagement.js'
import moment from "moment";
export default {
props: ["confirmVisable", "confirmData", "queryParams"],
data() {
return {
tableData: [],
tableDataNow: [],
applicantTable: [],
respondentTable: [],
multipleSelection: [],
tableDataFlag: true,
formLabelAlign: {
time: []
},
mediatorArr: [],
};
},
watch: {
confirmVisable(val) {
if (val) {
this.mediatorArr = [];
this.selectReservationFn({ id: this.confirmData.id })
listMediator().then(res => {
this.tableData = res.data;
})
}
},
},
methods: {
cancel() {
this.$emit("cancelConfirm");
},
selectReservationFn(data) {
selectReservation(data).then(res => {
this.applicantTable = res.data.mediatorList;
this.respondentTable = res.data.resMediatorList;
this.tableDataNow = [{ mediatorId: res.data.mediatorId, mediatorName: res.data.mediatorName }];
if (this.tableDataNow[0].mediatorId) {
this.tableDataFlag = false;
} else {
this.tableDataFlag = true;
}
})
},
/**核实调解员 */
verifyMediatorFn(data) {
verifyMediator(data).then(res => {
this.$modal.msgSuccess("成功");
this.$emit("cancelConfirm");
this.$emit('getList', this.queryParams);
})
},
/**提交选择结果*/
async submitMediator() {
if (this.multipleSelection.length == 0 && this.tableDataNow.length > 0) {
this.verifyMediatorFn({
id: this.confirmData.id,
caseFlowId: this.confirmData.caseFlowId,
mediatorId: this.tableDataNow[0].mediatorId,
mediatorName: this.tableDataNow[0].mediatorName,
})
} else if (this.multipleSelection.length > 0 && !this.tableDataNow[0].mediatorId) {
this.verifyMediatorFn({
id: this.confirmData.id,
caseFlowId: this.confirmData.caseFlowId,
mediatorId: this.multipleSelection[0].mediatorId,
mediatorName: this.multipleSelection[0].mediatorName,
})
} else if (this.multipleSelection.length > 1 && !this.tableDataNow[0].mediatorId) {
Message.error('最多选择一名调解员');
return
}
// if (this.confirmFlag == 1) {
// let userArr = [];
// this.tableData.forEach(item => {
// userArr.push({
// userId: item.mediatorId,
// userName: item.mediatorName
// })
// })
// this.verifyMediatorFn({
// id: this.confirmData.id,
// caseFlowId: this.confirmData.caseFlowId,
// userList: userArr,
// // herDates: this.formLabelAlign.time
// })
// } else {
// if (this.multipleSelection.length > 1) {
// Message.error('最多选择一名调解员');
// return
// } else if (this.multipleSelection.length < 1) {
// Message.error('至少选择一名调解员');
// return
// }
// this.multipleSelection.forEach(item => {
// this.mediatorArr.push({
// userId: item.mediatorId,
// userName: item.mediatorName
// })
// })
// this.verifyMediatorFn({
// id: this.confirmData.id,
// caseFlowId: this.confirmData.caseFlowId,
// userList: this.mediatorArr,
// })
// }
},
handleSelectionChange(val) {
this.multipleSelection = val;
console.log(val, "PPPPPPPPPPPPPPPPPPPP");
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step {
// width: 150px;
flex-basis: 25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.timeTitle {
width: 1000%;
text-align: center;
}
</style>
@@ -1,182 +0,0 @@
<template>
<div>
<el-dialog title="部门长确认调解员" :visible="departmentVisable" v-if="departmentVisable" @close="cancel" center
:distroy-on-close="true">
<div>
<div v-if="tableDataFlag">
<div style="margin-bottom: 20px;">选择调解员</div>
</div>
<el-table v-if="tableDataFlag" ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column>
</el-table>
<div>
<div style="margin-bottom: 20px;margin-top: 20px;">当前调解员</div>
</div>
<el-table ref="multipleTable" :data="tableDataNow" tooltip-effect="dark" style="width: 100%">
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<!-- <el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column> -->
</el-table>
<div>
<div style="margin-bottom: 20px;margin-top: 20px;">申请人调解员</div>
</div>
<el-table ref="multipleTable" :data="applicantTable" tooltip-effect="dark" style="width: 100%">
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<!-- <el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column> -->
</el-table>
<div>
<div style="margin-bottom: 20px;margin-top: 20px;">被申请人调解员</div>
</div>
<el-table ref="multipleTable" :data="respondentTable" tooltip-effect="dark" style="width: 100%">
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<!-- <el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column> -->
</el-table>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
<el-button @click="submitMediator" class="endbutton1"><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { Message } from 'element-ui'
import { listMediator, updateBooking, selectReservation, verifyMediator } from '@/api/caseManagement/caseManagement.js'
import moment from "moment";
export default {
props: ["departmentVisable", "departmentData", "queryParams"],
data() {
return {
tableData: [],
tableDataNow: [],
applicantTable: [],
respondentTable: [],
multipleSelection: [],
tableDataFlag: false,
formLabelAlign: {
time: []
},
mediatorArr: [],
};
},
watch: {
departmentVisable(val) {
if (val) {
this.mediatorArr = [];
this.selectReservationFn({ id: this.departmentData.id })
listMediator().then(res => {
this.tableData = res.data;
})
}
},
},
methods: {
cancel() {
this.$emit("cancelDepartment");
},
selectReservationFn(data) {
selectReservation(data).then(res => {
this.applicantTable = res.data.mediatorList;
this.respondentTable = res.data.resMediatorList;
this.tableDataNow = [{ mediatorId: res.data.mediatorId, mediatorName: res.data.mediatorName }];
if (this.tableDataNow.length > 0) {
this.tableDataFlag = false;
} else {
this.tableDataFlag = true;
}
})
},
/**核实调解员 */
verifyMediatorFn(data) {
verifyMediator(data).then(res => {
this.$modal.msgSuccess("成功");
this.$emit("cancelDepartment");
this.$emit('getList', this.queryParams);
})
},
/**提交选择结果*/
async submitMediator() {
if (this.multipleSelection.length == 0 && this.tableDataNow.length > 0) {
this.verifyMediatorFn({
id: this.departmentData.id,
caseFlowId: this.departmentData.caseFlowId,
mediatorId: this.tableDataNow[0].mediatorId,
mediatorName: this.tableDataNow[0].mediatorName,
})
} else if (this.multipleSelection.length > 0 && this.tableDataNow.length == 0) {
this.verifyMediatorFn({
id: this.departmentData.id,
caseFlowId: this.departmentData.caseFlowId,
mediatorId: this.multipleSelection[0].mediatorId,
mediatorName: this.multipleSelection[0].mediatorName,
})
} else if (this.multipleSelection.length > 1 && this.tableDataNow.length == 0) {
Message.error('最多选择一名调解员');
return
}
},
handleSelectionChange(val) {
this.multipleSelection = val;
console.log(val, "PPPPPPPPPPPPPPPPPPPP");
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step {
// width: 150px;
flex-basis: 25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.timeTitle {
width: 1000%;
text-align: center;
}
</style>
@@ -1,139 +0,0 @@
<template>
<div>
<el-dialog title="上传证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true">
<el-descriptions title="案件内容" :column="2" border>
<el-descriptions-item label="案件编号">{{ evidenceData.caseNum }}</el-descriptions-item>
<el-descriptions-item label="申请人">{{ evidenceData.applicationName }}</el-descriptions-item>
<!-- <el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item> -->
<el-descriptions-item label="案件状态">
<el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag>
</el-descriptions-item>
<!-- <el-descriptions-item label="仲裁方式">{{ evidenceData.arbitratMethodName }}</el-descriptions-item> -->
<el-descriptions-item label="申请人证据">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in fileListData"
@click="preview(item.annexPath)" :key="index">
{{ item.annexName }}</div>
</el-descriptions-item>
</el-descriptions>
<div style="margin-top: 30px;">
<el-upload class="upload-demo" ref="upload" action="" :file-list="fileList" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
:auto-upload="false" :http-request="uploadFile" :on-change="beforeAvatarUpload" :before-remove="beforeRemove" multiple>
<el-button type="primary"><span>选择证据</span></el-button>
</el-upload>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
<el-button @click="upload" class="endbutton1" type="primary" round><span>点击上传</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getFileList, batchUpload } from '@/api/caseManagement/caseManagement'
import { getToken } from "@/utils/auth";
export default {
props: ["evidenceVisable", "evidenceData"],
data() {
return {
fileListData: [],
// 上传文件的列表
uploadFiles: [],
// 上传文件的个数
filesLength: 0,
info: {
annexType: 2,
},
fileList:[]
// headers: {
// Authorization: "Bearer " + getToken(),
// },
};
},
watch: {
evidenceVisable(val) {
this.fileList = []
if (val) {
this.getEvidenceList({ caseAppliId: this.evidenceData.id, annexTypeList: "2" })
}
}
},
created() {
this.info.id = this.evidenceData.id;
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
UploadUrl() {
return window.location.origin + "/API/evidence/upload";
},
cancel() {
this.$emit("cancelEvidence");
},
// 修改当前文件列表长度
// changeFileLength(file, fileList) {
// this.uploadFiles.push(file)
// },
// 删除文件
beforeRemove(file, fileList){
this.uploadFiles = fileList
},
// 文件上传之前处理
beforeAvatarUpload(file,fileList) {
console.log(file,fileList,"before");
this.uploadFiles = [];
// this.uploadFiles.push(file)
this.uploadFiles = fileList
},
// 用户点击上传调用
async upload() {
// 触发上传 调用配置 :http-request="uploadFile"
// 即触发 uploadFile函数
this.uploadFile()
// await this.$refs.upload.submit();
// 上传完成后执行的操作 ...
},
// 该函数还是会被调用多次
// 每次param参数传入一个文件
uploadFile() {
// 将文件加入需要上传的文件列表
// 当uploadFiles长度等于用户需要上传的文件数时进行上传
// 创建FormData上传
if (this.uploadFiles.length === 0) {
this.$message.warning('请选取文件')
return
}
let fd = new FormData()
// 将全部文件添加至FormData中
this.uploadFiles.forEach(file => {
fd.append('file', file.raw)
})
// // 将附加信息添加至FormData
fd.append("id", this.evidenceData.id)
fd.append("annexType", this.info.annexType)
// 上传文件
batchUpload(fd).then(res => {
this.$modal.msgSuccess("上传成功");
this.cancel()
})
},
// 获取案件申请人证据列表
getEvidenceList(data) {
getFileList(data).then(res => {
this.fileListData = res.data;
})
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -1,342 +0,0 @@
<template>
<div>
<el-dialog :title="title" :visible="mediationVisable" @close="cancel" center :distroy-on-close="true" width="1000px">
<el-form ref="form" :model="formData" label-width="180px">
<div class="caseInfo">案件信息:</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人:" prop="affiliate.applicationName">
<el-input v-model="formData.affiliate.applicationName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人:" prop="respondentName">
<el-input v-model="mediationData.respondentName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调解费用:" prop="feePayable">
<el-input v-model="formData.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调解员:" prop="mediatorName">
<el-input v-model="formData.mediatorName" placeholder="请输入" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-col :span="24">
<el-form-item label="申请人案件证据:">
<div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
<div v-for="(item, index) in applicateArr" :key="index" v-if="item.annexType == 2">
<a href="#" @click="toFile(item, index)" style="color: blue">{{ item.annexName }}</a>
</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="mediationType">
<el-form-item label="调解结果:">
<el-radio-group v-model="mediaResult" :disabled="!isSecretaryRole" @change="resultsMediation">
<el-radio :label="1">达成调解</el-radio>
<el-radio :label="2">未达成调解</el-radio>
<el-radio :label="3">未达成调解但不在争议</el-radio>
<el-radio :label="4">未达成调解但同意引入仲裁</el-radio>
<el-radio :label="5">达成和解</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="是否和解" v-if="mediaResult==1">
<el-radio-group v-model="isReconci">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col> -->
<!-- <el-col :span="24">
<el-form-item label="被申请人案件证据:">
<div v-if="quiltArr.length == 0">被申请人暂未提供证据!</div>
<div v-for="(item, index) in quiltArr" :key="index">
<a href="#" @click="toFile1(item, index)" style="color: blue">{{ item.annexName }}</a>
</div>
</el-form-item>
</el-col> -->
<el-col :span="24" v-if="recordArr.length > 0">
<el-form-item label="庭审笔录:">
<div v-for="(item, index) in recordArr" :key="index" style="color: blue">
<a href="#" @click="toFile2(item.annexPath)">{{ item.annexName }}</a>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调解书:" v-if="recordArrMediate.length > 0">
<div v-for="(item, index) in recordArrMediate" :key="index" style="color: blue">
<a href="#" @click="toFileMediate(item.annexPath)">{{ item.annexName }}</a>
</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="mediationType">
<el-form-item label="预约会议房间号:">
<div>{{ formData.roomId }}</div>
</el-form-item>
</el-col>
<el-col :span="24" v-if="mediationType">
<el-form-item label="调解时间:">
<div>{{ formData.hearDate }}</div>
</el-form-item>
</el-col>
<!-- v-if="!mediationType" -->
<el-col :span="24">
<el-form-item label="上传调解书">
<el-upload class="upload-demo" accept=".png,.jpg,.doc,.docx,.txt,.pdf" ref="upload" :action="UploadUrl()"
:headers="headers" :data="filedata" :on-preview="handlePreview" :on-remove="handleRemove" :limit="1"
:on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList">
<el-button slot="trigger" size="small" :disabled="!isSecretaryRole" type="primary">选取文件</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<div slot="tip" class="el-upload__tip">只能上传.jpg,png,.doc,docx,.txt,.pdf文件</div>
</el-upload>
</el-form-item>
</el-col>
<!-- </el-form> -->
</el-form>
<el-button @click="openmeeting" type="primary" v-if="mediationType">{{ isSecretaryRole ? '发起会议' :
'进入会议' }}</el-button>
<!-- v-if="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'" -->
<el-button @click="openArbitrationresults" type="primary"
v-if="this.recordArrMediate.length <= 0 && mediationData.mediationMethod == '1' && isSecretaryRole">确认会议结果</el-button>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round>
<span>取 消</span>
</el-button>
<el-button v-if="isSecretaryRole" :loading="loadingSubmit" @click="submitMediation"
:disabled="this.recordArrMediate.length <= 0 && mediationData.mediationMethod == '1'" class="endbutton1"
type="primary" round>
提 交
</el-button>
</div>
</el-dialog>
</div>
</template>
<!-- hearDate -->
<script>
import _ from 'lodash'
import {
caseApplicationSelectById,
mediation,
confirmMeetingResult,
secretaryRoleByUserId
} from "@/api/caseManagement/caseManagement.js";
import { getUserProfile } from "@/api/system/user";
import { reserveConferenceList } from "@/api/metting/metting.js";
import { getToken } from "@/utils/auth";
export default {
props: ["mediationVisable", "mediationData", "queryParams"],
data() {
return {
loanStartDate: "",
codes: null,
title: "线上调解",
applicateArr: [],
quiltArr: [],
recordArr: [],
recordArrMediate: [],
roomId: null,
startTime: null,
mediaResult: 1,
// isReconci:0,
formData: {
affiliate: {}
},
user: "",
userId: null,
flieList: [],
mediationType: true,
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 7,
},
fileList: [],
attachList: [],
isSecretaryRole: true,
loadingSubmit: false
};
},
watch: {
mediationVisable(val) {
this.recordArr = [];
this.recordArrMediate = [];
if (this.mediationData.mediationMethod == "1") {
this.title = "线上调解";
this.mediationType = true;
} else if (this.mediationData.mediationMethod == "2") {
this.title = "线下调解";
this.mediationType = false;
}
if (val) {
this.caseApplicationSelectByIdFn({
id: this.mediationData.id
});
this.getUser();
}
}
},
created() { },
methods: {
// 根据用户id查询是否为调解员
secretaryRoleByUserIdFn() {
secretaryRoleByUserId({
userId: this.userId
}).then(res => {
this.isSecretaryRole = res.data.isSecretaryRole;
if(this.recordArrMediate){
this.isSecretaryRole = false
}
})
},
/**上传地址*/
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
handlePreview(file) {
},
handleRemove(file, fileList) {
},
beforeUpload(flie, fileList) {
this.fileList = fileList;
},
handlSuccess(res, file) {
this.codes = res.code
this.attachList = [{ annexId: res.annexId }];
// this.$set(this.mediationData, "attachList", {annexId:res.annexId});
},
/** 获取案件详情信息 */
caseApplicationSelectByIdFn(data) {
caseApplicationSelectById(data).then(res => {
this.formData = res.data;
this.applicateArr = res.data.caseAttachList;
res.data.caseAttachList.forEach(item => {
if (item.annexType == 6) {
this.recordArr.push(item);
} else if (item.annexType == 7) {
this.recordArrMediate.push(item);
}
});
});
},
/** 获取用户信息 */
getUser() {
getUserProfile().then(response => {
this.user = response.data.userName;
this.userId = response.data.userId;
this.secretaryRoleByUserIdFn();
});
},
/** 发起会议 */
openmeeting() {
window.open(
// `http://localhost:8080/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie`
`https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie`
);
},
/**提交仲裁结果 */
openArbitrationresults() {
this.recordArr = [];
caseApplicationSelectById({
id: this.mediationData.id
}).then(res => {
console.log(res)
res.data.caseAttachList.forEach(item => {
if (item.annexType == 6) {
this.recordArr.push(item);
}
});
});
confirmMeetingResult({
id: this.mediationData.id,
caseFlowId: this.mediationData.caseFlowId,
batchNumber: "",
mediaResult: this.mediaResult,
}).then(res => {
caseApplicationSelectById({
id: this.mediationData.id
}).then(res => {
res.data.caseAttachList.forEach(item => {
if (item.annexType == 7) {
this.recordArrMediate.push(item);
}
});
});
})
this.isSecretaryRole = false
},
/** 庭审笔录附件 */
toFile2(annexPath) {
window.open(window.location.origin + "/API" + annexPath, "_black");
},
toFileMediate(annexPath) {
window.open(window.location.origin + "/API" + annexPath, "_black");
},
/** 生成调解书 */
mediationFn(data) {
mediation(data).then(res => {
this.$modal.msgSuccess("成功");
this.$emit("cancelMediation");
this.$emit("getList", this.queryParams);
this.loadingSubmit = false;
});
},
cancel() {
this.$emit("cancelMediation");
},
submitMediation() {
if (this.fileList.length < 1 && !this.mediationType && this.mediationData.mediationMethod == "2") {
this.$modal.msgError("请上传调解书");
return
} else {
this.loadingSubmit = true;
}
let mediationVal = {}
if (this.codes == 200) {
mediationVal = {
id: this.mediationData.id,
caseFlowId: this.mediationData.caseFlowId,
attachList: this.attachList,
// isReconci:this.isReconci,
mediaResult: this.mediaResult,
}
} else {
mediationVal = {
id: this.mediationData.id,
caseFlowId: this.mediationData.caseFlowId,
mediaResult: this.mediaResult,
}
}
this.mediationFn(mediationVal);
},
resultsMediation() {
}
}
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -1,93 +0,0 @@
<template>
<div>
<el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<el-steps class="steps" :active="finishCasenode.length">
<el-step :title="item.content" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')" v-for="(item,index) in stepNumber" :key="index"></el-step>
</el-steps>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {selectCaseProgress} from '@/api/caseManagement/caseManagement.js'
export default {
props: ["processVisable","processData","caseFlowNumber"],
data() {
return {
processId:null,
pageData:{},
caseStatus:0,
finishCasenode:[],
stepNumber:[],
flagLoading:true
};
},
watch: {
processVisable(val){
if(val){
this.processId = this.caseFlowNumber.id;
this.selectCaseProgressFn({caseId:this.processId});
}
}
},
methods: {
cancel() {
this.$emit("cancelViewProcess");
},
selectCaseProgressFn(data){
selectCaseProgress(data).then(res=>{
let finishCasenode = res.data.data.finishCasenode;;
this.finishCasenode = finishCasenode;
let inCasenode = res.data.data.inCasenode;
let nextCasenode = res.data.data.nextCasenode;
this.stepNumber= [...finishCasenode,...inCasenode,...nextCasenode];
this.flagLoading =false
})
}
},
};
</script>
<style lang="scss" scoped>
.steps{
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step{
// width: 150px;
flex-basis:25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
</style>
@@ -1,113 +0,0 @@
<template>
<div>
<el-dialog
title="案件日志"
:visible="showcaseLog"
@close="cancel"
center
:distroy-on-close="true"
>
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<div class="noData" v-if="noData">暂无数据!</div>
<el-timeline v-else>
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:timestamp="(index + 1).toString()"
placement="top"
>
<p>{{ activity.content }}</p>
</el-timeline-item>
</el-timeline>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"
><span>取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: ["showcaseLog", "flagLoading", "caselogDataArr"],
data() {
return {
reverse: true,
activities: [],
noData: false,
};
},
watch: {
caselogDataArr: {
handler(val) {
if (val && val.length > 0) {
this.noData = false;
this.activities = val;
this.activities.forEach((item) => {
item.content = item.content;
});
} else {
this.noData = true;
}
},
},
},
methods: {
cancel() {
this.$emit("cancelcaseLog");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton1 {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
.noData {
width: 100%;
height: 400px;
font-size: 30px;
font-weight: 700;
color: #959595;
display: flex;
justify-content: center;
align-items: center;
}
</style>
@@ -1,259 +0,0 @@
<template>
<div>
<el-dialog :title="payTitle" v-if="openPay" :visible="openPay" @close="payCancel" width="800px" append-to-body
:destroy-on-close="true" center>
<el-descriptions title="订单信息">
<el-descriptions-item label="案件编号">{{
formPayDetail.caseNum
}}</el-descriptions-item>
<el-descriptions-item label="申请人">{{
formPayDetailAffiliate.applicationName || ''
}}</el-descriptions-item>
<!-- <el-descriptions-item label="案件标的">{{
formPayDetail.caseSubjectAmount
}}</el-descriptions-item> -->
<el-descriptions-item label="申请人应缴费用">{{
formPayDetail.feePayable
}}</el-descriptions-item>
<el-descriptions-item label="被申请人">{{
formPayDetailAffiliate.respondentName
}}</el-descriptions-item>
<el-descriptions-item label="案件状态">
<el-tag size="mini" type='danger' effect="dark">
{{ formPayDetail.caseStatusName }}
</el-tag>
</el-descriptions-item>
<el-descriptions-item label="驳回原因" v-if="formPayDetail.reason">
<el-tag size="mini" type='danger' effect="dark">
{{ formPayDetail.reason }}
</el-tag>
</el-descriptions-item>
</el-descriptions>
<div class="paySelectType">
<el-radio-group v-model="paySelect" @input="changPayType">
<el-radio :label="0">线上支付</el-radio>
<el-radio :label="1">线下支付</el-radio>
</el-radio-group>
</div>
<div class="payupload">
<span>上传支付凭证:</span>
<div class="uploadBtn">
<el-upload class="upload-demo" ref="upload" :action="UploadUrl()" :headers="headers" :data="filedata"
:on-preview="handlePreview" :on-remove="handleRemove" :on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList"
>
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
</div>
</div>
<div class="payType" v-if="paySelect == 0">
<span>请选择支付方式:</span>
<i class="iconfont icon-weixinzhifu" @click="pay(0)"></i>
<i class="iconfont icon-zhifubao" @click="pay(1)"></i>
</div>
<div class="payImg">
<div id="qrcodeImg"></div>
</div>
<div class="payTitle">{{ payMain }}</div>
<div slot="footer" class="dialog-footer">
<el-button @click="payCancel" round><span>取 消</span></el-button>
<el-button @click="submitUpload" type="primary" :disabled="payFlagSubmit" round><span>确认缴费</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { casePay, confirmPayDig } from "@/api/pay/pay";
import QRCode from "qrcodejs2";
import { getToken } from "@/utils/auth";
export default {
props: ["openPay", "payTitle", "formPayDetail", "payForm", "queryParams","payId","formPayDetailAffiliate"],
data() {
return {
// key: value
// 支付文字
payMain: "",
timer: null,
paySelect: 1,//支付线上/线下
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 4,
},
submitForm:{
payType:1,
payOrderList:[],
caseId:null
},
payFlagSubmit:true
};
},
methods: {
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
//选择支付方式(线上,线下)
changPayType(data) {
if(data == 1){
document.getElementById("qrcodeImg").innerHTML = "";
this.payMain = ""
}
this.submitForm.payType = data;
},
beforeUpload(flie, fileList) {
this.fileList = fileList;
},
// 文件上传成功
handlSuccess(res, file) {
this.submitForm.payOrderList.push({
annexId: res.annexId,
annexName:res.annexName
});
this.payFlagSubmit = false;
},
submitUpload() {
if (this.fileList.length < 1) {
this.$modal.msgError("请上传缴费凭证");
return
}
this.submitForm.caseFlowId = this.formPayDetail.caseFlowId;
confirmPayDig(this.submitForm).then(res=>{
this.$modal.msgSuccess("成功");
this.payCancel()
this.$emit("getList", this.queryParams);
})
},
handleRemove(file, fileList) {
(this.submitForm.payOrderList = []),
fileList.forEach((item) => {
this.submitForm.payOrderList.push({ annexId:item.response.data.annexId,annexName:item.response.data.annexName });
});
},
handlePreview(file) {
},
// 生成二维码
qrcode(url) {
// 前端根据 URL 生成微信支付二维码
document.getElementById("qrcodeImg").innerHTML = "";
return new QRCode("qrcodeImg", {
width: 200,
height: 200,
text: url,
colorDark: "#000",
colorLight: "#fff",
});
},
// 支付
pay(val) {
if (this.payForm.feePayable == 0 || !this.payForm.feePayable) {
this.$message({
message: "此案件无需缴费",
type: "error",
});
return;
}
let payType = "";
if (val == 0) {
payType = "wxpay";
this.payMain = "请使用微信扫二维码支付";
} else if (val == 1) {
payType = "alipay";
this.payMain = "请使用支付宝扫二维码支付";
}
casePay({
totalFee: this.payForm.feePayable * 100,
caseId: this.payForm.caseId,
tradeType: "native",
platform: payType,
}).then((res) => {
this.paySrc = res.data.code_url;
this.qrcode(this.paySrc);
});
},
payCancel() {
this.$emit("paycancelRow");
this.payMain = "";
},
},
watch:{
openPay(val){
if(val){
this.submitForm.payOrderList = []
this.paySelect = 1;
this.fileList = [];
this.filedata.id = this.payId;
this.submitForm.caseId = this.payId;
}
}
}
};
</script>
<style lang="scss" scoped>
.payType {
height: 80px;
line-height: 80px;
display: flex;
.icon-weixinzhifu {
font-size: 24px;
color: #27a56f;
margin-right: 15px;
}
.icon-zhifubao {
font-size: 24px;
color: #1d76cc;
}
}
.paySelectType {
margin-top: 20px;
margin-bottom: 20px;
}
.payupload {
display: flex;
.uploadBtn {}
}
.payImg {
width: 100%;
display: flex;
justify-content: center;
}
.payTitle {
margin-top: 20px;
width: 100%;
text-align: center;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
</style>
@@ -1,169 +0,0 @@
<template>
<div>
<el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
<el-form ref="form" :model="form" label-width="180px">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="form.caseNum" placeholder="" :disabled="true"/>
</el-form-item>
<!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input v-model="form.caseSubjectAmount" :disabled="true"/>
</el-form-item> -->
<!-- <el-form-item label="缴费人:" prop="applicantName">
<el-input v-model="form.applicationName" placeholder="" />
</el-form-item> -->
<el-form-item label="缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" :disabled="true"/>
</el-form-item>
<el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList.length > 0">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
@click="preview(item.annexPath)">
{{ item.annexName }}
</div>
</el-form-item>
<el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList.length > 0">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
@click="preview(item.annexPath)">
{{ item.annexName }}
</div>
</el-form-item>
<!-- 判断缴费是否通过 -->
<el-form-item label="是否缴费通过:" v-if="flag == 0">
<el-radio-group v-model="yesOrNo">
<el-radio :label="1">通过</el-radio>
<el-radio :label="0">驳回</el-radio>
</el-radio-group>
</el-form-item>
<!-- 缴费驳回原因-->
<el-form-item label="驳回原因:" v-if="yesOrNo == 0" prop="reason" :rules="[{ required: true, message: '请输入驳回原因',trigger: 'blur',},]">
<el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model="form.reason"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button> -->
<el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确 认</el-button>
<el-button @click="cancel" class="endbutton1">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { confirmPaid, resConfirmPaid } from '@/api/caseManagement/caseManagement.js'
export default {
props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams",'isapplicant'],
data() {
return {
form: {
reason: '',//驳回原因
},
yesOrNo: 1,
srcList: [],
};
},
watch: {
detailform: {
handler(val) {
if (val) {
this.form = val;
}
},
},
openDialog: {
handler(val) {
if (val) {
this.yesOrNo = 1
}
}
}
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
// 确认缴费
submitForm() {
let paramsVal = {
caseId: this.paymentConfirma.id,
batchNumber: "",
caseFlowId: this.paymentConfirma.caseFlowId,
yesOrNo: this.yesOrNo,
reason: this.form.reason
}
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.isapplicant) {
confirmPaid(paramsVal).then((res) => {
this.$message({
message: "确认成功",
type: "success",
});
this.cancel();
this.$emit("getList", this.queryParams);
})
console.log('申请人');
} else {
// 被申请人 resConfirmPaid
resConfirmPaid(paramsVal).then((res) => {
this.$message({
message: "确认成功",
type: "success",
});
this.cancel();
this.$emit("getList", this.queryParams);
})
console.log('被申请人');
}
}
})
},
cancel() {
this.$emit("cancelpaymentdetails");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 50%;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
</style>
@@ -1,259 +0,0 @@
<template>
<div>
<el-dialog :title="resPayTitle" v-if="openResPay" :visible="openResPay" @close="payCancel" width="800px" append-to-body
:destroy-on-close="true" center>
<el-descriptions title="订单信息">
<el-descriptions-item label="案件编号">{{
formResPayDetail.caseNum
}}</el-descriptions-item>
<el-descriptions-item label="申请人">{{
formResPay.applicationName || ''
}}</el-descriptions-item>
<!-- <el-descriptions-item label="案件标的">{{
formResPayDetail.caseSubjectAmount
}}</el-descriptions-item> -->
<el-descriptions-item label="被申请人应缴费用">{{
formResPayDetail.feePayable
}}</el-descriptions-item>
<el-descriptions-item label="被申请人">{{
formResPay.respondentName
}}</el-descriptions-item>
<el-descriptions-item label="案件状态">
<el-tag size="mini" type='danger' effect="dark">
{{ formResPayDetail.caseStatusName }}
</el-tag>
</el-descriptions-item>
<el-descriptions-item label="驳回原因" v-if="formResPayDetail.reason">
<el-tag size="mini" type='danger' effect="dark">
{{ formResPayDetail.reason }}
</el-tag>
</el-descriptions-item>
</el-descriptions>
<div class="paySelectType">
<el-radio-group v-model="paySelect" @input="changPayType">
<el-radio :label="0">线上支付</el-radio>
<el-radio :label="1">线下支付</el-radio>
</el-radio-group>
</div>
<div class="payupload">
<span>上传支付凭证:</span>
<div class="uploadBtn">
<el-upload class="upload-demo" ref="upload" :action="UploadUrl()" :headers="headers" :data="filedata"
:on-preview="handlePreview" :on-remove="handleRemove" :on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList"
>
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
</div>
</div>
<div class="payType" v-if="paySelect == 0">
<span>请选择支付方式:</span>
<i class="iconfont icon-weixinzhifu" @click="pay(0)"></i>
<i class="iconfont icon-zhifubao" @click="pay(1)"></i>
</div>
<div class="payImg">
<div id="qrcodeImg"></div>
</div>
<div class="resPayTitle">{{ payMain }}</div>
<div slot="footer" class="dialog-footer">
<el-button @click="payCancel" round><span>取 消</span></el-button>
<el-button @click="submitUpload" type="primary" :disabled="payFlagSubmit" round><span>确认缴费</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { casePay, confirmPayDig } from "@/api/pay/pay";
import QRCode from "qrcodejs2";
import { getToken } from "@/utils/auth";
export default {
props: ["openResPay", "resPayTitle", "formResPayDetail", "resPayForm", "queryParams","resPayId","formResPay"],
data() {
return {
// key: value
// 支付文字
payMain: "",
timer: null,
paySelect: 1,//支付线上/线下
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 9,
},
submitForm:{
payType:1,
payOrderList:[],
caseId:null
},
payFlagSubmit:true
};
},
methods: {
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
//选择支付方式(线上,线下)
changPayType(data) {
if(data == 1){
document.getElementById("qrcodeImg").innerHTML = "";
this.payMain = ""
}
this.submitForm.payType = data;
},
beforeUpload(flie, fileList) {
this.fileList = fileList;
},
// 文件上传成功
handlSuccess(res, file) {
this.submitForm.payOrderList.push({
annexId: res.annexId,
annexName:res.annexName
});
this.payFlagSubmit = false;
},
submitUpload() {
if (this.fileList.length < 1) {
this.$modal.msgError("请上传缴费凭证");
return
}
this.submitForm.caseFlowId = this.formResPayDetail.caseFlowId;
confirmPayDig(this.submitForm).then(res=>{
this.$modal.msgSuccess("成功");
this.payCancel()
this.$emit("getList", this.queryParams);
})
},
handleRemove(file, fileList) {
(this.submitForm.payOrderList = []),
fileList.forEach((item) => {
this.submitForm.payOrderList.push({ annexId:item.response.data.annexId,annexName:item.response.data.annexName });
});
},
handlePreview(file) {
},
// 生成二维码
qrcode(url) {
// 前端根据 URL 生成微信支付二维码
document.getElementById("qrcodeImg").innerHTML = "";
return new QRCode("qrcodeImg", {
width: 200,
height: 200,
text: url,
colorDark: "#000",
colorLight: "#fff",
});
},
// 支付
pay(val) {
if (this.resPayForm.feePayable == 0 || !this.resPayForm.feePayable) {
this.$message({
message: "此案件无需缴费",
type: "error",
});
return;
}
let payType = "";
if (val == 0) {
payType = "wxpay";
this.payMain = "请使用微信扫二维码支付";
} else if (val == 1) {
payType = "alipay";
this.payMain = "请使用支付宝扫二维码支付";
}
casePay({
totalFee: this.resPayForm.feePayable * 100,
caseId: this.resPayForm.caseId,
tradeType: "native",
platform: payType,
}).then((res) => {
this.paySrc = res.data.code_url;
this.qrcode(this.paySrc);
});
},
payCancel() {
this.$emit("paycancelRes");
this.payMain = "";
},
},
watch:{
openResPay(val){
if(val){
this.submitForm.payOrderList = []
this.paySelect = 1;
this.fileList = [];
this.filedata.id = this.resPayId;
this.submitForm.caseId = this.resPayId;
}
}
}
};
</script>
<style lang="scss" scoped>
.payType {
height: 80px;
line-height: 80px;
display: flex;
.icon-weixinzhifu {
font-size: 24px;
color: #27a56f;
margin-right: 15px;
}
.icon-zhifubao {
font-size: 24px;
color: #1d76cc;
}
}
.paySelectType {
margin-top: 20px;
margin-bottom: 20px;
}
.payupload {
display: flex;
.uploadBtn {}
}
.payImg {
width: 100%;
display: flex;
justify-content: center;
}
.resPayTitle {
margin-top: 20px;
width: 100%;
text-align: center;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
</style>
@@ -1,125 +0,0 @@
<template>
<div>
<el-dialog title="预约调解员" :visible="mediatorVisable" v-if="mediatorVisable" @close="cancel" center :distroy-on-close="true">
<div>
<div>
<div style="margin-bottom: 20px;">预约调解员</div>
</div>
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column prop="mediatorName" label="调解员">
</el-table-column>
<el-table-column prop="specialty" label="专业">
</el-table-column>
<el-table-column prop="todoAmount" label="待办数量">
</el-table-column>
<el-table-column prop="completeAmount" label="已办数量">
</el-table-column>
</el-table>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
<el-button @click="submitMediator" class="endbutton1" type="primary" round><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { Message } from 'element-ui'
import { listMediator,updateBooking } from '@/api/caseManagement/caseManagement.js'
import { createRoomId } from '@/api/metting/metting.js'
import moment from "moment";
export default {
props: ["mediatorVisable", "mediatorData","queryParams"],
data() {
return {
tableData: [],
multipleSelection: [],
formLabelAlign: {
time:[]
},
mediatorArr:[]
};
},
watch: {
mediatorVisable(val) {
if (val) {
listMediator().then(res=>{
this.tableData = res.data;
})
}
}
},
methods: {
cancel() {
this.$emit("cancelMediator");
},
/**提交选择结果*/
async submitMediator() {
if (this.multipleSelection.length > 3) {
Message.error('最多选择三名调解员');
return
}else if(this.multipleSelection.length < 1){
Message.error('请选择调解员');
return
}
this.mediatorArr = [];
this.multipleSelection.forEach(item=>{
this.mediatorArr.push({
mediatorId:item.mediatorId,
mediatorName:item.mediatorName
})
})
await this.updateBookingFn({
id:this.mediatorData.id,
caseFlowId:this.mediatorData.caseFlowId,
mediatorList:this.mediatorArr,
})
},
async updateBookingFn(data){
await updateBooking(data).then(res=>{
this.$modal.msgSuccess("成功");
this.$emit("cancelMediator");
this.$emit('getList', this.queryParams);
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
// console.log(this.multipleSelection,"LLLLLLLLLLLLLLLLL");
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step {
// width: 150px;
flex-basis: 25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.timeTitle {
width: 1000%;
text-align: center;
}
</style>
@@ -1,123 +0,0 @@
<template>
<div>
<el-dialog title="确认时间" :visible="timeConfirmVisable" v-if="timeConfirmVisable" @close="cancel" center
:distroy-on-close="true">
<!-- <div style="margin-bottom: 20px;">
<el-radio-group v-model="confirmFlag">
<el-radio :label="1">同意</el-radio>
<el-radio :label="2">拒绝</el-radio>
</el-radio-group>
</div> -->
<div>
<div>
<!-- <div style="margin-top: 20px;margin-bottom: 20px;">时间</div> -->
<el-form label-position="right" label-width="80px" :model="formLabelAlign">
<el-form-item label="时间">
<el-date-picker v-model="formLabelAlign.name" type="datetime" :picker-options="pickerOptions" placeholder="选择日期时间">
</el-date-picker>
<!-- <el-input v-else v-model="formLabelAlign.name"></el-input> -->
</el-form-item>
</el-form>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
<el-button @click="submitMediator" class="endbutton1" type="primary" round><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { Message } from 'element-ui'
import { listMediator, selectReservation, confirmDate } from '@/api/caseManagement/caseManagement.js'
import { createRoomId } from '@/api/metting/metting.js'
import moment from "moment";
export default {
props: ["timeConfirmVisable", "timeConfirmData", "queryParams"],
data() {
return {
tableData: [],
multipleSelection: [],
formLabelAlign: {
time: [],
name: ""
},
pickerOptions: {
disabledDate(time) {
return time.getTime() <= Date.now() -1 * 24 * 3600 * 1000; // 禁用超过当前时间的日期
},
selectableRange: `${new Date()}- 23:59:59`,//这
},
};
},
watch: {
timeConfirmVisable(val) {
if (val) {
this.formLabelAlign.name = null;
}
},
},
methods: {
cancel() {
this.$emit("cancelTimeConfirm");
},
selectReservationFn(data) {
selectReservation(data).then(res => {
this.tableData = res.data.mediatorList;
this.formLabelAlign.name = res.data.herDates[0]
})
},
/**核实时间 */
verifyMediatorFn(data) {
confirmDate(data).then(res => {
this.$modal.msgSuccess("成功");
this.$emit("cancelTimeConfirm");
this.$emit('getList', this.queryParams);
})
},
// 生成会议房间号
createRoomIdFn(data) {
createRoomId(data).then(res => {
console.log(res, "房间号");
})
},
/**提交选择结果*/
async submitMediator() {
this.createRoomIdFn({
caseId: this.timeConfirmData.id
})
if (this.formLabelAlign.name == '') {
Message.error('请选择时间');
return
}
this.formLabelAlign.name = moment(
this.formLabelAlign.name
).format("YYYY-MM-DD HH:mm:ss");
this.verifyMediatorFn({
id: this.timeConfirmData.id,
caseFlowId: this.timeConfirmData.caseFlowId,
herDates: [this.formLabelAlign.name]
})
},
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step {
// width: 150px;
flex-basis: 25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
.timeTitle {
width: 1000%;
text-align: center;
}
</style>