删除仓库

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
@@ -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>