Commit 801a2702 authored by dcy's avatar dcy

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

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