<template>
|
<div
|
class="box-card"
|
v-loading="loading"
|
element-loading-text="拼命加载中"
|
element-loading-spinner="el-icon-loading"
|
>
|
<div class="box-content">
|
<!-- 搜索操作 -->
|
<div class="search-input-box">
|
<div class="fl-co">
|
<h3 class="mr-b-20">纠纷调解</h3>
|
<div class="fl-fw mr-b-10">
|
<div class="fl-co mr-r-30">
|
<span class="fz-9 mr-b-10">{{ infoData1 || 0 }}</span>
|
<span>总计</span>
|
</div>
|
<div class="fl-co mr-r-30">
|
<span class="fz-9 mr-b-10">{{ infoData2 || 0 }}</span>
|
<span>待受理</span>
|
</div>
|
<div class="fl-co mr-r-30">
|
<span class="fz-9 mr-b-10">{{ infoData3 || 0 }}</span>
|
<span>待分配</span>
|
</div>
|
<div class="fl-co mr-r-30">
|
<span class="fz-9 mr-b-10">{{ infoData4 || 0 }}</span>
|
<span>调解中</span>
|
</div>
|
<div class="fl-co mr-r-30">
|
<span class="fz-9 mr-b-10">{{ infoData5 || 0 }}</span>
|
<span>已完成</span>
|
</div>
|
<!-- <div class="fl-co mr-r-30">
|
<span class="fz-9 mr-b-10">{{ infoData6 || 0 }}</span>
|
<span>已归档</span>
|
</div> -->
|
<div class="fl-co">
|
<span class="fz-9 mr-b-10">{{ infoData7 || 0 }}</span>
|
<span>已取消</span>
|
</div>
|
</div>
|
<div class="fl-al mr-b-10">
|
<el-input
|
clearable
|
style="width: 450px"
|
size="small"
|
v-model.trim="searchVal.keyword"
|
placeholder="请输入受理流水、用户联系电话、当前调解部门进行查找"
|
@keyup.enter="handleAction('search')"
|
></el-input>
|
<div class="fl-al">
|
<!-- <div class="fz-7 label-width-search"></div> -->
|
<el-button
|
class="mr-l-20"
|
type="primary"
|
@click="handleAction('search')"
|
>搜索</el-button
|
>
|
<el-button @click="handleAction('reset')">重置</el-button>
|
</div>
|
</div>
|
<div class="fl-al">
|
<div class="fl-la">
|
<span>事件类型:</span>
|
<el-select
|
style="width: 250px"
|
v-model="searchVal.eventCategory"
|
clearable
|
size="small"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in classList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="fl-la mr-l-10">
|
<span>事件状态:</span>
|
<el-select
|
style="width: 250px"
|
size="small"
|
v-model="searchVal.eventProcessStatus"
|
clearable
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in typeList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<!-- <div class="fl-la mr-l-10">
|
<span>上报上级:</span>
|
<el-select
|
style="width: 250px"
|
size="small"
|
v-model="searchVal.reportSuperior"
|
clearable
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in isList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</div> -->
|
</div>
|
</div>
|
</div>
|
<!-- 列表 -->
|
<div class="table-content">
|
<!-- 列表 -->
|
<TablePro :tableLsit="tableLsit" :columnList="columnList">
|
<template v-slot:pushStatus="scope">
|
<el-tag v-if="scope.row.eventProcessStatus === 1" type="info"
|
>待受理</el-tag
|
>
|
<el-tag v-if="scope.row.eventProcessStatus === 2">待分配</el-tag>
|
<el-tag v-if="scope.row.eventProcessStatus === 5" type="success"
|
>调解中</el-tag
|
>
|
<el-tag v-if="scope.row.eventProcessStatus === 6" type="danger"
|
>已完成</el-tag
|
>
|
<el-tag v-if="scope.row.eventProcessStatus === 7" type="warning"
|
>已归档</el-tag
|
>
|
<el-tag v-if="scope.row.eventProcessStatus === 8" type="info"
|
>已取消</el-tag
|
>
|
</template>
|
<template v-slot:btn="scope">
|
<el-button
|
v-if="scope.row.solve === 1"
|
type="text"
|
@click="handleAction('cl', scope.row)"
|
>受理处理</el-button
|
>
|
<el-button
|
type="text"
|
v-if="scope.row.distribution === 1"
|
@click="handleAction('fp', scope.row)"
|
>分配专家
|
</el-button>
|
<el-button
|
v-if="scope.row.conciliation === 1"
|
type="text"
|
@click="handleAction('tj', scope.row)"
|
>调解</el-button
|
>
|
<el-button
|
v-if="scope.row.changeExpert === 1"
|
type="text"
|
@click="handleAction('gh', scope.row)"
|
>更换专家</el-button
|
>
|
<el-button
|
type="text"
|
v-if="scope.row.archive === 1"
|
@click="handleAction('gd', scope.row)"
|
>归档</el-button
|
>
|
<el-button type="text" @click="handleAction('details', scope.row)"
|
>查看</el-button
|
>
|
<el-button
|
type="text"
|
v-if="scope.row.delete === 1"
|
@click="handleAction('delete', scope.row)"
|
>删除</el-button
|
>
|
</template>
|
</TablePro>
|
<!-- 分页 -->
|
<div class="bottom-page">
|
<el-pagination
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page="pageNum"
|
:page-sizes="[10, 20, 30, 40]"
|
:page-size="pageSize"
|
background
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="total"
|
>
|
</el-pagination>
|
</div>
|
</div>
|
<!-- 新增编辑弹框 -->
|
<el-dialog
|
:close-on-click-modal="false"
|
:title="dialogTitle"
|
:visible.sync="dialogVisible"
|
:before-close="handleClose"
|
center
|
append-to-body
|
>
|
<el-form
|
:model="formInfo"
|
:rules="rules"
|
label-position="right"
|
ref="ruleForm"
|
label-width="130px"
|
class="demo-ruleForm"
|
>
|
<div v-if="dialogTitle === '受理处理'">
|
<el-form-item label="用户指定调解专家">
|
<span>{{ nowExpert }}</span>
|
</el-form-item>
|
<el-form-item label="确定受理专家" prop="eventProcessStatus">
|
<div class="input-width">
|
<el-radio v-model="formInfo.eventProcessStatus" :label="5"
|
>当前指定调解专家</el-radio
|
>
|
<el-radio v-model="formInfo.eventProcessStatus" :label="2"
|
>分配其他专家</el-radio
|
>
|
</div>
|
</el-form-item>
|
</div>
|
<div v-if="dialogTitle === '分配专家'" prop="specterId">
|
<el-form-item label="选择专家">
|
<el-select
|
class="input-width"
|
v-model="formInfo.specterId"
|
clearable
|
@change="speciaChange"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in expertList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="擅长办理">
|
<span>{{ showText || "-" }}</span>
|
</el-form-item>
|
</div>
|
<div v-if="dialogTitle === '更换专家'">
|
<el-form-item label="当前调解专家">
|
<span>{{ nowExpert }}</span>
|
</el-form-item>
|
<el-form-item label="擅长办理">
|
<span>{{ showText || "-" }}</span>
|
</el-form-item>
|
<el-form-item label="选择专家" prop="specterId">
|
<el-select
|
class="input-width"
|
v-model="formInfo.specterId"
|
clearable
|
@change="speciaChange"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in expertList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="专家简介">
|
<span>{{ showContent || "-" }}</span>
|
</el-form-item>
|
</div>
|
<div v-if="dialogTitle === '案件归档'">
|
<el-form-item label="">
|
<h3 class="fz-10">结案报告</h3>
|
</el-form-item>
|
<el-form-item label="" prop="result">
|
<el-input
|
style="width: 400px"
|
type="textarea"
|
v-model="formInfo.result"
|
resize="none"
|
placeholder="请填写结案报告,包含案件分析"
|
maxlength="500"
|
:rows="6"
|
show-word-limit
|
>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="">
|
<UploadImg
|
@fileHandle="fileHandle"
|
:imgShow="formInfo.photo"
|
:imgNum="9"
|
/>
|
</el-form-item>
|
<el-form-item label="">
|
<div class="v-y jabg-content">
|
<h3 class="fz-10 mr-b-10">最新进展</h3>
|
<div
|
v-for="(item, index) in transferLog"
|
:key="index"
|
class="fl-co lh-10"
|
>
|
<div class="mr-b-10">
|
<div class="fl-al">
|
<span>2019-09-09 12:23</span>
|
<span class="mr-l-20"
|
>{{ item.processByName }}回复</span
|
>
|
</div>
|
<div class="lh-14 mr-t-4">
|
{{ item.processResult }}
|
</div>
|
<div class="fl-fw mr-t-10">
|
<el-image
|
v-for="(it, ix) in item.images"
|
:key="ix"
|
class="img-style"
|
:src="it.url"
|
:preview-src-list="[it.url]"
|
fit="cover"
|
>
|
</el-image>
|
</div>
|
</div>
|
</div>
|
<div v-if="!transferLog.length">暂无最新进展</div>
|
</div>
|
</el-form-item>
|
<el-form-item label="">
|
<h3 class="fz-10 mr-b-10">调解事件</h3>
|
<div class="fl-co lh-10 jabg-content2">
|
<div>
|
<div class="fl-al">
|
<span>{{ eventDetail.createAt }}</span>
|
<span class="mr-l-20">{{
|
eventDetail.requestUserName
|
}}</span>
|
</div>
|
<div class="lh-14 mr-t-4">
|
#{{ eventDetail.categoryName }}
|
{{ eventDetail.requestUserEventDes }}
|
</div>
|
<div class="fl-fw mr-t-10" v-if="eventDetail.images.length">
|
<el-image
|
v-for="(it, ix) in eventDetail.images"
|
:key="ix"
|
class="img-style"
|
:src="it.url"
|
:preview-src-list="[it.url]"
|
fit="cover"
|
></el-image>
|
</div>
|
</div>
|
</div>
|
</el-form-item>
|
</div>
|
<div v-if="dialogTitle === '调解'">
|
<el-form-item label="" prop="eventSucceed">
|
<h3 class="fz-10">调解状态</h3>
|
<div class="fl-fw mr-t-4">
|
<div
|
class="fl-cen cp select-content"
|
:class="[formInfo.eventSucceed == 2 ? 'check-color' : '']"
|
@click="tjClick('zt', 2)"
|
>
|
已完成
|
</div>
|
<div
|
class="fl-cen cp mr-l-20 select-content"
|
:class="[formInfo.eventSucceed == 1 ? 'check-color' : '']"
|
@click="tjClick('zt', 1)"
|
>
|
未完成
|
</div>
|
</div>
|
</el-form-item>
|
<el-form-item
|
label=""
|
prop="eventResult"
|
v-if="formInfo.eventSucceed == 2"
|
>
|
<h3 class="fz-10">调解结果</h3>
|
<div class="fl-fw mr-t-4">
|
<div
|
@click="tjClick('jg', 2)"
|
:class="[formInfo.eventResult == 2 ? 'check-color' : '']"
|
class="fl-cen cp select-content"
|
>
|
调解成功
|
</div>
|
<div
|
@click="tjClick('jg', 1)"
|
:class="[formInfo.eventResult == 1 ? 'check-color' : '']"
|
class="fl-cen cp mr-l-20 select-content"
|
>
|
调解失败
|
</div>
|
</div>
|
</el-form-item>
|
<el-form-item
|
label=""
|
prop="reportSuperior"
|
v-if="
|
pageLevel != 1 &&
|
formInfo.eventSucceed == 2 &&
|
formInfo.eventResult == 1
|
"
|
>
|
<!-- <h3 class="fz-10">上报上级</h3>-->
|
<!-- <div class="fl-fw mr-t-4">-->
|
<!-- <div-->
|
<!-- @click="tjClick('sb', true)"-->
|
<!-- :class="[formInfo.reportSuperior ? 'check-color' : '']"-->
|
<!-- class="fl-cen cp select-content"-->
|
<!-- >-->
|
<!-- 是-->
|
<!-- </div>-->
|
<!-- <div-->
|
<!-- @click="tjClick('sb', false)"-->
|
<!-- :class="[!formInfo.reportSuperior ? 'check-color' : '']"-->
|
<!-- class="fl-cen cp mr-l-20 select-content"-->
|
<!-- >-->
|
<!-- 否-->
|
<!-- </div>-->
|
<!-- </div>-->
|
</el-form-item>
|
<el-form-item label="">
|
<h3 class="fz-10">调解情况</h3>
|
</el-form-item>
|
<el-form-item label="" prop="currentEventProcessResult">
|
<el-input
|
style="width: 400px"
|
type="textarea"
|
v-model="formInfo.currentEventProcessResult"
|
resize="none"
|
placeholder="请填写最新的调解情况"
|
maxlength="500"
|
:rows="6"
|
show-word-limit
|
>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="">
|
<UploadImg
|
@fileHandle="fileHandle"
|
:imgShow="formInfo.photo"
|
:imgNum="9"
|
/>
|
</el-form-item>
|
<el-form-item label="">
|
<div class="v-y jabg-content">
|
<h3 class="fz-10 mr-b-10">最新进展</h3>
|
<div
|
v-for="(item, index) in transferLog"
|
:key="index"
|
class="fl-co lh-10"
|
>
|
<div class="mr-b-10">
|
<div class="fl-al">
|
<span>2019-09-09 12:23</span>
|
<span class="mr-l-20"
|
>{{ item.processByName }}回复</span
|
>
|
</div>
|
<div class="lh-14 mr-t-4">
|
{{ item.processResult }}
|
</div>
|
<div class="fl-fw mr-t-10">
|
<el-image
|
v-for="(it, ix) in item.images"
|
:key="ix"
|
class="img-style"
|
:src="it.url"
|
:preview-src-list="[it.url]"
|
fit="cover"
|
>
|
</el-image>
|
</div>
|
</div>
|
</div>
|
<div v-if="!transferLog.length">暂无最新进展</div>
|
</div>
|
</el-form-item>
|
<el-form-item label="">
|
<h3 class="fz-10 mr-b-10">调解事件</h3>
|
<div class="fl-co lh-10 jabg-content2">
|
<div>
|
<div class="fl-al">
|
<span>{{ eventDetail.createAt }}</span>
|
<span class="mr-l-20">{{
|
eventDetail.requestUserName
|
}}</span>
|
</div>
|
<div class="lh-14 mr-t-4">
|
#{{ eventDetail.categoryName }}
|
{{ eventDetail.requestUserEventDes }}
|
</div>
|
<div class="fl-fw mr-t-10" v-if="eventDetail.images.length">
|
<el-image
|
v-for="(it, ix) in eventDetail.images"
|
:key="ix"
|
class="img-style"
|
:src="it.url"
|
:preview-src-list="[it.url]"
|
fit="cover"
|
></el-image>
|
</div>
|
</div>
|
</div>
|
</el-form-item>
|
</div>
|
</el-form>
|
<div class="fl-cen">
|
<el-button @click="handleClose">取 消</el-button>
|
<el-button
|
type="primary"
|
@click="handleAction('submit')"
|
:loading="btnloading"
|
>提交</el-button
|
>
|
</div>
|
</el-dialog>
|
</div>
|
</div>
|
</template>
|
<script>
|
import { TYPE_LIST, IS_LIST } from "./dictionaries";
|
import UploadImg from "../../../components/upload/uploadImg.vue";
|
import { objCopyPro, showToast, dateTime } from "../../../utils/common";
|
export default {
|
components: {
|
UploadImg,
|
},
|
data() {
|
return {
|
loading: false, // 页面loading
|
btnloading: false, // 提交按钮loading
|
tableLsit: [], // 列表
|
columnList: [
|
{ type: "index" },
|
{ label: "受理流水", key: "orderSn" },
|
{ label: "调解事件", key: "requestUserEventDes" },
|
{ label: "事件类型", key: "eventCategoryName" },
|
{ label: "提交用户", key: "requestUserName" },
|
{ label: "联系电话", key: "requestUserTel", width: "120px" },
|
{ label: "当前调解专家", key: "specialistName" },
|
{ label: "当前调解部门", key: "currentOrgName" },
|
// { label: "上报上级", key: "reportSuperior" },
|
{ label: "调解结果", key: "eventResult", width: "90px" },
|
{ type: "custom", label: "状态", slot: "pushStatus" },
|
{
|
type: "custom",
|
label: "操作",
|
width: "280",
|
slot: "btn",
|
},
|
], // 列表属性
|
isList: IS_LIST,
|
dialogTitle: "", // 弹框标题
|
dialogVisible: false, // 弹框状态
|
pageNum: 1, // 当前页
|
pageSize: 10, // 当前条数
|
total: 0, // 总数
|
formInfo: {
|
specterId: "", // 专家id
|
eventProcessStatus: "",
|
eventResult: "",
|
eventSucceed: 2,
|
images: [],
|
reportSuperior: false,
|
currentEventProcessResult: "",
|
result: "",
|
}, // 表单
|
rules: {
|
name: [
|
{
|
required: true,
|
message: "请输入姓名",
|
trigger: "blur",
|
},
|
],
|
currentEventProcessResult: [
|
{
|
required: true,
|
message: "请填写最新的调解情况",
|
trigger: "blur",
|
},
|
],
|
result: [
|
{
|
required: true,
|
message: "请填写结案报告,包含案件分析",
|
trigger: "blur",
|
},
|
],
|
eventProcessStatus: [
|
{
|
required: true,
|
message: "请确定受理专家",
|
trigger: "change",
|
},
|
],
|
specterId: [
|
{
|
required: true,
|
message: "请分配专家",
|
trigger: "change",
|
},
|
],
|
eventSucceed: [
|
{
|
required: true,
|
message: "请选择调解状态",
|
trigger: "change",
|
},
|
],
|
eventResult: [
|
{
|
required: true,
|
message: "请选择调解结果",
|
trigger: "change",
|
},
|
],
|
}, // 表单验证
|
searchVal: {
|
keyword: "",
|
eventProcessStatus: "",
|
reportSuperior: "",
|
eventCategory: "",
|
},
|
typeList: TYPE_LIST,
|
expertList: [],
|
showText: "",
|
showContent: "",
|
nowExpert: "",
|
// ----
|
eventDetail: {
|
images: [],
|
},
|
transferLog: [],
|
// ----
|
infoData1: "",
|
infoData2: "",
|
infoData3: "",
|
infoData4: "",
|
infoData5: "",
|
infoData6: "",
|
infoData7: "",
|
classList: [],
|
pageLevel: "",
|
pageDataInfo: {},
|
};
|
},
|
mounted() {
|
const USER_INFO = JSON.parse(localStorage.getItem("userInfo")) || {};
|
this.pageLevel = USER_INFO.level || '';
|
this.getClassList();
|
this.pageTopStitistic();
|
this.getTable();
|
},
|
methods: {
|
getClassList() {
|
this.$api.get("sanshuo/event/backList", { page: 1, size: 999 }, (res) => {
|
this.classList = [
|
{
|
name: "全部",
|
id: "",
|
},
|
...res.records,
|
];
|
});
|
},
|
speciaChange(val) {
|
this.expertList.forEach((item) => {
|
if (item.id === val) {
|
console.log(item);
|
this.showText = item.goodAt;
|
this.showContent = item.introduction;
|
}
|
});
|
},
|
pageTopStitistic() {
|
this.$api.get("sanshuo/comEvent/status/calculate", {}, (res) => {
|
res.forEach((item) => {
|
if (item.status == 0) {
|
this.infoData1 = item.sum;
|
}
|
if (item.status == 1) {
|
this.infoData2 = item.sum;
|
}
|
if (item.status == 2) {
|
this.infoData3 = item.sum;
|
}
|
if (item.status == 5) {
|
this.infoData4 = item.sum;
|
}
|
if (item.status == 6) {
|
this.infoData5 = item.sum;
|
}
|
if (item.status == 7) {
|
this.infoData6 = item.sum;
|
}
|
if (item.status == 8) {
|
this.infoData7 = item.sum;
|
}
|
});
|
});
|
},
|
fileHandle(data) {
|
if (data.type === "loading") {
|
this.btnloading = data.val;
|
} else {
|
const IMG_ARR = data.val.split(",");
|
this.formInfo.images = [];
|
IMG_ARR.forEach((it) => {
|
this.formInfo.images.push({
|
url: it,
|
});
|
});
|
}
|
},
|
// 获取列表
|
getTable() {
|
this.loading = true;
|
const requestData = Object.assign(
|
{
|
pageNo: this.pageNum,
|
pageSize: this.pageSize,
|
userType: 3,
|
},
|
this.searchVal
|
);
|
this.$api.post("sanshuo/comEvent/page", requestData, (res) => {
|
this.loading = false;
|
this.tableLsit = res.records || res;
|
this.tableLsit.forEach((item) => {
|
// if (item.currentProcessType == 1) {
|
// item.currentOrgName = "行业分中心调解";
|
// }
|
// if (item.currentProcessType == 2) {
|
// item.currentOrgName = "社区调解站";
|
// }
|
// if (item.currentProcessType == 3) {
|
// item.currentOrgName = "街道调解站";
|
// }
|
// if (item.currentProcessType == 4) {
|
// item.currentOrgName = "纠纷调解";
|
// }
|
// if (item.currentProcessType == 5) {
|
// item.currentOrgName = "社区调解站";
|
// }
|
item.reportSuperior = item.reportSuperior ? "是" : "否";
|
if (item.eventResult == 1) {
|
item.eventResult = "调解失败";
|
}
|
if (item.eventResult == 2) {
|
item.eventResult = "调解成功";
|
}
|
if (item.reportSuperior + "" == false) {
|
item.eventResult = "否";
|
}
|
if (item.reportSuperior + "" == true) {
|
item.eventResult = "是";
|
}
|
});
|
this.total = res.total;
|
});
|
},
|
// 切换条数
|
handleSizeChange(val) {
|
this.pageSize = val;
|
this.getTable();
|
},
|
// 切换页
|
handleCurrentChange(val) {
|
this.pageNum = val;
|
this.getTable();
|
},
|
tjClick(type, val) {
|
switch (type) {
|
// 新增
|
case "zt": {
|
this.formInfo.eventSucceed = val;
|
if (val == 2) {
|
this.formInfo.eventProcessStatus = 6;
|
} else {
|
this.formInfo.eventProcessStatus = "";
|
this.formInfo.eventResult = "";
|
this.formInfo.reportSuperior = false;
|
}
|
break;
|
}
|
case "jg": {
|
this.formInfo.reportSuperior = false;
|
this.formInfo.eventResult = val;
|
break;
|
}
|
case "sb": {
|
this.formInfo.reportSuperior = val;
|
break;
|
}
|
}
|
},
|
// 页面操作
|
async handleAction(type, row) {
|
switch (type) {
|
// 新增
|
case "cl": {
|
this.pageDataInfo = row;
|
this.dialogTitle = "受理处理";
|
this.formInfo.id = row.id;
|
this.dialogVisible = true;
|
this.nowExpert = row.specialistName;
|
break;
|
}
|
case "fp": {
|
this.dialogTitle = "分配专家";
|
this.formInfo.id = row.id;
|
this.$api.get(
|
"sanshuo/expert/backList",
|
{ page: 1, size: 9999 },
|
(res) => {
|
this.expertList = res.records;
|
this.dialogVisible = true;
|
}
|
);
|
break;
|
}
|
case "gh": {
|
this.dialogTitle = "更换专家";
|
this.formInfo.id = row.id;
|
this.nowExpert = row.specialistName;
|
// this.formInfo.specterId = row.specialistId;
|
// this.showText = row.specialistId;
|
// this.showContent = row.specialistId;
|
this.$api.get(
|
"sanshuo/expert/backList",
|
{ page: 1, size: 9999 },
|
(res) => {
|
this.expertList = res.records;
|
this.dialogVisible = true;
|
}
|
);
|
|
break;
|
}
|
case "gd": {
|
this.dialogTitle = "案件归档";
|
this.formInfo.id = row.id;
|
this.$api.get(`sanshuo/comEvent/detail/${row.id}`, {}, (res) => {
|
const { eventDetail, transferLog } = res;
|
eventDetail.createAt = dateTime(eventDetail.createAt);
|
this.eventDetail = eventDetail;
|
this.transferLog = transferLog;
|
this.dialogVisible = true;
|
});
|
break;
|
}
|
case "tj": {
|
this.dialogTitle = "调解";
|
this.formInfo.id = row.id;
|
if(this.formInfo.eventResult==1){
|
this.formInfo.reportSuperior = false
|
}
|
this.$api.get(`sanshuo/comEvent/detail/${row.id}`, {}, (res) => {
|
const { eventDetail, transferLog } = res;
|
eventDetail.createAt = dateTime(eventDetail.createAt);
|
this.eventDetail = eventDetail;
|
this.transferLog = transferLog;
|
this.dialogVisible = true;
|
});
|
break;
|
}
|
case "details": {
|
this.$router.push(`/hallDetails?id=${row.id}`);
|
break;
|
}
|
// 重置
|
case "reset": {
|
this.pageNum = 1;
|
this.pageSize = 10;
|
this.searchVal = {
|
keyword: "",
|
eventProcessStatus: "",
|
reportSuperior: "",
|
eventCategory: "",
|
};
|
this.getTable();
|
break;
|
}
|
// 删除
|
case "delete": {
|
this.$confirm(
|
"确定要删除该调解事件吗?删除后用户将无法查看,谨慎操作?",
|
{
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "info",
|
}
|
).then(() => {
|
this.$api.del(
|
"sanshuo/comEvent/remove/" + row.id,
|
{ id: row.id },
|
() => {
|
showToast("删除成功");
|
this.getTable();
|
}
|
);
|
});
|
break;
|
}
|
// 提交
|
case "submit": {
|
this.$refs.ruleForm.validate((val) => {
|
if (val) {
|
this.btnloading = true;
|
switch (this.dialogTitle) {
|
case "受理处理": {
|
if (this.formInfo.eventProcessStatus == 5) {
|
this.formInfo.specterId = this.pageDataInfo.specialistId;
|
this.$api.put(
|
`sanshuo/comEvent/accept/Request?id=${this.formInfo.id}&specterId=${this.formInfo.specterId}`,
|
this.formInfo,
|
() => {
|
this.btnloading = false;
|
this.dialogVisible = false;
|
this.handleClose();
|
this.getTable();
|
}
|
);
|
} else {
|
this.$api.put(
|
`sanshuo/comEvent/reject/Request?id=${this.formInfo.id}`,
|
this.formInfo,
|
() => {
|
this.btnloading = false;
|
this.dialogVisible = false;
|
this.handleClose();
|
this.getTable();
|
}
|
);
|
}
|
break;
|
}
|
case "分配专家": {
|
this.$api.put(
|
`sanshuo/comEvent/reappoint/Request?id=${this.formInfo.id}&specialistId=${this.formInfo.specterId}`,
|
this.formInfo,
|
() => {
|
this.btnloading = false;
|
this.handleClose();
|
this.getTable();
|
}
|
);
|
break;
|
}
|
case "更换专家": {
|
this.$api.put(
|
`sanshuo/comEvent/reappoint/Request?id=${this.formInfo.id}&specialistId=${this.formInfo.specterId}`,
|
this.formInfo,
|
() => {
|
this.btnloading = false;
|
this.handleClose();
|
this.getTable();
|
}
|
);
|
break;
|
}
|
case "调解": {
|
this.$api.put(
|
`sanshuo/comEvent/conciliation/Request`,
|
this.formInfo,
|
() => {
|
this.btnloading = false;
|
this.handleClose();
|
this.getTable();
|
}
|
);
|
break;
|
}
|
case "案件归档": {
|
this.$api.put(
|
`sanshuo/comEvent/archive/Request`,
|
this.formInfo,
|
() => {
|
this.btnloading = false;
|
this.handleClose();
|
this.getTable();
|
}
|
);
|
break;
|
}
|
}
|
}
|
});
|
break;
|
}
|
// 搜索
|
case "search": {
|
this.pageNum = 1;
|
this.pageSize = 10;
|
this.getTable();
|
break;
|
}
|
default: {
|
break;
|
}
|
}
|
},
|
// 关闭弹框
|
handleClose() {
|
this.$refs.ruleForm.resetFields(); // 重置form表单
|
this.formInfo = {
|
specterId: "", // 专家id
|
eventProcessStatus: "",
|
eventResult: "",
|
eventSucceed: 2,
|
images: [],
|
reportSuperior: false,
|
currentEventProcessResult: "",
|
result: "",
|
};
|
this.dialogTitle = "";
|
this.nowExpert = "";
|
this.showContent = "";
|
this.showText = "";
|
this.dialogVisible = false;
|
this.btnloading = false;
|
},
|
},
|
};
|
</script>
|
<style>
|
.el-dialog {
|
width: 800px !important;
|
}
|
</style>
|
<style scoped>
|
.input-width {
|
width: 250px;
|
}
|
|
.img-style {
|
margin: 0 10px 10px 0;
|
width: 100px;
|
height: 100px;
|
}
|
|
.jabg-content {
|
max-height: 350px;
|
min-height: 100px;
|
max-width: 500px;
|
}
|
.jabg-content2 {
|
/* max-height: 350px; */
|
max-width: 500px;
|
}
|
.select-content {
|
padding: 2px 14px;
|
border: 1px solid;
|
}
|
.check-color {
|
color: #0a77b6;
|
border: 1px solid #0a77b6;
|
}
|
.v-y {
|
overflow-y: scroll;
|
}
|
</style>
|