Commit 801a2702 authored by dcy's avatar dcy

Merge remote-tracking branch 'origin/dev' into dev

parents 5c5670a5 4bfc7fcb
...@@ -29,10 +29,7 @@ ...@@ -29,10 +29,7 @@
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
<el-form-item label="处理状态" prop="status"> <el-form-item label="处理状态" prop="status">
<el-select v-model="form.status" placeholder="请选择处理状态"> <span>{{ getDictDataLabel(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS, 1) }}</span>
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -90,7 +87,7 @@ ...@@ -90,7 +87,7 @@
import { createCustomerComplaint, updateCustomerComplaint, deleteCustomerComplaint, getCustomerComplaint, getCustomerComplaintPage, exportCustomerComplaintExcel } from "@/api/ecw/customerComplaint"; import { createCustomerComplaint, updateCustomerComplaint, deleteCustomerComplaint, getCustomerComplaint, getCustomerComplaintPage, exportCustomerComplaintExcel } from "@/api/ecw/customerComplaint";
import {getCustomerSelect} from '@/api/ecw/customer' import {getCustomerSelect} from '@/api/ecw/customer'
import DictSelector from '@/components/DictSelector' import DictSelector from '@/components/DictSelector'
import { DICT_TYPE } from '@/utils/dict' import { DICT_TYPE, getDictDatas, getDictDataLabel } from '@/utils/dict'
export default { export default {
name: "customerComplaints", name: "customerComplaints",
...@@ -107,6 +104,8 @@ export default { ...@@ -107,6 +104,8 @@ export default {
data() { data() {
return { return {
DICT_TYPE, DICT_TYPE,
getDictDatas,
getDictDataLabel,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -172,7 +171,7 @@ export default { ...@@ -172,7 +171,7 @@ export default {
orderId: undefined, orderId: undefined,
ladingbillId: undefined, ladingbillId: undefined,
content: undefined, content: undefined,
status: undefined, status: 1,
ascertainReason: undefined, ascertainReason: undefined,
plan: undefined, plan: undefined,
result: undefined, result: undefined,
......
...@@ -498,6 +498,10 @@ export default { ...@@ -498,6 +498,10 @@ export default {
if (!valid) { if (!valid) {
return; return;
} }
if (this.form.customerContacts.length === 0){
this.$modal.msgError("至少填写一个联系人信息");
return
}
// 修改的提交 // 修改的提交
if (this.form.id != null) { if (this.form.id != null) {
this.form.customerContacts.forEach(e => { this.form.customerContacts.forEach(e => {
...@@ -508,6 +512,8 @@ export default { ...@@ -508,6 +512,8 @@ export default {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
// this.getList(); // this.getList();
const obj = { path: "/customer/customer" };
this.$tab.closeOpenPage(obj);
}); });
return; return;
} }
...@@ -586,7 +592,7 @@ export default { ...@@ -586,7 +592,7 @@ export default {
// "customerId": 0, // "customerId": 0,
"department": "", "department": "",
"email": "", "email": "",
"isDefault": undefined, "isDefault": this.form.customerContacts.length === 0 ? 1 : 0,
"name": "", "name": "",
"phoneNew": "", "phoneNew": "",
"position": "", "position": "",
......
...@@ -68,11 +68,7 @@ ...@@ -68,11 +68,7 @@
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" /> <dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="国家" align="center" prop="country"> <el-table-column label="国家" align="center" prop="country" :formatter="countryFormatter"></el-table-column>
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COUNTRY" :value="scope.row.country" />
</template>
</el-table-column>
<el-table-column label="客户经理" align="center" prop="customerService" :formatter="customerServiceFn"> <el-table-column label="客户经理" align="center" prop="customerService" :formatter="customerServiceFn">
</el-table-column> </el-table-column>
<el-table-column label="客户状态" align="center" prop="status"> <el-table-column label="客户状态" align="center" prop="status">
...@@ -470,6 +466,7 @@ import {getNodeList} from "@/api/ecw/node" ...@@ -470,6 +466,7 @@ import {getNodeList} from "@/api/ecw/node"
import CustomerFollowList from "@/components/CustomerFollowList" import CustomerFollowList from "@/components/CustomerFollowList"
import customerComplaints from "@/components/customerComplaints" import customerComplaints from "@/components/customerComplaints"
import {listServiceUser} from "@/api/system/user"; import {listServiceUser} from "@/api/system/user";
import { getCountryListAll } from '@/api/ecw/country'
export default { export default {
name: "Customer", name: "Customer",
...@@ -527,7 +524,9 @@ export default { ...@@ -527,7 +524,9 @@ export default {
nodeList: [], nodeList: [],
showLine: false, showLine: false,
customerId:undefined, customerId:undefined,
customerServiceList:[] customerServiceList:[],
countryList: []
}; };
}, },
created() { created() {
...@@ -539,8 +538,15 @@ export default { ...@@ -539,8 +538,15 @@ export default {
console.log(r,'客服'); console.log(r,'客服');
this.customerServiceList = r.data; this.customerServiceList = r.data;
}) })
getCountryListAll().then(r => {
this.countryList = r.data
})
}, },
methods: { methods: {
countryFormatter(row, column, cellValue) {
const country = this.countryList.find((e) => e.id === cellValue)
return country?.nameZh
},
customerServiceFn(val){ customerServiceFn(val){
if(this.customerServiceList.length > 0){ if(this.customerServiceList.length > 0){
let index =this.customerServiceList.findIndex(item => item.id === val.customerService); let index =this.customerServiceList.findIndex(item => item.id === val.customerService);
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户名称" prop="customerId"> <el-form-item label="客户名称" prop="customerId">
<el-select v-model="form.customerId" placeholder="请选择客户名称" :disabled="!!customerId"> <el-select v-model="form.customerId" placeholder="请选择客户名称" :disabled="!!customerId" filterable>
<el-option <el-option
v-for="item in customerSelect" v-for="item in customerSelect"
:key="item.id" :key="item.id"
...@@ -121,7 +121,8 @@ ...@@ -121,7 +121,8 @@
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
<el-form-item label="处理状态" prop="status"> <el-form-item label="处理状态" prop="status">
<el-select v-model="form.status" placeholder="请选择处理状态"> <span v-if="!form.id">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS, 1) }}</span>
<el-select v-else v-model="form.status" placeholder="请选择处理状态">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" /> :key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select> </el-select>
...@@ -184,7 +185,7 @@ import { createCustomerComplaint, updateCustomerComplaint, deleteCustomerComplai ...@@ -184,7 +185,7 @@ import { createCustomerComplaint, updateCustomerComplaint, deleteCustomerComplai
import {getCustomerSelect} from '@/api/ecw/customer' import {getCustomerSelect} from '@/api/ecw/customer'
import CustomerFollow from "../../../components/CustomerFollow" import CustomerFollow from "../../../components/CustomerFollow"
import DictSelector from '@/components/DictSelector' import DictSelector from '@/components/DictSelector'
import { DICT_TYPE } from '@/utils/dict' import { DICT_TYPE, getDictDataLabel, getDictDatas } from '@/utils/dict'
export default { export default {
name: "CustomerComplaint", name: "CustomerComplaint",
...@@ -202,6 +203,8 @@ export default { ...@@ -202,6 +203,8 @@ export default {
data() { data() {
return { return {
DICT_TYPE, DICT_TYPE,
getDictDatas,
getDictDataLabel,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 导出遮罩层 // 导出遮罩层
...@@ -234,6 +237,8 @@ export default { ...@@ -234,6 +237,8 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
customerId: [{ required: true, message: "客户名称不能为空", trigger: "change" }], customerId: [{ required: true, message: "客户名称不能为空", trigger: "change" }],
type: [{ required: true, message: "投诉类型不能为空", trigger: "change" }],
content: [{ required: true, message: "投诉内容不能为空", trigger: "blur" }],
}, },
myFollowCustomerList: [], myFollowCustomerList: [],
...@@ -308,6 +313,8 @@ export default { ...@@ -308,6 +313,8 @@ export default {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加客户投诉"; this.title = "添加客户投诉";
// 新增客诉默认状态为待处理
this.form.status = 1;
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment