Commit 42c087ab authored by dragondean@qq.com's avatar dragondean@qq.com

Merge remote-tracking branch 'origin/pre-release' into pre-release

parents 41520827 a2a784e5
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
<script> <script>
import {createCustomer} from '@/api/ecw/customer' import {createCustomer} from '@/api/ecw/customer'
import {DICT_TYPE} from "@/utils/dict";
import {listServiceUser} from "@/api/system/user" import {listServiceUser} from "@/api/system/user"
import { getCountryListAll } from '@/api/ecw/country' import { getCountryListAll } from '@/api/ecw/country'
import {getCustomerContactsSelect} from '@/api/ecw/customerContacts' import {getCustomerContactsSelect} from '@/api/ecw/customerContacts'
...@@ -74,7 +75,7 @@ export default { ...@@ -74,7 +75,7 @@ export default {
data(){ data(){
return { return {
show: true, show: true,
DICT_TYPE,
// 表单参数 // 表单参数
form: { form: {
customerContacts:[{isDefault: 1}] customerContacts:[{isDefault: 1}]
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<script> <script>
export default { export default {
name: 'AppMain', name: "AppMain",
computed: { computed: {
cachedViews() { cachedViews() {
return this.$store.state.tagsView.cachedViews return this.$store.state.tagsView.cachedViews
...@@ -31,7 +31,7 @@ export default { ...@@ -31,7 +31,7 @@ export default {
overflow: hidden; overflow: hidden;
} }
.fixed-header+.app-main { .fixed-header + .app-main {
padding-top: 50px; padding-top: 50px;
} }
...@@ -41,7 +41,7 @@ export default { ...@@ -41,7 +41,7 @@ export default {
min-height: calc(100vh - 84px); min-height: calc(100vh - 84px);
} }
.fixed-header+.app-main { .fixed-header + .app-main {
padding-top: 84px; padding-top: 84px;
} }
} }
......
<template> <template>
<div style="display: inline-block"> <div style="display: inline-block">
<span @click="visible = true"> <slot></slot></span> <span @click="visible = true"> <slot></slot></span>
<el-dialog title="更多联系人" :visible.sync="visible"> <el-dialog title="更多联系人" :visible.sync="visible" append-to-body>
<div v-if="info"> <div v-if="info">
<div style="text-align: center;margin-bottom: 20px;" v-for="(item, index) in info" :key="index"> <div style="text-align: center;margin-bottom: 20px;" v-for="(item, index) in info" :key="index">
联系人{{index + 1}}{{$l(item, 'name')}} &ensp;&ensp;&ensp; 联系方式{{index + 1}}:+{{item.areaCode}} {{item.phoneNew}}<br/> 联系人{{index + 1}}{{$l(item, 'name')}} &ensp;&ensp;&ensp; 联系方式{{index + 1}}:+{{item.areaCode}} {{item.phoneNew}}<br/>
......
...@@ -6,8 +6,10 @@ ...@@ -6,8 +6,10 @@
<el-col :span="12"> <el-col :span="12">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{$t('保留客户')}}</span> <span>{{ $t('保留客户') }}</span>
<el-button type="success" size="small" style="float: right" @click="selectCustomer(1)">{{$t('请选择')}}</el-button> <el-button type="success" size="small" style="float: right" @click="selectCustomer(1)">
{{ $t('请选择') }}
</el-button>
</div> </div>
<el-form-item :label="$t('客户编号')+':'"> <el-form-item :label="$t('客户编号')+':'">
{{ retainCustomer.number }} {{ retainCustomer.number }}
...@@ -29,8 +31,10 @@ ...@@ -29,8 +31,10 @@
<el-col :span="12"> <el-col :span="12">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{$t('​被合并客户-非主客户')}}</span> <span>{{ $t('​被合并客户-非主客户') }}</span>
<el-button type="success" size="small" style="float: right" @click="selectCustomer(2)">{{$t('请选择')}}</el-button> <el-button type="success" size="small" style="float: right" @click="selectCustomer(2)">
{{ $t('请选择') }}
</el-button>
</div> </div>
<el-form-item :label="$t('客户编号')+':'"> <el-form-item :label="$t('客户编号')+':'">
{{ mergeCustomer.number }} {{ mergeCustomer.number }}
...@@ -52,12 +56,13 @@ ...@@ -52,12 +56,13 @@
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit">{{$t('确 定')}}</el-button> <el-button type="primary" @click="handleSubmit">{{ $t('确 定') }}</el-button>
<el-button @click="dialogVisible = false">{{$t('取 消')}}</el-button> <el-button @click="dialogVisible = false">{{ $t('取 消') }}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog append-to-body :title="$t('选择客户')" :visible.sync="customerDialogVisible" :close-on-click-modal="false" width="80%"> <el-dialog append-to-body :title="$t('选择客户')" :visible.sync="customerDialogVisible"
:close-on-click-modal="false" width="80%">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item :label="$t('客户编号')" prop="number"> <el-form-item :label="$t('客户编号')" prop="number">
<el-input <el-input
...@@ -105,10 +110,12 @@ ...@@ -105,10 +110,12 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{
$t("搜索") $t("搜索")
}}</el-button> }}
</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ <el-button icon="el-icon-refresh" @click="resetQuery">{{
$t("重置") $t("重置")
}}</el-button> }}
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table :data="list" v-loading="loading" border size="mini"> <el-table :data="list" v-loading="loading" border size="mini">
...@@ -119,7 +126,8 @@ ...@@ -119,7 +126,8 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户编号')" align="center"> <el-table-column :label="$t('客户编号')" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-link type="primary" @click.native="$router.push('/customer/query/' + row.id)">{{ row.number }}</el-link> <!-- <el-link type="primary" @click.native="$router.push('/customer/query/' + row.id)">{{ row.number }}</el-link>-->
{{ row.number }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户名称')" align="center"> <el-table-column :label="$t('客户名称')" align="center">
...@@ -136,31 +144,33 @@ ...@@ -136,31 +144,33 @@
></el-table-column> ></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"> <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{ row }"> <template v-slot="{ row }">
+{{ row.defaultContactPhone }} <br /> +{{ row.defaultContactPhone }} <br/>
<contacts :id="row.id"> <contacts :id="row.id">
<el-button type="text">更多</el-button> <el-button type="text">更多</el-button>
</contacts> </contacts>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户类别')" align="center"> <el-table-column :label="$t('客户类别')" align="center">
<template slot-scope="scope"> <template slot-scope="{ row }">
<dict-tag {{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (row.type||'').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ')}}
:type="DICT_TYPE.CUSTOMER_TYPE" <!-- <dict-tag-->
:value="scope.row.type" <!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
/> <!-- :value="scope.row.type"-->
<!-- />-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('角色')" align="center"> <el-table-column :label="$t('角色')" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
{{ getDictDatas2(DICT_TYPE.CUSTOMER_ROLE, (row.roles||'').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ')}} {{ getDictDatas2(DICT_TYPE.CUSTOMER_ROLE, (row.roles || '').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ') }}
<!-- <dict-tag--> <!-- <dict-tag-->
<!-- :type="DICT_TYPE.CUSTOMER_ROLE"--> <!-- :type="DICT_TYPE.CUSTOMER_ROLE"-->
<!-- :value="scope.row.roles"--> <!-- :value="scope.row.roles"-->
<!-- />--> <!-- />-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户经理')" align="center" prop="customerServiceName"></el-table-column> <el-table-column :label="$t('客户经理')" align="center" prop="customerServiceName"></el-table-column>
<el-table-column :label="$t('国籍')" 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="$t('出货渠道')" align="center"> <el-table-column :label="$t('出货渠道')" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
{{ channel(row.transportType) }} {{ channel(row.transportType) }}
...@@ -208,7 +218,7 @@ ...@@ -208,7 +218,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('入公海时间')" align="center" width="160"> <el-table-column :label="$t('入公海时间')" align="center" width="160">
<template v-slot="{ row }"> <template v-slot="{ row }">
{{ parseTime( row.enterOpenSeaTime ? row.enterOpenSeaTime : row.estimateEnterOpenSeaTime)}} {{ parseTime(row.enterOpenSeaTime ? row.enterOpenSeaTime : row.estimateEnterOpenSeaTime) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('入仓确认')" align="center"> <el-table-column :label="$t('入仓确认')" align="center">
...@@ -262,20 +272,21 @@ ...@@ -262,20 +272,21 @@
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList" /> @pagination="getList"/>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirm">{{$t('确 定')}}</el-button> <el-button type="primary" @click="confirm">{{ $t('确 定') }}</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getCustomerPage, customerMergeCus } from "@/api/ecw/customer" import {getCustomerPage, customerMergeCus} from "@/api/ecw/customer"
import { getDictDatas, DICT_TYPE, getDictDatas2 } from "@/utils/dict" import {getDictDatas, DICT_TYPE, getDictDatas2} from "@/utils/dict"
import Contacts from "./contacts.vue"; import Contacts from "./contacts.vue";
import Template from "@/views/cms/template/index.vue"; import Template from "@/views/cms/template/index.vue";
import {getProductTypeList} from "@/api/ecw/productType"; import {getProductTypeList} from "@/api/ecw/productType";
export default { export default {
name: "CustomerMerge", name: "CustomerMerge",
components: { components: {
...@@ -386,7 +397,7 @@ export default { ...@@ -386,7 +397,7 @@ export default {
return (id) => { return (id) => {
if (id) { if (id) {
let strName = '' let strName = ''
for(const item of this.customerSelectFn) { for (const item of this.customerSelectFn) {
if (item.id == id) { if (item.id == id) {
strName = item.name strName = item.name
break break
...@@ -401,9 +412,6 @@ export default { ...@@ -401,9 +412,6 @@ export default {
}, },
created() { created() {
this.getList(); this.getList();
getProductTypeList().then((r) => {
this.productTypeList = r.data;
});
}, },
methods: { methods: {
init() { init() {
...@@ -413,7 +421,12 @@ export default { ...@@ -413,7 +421,12 @@ export default {
selectCustomer(type) { selectCustomer(type) {
this.type = type this.type = type
this.customerId = null this.customerId = null
this.queryParams = {
pageNo: 1,
pageSize: 10
}
this.customerDialogVisible = true this.customerDialogVisible = true
this.getList();
}, },
handleSubmit() { handleSubmit() {
if (!this.retainCustomer.id) { if (!this.retainCustomer.id) {
...@@ -439,7 +452,7 @@ export default { ...@@ -439,7 +452,7 @@ export default {
const h = this.$createElement; const h = this.$createElement;
this.$msgbox({ this.$msgbox({
title: '注意事项', title: '注意事项',
message: h('div', { class: 'stips' }, [ message: h('div', {class: 'stips'}, [
h('p', null, '1. 保留客户和非主客户,不能在两个不同的客户经理名下,请先确认两个客户在同一个客户经理名下'), h('p', null, '1. 保留客户和非主客户,不能在两个不同的客户经理名下,请先确认两个客户在同一个客户经理名下'),
h('p', null, '2. 被合并客户,提交后会直接删除'), h('p', null, '2. 被合并客户,提交后会直接删除'),
h('p', null, '3. 合并后,非主客户的联系人,跟进记录,报价单,订单,客户投诉,品牌授权都迁移到保留客户中,其他信息不会迁移,如需要维护非主客户的客户档案信息到保留客户中,请先维护好再操作'), h('p', null, '3. 合并后,非主客户的联系人,跟进记录,报价单,订单,客户投诉,品牌授权都迁移到保留客户中,其他信息不会迁移,如需要维护非主客户的客户档案信息到保留客户中,请先维护好再操作'),
......
This diff is collapsed.
...@@ -101,7 +101,8 @@ ...@@ -101,7 +101,8 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户类别')" align="center" prop="sourse"> <el-table-column :label="$t('客户类别')" align="center" prop="sourse">
<template v-slot="{row}"> <template v-slot="{row}">
<dict-tag :value="row.type" :type="DICT_TYPE.CUSTOMER_TYPE" /> {{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (row.type||'').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ')}}
<!-- <dict-tag :value="row.type" :type="DICT_TYPE.CUSTOMER_TYPE" />-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180"> <el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
...@@ -130,16 +131,18 @@ ...@@ -130,16 +131,18 @@
<script> <script>
import {updateCustomer, getCustomer, import {updateCustomer, getCustomer,
getCustomerPage, exportCustomerExcel } from "@/api/ecw/indirectCustomer"; getCustomerPage, exportCustomerExcel } from "@/api/ecw/indirectCustomer";
import { getDictDatas, DICT_TYPE } from '@/utils/dict'; import { getDictDatas, DICT_TYPE, getDictDatas2 } from '@/utils/dict';
import {listServiceUser} from "@/api/system/user"; import {listServiceUser} from "@/api/system/user";
import {exportCustomerComplaintExcel} from "@/api/ecw/customerComplaint"; import {exportCustomerComplaintExcel} from "@/api/ecw/customerComplaint";
import {indirectCustomerExportExcel} from "@/api/ecw/customer"; import {indirectCustomerExportExcel} from "@/api/ecw/customer";
import AreaCodeSelector from "@/components/AreaCodeSelector/index.vue"; import AreaCodeSelector from "@/components/AreaCodeSelector/index.vue";
import Template from "@/views/cms/template/index.vue";
export default { export default {
name: "EcwCustomerIndirectcustomer", name: "EcwCustomerIndirectcustomer",
components: { components: {
Template,
AreaCodeSelector AreaCodeSelector
}, },
activated() { activated() {
...@@ -149,6 +152,7 @@ export default { ...@@ -149,6 +152,7 @@ export default {
return { return {
exportLoading:false, exportLoading:false,
getDictDatas, getDictDatas,
getDictDatas2,
DICT_TYPE, DICT_TYPE,
// 遮罩层 // 遮罩层
loading: true, loading: true,
......
This diff is collapsed.
...@@ -454,11 +454,12 @@ ...@@ -454,11 +454,12 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户类别')" align="center" prop="status"> <el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="{ row }">
<dict-tag {{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (row.type||'').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ')}}
:type="DICT_TYPE.CUSTOMER_TYPE" <!-- <dict-tag-->
:value="scope.row.type" <!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
/> <!-- :value="scope.row.type"-->
<!-- />-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('角色')" align="center" prop="status"> <el-table-column :label="$t('角色')" align="center" prop="status">
......
...@@ -451,11 +451,12 @@ ...@@ -451,11 +451,12 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户类别')" align="center" prop="status"> <el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="{ row }">
<dict-tag {{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (row.type||'').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ')}}
:type="DICT_TYPE.CUSTOMER_TYPE" <!-- <dict-tag-->
:value="scope.row.type" <!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
/> <!-- :value="scope.row.type"-->
<!-- />-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('角色')" align="center" prop="status"> <el-table-column :label="$t('角色')" align="center" prop="status">
......
This diff is collapsed.
...@@ -503,11 +503,12 @@ ...@@ -503,11 +503,12 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户类别')" align="center" prop="status"> <el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="{ row }">
<dict-tag {{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (row.type||'').split(',')).map(e => isChinese ? e.label : e.labelEn).join(', ')}}
:type="DICT_TYPE.CUSTOMER_TYPE" <!-- <dict-tag-->
:value="scope.row.type" <!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
/> <!-- :value="scope.row.type"-->
<!-- />-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('角色')" align="center" prop="status"> <el-table-column :label="$t('角色')" align="center" prop="status">
......
This diff is collapsed.
...@@ -1625,7 +1625,7 @@ export default { ...@@ -1625,7 +1625,7 @@ export default {
for(const i in this.form.orderItemVOList){ for(const i in this.form.orderItemVOList){
const item = this.form.orderItemVOList[i] const item = this.form.orderItemVOList[i]
if(!item.prodId){ if(!item.prodId){
return this.$message.error(this.$t(`第{index}行未选择商品`, i+1)) return this.$message.error(this.$t(`第${Number(i) + 1}行未选择商品`, i+1))
} }
} }
......
...@@ -401,6 +401,7 @@ ...@@ -401,6 +401,7 @@
<script> <script>
//国家列表接口 //国家列表接口
import { getCountryListAll } from "@/api/ecw/country"; import { getCountryListAll } from "@/api/ecw/country";
import { DICT_TYPE, getDictDatas, getDictDatas2 } from '@/utils/dict'
import UserSelector from "@/components/UserSelector"; import UserSelector from "@/components/UserSelector";
import { listServiceUser2 } from "@/api/system/user"; import { listServiceUser2 } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
...@@ -482,6 +483,9 @@ export default { ...@@ -482,6 +483,9 @@ export default {
return { return {
// 遮罩层 // 遮罩层
loading: true, loading: true,
getDictDatas2,
getDictDatas,
DICT_TYPE,
// 导出遮罩层 // 导出遮罩层
exportLoading: false, exportLoading: false,
// 显示搜索条件 // 显示搜索条件
...@@ -849,4 +853,3 @@ export default { ...@@ -849,4 +853,3 @@ export default {
}, },
}; };
</script> </script>
\ No newline at end of file
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