Commit 542d3768 authored by dcy's avatar dcy

待分配客户列表国际化

parent af402764
...@@ -4,60 +4,60 @@ ...@@ -4,60 +4,60 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="客户编号" prop="number"> <el-form-item :label="$t('客户编号')" prop="number">
<el-input v-model="queryParams.number" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="客户名称" prop="name"> <el-form-item :label="$t('客户名称')" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.name" :placeholder="$t('请输入客户名称')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="客户等级" prop="level"> <el-form-item :label="$t('客户等级')" prop="level">
<el-select clearable v-model="queryParams.level" placeholder="请选择客户等级" clearable size="small"> <el-select clearable v-model="queryParams.level" :placeholder="$t('请选择客户等级')" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="联系方式"> <el-form-item :label="$t('联系方式')">
<el-input placeholder="请输入联系方式" v-model="queryParams.defaultContactPhone"></el-input> <el-input :placeholder="$t('请输入联系方式')" v-model="queryParams.defaultContactPhone"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="客户类别" prop="level"> <el-form-item :label="$t('客户类别')" prop="level">
<dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" multiple v-model="queryParams.type"></dict-selector> <dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" multiple v-model="queryParams.type"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item label="客户经理" prop="customerService"> <el-form-item :label="$t('客户经理')" prop="customerService">
<el-select clearable v-model="queryParams.customerService" placeholder="请选择客户经理" clearable size="small"> <el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-option v-for="dict in customerServiceList" <el-option v-for="dict in customerServiceList"
:key="dict.id" :label="dict.nickname" :value="dict.id"/> :key="dict.id" :label="dict.nickname" :value="dict.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="客户来源" prop="source"> <el-form-item :label="$t('客户来源')" prop="source">
<el-select clearable v-model="queryParams.source" placeholder="请选择客户来源" clearable size="small"> <el-select clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="国家" prop="source"> <el-form-item :label="$t('国家')" prop="source">
<el-select clearable v-model="form.country" placeholder="请选择国家"> <el-select clearable v-model="form.country" :placeholder="$t('请选择国家')">
<el-option v-for="dict in countryList" <el-option v-for="dict in countryList"
:key="dict.id" :label="dict.nameZh" :value="parseInt(dict.id)" /> :key="dict.id" :label="dict.nameZh" :value="parseInt(dict.id)" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="客户状态" prop="status"> <el-form-item :label="$t('客户状态')" prop="status">
<el-select clearable v-model="queryParams.status" placeholder="请选择客户状态" clearable size="small"> <el-select clearable v-model="queryParams.status" :placeholder="$t('请选择客户状态')" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <el-form-item :label="$t('创建时间')">
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" /> type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
<el-form-item label="信用等级" prop="department"> <el-form-item :label="$t('信用等级')" prop="department">
<el-select clearable v-model="form.level" > <el-select clearable v-model="form.level" >
<el-option v-for="(item,index) in creditList" :label="item.nameZh" :key="index" :value="item.id" ></el-option> <el-option v-for="(item,index) in creditList" :label="item.nameZh" :key="index" :value="item.id" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -65,16 +65,16 @@ ...@@ -65,16 +65,16 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:customer:create']">新增</el-button> v-hasPermi="['ecw:customer:create']">{{$t('新增')}}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">导出</el-button> v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-col :span="1.5" > <el-col :span="1.5" >
<el-button :disabled="selectCustomerList.length === 0" type="primary" size="mini" @click="batchTransferShow = true;" :loading="exportLoading" <el-button :disabled="selectCustomerList.length === 0" type="primary" size="mini" @click="batchTransferShow = true;" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">批量移交</el-button> v-hasPermi="['ecw:customer:export']">{{$t('批量移交')}}</el-button>
</el-col> </el-col>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
...@@ -86,44 +86,44 @@ ...@@ -86,44 +86,44 @@
type="selection" type="selection"
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column label="客户编号" align="center" prop="number" /> <el-table-column :label="$t('客户编号')" align="center" prop="number" />
<el-table-column label="客户名称" align="center" prop="name" /> <el-table-column :label="$t('客户名称')" align="center" prop="name" />
<el-table-column label="客户等级" align="center" prop="vipLevelNameZh"> <el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope"> <template slot-scope="scope">
<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="信用等级" prop="creditLevelNameZh"></el-table-column> <el-table-column :label="$t('信用等级')" prop="creditLevelNameZh"></el-table-column>
<el-table-column label="客户状态" align="center" prop="status"> <el-table-column :label="$t('客户状态')" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="主联系人" prop="defaultContactName"></el-table-column> <el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column label="主联系方式" prop="defaultContactPhone"></el-table-column> <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180"> <el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="客户经理" align="center" prop="customerService" :formatter="customerServiceFn"> <el-table-column :label="$t('客户经理')" align="center" prop="customerService" :formatter="customerServiceFn">
</el-table-column> </el-table-column>
<el-table-column label="国家" align="center" prop="country" :formatter="countryFormatter"></el-table-column> <el-table-column :label="$t('国家')" align="center" prop="country" :formatter="countryFormatter"></el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer:update']">编辑</el-button> v-hasPermi="['ecw:customer:update']">{{$t('编辑')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer:delete']">删除</el-button> v-hasPermi="['ecw:customer:delete']">{{$t('删除')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="distribution(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="distribution(scope.row)"
v-hasPermi="['ecw:customer:delete']">分配客服</el-button> v-hasPermi="['ecw:customer:delete']">{{$t('分配客服')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 移交 --> <!-- 移交 -->
<el-dialog <el-dialog
center center
title="客服" :title="$t('客服')"
:visible.sync="transferShow" :visible.sync="transferShow"
width="30%"> width="30%">
<div style="width: 100%;min-height: 200px;text-align: center;"> <div style="width: 100%;min-height: 200px;text-align: center;">
...@@ -135,8 +135,8 @@ ...@@ -135,8 +135,8 @@
</el-select> </el-select>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="transferShow = false">取 消</el-button> <el-button @click="transferShow = false">{{$t('取 消')}}</el-button>
<el-button type="primary" @click="transferFn">确 定</el-button> <el-button type="primary" @click="transferFn">{{$t('确 定')}}</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 分页组件 --> <!-- 分页组件 -->
...@@ -198,15 +198,15 @@ export default { ...@@ -198,15 +198,15 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
name: [{ required: true, message: "客户名称不能为空", trigger: "blur" }], name: [{ required: true, message: this.$t('客户名称不能为空'), trigger: "blur" }],
country: [{ required: true, message: "国家不能为空", trigger: "blur" }], country: [{ required: true, message: this.$t('国家不能为空'), trigger: "blur" }],
level: [{ required: true, message: "客户等级不能为空", trigger: "blur" }], level: [{ required: true, message: this.$t('客户等级不能为空'), trigger: "blur" }],
type: [{ required: true, message: "客户类别不能为空", trigger: "blur" }], type: [{ required: true, message: this.$t('客户类别不能为空'), trigger: "blur" }],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }], // createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
source: [{ required: true, message: "客户来源不能为空", trigger: "blur" }], source: [{ required: true, message: this.$t('客户来源不能为空'), trigger: "blur" }],
customerService: [{ required: true, message: "客户经理不能为空", trigger: "blur" }], customerService: [{ required: true, message: this.$t('客户经理不能为空'), trigger: "blur" }],
status: [{ required: true, message: "客户状态不能为空", trigger: "blur" }], status: [{ required: true, message: this.$t('客户状态不能为空'), trigger: "blur" }],
founder: [{ required: true, message: "创建人不能为空", trigger: "blur" }], founder: [{ required: true, message: this.$t('创建人不能为空'), trigger: "blur" }],
}, },
// 网点 // 网点
nodeList: [], nodeList: [],
...@@ -345,7 +345,7 @@ export default { ...@@ -345,7 +345,7 @@ export default {
// 修改的提交 // 修改的提交
if (this.form.id != null) { if (this.form.id != null) {
updateCustomer(this.form).then(response => { updateCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess(this.$t('修改成功'));
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
...@@ -353,7 +353,7 @@ export default { ...@@ -353,7 +353,7 @@ export default {
} }
// 添加的提交 // 添加的提交
createCustomer(this.form).then(response => { createCustomer(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess(this.$t('新增成功'));
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
...@@ -362,11 +362,11 @@ export default { ...@@ -362,11 +362,11 @@ export default {
/** 移交按钮操作 */ /** 移交按钮操作 */
handleDelete(row) { handleDelete(row) {
const id = row.id; const id = row.id;
this.$modal.confirm('是否确认删除客户编号为"' + id + '"的数据项?').then(function() { this.$modal.confirm(this.$t('是否确认删除客户编号为"') + id + this.$t('"的数据项?')).then(function() {
return deleteCustomer(id); return deleteCustomer(id);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess(this.$t('删除成功'));
}).catch(() => {}); }).catch(() => {});
}, },
//分配客服 //分配客服
...@@ -377,7 +377,7 @@ export default { ...@@ -377,7 +377,7 @@ export default {
}, },
transferFn(){ transferFn(){
if(!this.service){ if(!this.service){
return this.$message.warning('请选择客户经理!'); return this.$message.warning(this.$t('请选择客户经理!'));
} }
handOverCustomer({ handOverCustomer({
customerServiceId:this.service, customerServiceId:this.service,
...@@ -387,7 +387,7 @@ export default { ...@@ -387,7 +387,7 @@ export default {
this.transferShow = false; this.transferShow = false;
this.service = ''; this.service = '';
this.getList(); this.getList();
this.$message.success('移交成功!'); this.$message.success(this.$t('移交成功!'));
} }
}) })
}, },
...@@ -399,11 +399,11 @@ export default { ...@@ -399,11 +399,11 @@ export default {
params.pageSize = undefined; params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出 // 执行导出
this.$modal.confirm('是否确认导出所有客户数据项?').then(() => { this.$modal.confirm(this.$t('是否确认导出所有客户数据项?')).then(() => {
this.exportLoading = true; this.exportLoading = true;
return exportCustomerExcel(params); return exportCustomerExcel(params);
}).then(response => { }).then(response => {
this.$download.excel(response, '${table.classComment}.xls'); this.$download.excel(response, `${this.$t('待分配客户')}.xls`);
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {});
}, },
......
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