Commit a5ab90c5 authored by zhengyi's avatar zhengyi

客户列表相关页面搜索框排版调整

parent 3fae1c74
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="130px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<div class="search-z"> <div class="search-z">
<el-form-item :label="$t('客户编号')" prop="number"> <el-form-item :label="$t('客户编号')" prop="number">
<el-input v-model.trim="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery" @input="queryParams.number = queryParams.number.replace(/\s+/g, '')" /> <el-input v-model.trim="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery" @input="queryParams.number = queryParams.number.replace(/\s+/g, '')" />
...@@ -125,17 +125,17 @@ ...@@ -125,17 +125,17 @@
<el-option :label="$t('否')" :value="0" /> <el-option :label="$t('否')" :value="0" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch"> <el-form-item :label="$t('控货无收货人')" v-show="showSearch" label-width="100px">
<div style="width: 194px"> <div style="width: 194px">
<el-switch v-model="queryParams.noConsignee" /> <el-switch v-model="queryParams.noConsignee" />
</div> </div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('默认付款')" v-show="showSearch"> <el-form-item :label="$t('默认付款')" v-show="showSearch" label-width="70px">
<div style="width: 194px"> <div style="width: 194px">
<el-switch v-model="queryParams.defaultPay" /> <el-switch v-model="queryParams.defaultPay" />
</div> </div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('是否显示提单价格')" v-show="showSearch"> <el-form-item :label="$t('是否显示提单价格')" v-show="showSearch" label-width="130px">
<div style="width: 194px"> <div style="width: 194px">
<el-switch v-model="queryParams.isShowTidanPrice" /> <el-switch v-model="queryParams.isShowTidanPrice" />
</div> </div>
......
...@@ -21,10 +21,7 @@ ...@@ -21,10 +21,7 @@
:key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value"/> :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('市场获客')" prop="department"> <el-form-item :label="$t('市场获客')" prop="department">
<dict-selector clearable :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="queryParams.marketType" formatter="number" @change="handleQuery"></dict-selector> <dict-selector clearable :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="queryParams.marketType" formatter="number" @change="handleQuery"></dict-selector>
</el-form-item> </el-form-item>
...@@ -58,6 +55,10 @@ ...@@ -58,6 +55,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
......
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="130px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item :label="$t('客户编号')" prop="number"> <div class="search-z">
<el-input <el-form-item :label="$t('客户编号')" prop="number">
v-model.trim="queryParams.number" <el-input v-model.trim="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery" @input="queryParams.number = queryParams.number.replace(/\s+/g, '')" />
:placeholder="$t('请输入客户编号')" </el-form-item>
clearable <el-form-item :label="$t('客户名称')" prop="name">
@keyup.enter.native="handleQuery" <el-input v-model.trim="queryParams.name" :placeholder="$t('请输入客户名称')" clearable @keyup.enter.native="handleQuery" @input="queryParams.name = queryParams.name.replace(/\s+/g, '')" />
@input="queryParams.number=queryParams.number.replace(/\s+/g, '')" </el-form-item>
/> <el-form-item :label="$t('区号')">
</el-form-item> <el-select v-model="queryParams.areaCode" :placeholder="$t('请选择区号')">
<el-form-item :label="$t('客户名称')" prop="name"> <el-option v-for="(item, index) in countryList" :key="index" :label="item.nameShort + (isChinese ? item.nameZh : item.nameEn) + ' +' + item.tel" :value="item.tel" />
<el-input </el-select>
v-model.trim="queryParams.name" </el-form-item>
:placeholder="$t('请输入客户名称')" <el-form-item :label="$t('联系方式')">
clearable <el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
@keyup.enter.native="handleQuery" </el-form-item>
@input="queryParams.name=queryParams.name.replace(/\s+/g, '')" <el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">
/> <el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
</el-form-item> <el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />
<el-form-item :label="$t('区号')"> </el-select>
<el-select </el-form-item>
v-model="queryParams.areaCode" <el-form-item :label="$t('客户经理')" prop="customerService">
:placeholder="$t('请选择区号')" <el-select multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">
> <el-option v-for="dict in customerServiceList" :key="dict.id" :label="dict.nickname" :value="dict.id" />
<el-option </el-select>
v-for="(item, index) in countryList" </el-form-item>
:key="index" <el-form-item :label="$t('客户来源')" prop="source">
:label=" <el-select multiple clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small" @change="handleQuery">
item.nameShort + <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
(isChinese ? item.nameZh : item.nameEn) + </el-select>
' +' + </el-form-item>
item.tel <el-form-item :label="$t('客户类别')" prop="level">
" <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_TYPE" v-model="queryParams.type" @change="handleQuery"></dict-selector>
:value="item.tel" </el-form-item>
/> <el-form-item :label="$t('角色')">
</el-select> <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_ROLE" v-model="queryParams.role" formatter="number" @change="handleQuery" :placeholder="$t('请选择')"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item :label="$t('联系方式')"> <el-form-item :label="$t('客户状态')" prop="status">
<el-input <el-select multiple clearable v-model="queryParams.status" :placeholder="$t('请选择客户状态')" size="small" @change="handleQuery">
:placeholder="$t('请输入联系方式')" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
v-model.trim="queryParams.defaultContactPhone" </el-select>
@input="queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')" </el-form-item>
></el-input> <el-form-item :label="$t('国籍')" prop="country">
</el-form-item> <el-select multiple clearable v-model="queryParams.country" :placeholder="$t('请选择')" @change="handleQuery">
<el-form-item :label="$t('部门')"> <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
<el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')"> </el-select>
<el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id"/> </el-form-item>
</el-select> <el-form-item :label="$t('出货渠道')">
</el-form-item> <dict-selector multiple clearable :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" @change="handleQuery"></dict-selector>
<el-form-item :label="$t('客户经理')" prop="customerService"> </el-form-item>
<el-select
multiple
clearable
v-model="queryParams.customerService"
:placeholder="$t('请选择客户经理')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in customerServiceList"
:key="dict.id"
:label="dict.nickname"
:value="dict.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户来源')" prop="source">
<el-select
multiple
clearable
v-model="queryParams.source"
:placeholder="$t('请选择客户来源')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户类别')" prop="level">
<dict-selector
multiple
clearable
:type="DICT_TYPE.CUSTOMER_TYPE"
v-model="queryParams.type"
@change="handleQuery"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('角色')">
<dict-selector
multiple
clearable
:type="DICT_TYPE.CUSTOMER_ROLE"
v-model="queryParams.role"
formatter="number"
@change="handleQuery"
:placeholder="$t('请选择')"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('客户状态')" prop="status">
<el-select
multiple
clearable
v-model="queryParams.status"
:placeholder="$t('请选择客户状态')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('国籍')" prop="country">
<el-select
multiple
clearable
v-model="queryParams.country"
:placeholder="$t('请选择')"
@change="handleQuery"
>
<el-option
v-for="dict in countryList"
:key="dict.id"
:label="isChinese ? dict.nameZh : dict.nameEn"
:value="parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('出货渠道')">
<dict-selector
multiple
clearable
:type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE"
v-model="queryParams.transportType"
formatter="number"
@change="handleQuery"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('业务国家')" v-show="showSearch"> <el-form-item :label="$t('业务国家')" v-show="showSearch">
<el-select <el-select multiple clearable v-model="queryParams.busiCountryIds" :placeholder="$t('请选择')" @change="handleQuery">
multiple <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
clearable </el-select>
v-model="queryParams.busiCountryIds" </el-form-item>
:placeholder="$t('请选择')" <el-form-item :label="$t('常用提货网点')" v-show="showSearch">
@change="handleQuery" <el-select multiple v-model="queryParams.pickupPoints">
> <el-option v-for="item in getNodeLists" :key="item.id" :value="item.id" :label="isChinese ? item.titleZh : item.titleEn"></el-option>
<el-option </el-select>
v-for="dict in countryList" </el-form-item>
:key="dict.id" <el-form-item :label="$t('创建人')" v-show="showSearch">
:label="isChinese ? dict.nameZh : dict.nameEn" <el-select v-model="queryParams.founder">
:value="parseInt(dict.id)" <el-option v-for="item in allSimplList" :key="item.id" :label="item.nickname" :value="item.id"> </el-option>
/> </el-select>
</el-select> </el-form-item>
</el-form-item> <el-form-item :label="$t('业绩类型')" v-show="showSearch">
<el-form-item :label="$t('常用提货网点')" v-show="showSearch"> <el-select clearable v-model="queryParams.isNew">
<el-select multiple v-model="queryParams.pickupPoints"> <el-option :label="$t('新客户')" :value="true" />
<el-option <el-option :label="$t('老客户')" :value="false" />
v-for="item in getNodeLists" </el-select>
:key="item.id" </el-form-item>
:value="item.id" <el-form-item :label="$t('年度发货量')" v-show="showSearch">
:label="isChinese ? item.titleZh : item.titleEn" <el-input v-model.trim="weightYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="weightYearly.value = weightYearly.value.replace(/\s+/g, '')">
></el-option> <template slot="prepend">
</el-select> <dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="weightYearly.key" />
</el-form-item> </template>
<el-form-item :label="$t('创建人')" v-show="showSearch"> </el-input>
<el-select v-model="queryParams.founder"> </el-form-item>
<el-option <el-form-item :label="$t('商品类别')" v-show="showSearch">
v-for="item in allSimplList" <el-select @change="handleSelectProductType" multiple v-model="queryParams.productTypes" :placeholder="$t('请选择')">
:key="item.id" <el-option :label="item.titleZh" :value="item.id" v-for="item in productTypeList" :key="item.id" />
:label="item.nickname" </el-select>
:value="item.id" </el-form-item>
> <el-form-item :label="$t('商品名称')" v-show="showSearch">
</el-option> <el-select multiple filterable clearable v-model="queryParams.productIds" :placeholder="$t('请选择商品名称')">
</el-select> <el-option :label="item.titleZh" :value="parseInt(item.id)" v-for="item in productList" :key="item.id" />
</el-form-item> </el-select>
<el-form-item :label="$t('创建时间')" v-show="showSearch"> </el-form-item>
<el-date-picker <el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
type="datetimerange" <competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
clearable </el-form-item>
v-model="dateRangeCreateTime" <el-form-item :label="$t('年度发货次数')" v-show="showSearch">
style="width: 240px" <el-input v-model.trim="numYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="numYearly.value = numYearly.value.replace(/\s+/g, '')">
value-format="yyyy-MM-dd HH:mm:ss" <template slot="prepend">
range-separator="-" <dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="numYearly.key" />
:start-placeholder="$t('开始日期')" </template>
:end-placeholder="$t('结束日期')" </el-input>
/> </el-form-item>
</el-form-item> <el-form-item :label="$t('推介人')" v-show="showSearch">
<el-form-item :label="$t('入公海时间')" v-show="showSearch"> <el-select clearable remote :remote-method="remoteMethod" v-model="queryParams.promoter" :placeholder="$t('请输入推介人')" filterable>
<el-date-picker <el-option v-for="item in customerSelectFn" :key="item.id" :label="item.name" :value="item.id"> </el-option>
type="datetimerange" </el-select>
clearable </el-form-item>
v-model="enterOpenSeaTime" <el-form-item :label="$t('获取方式')" v-show="showSearch">
style="width: 240px" <el-select v-model="queryParams.getMethod" multiple :placeholder="$t('请选择')">
value-format="yyyy-MM-dd HH:mm:ss" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
range-separator="-" </el-select>
:start-placeholder="$t('开始日期')" </el-form-item>
:end-placeholder="$t('结束日期')" <el-form-item :label="$t('创建入口')" v-show="showSearch">
/> <el-select v-model="queryParams.createFroms" multiple :placeholder="$t('请选择')">
</el-form-item> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
<el-form-item :label="$t('业绩类型')" v-show="showSearch"> </el-select>
<el-select clearable v-model="queryParams.isNew"> </el-form-item>
<el-option :label="$t('新客户')" :value="true" /> <el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-option :label="$t('老客户')" :value="false" /> <el-select v-model="queryParams.balances" multiple :placeholder="$t('请选择结算方式')">
</el-select> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-form-item> </el-select>
<el-form-item :label="$t('年度发货量')" v-show="showSearch"> </el-form-item>
<el-input <el-form-item :label="$t('入仓确认')" v-show="showSearch">
v-model.trim="weightYearly.value" <el-select clearable v-model="queryParams.arrivalConfirm">
:placeholder="$t('请输入数字')" <el-option :label="$t('是')" :value="1" />
clearable <el-option :label="$t('否')" :value="0" />
@keyup.enter.native="handleQuery" </el-select>
@input="weightYearly.value=weightYearly.value.replace(/\s+/g, '')" </el-form-item>
> <el-form-item :label="$t('控货无收货人')" v-show="showSearch" label-width="100px">
<template slot="prepend"> <div style="width: 194px">
<dict-selector <el-switch v-model="queryParams.noConsignee" />
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" </div>
defaultable </el-form-item>
v-model="weightYearly.key" <el-form-item :label="$t('默认付款')" v-show="showSearch" label-width="70px">
class="w-50" <div style="width: 194px">
/> <el-switch v-model="queryParams.defaultPay" />
</template> </div>
</el-input> </el-form-item>
</el-form-item> <el-form-item :label="$t('是否显示提单价格')" v-show="showSearch" label-width="130px">
<el-form-item :label="$t('商品类别')" v-show="showSearch"> <div style="width: 194px">
<el-select <el-switch v-model="queryParams.isShowTidanPrice" />
@change="handleSelectProductType" </div>
multiple </el-form-item>
v-model="queryParams.productTypes" </div>
:placeholder="$t('请选择')" <div class="search-time">
> <el-form-item :label="$t('入公海时间')" v-show="showSearch">
<el-option <el-date-picker type="datetimerange" clearable v-model="enterOpenSeaTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
:label="item.titleZh" </el-form-item>
:value="item.id" <el-form-item :label="$t('归属时间')" v-show="showSearch">
v-for="item in productTypeList" <el-date-picker type="datetimerange" clearable v-model="customerServiceConfirmedTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
:key="item.id" </el-form-item>
/> <el-form-item :label="$t('首次成交时间')" v-show="showSearch">
</el-select> <el-date-picker type="datetimerange" clearable v-model="firstDealTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('商品名称')" v-show="showSearch">
<el-select <el-form-item :label="$t('创建时间')" v-show="showSearch">
multiple <el-date-picker type="datetimerange" clearable v-model="dateRangeCreateTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
filterable </el-form-item>
clearable <el-form-item style="padding-left: 20px">
v-model="queryParams.productIds" <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t("搜索") }}</el-button>
:placeholder="$t('请选择商品名称')" <el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
> </el-form-item>
<el-option </div>
:label="item.titleZh"
:value="parseInt(item.id)"
v-for="item in productList"
:key="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
<competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('年度发货次数')" v-show="showSearch">
<el-input
v-model.trim="numYearly.value"
:placeholder="$t('请输入数字')"
clearable
@keyup.enter.native="handleQuery"
@input="numYearly.value=numYearly.value.replace(/\s+/g, '')"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD"
defaultable
v-model="numYearly.key"
class="w-50"
/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('推介人')" v-show="showSearch">
<el-select
clearable
remote
:remote-method="remoteMethod"
v-model="queryParams.promoter"
:placeholder="$t('请输入推介人')"
filterable
>
<el-option
v-for="item in customerSelectFn"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('入仓确认')" v-show="showSearch">
<el-select clearable v-model="queryParams.arrivalConfirm">
<el-option :label="$t('是')" :value="1" />
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch">
<el-switch v-model="queryParams.noConsignee" />
</el-form-item>
<el-form-item :label="$t('默认付款')" v-show="showSearch">
<el-switch v-model="queryParams.defaultPay" />
</el-form-item>
<el-form-item :label="$t('是否显示提单价格')" v-show="showSearch">
<el-switch v-model="queryParams.isShowTidanPrice" />
</el-form-item>
<el-form-item :label="$t('归属时间')" v-show="showSearch">
<el-date-picker
type="datetimerange"
clearable
v-model="customerServiceConfirmedTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
/>
</el-form-item>
<el-form-item :label="$t('首次成交时间')" v-show="showSearch">
<el-date-picker
type="datetimerange"
clearable
v-model="firstDealTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
/>
</el-form-item>
<el-form-item :label="$t('获取方式')" v-show="showSearch">
<el-select
v-model="queryParams.getMethod"
multiple
:placeholder="$t('请选择')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('创建入口')" v-show="showSearch">
<el-select
v-model="queryParams.createFroms"
multiple
:placeholder="$t('请选择')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-select
v-model="queryParams.balances"
multiple
:placeholder="$t('请选择结算方式')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form> </el-form>
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
...@@ -930,7 +703,7 @@ export default { ...@@ -930,7 +703,7 @@ export default {
transferCustomer, transferCustomer,
AreaCodeSelector, AreaCodeSelector,
CustomerSetting, CustomerSetting,
customerFollow CustomerFollow
}, },
data() { data() {
return { return {
......
...@@ -2,393 +2,166 @@ ...@@ -2,393 +2,166 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="130px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item :label="$t('客户编号')" prop="number"> <div class="search-z">
<el-input <el-form-item :label="$t('客户编号')" prop="number">
v-model.trim="queryParams.number" <el-input v-model.trim="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery" @input="queryParams.number = queryParams.number.replace(/\s+/g, '')" />
:placeholder="$t('请输入客户编号')" </el-form-item>
clearable <el-form-item :label="$t('客户名称')" prop="name">
@keyup.enter.native="handleQuery" <el-input v-model.trim="queryParams.name" :placeholder="$t('请输入客户名称')" clearable @keyup.enter.native="handleQuery" @input="queryParams.name = queryParams.name.replace(/\s+/g, '')" />
@input="queryParams.number=queryParams.number.replace(/\s+/g, '')" </el-form-item>
/> <el-form-item :label="$t('区号')">
</el-form-item> <el-select v-model="queryParams.areaCode" :placeholder="$t('请选择区号')">
<el-form-item :label="$t('客户名称')" prop="name"> <el-option v-for="(item, index) in countryList" :key="index" :label="item.nameShort + (isChinese ? item.nameZh : item.nameEn) + ' +' + item.tel" :value="item.tel" />
<el-input </el-select>
v-model.trim="queryParams.name" </el-form-item>
:placeholder="$t('请输入客户名称')" <el-form-item :label="$t('联系方式')">
clearable <el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
@keyup.enter.native="handleQuery" </el-form-item>
@input="queryParams.name=queryParams.name.replace(/\s+/g, '')" <el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">
/> <el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
</el-form-item> <el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />
<el-form-item :label="$t('区号')"> </el-select>
<el-select </el-form-item>
v-model="queryParams.areaCode" <el-form-item :label="$t('客户经理')" prop="customerService">
:placeholder="$t('请选择区号')" <el-select multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">
> <el-option v-for="dict in customerServiceList" :key="dict.id" :label="dict.nickname" :value="dict.id" />
<el-option </el-select>
v-for="(item, index) in countryList" </el-form-item>
:key="index" <el-form-item :label="$t('客户来源')" prop="source">
:label=" <el-select multiple clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small" @change="handleQuery">
item.nameShort + <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
(isChinese ? item.nameZh : item.nameEn) + </el-select>
' +' + </el-form-item>
item.tel <el-form-item :label="$t('客户类别')" prop="level">
" <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_TYPE" v-model="queryParams.type" @change="handleQuery"></dict-selector>
:value="item.tel" </el-form-item>
/> <el-form-item :label="$t('角色')">
</el-select> <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_ROLE" v-model="queryParams.role" formatter="number" @change="handleQuery" :placeholder="$t('请选择')"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item :label="$t('联系方式')"> <el-form-item :label="$t('客户状态')" prop="status">
<el-input <el-select multiple clearable v-model="queryParams.status" :placeholder="$t('请选择客户状态')" size="small" @change="handleQuery">
:placeholder="$t('请输入联系方式')" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
v-model.trim="queryParams.defaultContactPhone" </el-select>
@input="queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')" </el-form-item>
></el-input> <el-form-item :label="$t('国籍')" prop="country">
</el-form-item> <el-select multiple clearable v-model="queryParams.country" :placeholder="$t('请选择')" @change="handleQuery">
<el-form-item :label="$t('部门')"> <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
<el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')"> </el-select>
<el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id"/> </el-form-item>
</el-select> <el-form-item :label="$t('出货渠道')">
</el-form-item> <dict-selector multiple clearable :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" @change="handleQuery"></dict-selector>
<el-form-item :label="$t('客户经理')" prop="customerService"> </el-form-item>
<el-select
multiple
clearable
v-model="queryParams.customerService"
:placeholder="$t('请选择客户经理')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in customerServiceList"
:key="dict.id"
:label="dict.nickname"
:value="dict.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户来源')" prop="source">
<el-select
multiple
clearable
v-model="queryParams.source"
:placeholder="$t('请选择客户来源')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户类别')" prop="level">
<dict-selector
multiple
clearable
:type="DICT_TYPE.CUSTOMER_TYPE"
v-model="queryParams.type"
@change="handleQuery"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('角色')">
<dict-selector
multiple
clearable
:type="DICT_TYPE.CUSTOMER_ROLE"
v-model="queryParams.role"
formatter="number"
@change="handleQuery"
:placeholder="$t('请选择')"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('客户状态')" prop="status">
<el-select
multiple
clearable
v-model="queryParams.status"
:placeholder="$t('请选择客户状态')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('国籍')" prop="country">
<el-select
multiple
clearable
v-model="queryParams.country"
:placeholder="$t('请选择')"
@change="handleQuery"
>
<el-option
v-for="dict in countryList"
:key="dict.id"
:label="isChinese ? dict.nameZh : dict.nameEn"
:value="parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('出货渠道')">
<dict-selector
multiple
clearable
:type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE"
v-model="queryParams.transportType"
formatter="number"
@change="handleQuery"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('业务国家')" v-show="showSearch"> <el-form-item :label="$t('业务国家')" v-show="showSearch">
<el-select <el-select multiple clearable v-model="queryParams.busiCountryIds" :placeholder="$t('请选择')" @change="handleQuery">
multiple <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
clearable </el-select>
v-model="queryParams.busiCountryIds" </el-form-item>
:placeholder="$t('请选择')" <el-form-item :label="$t('常用提货网点')" v-show="showSearch">
@change="handleQuery" <el-select multiple v-model="queryParams.pickupPoints">
> <el-option v-for="item in getNodeLists" :key="item.id" :value="item.id" :label="isChinese ? item.titleZh : item.titleEn"></el-option>
<el-option </el-select>
v-for="dict in countryList" </el-form-item>
:key="dict.id" <el-form-item :label="$t('创建人')" v-show="showSearch">
:label="isChinese ? dict.nameZh : dict.nameEn" <el-select v-model="queryParams.founder">
:value="parseInt(dict.id)" <el-option v-for="item in allSimplList" :key="item.id" :label="item.nickname" :value="item.id"> </el-option>
/> </el-select>
</el-select> </el-form-item>
</el-form-item> <el-form-item :label="$t('业绩类型')" v-show="showSearch">
<el-form-item :label="$t('常用提货网点')" v-show="showSearch"> <el-select clearable v-model="queryParams.isNew">
<el-select multiple v-model="queryParams.pickupPoints"> <el-option :label="$t('新客户')" :value="true" />
<el-option <el-option :label="$t('老客户')" :value="false" />
v-for="item in getNodeLists" </el-select>
:key="item.id" </el-form-item>
:value="item.id" <el-form-item :label="$t('年度发货量')" v-show="showSearch">
:label="isChinese ? item.titleZh : item.titleEn" <el-input v-model.trim="weightYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="weightYearly.value = weightYearly.value.replace(/\s+/g, '')">
></el-option> <template slot="prepend">
</el-select> <dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="weightYearly.key" />
</el-form-item> </template>
<el-form-item :label="$t('创建人')" v-show="showSearch"> </el-input>
<el-select v-model="queryParams.founder"> </el-form-item>
<el-option <el-form-item :label="$t('商品类别')" v-show="showSearch">
v-for="item in allSimplList" <el-select @change="handleSelectProductType" multiple v-model="queryParams.productTypes" :placeholder="$t('请选择')">
:key="item.id" <el-option :label="item.titleZh" :value="item.id" v-for="item in productTypeList" :key="item.id" />
:label="item.nickname" </el-select>
:value="item.id" </el-form-item>
> <el-form-item :label="$t('商品名称')" v-show="showSearch">
</el-option> <el-select multiple filterable clearable v-model="queryParams.productIds" :placeholder="$t('请选择商品名称')">
</el-select> <el-option :label="item.titleZh" :value="parseInt(item.id)" v-for="item in productList" :key="item.id" />
</el-form-item> </el-select>
<el-form-item :label="$t('创建时间')" v-show="showSearch"> </el-form-item>
<el-date-picker <el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
type="datetimerange" <competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
clearable </el-form-item>
v-model="dateRangeCreateTime" <el-form-item :label="$t('年度发货次数')" v-show="showSearch">
style="width: 240px" <el-input v-model.trim="numYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="numYearly.value = numYearly.value.replace(/\s+/g, '')">
value-format="yyyy-MM-dd HH:mm:ss" <template slot="prepend">
range-separator="-" <dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="numYearly.key" />
:start-placeholder="$t('开始日期')" </template>
:end-placeholder="$t('结束日期')" </el-input>
/> </el-form-item>
</el-form-item> <el-form-item :label="$t('推介人')" v-show="showSearch">
<el-form-item :label="$t('入公海时间')" v-show="showSearch"> <el-select clearable remote :remote-method="remoteMethod" v-model="queryParams.promoter" :placeholder="$t('请输入推介人')" filterable>
<el-date-picker <el-option v-for="item in customerSelectFn" :key="item.id" :label="item.name" :value="item.id"> </el-option>
type="datetimerange" </el-select>
clearable </el-form-item>
v-model="enterOpenSeaTime" <el-form-item :label="$t('获取方式')" v-show="showSearch">
style="width: 240px" <el-select v-model="queryParams.getMethod" multiple :placeholder="$t('请选择')">
value-format="yyyy-MM-dd HH:mm:ss" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
range-separator="-" </el-select>
:start-placeholder="$t('开始日期')" </el-form-item>
:end-placeholder="$t('结束日期')" <el-form-item :label="$t('创建入口')" v-show="showSearch">
/> <el-select v-model="queryParams.createFroms" multiple :placeholder="$t('请选择')">
</el-form-item> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
<el-form-item :label="$t('业绩类型')" v-show="showSearch"> </el-select>
<el-select clearable v-model="queryParams.isNew"> </el-form-item>
<el-option :label="$t('新客户')" :value="true" /> <el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-option :label="$t('老客户')" :value="false" /> <el-select v-model="queryParams.balances" multiple :placeholder="$t('请选择结算方式')">
</el-select> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-form-item> </el-select>
<el-form-item :label="$t('年度发货量')" v-show="showSearch"> </el-form-item>
<el-input <el-form-item :label="$t('入仓确认')" v-show="showSearch">
v-model.trim="weightYearly.value" <el-select clearable v-model="queryParams.arrivalConfirm">
:placeholder="$t('请输入数字')" <el-option :label="$t('是')" :value="1" />
clearable <el-option :label="$t('否')" :value="0" />
@keyup.enter.native="handleQuery" </el-select>
@input="weightYearly.value=weightYearly.value.replace(/\s+/g, '')" </el-form-item>
> <el-form-item :label="$t('控货无收货人')" v-show="showSearch" label-width="100px">
<template slot="prepend"> <div style="width: 194px">
<dict-selector <el-switch v-model="queryParams.noConsignee" />
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" </div>
defaultable </el-form-item>
v-model="weightYearly.key" <el-form-item :label="$t('默认付款')" v-show="showSearch" label-width="70px">
class="w-50" <div style="width: 194px">
/> <el-switch v-model="queryParams.defaultPay" />
</template> </div>
</el-input> </el-form-item>
</el-form-item> <el-form-item :label="$t('是否显示提单价格')" v-show="showSearch" label-width="130px">
<el-form-item :label="$t('商品类别')" v-show="showSearch"> <div style="width: 194px">
<el-select <el-switch v-model="queryParams.isShowTidanPrice" />
@change="handleSelectProductType" </div>
multiple </el-form-item>
v-model="queryParams.productTypes" </div>
:placeholder="$t('请选择')" <div class="search-time">
> <el-form-item :label="$t('入公海时间')" v-show="showSearch">
<el-option <el-date-picker type="datetimerange" clearable v-model="enterOpenSeaTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
:label="item.titleZh" </el-form-item>
:value="item.id" <el-form-item :label="$t('归属时间')" v-show="showSearch">
v-for="item in productTypeList" <el-date-picker type="datetimerange" clearable v-model="customerServiceConfirmedTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
:key="item.id" </el-form-item>
/> <el-form-item :label="$t('首次成交时间')" v-show="showSearch">
</el-select> <el-date-picker type="datetimerange" clearable v-model="firstDealTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('商品名称')" v-show="showSearch">
<el-select <el-form-item :label="$t('创建时间')" v-show="showSearch">
multiple <el-date-picker type="datetimerange" clearable v-model="dateRangeCreateTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
filterable </el-form-item>
clearable <el-form-item style="padding-left: 20px">
v-model="queryParams.productIds" <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t("搜索") }}</el-button>
:placeholder="$t('请选择商品名称')" <el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
> </el-form-item>
<el-option </div>
:label="item.titleZh"
:value="parseInt(item.id)"
v-for="item in productList"
:key="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
<competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('年度发货次数')" v-show="showSearch">
<el-input
v-model.trim="numYearly.value"
:placeholder="$t('请输入数字')"
clearable
@keyup.enter.native="handleQuery"
@input="numYearly.value=numYearly.value.replace(/\s+/g, '')"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD"
defaultable
v-model="numYearly.key"
class="w-50"
/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('推介人')" v-show="showSearch">
<el-select
clearable
remote
:remote-method="remoteMethod"
v-model="queryParams.promoter"
:placeholder="$t('请输入推介人')"
filterable
>
<el-option
v-for="item in customerSelectFn"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('入仓确认')" v-show="showSearch">
<el-select clearable v-model="queryParams.arrivalConfirm">
<el-option :label="$t('是')" :value="1" />
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch">
<el-switch v-model="queryParams.noConsignee" />
</el-form-item>
<el-form-item :label="$t('默认付款')" v-show="showSearch">
<el-switch v-model="queryParams.defaultPay" />
</el-form-item>
<el-form-item :label="$t('是否显示提单价格')" v-show="showSearch">
<el-switch v-model="queryParams.isShowTidanPrice" />
</el-form-item>
<el-form-item :label="$t('归属时间')" v-show="showSearch">
<el-date-picker
type="datetimerange"
clearable
v-model="customerServiceConfirmedTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
/>
</el-form-item>
<el-form-item :label="$t('首次成交时间')" v-show="showSearch">
<el-date-picker
type="datetimerange"
clearable
v-model="firstDealTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
/>
</el-form-item>
<el-form-item :label="$t('获取方式')" v-show="showSearch">
<el-select
v-model="queryParams.getMethod"
multiple
:placeholder="$t('请选择')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('创建入口')" v-show="showSearch">
<el-select
v-model="queryParams.createFroms"
multiple
:placeholder="$t('请选择')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-select
v-model="queryParams.balances"
multiple
:placeholder="$t('请选择结算方式')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form> </el-form>
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
......
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="130px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item :label="$t('客户编号')" prop="number"> <div class="search-z">
<el-input v-model.trim="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery" @input="queryParams.number = queryParams.number.replace(/\s+/g, '')" /> <el-form-item :label="$t('客户编号')" prop="number">
</el-form-item> <el-input v-model.trim="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery" @input="queryParams.number = queryParams.number.replace(/\s+/g, '')" />
<el-form-item :label="$t('客户名称')" prop="name"> </el-form-item>
<el-input v-model.trim="queryParams.name" :placeholder="$t('请输入客户名称')" clearable @keyup.enter.native="handleQuery" @input="queryParams.name = queryParams.name.replace(/\s+/g, '')" /> <el-form-item :label="$t('客户名称')" prop="name">
</el-form-item> <el-input v-model.trim="queryParams.name" :placeholder="$t('请输入客户名称')" clearable @keyup.enter.native="handleQuery" @input="queryParams.name = queryParams.name.replace(/\s+/g, '')" />
<el-form-item :label="$t('区号')"> </el-form-item>
<el-select v-model="queryParams.areaCode" :placeholder="$t('请选择区号')"> <el-form-item :label="$t('区号')">
<el-option v-for="(item, index) in countryList" :key="index" :label="item.nameShort + (isChinese ? item.nameZh : item.nameEn) + ' +' + item.tel" :value="item.tel" /> <el-select v-model="queryParams.areaCode" :placeholder="$t('请选择区号')">
</el-select> <el-option v-for="(item, index) in countryList" :key="index" :label="item.nameShort + (isChinese ? item.nameZh : item.nameEn) + ' +' + item.tel" :value="item.tel" />
</el-form-item> </el-select>
<el-form-item :label="$t('联系方式')"> </el-form-item>
<el-input :placeholder="$t('请输入联系方式')" v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input> <el-form-item :label="$t('联系方式')">
</el-form-item> <el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
<!-- </el-form-item>
<el-form-item :label="$t('客户经理')" prop="customerService"> <!-- <el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">-->
<el-select <!-- <el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">-->
multiple <!-- <el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />-->
clearable <!-- </el-select>-->
v-model="queryParams.customerService" <!-- </el-form-item>-->
:placeholder="$t('请选择客户经理')" <!-- <el-form-item :label="$t('客户经理')" prop="customerService">-->
size="small" <!-- <el-select multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">-->
@change="handleQuery" <!-- <el-option v-for="dict in customerServiceList" :key="dict.id" :label="dict.nickname" :value="dict.id" />-->
> <!-- </el-select>-->
<el-option <!-- </el-form-item>-->
v-for="dict in customerServiceList" <el-form-item :label="$t('客户来源')" prop="source">
:key="dict.id" <el-select multiple clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small" @change="handleQuery">
:label="dict.nickname" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
:value="dict.id" </el-select>
/> </el-form-item>
</el-select> <el-form-item :label="$t('客户类别')" prop="level">
</el-form-item> <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_TYPE" v-model="queryParams.type" @change="handleQuery"></dict-selector>
--> </el-form-item>
<el-form-item :label="$t('客户来源')" prop="source"> <el-form-item :label="$t('角色')">
<el-select multiple clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small" @change="handleQuery"> <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_ROLE" v-model="queryParams.role" formatter="number" @change="handleQuery" :placeholder="$t('请选择')"></dict-selector>
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" /> </el-form-item>
</el-select> <el-form-item :label="$t('客户状态')" prop="status">
</el-form-item> <el-select multiple clearable v-model="queryParams.status" :placeholder="$t('请选择客户状态')" size="small" @change="handleQuery">
<el-form-item :label="$t('客户类别')" prop="level"> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
<dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_TYPE" v-model="queryParams.type" @change="handleQuery"></dict-selector> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('角色')"> <el-form-item :label="$t('国籍')" prop="country">
<dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_ROLE" v-model="queryParams.role" formatter="number" @change="handleQuery" :placeholder="$t('请选择')"></dict-selector> <el-select multiple clearable v-model="queryParams.country" :placeholder="$t('请选择')" @change="handleQuery">
</el-form-item> <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
<el-form-item :label="$t('客户状态')" prop="status"> </el-select>
<el-select multiple clearable v-model="queryParams.status" :placeholder="$t('请选择客户状态')" size="small" @change="handleQuery"> </el-form-item>
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" /> <el-form-item :label="$t('出货渠道')">
</el-select> <dict-selector multiple clearable :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" @change="handleQuery"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item :label="$t('国籍')" prop="country">
<el-select multiple clearable v-model="queryParams.country" :placeholder="$t('请选择')" @change="handleQuery"> <el-form-item :label="$t('业务国家')" v-show="showSearch">
<el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" /> <el-select multiple clearable v-model="queryParams.busiCountryIds" :placeholder="$t('请选择')" @change="handleQuery">
</el-select> <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
</el-form-item> </el-select>
<el-form-item :label="$t('出货渠道')"> </el-form-item>
<dict-selector multiple clearable :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" @change="handleQuery"></dict-selector> <el-form-item :label="$t('常用提货网点')" v-show="showSearch">
</el-form-item> <el-select multiple v-model="queryParams.pickupPoints">
<el-option v-for="item in getNodeLists" :key="item.id" :value="item.id" :label="isChinese ? item.titleZh : item.titleEn"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('创建人')" v-show="showSearch">
<el-select v-model="queryParams.founder">
<el-option v-for="item in allSimplList" :key="item.id" :label="item.nickname" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('业绩类型')" v-show="showSearch">
<el-select clearable v-model="queryParams.isNew">
<el-option :label="$t('新客户')" :value="true" />
<el-option :label="$t('老客户')" :value="false" />
</el-select>
</el-form-item>
<el-form-item :label="$t('年度发货量')" v-show="showSearch">
<el-input v-model.trim="weightYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="weightYearly.value = weightYearly.value.replace(/\s+/g, '')">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="weightYearly.key" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('商品类别')" v-show="showSearch">
<el-select @change="handleSelectProductType" multiple v-model="queryParams.productTypes" :placeholder="$t('请选择')">
<el-option :label="item.titleZh" :value="item.id" v-for="item in productTypeList" :key="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('商品名称')" v-show="showSearch">
<el-select multiple filterable clearable v-model="queryParams.productIds" :placeholder="$t('请选择商品名称')">
<el-option :label="item.titleZh" :value="parseInt(item.id)" v-for="item in productList" :key="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
<competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('年度发货次数')" v-show="showSearch">
<el-input v-model.trim="numYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="numYearly.value = numYearly.value.replace(/\s+/g, '')">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="numYearly.key" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('推介人')" v-show="showSearch">
<el-select clearable remote :remote-method="remoteMethod" v-model="queryParams.promoter" :placeholder="$t('请输入推介人')" filterable>
<el-option v-for="item in customerSelectFn" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('获取方式')" v-show="showSearch">
<el-select v-model="queryParams.getMethod" multiple :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('创建入口')" v-show="showSearch">
<el-select v-model="queryParams.createFroms" multiple :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-select v-model="queryParams.balances" multiple :placeholder="$t('请选择结算方式')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('入仓确认')" v-show="showSearch">
<el-select clearable v-model="queryParams.arrivalConfirm">
<el-option :label="$t('是')" :value="1" />
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch" label-width="100px">
<div style="width: 194px">
<el-switch v-model="queryParams.noConsignee" />
</div>
</el-form-item>
<el-form-item :label="$t('默认付款')" v-show="showSearch" label-width="70px">
<div style="width: 194px">
<el-switch v-model="queryParams.defaultPay" />
</div>
</el-form-item>
<el-form-item :label="$t('是否显示提单价格')" v-show="showSearch" label-width="130px">
<div style="width: 194px">
<el-switch v-model="queryParams.isShowTidanPrice" />
</div>
</el-form-item>
</div>
<div class="search-time">
<el-form-item :label="$t('入公海时间')" v-show="showSearch">
<el-date-picker type="datetimerange" clearable v-model="enterOpenSeaTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('归属时间')" v-show="showSearch">
<el-date-picker type="datetimerange" clearable v-model="customerServiceConfirmedTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('首次成交时间')" v-show="showSearch">
<el-date-picker type="datetimerange" clearable v-model="firstDealTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('业务国家')" v-show="showSearch"> <el-form-item :label="$t('创建时间')" v-show="showSearch">
<el-select multiple clearable v-model="queryParams.busiCountryIds" :placeholder="$t('请选择')" @change="handleQuery"> <el-date-picker type="datetimerange" clearable v-model="dateRangeCreateTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
<el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" /> </el-form-item>
</el-select> <el-form-item style="padding-left: 20px">
</el-form-item> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t("搜索") }}</el-button>
<el-form-item :label="$t('常用提货网点')" v-show="showSearch"> <el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
<el-select multiple v-model="queryParams.pickupPoints"> </el-form-item>
<el-option v-for="item in getNodeLists" :key="item.id" :value="item.id" :label="isChinese ? item.titleZh : item.titleEn"></el-option> </div>
</el-select>
</el-form-item>
<el-form-item :label="$t('创建人')" v-show="showSearch">
<el-select v-model="queryParams.founder">
<el-option v-for="item in allSimplList" :key="item.id" :label="item.nickname" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('创建时间')" v-show="showSearch">
<el-date-picker type="datetimerange" clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('入公海时间')" v-show="showSearch">
<el-date-picker type="datetimerange" clearable v-model="enterOpenSeaTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('业绩类型')" v-show="showSearch">
<el-select clearable v-model="queryParams.isNew">
<el-option :label="$t('新客户')" :value="true" />
<el-option :label="$t('老客户')" :value="false" />
</el-select>
</el-form-item>
<el-form-item :label="$t('年度发货量')" v-show="showSearch">
<el-input v-model.trim="weightYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="weightYearly.value = weightYearly.value.replace(/\s+/g, '')">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="weightYearly.key" class="w-50" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('商品类别')" v-show="showSearch">
<el-select @change="handleSelectProductType" multiple v-model="queryParams.productTypes" :placeholder="$t('请选择')">
<el-option :label="item.titleZh" :value="item.id" v-for="item in productTypeList" :key="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('商品名称')" v-show="showSearch">
<el-select multiple filterable clearable v-model="queryParams.productIds" :placeholder="$t('请选择商品名称')">
<el-option :label="item.titleZh" :value="parseInt(item.id)" v-for="item in productList" :key="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
<competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('年度发货次数')" v-show="showSearch">
<el-input v-model.trim="numYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="numYearly.value = numYearly.value.replace(/\s+/g, '')">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="numYearly.key" class="w-50" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('推介人')" v-show="showSearch">
<el-select clearable remote :remote-method="remoteMethod" v-model="queryParams.promoter" :placeholder="$t('请输入推介人')" filterable>
<el-option v-for="item in customerSelectFn" :key="item.id" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('入仓确认')" v-show="showSearch">
<el-select clearable v-model="queryParams.arrivalConfirm">
<el-option :label="$t('是')" :value="1" />
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch">
<el-switch v-model="queryParams.noConsignee" />
</el-form-item>
<el-form-item :label="$t('默认付款')" v-show="showSearch">
<el-switch v-model="queryParams.defaultPay" />
</el-form-item>
<el-form-item :label="$t('是否显示提单价格')" v-show="showSearch">
<el-switch v-model="queryParams.isShowTidanPrice" />
</el-form-item>
<el-form-item :label="$t('归属时间')" v-show="showSearch">
<el-date-picker type="datetimerange" clearable v-model="customerServiceConfirmedTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('首次成交时间')" v-show="showSearch">
<el-date-picker type="datetimerange" clearable v-model="firstDealTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('获取方式')" v-show="showSearch">
<el-select v-model="queryParams.getMethod" multiple :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('创建入口')" v-show="showSearch">
<el-select v-model="queryParams.createFroms" multiple :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-select v-model="queryParams.balances" multiple :placeholder="$t('请选择结算方式')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t("搜索") }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
</el-form-item>
</el-form> </el-form>
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
......
...@@ -2,403 +2,166 @@ ...@@ -2,403 +2,166 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
:model="queryParams" <div class="search-z">
ref="queryForm" <el-form-item :label="$t('客户编号')" prop="number">
size="small" <el-input v-model.trim="queryParams.number" :placeholder="$t('请输入客户编号')" clearable @keyup.enter.native="handleQuery" @input="queryParams.number = queryParams.number.replace(/\s+/g, '')" />
:inline="true" </el-form-item>
label-width="130px" <el-form-item :label="$t('客户名称')" prop="name">
> <el-input v-model.trim="queryParams.name" :placeholder="$t('请输入客户名称')" clearable @keyup.enter.native="handleQuery" @input="queryParams.name = queryParams.name.replace(/\s+/g, '')" />
<el-form-item :label="$t('客户编号')" prop="number"> </el-form-item>
<el-input <el-form-item :label="$t('区号')">
v-model.trim="queryParams.number" <el-select v-model="queryParams.areaCode" :placeholder="$t('请选择区号')">
:placeholder="$t('请输入客户编号')" <el-option v-for="(item, index) in countryList" :key="index" :label="item.nameShort + (isChinese ? item.nameZh : item.nameEn) + ' +' + item.tel" :value="item.tel" />
clearable </el-select>
@keyup.enter.native="handleQuery" </el-form-item>
@input="queryParams.number=queryParams.number.replace(/\s+/g, '')" <el-form-item :label="$t('联系方式')">
/> <el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户名称')" prop="name"> <el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">
<el-input <el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
v-model.trim="queryParams.name" <el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />
:placeholder="$t('请输入客户名称')" </el-select>
clearable </el-form-item>
@keyup.enter.native="handleQuery" <el-form-item :label="$t('客户经理')" prop="customerService">
@input="queryParams.name=queryParams.name.replace(/\s+/g, '')" <el-select multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">
/> <el-option v-for="dict in customerServiceList" :key="dict.id" :label="dict.nickname" :value="dict.id" />
</el-form-item> </el-select>
<el-form-item :label="$t('区号')"> </el-form-item>
<el-select <el-form-item :label="$t('客户来源')" prop="source">
v-model="queryParams.areaCode" <el-select multiple clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small" @change="handleQuery">
:placeholder="$t('请选择区号')" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
> </el-select>
<el-option </el-form-item>
v-for="(item, index) in countryList" <el-form-item :label="$t('客户类别')" prop="level">
:key="index" <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_TYPE" v-model="queryParams.type" @change="handleQuery"></dict-selector>
:label=" </el-form-item>
item.nameShort + <el-form-item :label="$t('角色')">
(isChinese ? item.nameZh : item.nameEn) + <dict-selector multiple clearable :type="DICT_TYPE.CUSTOMER_ROLE" v-model="queryParams.role" formatter="number" @change="handleQuery" :placeholder="$t('请选择')"></dict-selector>
' +' + </el-form-item>
item.tel <el-form-item :label="$t('客户状态')" prop="status">
" <el-select multiple clearable v-model="queryParams.status" :placeholder="$t('请选择客户状态')" size="small" @change="handleQuery">
:value="item.tel" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> <el-form-item :label="$t('国籍')" prop="country">
<el-form-item :label="$t('联系方式')"> <el-select multiple clearable v-model="queryParams.country" :placeholder="$t('请选择')" @change="handleQuery">
<el-input <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
:placeholder="$t('请输入联系方式')" </el-select>
v-model.trim="queryParams.defaultContactPhone" </el-form-item>
@input="queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')" <el-form-item :label="$t('出货渠道')">
></el-input> <dict-selector multiple clearable :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" @change="handleQuery"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item :label="$t('部门')">
<el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
<el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="customerService">
<el-select
multiple
clearable
v-model="queryParams.customerService"
:placeholder="$t('请选择客户经理')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in customerServiceList"
:key="dict.id"
:label="dict.nickname"
:value="dict.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户来源')" prop="source">
<el-select
multiple
clearable
v-model="queryParams.source"
:placeholder="$t('请选择客户来源')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户类别')" prop="level">
<dict-selector
multiple
clearable
:type="DICT_TYPE.CUSTOMER_TYPE"
v-model="queryParams.type"
@change="handleQuery"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('角色')">
<dict-selector
multiple
clearable
:type="DICT_TYPE.CUSTOMER_ROLE"
v-model="queryParams.role"
formatter="number"
@change="handleQuery"
:placeholder="$t('请选择')"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('客户状态')" prop="status">
<el-select
multiple
clearable
v-model="queryParams.status"
:placeholder="$t('请选择客户状态')"
size="small"
@change="handleQuery"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('国籍')" prop="country">
<el-select
multiple
clearable
v-model="queryParams.country"
:placeholder="$t('请选择')"
@change="handleQuery"
>
<el-option
v-for="dict in countryList"
:key="dict.id"
:label="isChinese ? dict.nameZh : dict.nameEn"
:value="parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('出货渠道')">
<dict-selector
multiple
clearable
:type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE"
v-model="queryParams.transportType"
formatter="number"
@change="handleQuery"
></dict-selector>
</el-form-item>
<el-form-item :label="$t('业务国家')" v-show="showSearch"> <el-form-item :label="$t('业务国家')" v-show="showSearch">
<el-select <el-select multiple clearable v-model="queryParams.busiCountryIds" :placeholder="$t('请选择')" @change="handleQuery">
multiple <el-option v-for="dict in countryList" :key="dict.id" :label="isChinese ? dict.nameZh : dict.nameEn" :value="parseInt(dict.id)" />
clearable </el-select>
v-model="queryParams.busiCountryIds" </el-form-item>
:placeholder="$t('请选择')" <el-form-item :label="$t('常用提货网点')" v-show="showSearch">
@change="handleQuery" <el-select multiple v-model="queryParams.pickupPoints">
> <el-option v-for="item in getNodeLists" :key="item.id" :value="item.id" :label="isChinese ? item.titleZh : item.titleEn"></el-option>
<el-option </el-select>
v-for="dict in countryList" </el-form-item>
:key="dict.id" <el-form-item :label="$t('创建人')" v-show="showSearch">
:label="isChinese ? dict.nameZh : dict.nameEn" <el-select v-model="queryParams.founder">
:value="parseInt(dict.id)" <el-option v-for="item in allSimplList" :key="item.id" :label="item.nickname" :value="item.id"> </el-option>
/> </el-select>
</el-select> </el-form-item>
</el-form-item> <el-form-item :label="$t('业绩类型')" v-show="showSearch">
<el-form-item :label="$t('常用提货网点')" v-show="showSearch"> <el-select clearable v-model="queryParams.isNew">
<el-select multiple v-model="queryParams.pickupPoints"> <el-option :label="$t('新客户')" :value="true" />
<el-option <el-option :label="$t('老客户')" :value="false" />
v-for="item in getNodeLists" </el-select>
:key="item.id" </el-form-item>
:value="item.id" <el-form-item :label="$t('年度发货量')" v-show="showSearch">
:label="isChinese ? item.titleZh : item.titleEn" <el-input v-model.trim="weightYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="weightYearly.value = weightYearly.value.replace(/\s+/g, '')">
></el-option> <template slot="prepend">
</el-select> <dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="weightYearly.key" />
</el-form-item> </template>
<el-form-item :label="$t('创建人')" v-show="showSearch"> </el-input>
<el-select v-model="queryParams.founder"> </el-form-item>
<el-option <el-form-item :label="$t('商品类别')" v-show="showSearch">
v-for="item in allSimplList" <el-select @change="handleSelectProductType" multiple v-model="queryParams.productTypes" :placeholder="$t('请选择')">
:key="item.id" <el-option :label="item.titleZh" :value="item.id" v-for="item in productTypeList" :key="item.id" />
:label="item.nickname" </el-select>
:value="item.id" </el-form-item>
> <el-form-item :label="$t('商品名称')" v-show="showSearch">
</el-option> <el-select multiple filterable clearable v-model="queryParams.productIds" :placeholder="$t('请选择商品名称')">
</el-select> <el-option :label="item.titleZh" :value="parseInt(item.id)" v-for="item in productList" :key="item.id" />
</el-form-item> </el-select>
<el-form-item :label="$t('创建时间')" v-show="showSearch"> </el-form-item>
<el-date-picker <el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
type="datetimerange" <competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
clearable </el-form-item>
v-model="dateRangeCreateTime" <el-form-item :label="$t('年度发货次数')" v-show="showSearch">
style="width: 240px" <el-input v-model.trim="numYearly.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" @input="numYearly.value = numYearly.value.replace(/\s+/g, '')">
value-format="yyyy-MM-dd HH:mm:ss" <template slot="prepend">
range-separator="-" <dict-selector :type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" defaultable v-model="numYearly.key" />
:start-placeholder="$t('开始日期')" </template>
:end-placeholder="$t('结束日期')" </el-input>
/> </el-form-item>
</el-form-item> <el-form-item :label="$t('推介人')" v-show="showSearch">
<el-form-item :label="$t('入公海时间')" v-show="showSearch"> <el-select clearable remote :remote-method="remoteMethod" v-model="queryParams.promoter" :placeholder="$t('请输入推介人')" filterable>
<el-date-picker <el-option v-for="item in customerSelectFn" :key="item.id" :label="item.name" :value="item.id"> </el-option>
type="datetimerange" </el-select>
clearable </el-form-item>
v-model="enterOpenSeaTime" <el-form-item :label="$t('获取方式')" v-show="showSearch">
style="width: 240px" <el-select v-model="queryParams.getMethod" multiple :placeholder="$t('请选择')">
value-format="yyyy-MM-dd HH:mm:ss" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
range-separator="-" </el-select>
:start-placeholder="$t('开始日期')" </el-form-item>
:end-placeholder="$t('结束日期')" <el-form-item :label="$t('创建入口')" v-show="showSearch">
/> <el-select v-model="queryParams.createFroms" multiple :placeholder="$t('请选择')">
</el-form-item> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
<el-form-item :label="$t('业绩类型')" v-show="showSearch"> </el-select>
<el-select clearable v-model="queryParams.isNew"> </el-form-item>
<el-option :label="$t('新客户')" :value="true" /> <el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-option :label="$t('老客户')" :value="false" /> <el-select v-model="queryParams.balances" multiple :placeholder="$t('请选择结算方式')">
</el-select> <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-form-item> </el-select>
<el-form-item :label="$t('年度发货量')" v-show="showSearch"> </el-form-item>
<el-input <el-form-item :label="$t('入仓确认')" v-show="showSearch">
v-model.trim="weightYearly.value" <el-select clearable v-model="queryParams.arrivalConfirm">
:placeholder="$t('请输入数字')" <el-option :label="$t('是')" :value="1" />
clearable <el-option :label="$t('否')" :value="0" />
@keyup.enter.native="handleQuery" </el-select>
@input="weightYearly.value=weightYearly.value.replace(/\s+/g, '')" </el-form-item>
> <el-form-item :label="$t('控货无收货人')" v-show="showSearch" label-width="100px">
<template slot="prepend"> <div style="width: 194px">
<dict-selector <el-switch v-model="queryParams.noConsignee" />
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD" </div>
defaultable </el-form-item>
v-model="weightYearly.key" <el-form-item :label="$t('默认付款')" v-show="showSearch" label-width="70px">
class="w-50" <div style="width: 194px">
/> <el-switch v-model="queryParams.defaultPay" />
</template> </div>
</el-input> </el-form-item>
</el-form-item> <el-form-item :label="$t('是否显示提单价格')" v-show="showSearch" label-width="130px">
<el-form-item :label="$t('商品类别')" v-show="showSearch"> <div style="width: 194px">
<el-select <el-switch v-model="queryParams.isShowTidanPrice" />
@change="handleSelectProductType" </div>
multiple </el-form-item>
v-model="queryParams.productTypes" </div>
:placeholder="$t('请选择')" <div class="search-time">
> <el-form-item :label="$t('入公海时间')" v-show="showSearch">
<el-option <el-date-picker type="datetimerange" clearable v-model="enterOpenSeaTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
:label="item.titleZh" </el-form-item>
:value="item.id" <el-form-item :label="$t('归属时间')" v-show="showSearch">
v-for="item in productTypeList" <el-date-picker type="datetimerange" clearable v-model="customerServiceConfirmedTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
:key="item.id" </el-form-item>
/> <el-form-item :label="$t('首次成交时间')" v-show="showSearch">
</el-select> <el-date-picker type="datetimerange" clearable v-model="firstDealTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('商品名称')" v-show="showSearch">
<el-select <el-form-item :label="$t('创建时间')" v-show="showSearch">
multiple <el-date-picker type="datetimerange" clearable v-model="dateRangeCreateTime" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
filterable </el-form-item>
clearable <el-form-item style="padding-left: 20px">
v-model="queryParams.productIds" <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t("搜索") }}</el-button>
:placeholder="$t('请选择商品名称')" <el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
> </el-form-item>
<el-option </div>
:label="item.titleZh"
:value="parseInt(item.id)"
v-for="item in productList"
:key="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('主要竞争对手')" v-show="showSearch">
<competitor-selector v-model="queryParams.competitorIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('年度发货次数')" v-show="showSearch">
<el-input
v-model.trim="numYearly.value"
:placeholder="$t('请输入数字')"
clearable
@keyup.enter.native="handleQuery"
@input="numYearly.value=numYearly.value.replace(/\s+/g, '')"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD"
defaultable
v-model="numYearly.key"
class="w-50"
/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('推介人')" v-show="showSearch">
<el-select
clearable
remote
:remote-method="remoteMethod"
v-model="queryParams.promoter"
:placeholder="$t('请输入推介人')"
filterable
>
<el-option
v-for="item in customerSelectFn"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('入仓确认')" v-show="showSearch">
<el-select clearable v-model="queryParams.arrivalConfirm">
<el-option :label="$t('是')" :value="1" />
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch">
<el-switch v-model="queryParams.noConsignee" />
</el-form-item>
<el-form-item :label="$t('默认付款')" v-show="showSearch">
<el-switch v-model="queryParams.defaultPay" />
</el-form-item>
<el-form-item :label="$t('是否显示提单价格')" v-show="showSearch">
<el-switch v-model="queryParams.isShowTidanPrice" />
</el-form-item>
<el-form-item :label="$t('归属时间')" v-show="showSearch">
<el-date-picker
type="datetimerange"
clearable
v-model="customerServiceConfirmedTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
/>
</el-form-item>
<el-form-item :label="$t('首次成交时间')" v-show="showSearch">
<el-date-picker
type="datetimerange"
clearable
v-model="firstDealTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
/>
</el-form-item>
<el-form-item :label="$t('获取方式')" v-show="showSearch">
<el-select
v-model="queryParams.getMethod"
multiple
:placeholder="$t('请选择')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_GET_METHOD)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('创建入口')" v-show="showSearch">
<el-select
v-model="queryParams.createFroms"
multiple
:placeholder="$t('请选择')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FROM)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('结算方式')" v-show="showSearch">
<el-select
v-model="queryParams.balances"
multiple
:placeholder="$t('请选择结算方式')"
>
<el-option
v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
:key="dict.value"
:label="isChinese ? dict.label : dict.labelEn"
:value="parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{
$t("搜索")
}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{
$t("重置")
}}</el-button>
</el-form-item>
</el-form> </el-form>
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
......
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