|
|
|
@ -17,21 +17,6 @@
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="创建日期" prop="createTime">-->
|
|
|
|
|
<!-- <el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"-->
|
|
|
|
|
<!-- range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label="业务实体" prop="company">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.company"
|
|
|
|
|
placeholder="请输入业务实体"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="所属部门" prop="deptName">-->
|
|
|
|
|
<!-- <el-input v-model="queryParams.deptName" placeholder="请输入所属部门" clearable @keyup.enter.native="handleQuery"/>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label="客诉编号" prop="complaintCode">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.complaintCode"
|
|
|
|
@ -48,9 +33,6 @@
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="客户电话" prop="customerPhone">-->
|
|
|
|
|
<!-- <el-input v-model="queryParams.customerPhone" placeholder="请输入客户电话" clearable @keyup.enter.native="handleQuery"/>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label="客诉类型" prop="complaintType">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.complaintType"
|
|
|
|
@ -58,7 +40,12 @@
|
|
|
|
|
clearable
|
|
|
|
|
size="small"
|
|
|
|
|
>
|
|
|
|
|
<el-option label="请选择字典生成" value="" />
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in this.getDictDatas(DICT_TYPE.COMPLAINT_TYPE)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="客诉时间" prop="complaintTime">
|
|
|
|
@ -73,19 +60,6 @@
|
|
|
|
|
:default-time="['00:00:00', '23:59:59']"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="处理人" prop="handler">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.handler"
|
|
|
|
|
placeholder="请输入处理人"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="处理时间" prop="handleTime">-->
|
|
|
|
|
<!-- <el-date-picker v-model="queryParams.handleTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"-->
|
|
|
|
|
<!-- range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label="处理结果" prop="handleResult">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.handleResult"
|
|
|
|
@ -195,17 +169,6 @@
|
|
|
|
|
|
|
|
|
|
<!-- 列表 -->
|
|
|
|
|
<el-table v-loading="loading" :data="list">
|
|
|
|
|
<el-table-column label=" 制单人" align="center" prop="createBy" />
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="创建日期"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="createTime"
|
|
|
|
|
width="98px"
|
|
|
|
|
>
|
|
|
|
|
<template v-slot="scope">
|
|
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="业务实体" align="center" prop="company" />
|
|
|
|
|
<el-table-column label="所属部门" align="center" prop="deptName" />
|
|
|
|
|
<el-table-column label="客诉编号" align="center" prop="complaintCode" />
|
|
|
|
@ -218,7 +181,7 @@
|
|
|
|
|
width="98px"
|
|
|
|
|
>
|
|
|
|
|
<template v-slot="scope">
|
|
|
|
|
<span>{{ parseTime(scope.row.complaintTime) }}</span>
|
|
|
|
|
<span>{{ parseTime2(scope.row.complaintTime) }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
@ -247,7 +210,7 @@
|
|
|
|
|
width="98px"
|
|
|
|
|
>
|
|
|
|
|
<template v-slot="scope">
|
|
|
|
|
<span>{{ parseTime(scope.row.handleTime) }}</span>
|
|
|
|
|
<span>{{ parseTime2(scope.row.handleTime) }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="处理结果" align="center" prop="handleResult">
|
|
|
|
@ -292,12 +255,30 @@
|
|
|
|
|
/>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label=" 制单人" align="center" prop="createBy" />
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="创建日期"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="createTime"
|
|
|
|
|
width="98px"
|
|
|
|
|
>
|
|
|
|
|
<template v-slot="scope">
|
|
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="操作"
|
|
|
|
|
align="center"
|
|
|
|
|
class-name="small-padding fixed-width"
|
|
|
|
|
>
|
|
|
|
|
<template v-slot="scope">
|
|
|
|
|
<el-button
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
icon="el-icon-view"
|
|
|
|
|
@click="handleView(scope.row)"
|
|
|
|
|
>查看
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
@ -343,7 +324,20 @@
|
|
|
|
|
</el-col> -->
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="业务实体" prop="company">
|
|
|
|
|
<el-input v-model="form.company" placeholder="请输入业务实体" />
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="form.company"
|
|
|
|
|
placeholder="请选择业务实体"
|
|
|
|
|
value-key="id"
|
|
|
|
|
@change="handleCompanyChange"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in organizationList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:value="item"
|
|
|
|
|
:label="item.organizationName"
|
|
|
|
|
>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
@ -407,13 +401,22 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="处理人" prop="handler">
|
|
|
|
|
<el-input v-model="form.handler" placeholder="请输入处理人" />
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="form.handler"
|
|
|
|
|
filterable
|
|
|
|
|
placeholder="请选择处理人"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in userOptions"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:value="item.username"
|
|
|
|
|
:label="item.username"
|
|
|
|
|
>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-form-item label="客诉内容">
|
|
|
|
|
<editor v-model="form.complaintContent" :min-height="192" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="处理时间" prop="handleTime">
|
|
|
|
@ -426,7 +429,6 @@
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="处理结果" prop="handleResult">
|
|
|
|
|
<el-select
|
|
|
|
@ -442,7 +444,6 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="年度" prop="year">
|
|
|
|
|
<el-date-picker
|
|
|
|
@ -471,38 +472,17 @@
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="借阅状态" prop="borrowStatus">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="form.borrowStatus"
|
|
|
|
|
placeholder="请选择借阅状态 "
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in this.getDictDatas(DICT_TYPE.BORROW_STATUS)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="归档时间" prop="recordTime">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
<el-form-item label="纸档位置" prop="position">
|
|
|
|
|
<el-cascader
|
|
|
|
|
v-model="siteArray"
|
|
|
|
|
:options="siteOptions"
|
|
|
|
|
:props="propName"
|
|
|
|
|
placeholder="请选择纸档位置"
|
|
|
|
|
clearable
|
|
|
|
|
v-model="form.recordTime"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="timestamp"
|
|
|
|
|
placeholder="选择归档时间"
|
|
|
|
|
@change="handleSiteChanged"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="纸档位置" prop="position">
|
|
|
|
|
<el-input v-model="form.position" placeholder="请输入纸档位置" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="完整性" prop="cherks">
|
|
|
|
|
<el-select v-model="form.cherks" placeholder="请选择归档状态">
|
|
|
|
@ -515,24 +495,15 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="归档状态" prop="fileStatus">
|
|
|
|
|
<el-select v-model="form.fileStatus" placeholder="请选择归档状态">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in this.getDictDatas(
|
|
|
|
|
DICT_TYPE.ARCHIVES_FILE_STATUS
|
|
|
|
|
)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-form-item label="客诉内容">
|
|
|
|
|
<editor v-model="form.complaintContent" :min-height="192" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
<el-button type="primary" @click="submitForm" v-if="optType != 'view'"
|
|
|
|
|
>确 定</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
@ -549,6 +520,9 @@ import {
|
|
|
|
|
exportElectronicCustomerComplaintExcel,
|
|
|
|
|
} from "@/api/ea/electronicCustomerComplaint/electronicCustomerComplaint";
|
|
|
|
|
import Editor from "@/components/Editor";
|
|
|
|
|
import { getSiteTree } from "@/api/setting/organization";
|
|
|
|
|
import { getOrganizationPage } from "@/api/setting/organization";
|
|
|
|
|
import { listUser } from "@/api/system/user";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "ElectronicCustomerComplaint",
|
|
|
|
@ -557,8 +531,14 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
propName: {
|
|
|
|
|
label: "pName",
|
|
|
|
|
value: "pId",
|
|
|
|
|
multiple: false,
|
|
|
|
|
},
|
|
|
|
|
// 遮罩层
|
|
|
|
|
loading: true,
|
|
|
|
|
optType: undefined,
|
|
|
|
|
// 导出遮罩层
|
|
|
|
|
exportLoading: false,
|
|
|
|
|
// 显示搜索条件
|
|
|
|
@ -600,10 +580,17 @@ export default {
|
|
|
|
|
form: {},
|
|
|
|
|
// 表单校验
|
|
|
|
|
rules: {},
|
|
|
|
|
siteOptions: [], //归档位置数据
|
|
|
|
|
siteArray: [], //归档位置选中值
|
|
|
|
|
organizationList: [],
|
|
|
|
|
userOptions: [], //用户数据
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.getList();
|
|
|
|
|
this.getSiteList();
|
|
|
|
|
this.getOrganizationList();
|
|
|
|
|
this.getUserList();
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
/** 查询列表 */
|
|
|
|
@ -616,6 +603,57 @@ export default {
|
|
|
|
|
this.loading = false;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
//获取归档位置
|
|
|
|
|
getSiteList() {
|
|
|
|
|
getSiteTree().then((response) => {
|
|
|
|
|
this.siteOptions = response.data;
|
|
|
|
|
this.siteOptions.map((w) => {
|
|
|
|
|
w.children.map((l) => {
|
|
|
|
|
let lstr = JSON.stringify(l.children)
|
|
|
|
|
.replace(/depotId/g, "lId")
|
|
|
|
|
.replace(/cabinetId/g, "pId")
|
|
|
|
|
.replace(/cabinetName/g, "pName");
|
|
|
|
|
l.children = JSON.parse(lstr);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
let wstr = JSON.stringify(w.children)
|
|
|
|
|
.replace(/organizationId/g, "wId")
|
|
|
|
|
.replace(/depotId/g, "pId")
|
|
|
|
|
.replace(/depotName/g, "pName");
|
|
|
|
|
w.children = JSON.parse(wstr);
|
|
|
|
|
});
|
|
|
|
|
let ostr = JSON.stringify(this.siteOptions)
|
|
|
|
|
.replace(/organizationId/g, "pId")
|
|
|
|
|
.replace(/organizationName/g, "pName");
|
|
|
|
|
this.siteOptions = JSON.parse(ostr);
|
|
|
|
|
// console.log(this.siteOptions);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
//选择默认的归档位置
|
|
|
|
|
handleSiteChanged(obj) {
|
|
|
|
|
if (obj != null) {
|
|
|
|
|
this.form.organizationId = obj[0];
|
|
|
|
|
this.form.depotId = obj[1];
|
|
|
|
|
this.form.cabinetId = obj[2];
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 获取业务实体
|
|
|
|
|
getOrganizationList() {
|
|
|
|
|
getOrganizationPage().then((response) => {
|
|
|
|
|
this.organizationList = response.data.list;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 业务实体选择事件
|
|
|
|
|
handleCompanyChange(val) {
|
|
|
|
|
this.form.companyId = val.id;
|
|
|
|
|
this.form.company = val.organizationName;
|
|
|
|
|
},
|
|
|
|
|
//获取用户
|
|
|
|
|
getUserList() {
|
|
|
|
|
listUser().then((response) => {
|
|
|
|
|
this.userOptions = response.data.list;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 取消按钮 */
|
|
|
|
|
cancel() {
|
|
|
|
|
this.open = false;
|
|
|
|
@ -661,11 +699,24 @@ export default {
|
|
|
|
|
handleAdd() {
|
|
|
|
|
this.reset();
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.optType = "add";
|
|
|
|
|
this.title = "添加客诉档案";
|
|
|
|
|
},
|
|
|
|
|
/** 查看按钮操作 */
|
|
|
|
|
handleView(row) {
|
|
|
|
|
this.reset();
|
|
|
|
|
this.optType = "view";
|
|
|
|
|
const id = row.id;
|
|
|
|
|
getElectronicCustomerComplaint(id).then((response) => {
|
|
|
|
|
this.form = response.data;
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.title = "查看客诉档案";
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
|
handleUpdate(row) {
|
|
|
|
|
this.reset();
|
|
|
|
|
this.optType = "edit";
|
|
|
|
|
const id = row.id;
|
|
|
|
|
getElectronicCustomerComplaint(id).then((response) => {
|
|
|
|
|
this.form = response.data;
|
|
|
|
|