Commit eb9e7f83 authored by dragondean@qq.com's avatar dragondean@qq.com

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

parents 27d547ac eda6d1a7
......@@ -4676,7 +4676,7 @@
"年度发货量": "Shipment yearly",
"年度发货次数": "Number of shipments yearly",
"主要竞争对手": "Major competitors",
"控无收货人": "Control not consignee",
"控无收货人": "Control not consignee",
"默认付款": "Default payment",
"默认开票": "Default Billing",
"请选择业务国家": "Please select customer operating country",
......@@ -4695,6 +4695,8 @@
"增值服务": "Added services",
"开启会员积分系统": "Enable member points system",
"是否确认{val}会员积分系统": "Confirm whether to {val} the member points system",
"入仓确认": "Entry confirm",
"商品类别": "Product type",
"跟进状态": "Follow-up status",
"上一级跟进单": "Follow-up parent number",
"跟进结果": "Follow-up result",
......
......@@ -309,7 +309,7 @@
"年度发货量": "年度发货量",
"年度发货次数": "年度发货次数",
"主要竞争对手": "主要竞争对手",
"控无收货人": "控制无收货人",
"控无收货人": "控制无收货人",
"默认付款": "默认付款",
"默认开票": "默认开票",
"请选择业务国家": "请选择业务国家",
......
......@@ -446,7 +446,7 @@
:placeholder="$t('请选择产品类别')"
>
<el-option
:label="item.titleZh"
:label="isChinese ? item.titleZh : item.titleEn"
:value="item.id"
v-for="item in productTypeList"
:key="item.id"
......
......@@ -388,6 +388,12 @@
</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>
......@@ -631,13 +637,14 @@
:data="list"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column :label="$t('客户编号')" align="center" prop="number">
<el-table-column :label="$t('客户编号')" align="center" fixed>
<template v-slot="{ row }">
{{ row.number }}
<router-link :to="`/customer/query/${row.id}`" class="link-type">
{{ row.number }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name">
<el-table-column :label="$t('客户名称')" align="center" fixed>
<template slot-scope="{ row }">
<p style="display: inline-block; white-space: pre-wrap">
{{ $l(row, "name") }}
......@@ -645,20 +652,14 @@
<el-tag v-if="row.isInOpenSea" size="mini">{{ $t("") }}</el-tag>
</template>
</el-table-column>
<el-table-column
:label="$t('客户等级')"
align="center"
prop="vipLevelNameZh"
>
<!--
<el-table-column :label="$t('客户等级')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
</template>
</el-table-column>
<el-table-column
:label="$t('信用等级')"
:prop="isChinese ? 'creditLevelNameZh' : 'creditLevelNameEn'"
></el-table-column>
<el-table-column :label="$t('信用等级')" :prop="isChinese ? 'creditLevelNameZh' : 'creditLevelNameEn'"></el-table-column>
-->
<el-table-column :label="$t('客户状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
......@@ -679,62 +680,121 @@
</contacts>
</template>
</el-table-column>
<el-table-column
:label="$t('创建时间')"
align="center"
prop="createTime"
width="180"
>
<el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<dict-tag
:type="DICT_TYPE.CUSTOMER_TYPE"
:value="scope.row.type"
/>
</template>
</el-table-column>
<el-table-column
:label="$t('入公海时间')"
align="center"
prop="createTime"
width="180"
>
<template v-slot="{ row }">
<span>{{
parseTime(
row.enterOpenSeaTime
? row.enterOpenSeaTime
: row.estimateEnterOpenSeaTime
)
}}</span>
<el-table-column :label="$t('角色')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_ROLE"
:value="scope.row.roles"
/>
</template>
</el-table-column>
<el-table-column
:label="$t('客户经理')"
align="center"
prop="customerServiceName"
></el-table-column>
<!--
<el-table-column
:label="$t('客户经理ID')"
align="center" v-show="false"
prop="customerService"
>
</el-table-column>-->
<el-table-column :label="$t('出货渠道')">
<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">
<template slot-scope="{ row }">
{{ channel(row.transportType) }}
</template>
</el-table-column>
<el-table-column
:label="$t('国家')"
align="center"
prop="country"
:formatter="countryFormatter"
></el-table-column>
<el-table-column
width="200px"
:label="$t('操作')"
align="center"
fixed="right"
class-name="small-padding fixed-width"
>
<el-table-column :label="$t('客户来源')">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_SOURCE"
:value="scope.row.source"
/>
</template>
</el-table-column>
<el-table-column :label="$t('业务国家')">
<template slot-scope="{ row }">
{{ getBusiCountryNames(row.busiCountryIds) }}
</template>
</el-table-column>
<el-table-column :label="$t('常用提货网点')">
<template slot-scope="{ row }">
{{ getPickupPointNames(row.pickupPoints) }}
</template>
</el-table-column>
<el-table-column :label="$t('年度发货量')" align="center">
<template slot-scope="{ row }">
{{ row.weightYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('主营类别')">
<template slot-scope="{ row }">
{{ getProductTypeNames(row.productType) }}
</template>
</el-table-column>
<el-table-column :label="$t('主要竞争对手')" prop="competitorNames">
</el-table-column>
<el-table-column :label="$t('年度发货次数')" align="center">
<template slot-scope="{ row }">
{{ row.numYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('推介人')">
<template slot-scope="{ row }">
{{ getPromoterName(row.promoter) }}
</template>
</el-table-column>
<el-table-column :label="$t('入公海时间')" align="center" width="160">
<template v-slot="{ row }">
{{ parseTime( row.enterOpenSeaTime ? row.enterOpenSeaTime : row.estimateEnterOpenSeaTime)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓确认')" align="center">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.arrivalConfirm == 1">{{ $t('') }}</el-tag>
<el-tag type="info">{{ $t('') }}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('控货无收货人')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.noConsignee" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('默认付款')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.defaultPay" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('归属时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.customerServiceConfirmedTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('首次成交时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.firstDealTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('获取方式')" align="center">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_GET_METHOD"
:value="scope.row.getMethods"
/>
</template>
</el-table-column>
<el-table-column :label="$t('创建人')" prop="createUsername" align="center">
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('最后更新时间')" align="center" width="160">
<template slot-scope="scope">
<span >{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column width="200px" :label="$t('操作')" align="center" fixed="right">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" v-show="'development' === env && scope.row.isInOpenSea" @click="seasPond(scope.row)"-->
<!-- v-hasPermi="['ecw:customer:query']">{{$t('掉入公海池')}}</el-button>-->
......@@ -2028,6 +2088,76 @@ export default {
this.$message.success(this.$t("操作成功"))
this.getList()
})
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPickupPointNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.getNodeLists.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getProductTypeNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.productTypeList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPromoterName(id) {
if (id) {
let strName = ''
for(const item of this.customerSelectFn) {
if (item.id == id) {
strName = item.name
break
}
}
return strName
} else {
return null
}
}
},
};
......
......@@ -288,6 +288,12 @@
</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>
......@@ -384,22 +390,26 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('客户编号')" align="center" prop="number" >
<el-table-column :label="$t('客户编号')" align="center" fixed>
<template v-slot="{row}">
{{row.number}}
<router-link :to="`/customer/query/${row.id}`" class="link-type">
{{ row.number }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" >
<el-table-column :label="$t('客户名称')" align="center" fixed>
<template v-slot="{row}">
<p style="display:inline-block;white-space: pre-wrap;">{{$l(row, 'name')}}</p>
</template>
</el-table-column>
<!--
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
</template>
</el-table-column>
<el-table-column :label="$t('信用等级')" :prop="isChinese ? 'creditLevelNameZh' : 'creditLevelNameEn'"></el-table-column>
-->
<el-table-column :label="$t('客户状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" />
......@@ -414,20 +424,126 @@
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_TYPE"
:value="scope.row.type"
/>
</template>
</el-table-column>
<el-table-column :label="$t('角色')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_ROLE"
:value="scope.row.roles"
/>
</template>
</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">
<template slot-scope="{ row }">
{{ channel(row.transportType) }}
</template>
</el-table-column>
<el-table-column :label="$t('客户来源')">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_SOURCE"
:value="scope.row.source"
/>
</template>
</el-table-column>
<el-table-column :label="$t('业务国家')">
<template slot-scope="{ row }">
{{ getBusiCountryNames(row.busiCountryIds) }}
</template>
</el-table-column>
<el-table-column :label="$t('常用提货网点')">
<template slot-scope="{ row }">
{{ getPickupPointNames(row.pickupPoints) }}
</template>
</el-table-column>
<el-table-column :label="$t('年度发货量')" align="center">
<template slot-scope="{ row }">
{{ row.weightYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('主营类别')">
<template slot-scope="{ row }">
{{ getProductTypeNames(row.productType) }}
</template>
</el-table-column>
<el-table-column :label="$t('主要竞争对手')" prop="competitorNames">
</el-table-column>
<el-table-column :label="$t('年度发货次数')" align="center">
<template slot-scope="{ row }">
{{ row.numYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('推介人')">
<template slot-scope="{ row }">
{{ getPromoterName(row.promoter) }}
</template>
</el-table-column>
<el-table-column :label="$t('入公海时间')" align="center" width="160">
<template v-slot="{ row }">
{{ parseTime( row.enterOpenSeaTime ? row.enterOpenSeaTime : row.estimateEnterOpenSeaTime)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓确认')" align="center">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.arrivalConfirm == 1">{{ $t('') }}</el-tag>
<el-tag type="info">{{ $t('') }}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('控货无收货人')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.noConsignee" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('默认付款')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.defaultPay" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('归属时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.customerServiceConfirmedTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('首次成交时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.firstDealTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('获取方式')" align="center">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_GET_METHOD"
:value="scope.row.getMethods"
/>
</template>
</el-table-column>
<el-table-column :label="$t('创建人')" prop="createUsername" align="center">
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('分配时间')" align="center" prop="createTime" width="180">
<template v-slot = {row}>
<span>{{ parseTime(row.customerServiceAssignedTime ) }}</span>
<el-table-column :label="$t('最后更新时间')" align="center" width="160">
<template slot-scope="scope">
<span >{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" align="center" prop="customerServiceName">
<el-table-column :label="$t('分配时间')" align="center" width="180">
<template v-slot="{row}">
<span>{{ parseTime(row.customerServiceAssignedTime ) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('国家')" align="center" prop="country" :formatter="countryFormatter"></el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<el-table-column width="200px" :label="$t('操作')" align="center" fixed="right">
<template slot-scope="scope">
<router-link :to="'/customer/query/' + scope.row.id">
<el-button v-has-permi="['ecw:customer:treat-view']" size="mini" style="margin-right: 10px" type="text" >查看</el-button>
......@@ -698,6 +814,16 @@ export default {
isChinese(){
return this.$i18n.locale === 'zh_CN'
},
channel() {
return (val) => {
return !!val
? this.getDictDatas(this.DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE)
.filter((i) => (val.split(",") || []).includes(i.value))
.map((i) => (this.isChinese ? i.label : i.labelEn))
.join("")
: "";
};
},
customerSelectFn() {
if (this.recommended.length > 0) {
let i = this.customerSelect.find(
......@@ -1078,7 +1204,76 @@ export default {
customerIdList : undefined
};
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPickupPointNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.getNodeLists.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getProductTypeNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.productTypeList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPromoterName(id) {
if (id) {
let strName = ''
for(const item of this.customerSelectFn) {
if (item.id == id) {
strName = item.name
break
}
}
return strName
} else {
return null
}
}
}
};
</script>
......@@ -289,6 +289,12 @@
</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>
......@@ -391,10 +397,6 @@
<!-- 列表 -->
<el-table ref="multipleTable" v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column :label="$t('客户编号')" align="center" prop="number" >
<template v-slot="{row}">
{{row.number}}
......@@ -405,12 +407,6 @@
<p style="display:inline-block;white-space: pre-wrap;">{{$l(row, 'name')}}</p>
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
</template>
</el-table-column>
<el-table-column :label="$t('信用等级')" :prop=" isChinese ? 'creditLevelNameZh' : 'creditLevelNameEn' "></el-table-column>
<el-table-column :label="$t('客户状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" />
......@@ -425,15 +421,121 @@
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_TYPE"
:value="scope.row.type"
/>
</template>
</el-table-column>
<el-table-column :label="$t('角色')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_ROLE"
:value="scope.row.roles"
/>
</template>
</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">
<template slot-scope="{ row }">
{{ channel(row.transportType) }}
</template>
</el-table-column>
<el-table-column :label="$t('客户来源')">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_SOURCE"
:value="scope.row.source"
/>
</template>
</el-table-column>
<el-table-column :label="$t('业务国家')">
<template slot-scope="{ row }">
{{ getBusiCountryNames(row.busiCountryIds) }}
</template>
</el-table-column>
<el-table-column :label="$t('常用提货网点')">
<template slot-scope="{ row }">
{{ getPickupPointNames(row.pickupPoints) }}
</template>
</el-table-column>
<el-table-column :label="$t('年度发货量')" align="center">
<template slot-scope="{ row }">
{{ row.weightYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('主营类别')">
<template slot-scope="{ row }">
{{ getProductTypeNames(row.productType) }}
</template>
</el-table-column>
<el-table-column :label="$t('主要竞争对手')" prop="competitorNames">
</el-table-column>
<el-table-column :label="$t('年度发货次数')" align="center">
<template slot-scope="{ row }">
{{ row.numYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('推介人')">
<template slot-scope="{ row }">
{{ getPromoterName(row.promoter) }}
</template>
</el-table-column>
<el-table-column :label="$t('入公海时间')" align="center" width="160">
<template v-slot="{ row }">
{{ parseTime( row.enterOpenSeaTime ? row.enterOpenSeaTime : row.estimateEnterOpenSeaTime)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓确认')" align="center">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.arrivalConfirm == 1">{{ $t('') }}</el-tag>
<el-tag type="info">{{ $t('') }}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('控货无收货人')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.noConsignee" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('默认付款')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.defaultPay" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('归属时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.customerServiceConfirmedTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('首次成交时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.firstDealTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('获取方式')" align="center">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_GET_METHOD"
:value="scope.row.getMethods"
/>
</template>
</el-table-column>
<el-table-column :label="$t('创建人')" prop="createUsername" align="center">
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" align="center" prop="customerServiceName">
<el-table-column :label="$t('最后更新时间')" align="center" width="160">
<template slot-scope="scope">
<span >{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('国家')" align="center" prop="country" :formatter="countryFormatter"></el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<el-table-column width="200px" :label="$t('操作')" align="center" fixed="right">
<template slot-scope="scope">
<router-link :to="'/customer/query/' + scope.row.id">
<el-button v-has-permi="['ecw:customer:distribution-view']" size="mini" style="margin-right: 10px" type="text" >查看</el-button>
......@@ -812,6 +914,76 @@ export default {
})
}).catch(() => {});
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPickupPointNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.getNodeLists.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getProductTypeNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.productTypeList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPromoterName(id) {
if (id) {
let strName = ''
for(const item of this.customerSelectFn) {
if (item.id == id) {
strName = item.name
break
}
}
return strName
} else {
return null
}
}
},
watch:{
selectCustomerList(val){
......@@ -825,6 +997,16 @@ export default {
isChinese(){
return this.$i18n.locale === 'zh_CN'
},
channel() {
return (val) => {
return !!val
? this.getDictDatas(this.DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE)
.filter((i) => (val.split(",") || []).includes(i.value))
.map((i) => (this.isChinese ? i.label : i.labelEn))
.join("")
: "";
};
},
customerSelectFn() {
if (this.recommended.length > 0) {
let i = this.customerSelect.find(
......
......@@ -308,6 +308,12 @@
</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>
......@@ -431,19 +437,21 @@
:data="list"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column :label="$t('客户编号')" align="center" prop="number">
<el-table-column :label="$t('客户编号')" align="center" fixed>
<template v-slot="{ row }">
{{ row.number }}
<router-link :to="`/customer/query/${row.id}`" class="link-type">
{{ row.number }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name">
<el-table-column :label="$t('客户名称')" align="center" fixed>
<template v-slot="{ row }">
<p style="display: inline-block; white-space: pre-wrap">
{{ $l(row, "name") }}
</p>
</template>
</el-table-column>
<!--
<el-table-column
:label="$t('客户等级')"
align="center"
......@@ -465,6 +473,15 @@
/>
</template>
</el-table-column>
-->
<el-table-column :label="$t('客户状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_STATUS"
:value="scope.row.status"
/>
</template>
</el-table-column>
<el-table-column
:label="$t('主联系人')"
prop="defaultContactName"
......@@ -477,38 +494,120 @@
</contacts>
</template>
</el-table-column>
<el-table-column
:label="$t('创建时间')"
align="center"
prop="createTime"
width="180"
>
<el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<dict-tag
:type="DICT_TYPE.CUSTOMER_TYPE"
:value="scope.row.type"
/>
</template>
</el-table-column>
<el-table-column
:label="$t('预计入公海时间')"
align="center"
prop="createTime"
width="180"
>
<el-table-column :label="$t('角色')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_ROLE"
:value="scope.row.roles"
/>
</template>
</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">
<template slot-scope="{ row }">
{{ channel(row.transportType) }}
</template>
</el-table-column>
<el-table-column :label="$t('客户来源')">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_SOURCE"
:value="scope.row.source"
/>
</template>
</el-table-column>
<el-table-column :label="$t('业务国家')">
<template slot-scope="{ row }">
{{ getBusiCountryNames(row.busiCountryIds) }}
</template>
</el-table-column>
<el-table-column :label="$t('常用提货网点')">
<template slot-scope="{ row }">
{{ getPickupPointNames(row.pickupPoints) }}
</template>
</el-table-column>
<el-table-column :label="$t('年度发货量')" align="center">
<template slot-scope="{ row }">
{{ row.weightYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('主营类别')">
<template slot-scope="{ row }">
{{ getProductTypeNames(row.productType) }}
</template>
</el-table-column>
<el-table-column :label="$t('主要竞争对手')" prop="competitorNames">
</el-table-column>
<el-table-column :label="$t('年度发货次数')" align="center">
<template slot-scope="{ row }">
{{ row.numYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('推介人')">
<template slot-scope="{ row }">
{{ getPromoterName(row.promoter) }}
</template>
</el-table-column>
<el-table-column :label="$t('入公海时间')" align="center" width="160">
<template v-slot="{ row }">
<span>{{ parseTime(row.estimateEnterOpenSeaTime) }}</span>
{{ parseTime( row.enterOpenSeaTime ? row.enterOpenSeaTime : row.estimateEnterOpenSeaTime)}}
</template>
</el-table-column>
<el-table-column
:label="$t('客户经理')"
align="center"
prop="customerServiceName"
>
<el-table-column :label="$t('入仓确认')" align="center">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.arrivalConfirm == 1">{{ $t('') }}</el-tag>
<el-tag type="info">{{ $t('') }}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('控货无收货人')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.noConsignee" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('默认付款')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.defaultPay" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('归属时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.customerServiceConfirmedTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('首次成交时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.firstDealTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('获取方式')" align="center">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_GET_METHOD"
:value="scope.row.getMethods"
/>
</template>
</el-table-column>
<el-table-column :label="$t('创建人')" prop="createUsername" align="center">
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('最后更新时间')" align="center" width="160">
<template slot-scope="scope">
<span >{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column
:label="$t('国家')"
align="center"
prop="country"
:formatter="countryFormatter"
></el-table-column>
<el-table-column
width="200px"
:label="$t('操作')"
......@@ -643,6 +742,16 @@ export default {
isChinese() {
return this.$i18n.locale === "zh_CN";
},
channel() {
return (val) => {
return !!val
? this.getDictDatas(this.DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE)
.filter((i) => (val.split(",") || []).includes(i.value))
.map((i) => (this.isChinese ? i.label : i.labelEn))
.join("")
: "";
};
},
customerSelectFn() {
if (this.recommended.length > 0) {
let i = this.customerSelect.find(
......@@ -1088,6 +1197,62 @@ export default {
this.$refs["customerComplaint"].handleAdd();
});
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPickupPointNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.getNodeLists.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getProductTypeNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.productTypeList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPromoterName(id) {
if (id) {
let strName = ''
for(const item of this.customerSelectFn) {
if (item.id == id) {
strName = item.name
break
}
}
return strName
} else {
return null
}
}
},
watch: {
selectCustomerList(val) {
......
......@@ -27,6 +27,7 @@
onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
</el-form-item>
<!--
<el-form-item :label="$t('客户等级')" prop="level">
<el-select
multiple
......@@ -43,6 +44,7 @@
/>
</el-select>
</el-form-item>
-->
<el-form-item :label="$t('区号')">
<el-select
v-model="queryParams.areaCode"
......@@ -388,6 +390,12 @@
</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>
......@@ -510,19 +518,21 @@
:data="list"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column :label="$t('客户编号')" align="center" prop="number">
<el-table-column :label="$t('客户编号')" align="center" fixed>
<template v-slot="{ row }">
{{ row.number }}
<router-link :to="`/customer/query/${row.id}`" class="link-type">
{{ row.number }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name">
<el-table-column :label="$t('客户名称')" align="center" fixed>
<template v-slot="{ row }">
<p style="display: inline-block; white-space: pre-wrap">
{{ $l(row, "name") }}
</p>
</template>
</el-table-column>
<!--
<el-table-column
:label="$t('客户等级')"
align="center"
......@@ -536,6 +546,7 @@
:label="$t('信用等级')"
:prop="isChinese ? 'creditLevelNameZh' : 'creditLevelNameEn'"
></el-table-column>
-->
<el-table-column :label="$t('客户状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
......@@ -556,43 +567,121 @@
</contacts>
</template>
</el-table-column>
<el-table-column
:label="$t('创建时间')"
align="center"
prop="createTime"
width="180"
>
<el-table-column :label="$t('客户类别')" align="center" prop="status">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<dict-tag
:type="DICT_TYPE.CUSTOMER_TYPE"
:value="scope.row.type"
/>
</template>
</el-table-column>
<el-table-column
:label="$t('入公海时间')"
align="center"
prop="createTime"
width="180"
>
<el-table-column :label="$t('角色')" align="center" prop="status">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.enterOpenSeaTime) }}</span>
<dict-tag
:type="DICT_TYPE.CUSTOMER_ROLE"
:value="scope.row.roles"
/>
</template>
</el-table-column>
<el-table-column
:label="$t('客户经理')"
align="center"
prop="customerServiceName"
>
<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">
<template slot-scope="{ row }">
{{ channel(row.transportType) }}
</template>
</el-table-column>
<el-table-column
:label="$t('国家')"
align="center"
prop="country"
:formatter="countryFormatter"
></el-table-column>
<el-table-column
:label="$t('操作')"
align="center"
class-name="small-padding fixed-width"
>
<el-table-column :label="$t('客户来源')">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_SOURCE"
:value="scope.row.source"
/>
</template>
</el-table-column>
<el-table-column :label="$t('业务国家')">
<template slot-scope="{ row }">
{{ getBusiCountryNames(row.busiCountryIds) }}
</template>
</el-table-column>
<el-table-column :label="$t('常用提货网点')">
<template slot-scope="{ row }">
{{ getPickupPointNames(row.pickupPoints) }}
</template>
</el-table-column>
<el-table-column :label="$t('年度发货量')" align="center">
<template slot-scope="{ row }">
{{ row.weightYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('主营类别')">
<template slot-scope="{ row }">
{{ getProductTypeNames(row.productType) }}
</template>
</el-table-column>
<el-table-column :label="$t('主要竞争对手')" prop="competitorNames">
</el-table-column>
<el-table-column :label="$t('年度发货次数')" align="center">
<template slot-scope="{ row }">
{{ row.numYearly }}
</template>
</el-table-column>
<el-table-column :label="$t('推介人')">
<template slot-scope="{ row }">
{{ getPromoterName(row.promoter) }}
</template>
</el-table-column>
<el-table-column :label="$t('入公海时间')" align="center" width="160">
<template v-slot="{ row }">
{{ parseTime( row.enterOpenSeaTime ? row.enterOpenSeaTime : row.estimateEnterOpenSeaTime)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓确认')" align="center">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.arrivalConfirm == 1">{{ $t('') }}</el-tag>
<el-tag type="info">{{ $t('') }}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('控货无收货人')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.noConsignee" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('默认付款')" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.defaultPay" disabled />
</template>
</el-table-column>
<el-table-column :label="$t('归属时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.customerServiceConfirmedTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('首次成交时间')" width="160" align="center">
<template slot-scope="scope">
{{ parseTime(scope.row.firstDealTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('获取方式')" align="center">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.CUSTOMER_GET_METHOD"
:value="scope.row.getMethods"
/>
</template>
</el-table-column>
<el-table-column :label="$t('创建人')" prop="createUsername" align="center">
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('最后更新时间')" align="center" width="160">
<template slot-scope="scope">
<span >{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column width="100px" :label="$t('操作')" align="center" fixed="right">
<template slot-scope="scope">
<router-link :to="'/customer/query/' + scope.row.id">
<el-button
......@@ -859,6 +948,16 @@ export default {
isChinese() {
return this.$i18n.locale === "zh_CN";
},
channel() {
return (val) => {
return !!val
? this.getDictDatas(this.DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE)
.filter((i) => (val.split(",") || []).includes(i.value))
.map((i) => (this.isChinese ? i.label : i.labelEn))
.join("")
: "";
};
},
customerSelectFn() {
if (this.recommended.length > 0) {
let i = this.customerSelect.find(
......@@ -1145,6 +1244,76 @@ export default {
handleSelectionChange(val) {
this.multipleSelection = val;
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getBusiCountryNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.countryList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.nameZh : item.nameEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPickupPointNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.getNodeLists.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getProductTypeNames(ids) {
if (ids) {
const idsArr = ids.split(',')
const strArr = []
this.productTypeList.forEach(item => {
if (idsArr.includes(item.id.toString())) {
strArr.push(this.isChinese ? item.titleZh : item.titleEn)
}
})
return strArr.length > 0 ? strArr.join(',') : null
} else {
return null
}
},
getPromoterName(id) {
if (id) {
let strName = ''
for(const item of this.customerSelectFn) {
if (item.id == id) {
strName = item.name
break
}
}
return strName
} else {
return null
}
}
},
};
</script>
......@@ -169,6 +169,31 @@
<!--<el-form-item :label="$t('订单放货锁定收货人到期时间')" prop="lockConsigneeTime">
</el-form-item>-->
<el-form-item :label="$t('提货状态')" v-show="showSearch">
<el-select multiple clearable v-model="queryParams.pickStateList">
<el-option :label="$t('未提货')" :value="0" />
<el-option :label="$t('部分提货')" :value="1" />
<el-option :label="$t('已提货')" :value="2" />
</el-select>
</el-form-item>
<el-form-item :label="$t('提货率')" v-show="showSearch">
<el-input
type="number"
v-model.trim="pickRatio.value"
:placeholder="$t('请输入数字')"
clearable
@keyup.enter.native="handleQuery"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.CUSTOMER_QUERY_NUMBER_FIELD"
defaultable
v-model="pickRatio.key"
class="w-50"
/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('订单限制修改收货人')" prop="isLimitUpdateConsignee">
<el-select v-model="queryParams.isLimitUpdateConsignee" :placeholder="$t('请选择')" clearable @change="handleQuery">
<el-option :label="$t('是')" :value="1"></el-option>
......@@ -396,6 +421,10 @@ export default {
destCountryId: null,
objectiveId: null,
destWarehouseId: null,
pickRatio: {
key: "eqNumberKey",
value: "",
}
};
},
computed: {
......@@ -433,6 +462,16 @@ export default {
if (this.destWarehouseId != null && this.destWarehouseId != "") {
queryParams.destWarehouseIds = this.destWarehouseId;
}
// 提货率
if (this.pickRatio.value) {
let key = 'eqPickRatio'
if (this.pickRatio.key == 'leNumberKey') {
key = 'lePickRatio'
} else if (this.pickRatio.key == 'geNumberKey') {
key = 'gePickRatio'
}
queryParams[key] = this.pickRatio.value
}
return Object.assign({}, this.queryParams, timeParams, queryParams)
}
},
......
......@@ -8,337 +8,327 @@
:inline="true"
label-width="100px"
>
<el-row>
<el-form-item>
<el-form-item>
<el-select
v-model="queryParams.dateType"
style="width: 172px"
clearable
>
<el-option :label="$t('入仓时间')" value="1" />
<el-option :label="$t('处理时间')" value="2" />
</el-select>
<el-date-picker
clearable
v-model="queryParams.beginCreateTime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
type="datetime"
:placeholder="$t('请选择开始日期')"
/>
<span style="margin: 0 8px">{{ $t("") }}</span>
<el-date-picker
clearable
v-model="queryParams.endCreateTime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
type="datetime"
:placeholder="$t('请选择结束日期')"
/>
</el-form-item>
<div>
<el-form-item :label="$t('始发仓')">
<el-select
v-model="queryParams.dateType"
style="width: 172px"
v-model="queryParams.startWarehouseIds"
multiple
:placeholder="$t('请选择始发仓')"
clearable
>
<el-option :label="$t('入仓时间')" value="1" />
<el-option :label="$t('处理时间')" value="2" />
<el-option
v-for="item in exportWarehouseList"
:label="$l(item, 'title')"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
<el-date-picker
clearable
v-model="queryParams.beginCreateTime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
type="datetime"
:placeholder="$t('请选择开始日期')"
/>
<span style="margin: 0 8px">{{ $t("") }}</span>
<el-date-picker
clearable
v-model="queryParams.endCreateTime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
type="datetime"
:placeholder="$t('请选择结束日期')"
/>
</el-form-item>
<div>
<el-form-item :label="$t('始发仓')" prop="startWarehouseIds">
<el-select
v-model="queryParams.startWarehouseIds"
multiple
:placeholder="$t('请选择始发仓')"
clearable
>
<el-option
v-for="item in exportWarehouseList"
:label="$l(item, 'title')"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的国')" prop="destCountryId">
<el-select
v-model="destCountryId"
multiple
:label="destCountryId"
:placeholder="$t('请选择目的国')"
clearable
@change="handleQuery"
>
<el-option
v-for="item in AddressProvince"
:key="item.guojia"
:label="item.guojiaName"
:value="item.guojia"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的城市')" prop="objectiveId">
<el-select
v-model="objectiveId"
multiple
:placeholder="$t('请选择目的城市')"
style="width: 200px"
clearable
@change="handleQuery"
>
<el-option
v-for="item in AddressCity"
:key="item.shi"
:label="item.shiName"
:value="item.shi"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')" prop="destWarehouseId">
<el-select
v-model="destWarehouseId"
multiple
:placeholder="$t('请选择目的仓')"
style="width: 200px"
clearable
@change="handleQuery"
>
<el-option
v-for="item in AddressTown"
:key="item.id"
:label="item.titleZh"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</div>
</el-row>
<el-row>
<el-form-item :label="$t('运输方式') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_TRANSPORT_TYPE"
:clearable="true"
v-model="queryParams.transportId"
/>
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="status">
<dict-selector
:type="DICT_TYPE.ORDER_STATUS"
v-model="queryParams.orderStatus"
@keyup.enter.native="handleQuery"
clearable
/>
</el-form-item>
<el-form-item :label="$t('跟进客服')" prop="salesmanIds">
<el-form-item :label="$t('目的国')" prop="destCountryId">
<el-select
v-model="queryParams.salesmanIds"
v-model="destCountryId"
multiple
:placeholder="$t('请选择')"
:label="destCountryId"
:placeholder="$t('请选择目的国')"
clearable
@change="handleQuery"
>
<el-option
v-for="dict in followUpList"
:key="parseInt(dict.id)"
:label="dict.nickname"
:value="parseInt(dict.id)"
/>
v-for="item in AddressProvince"
:key="item.guojia"
:label="item.guojiaName"
:value="item.guojia"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('出货渠道')" prop="channelId">
<!--嵌套一个form来脱离disabled控制-->
<selector
:clearable="true"
v-model="queryParams.channelIds"
multiple
:options="channelList"
value-field="channelId"
:label-field="$l(null, 'name')"
></selector>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('控货') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_YESNO"
:clearable="true"
v-model="queryParams.isCargoControl"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('异常状态') + ':'">
<dict-selector
:type="DICT_TYPE.ORDER_EXCEPTION_STATUS"
:clearable="true"
v-model="queryParams.orderExceptionStatusList"
<el-form-item :label="$t('目的城市')" prop="objectiveId">
<el-select
v-model="objectiveId"
multiple
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('异常类型') + ':'">
<dict-selector
:type="DICT_TYPE.ORDER_ERROR_TYPE"
:clearable="true"
v-model="queryParams.orderExceptionType"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('订单号') + ':'">
<el-input
v-model="queryParams.orderNo"
:placeholder="$t('请输入订单号')"
:placeholder="$t('请选择目的城市')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
@change="handleQuery"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.EXCEPTION_SELECT_FILED"
v-model="queryParams.orderNoKey"
class="w-50"
/>
</template>
</el-input>
</el-form-item>
</el-row>
<el-row>
<!-- <el-form-item :label="$t('发货人')+':'">
<customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" />
</el-form-item>
<el-form-item :label="$t('发货人')+':'">
<customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" />
</el-form-item> -->
<el-form-item :label="$t('发货人')" prop="consignorText">
<el-input
v-model.trim="queryParams.consignorText"
:placeholder="$t('发货人')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeText">
<el-input
v-model="queryParams.consigneeText"
:placeholder="$t('收货人')"
clearable
@keyup.enter.native="handleQuery"
/>
<el-option
v-for="item in AddressCity"
:key="item.shi"
:label="item.shiName"
:value="item.shi"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('唛头') + ':'" v-show="showSearch">
<el-input
v-model.trim="queryParams.marks"
:placeholder="$t('请输入唛头')"
<el-form-item :label="$t('目的仓')" prop="destWarehouseId">
<el-select
v-model="destWarehouseId"
multiple
:placeholder="$t('请选择目的仓')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
@change="handleQuery"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.EXCEPTION_SELECT_FILED"
v-model="queryParams.marksKey"
class="w-50"
/>
</template>
</el-input>
<el-option
v-for="item in AddressTown"
:key="item.id"
:label="item.titleZh"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('商品') + ':'">
<div style="display: flex; width: 100%">
</div>
<el-form-item :label="$t('运输方式') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_TRANSPORT_TYPE"
:clearable="true"
v-model="queryParams.transportId"
/>
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="status">
<dict-selector
:type="DICT_TYPE.ORDER_STATUS"
v-model="queryParams.orderStatus"
@keyup.enter.native="handleQuery"
clearable
/>
</el-form-item>
<el-form-item :label="$t('跟进客服')" prop="salesmanIds">
<el-select
v-model="queryParams.salesmanIds"
multiple
:placeholder="$t('请选择')"
clearable
>
<el-option
v-for="dict in followUpList"
:key="parseInt(dict.id)"
:label="dict.nickname"
:value="parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('出货渠道')" prop="channelId">
<!--嵌套一个form来脱离disabled控制-->
<selector
:clearable="true"
v-model="queryParams.channelIds"
multiple
:options="channelList"
value-field="channelId"
:label-field="$l(null, 'name')"
></selector>
</el-form-item>
<el-form-item :label="$t('控货') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.ECW_YESNO"
:clearable="true"
v-model="queryParams.isCargoControl"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('异常状态') + ':'">
<dict-selector
:type="DICT_TYPE.ORDER_EXCEPTION_STATUS"
:clearable="true"
v-model="queryParams.orderExceptionStatusList"
multiple
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('异常类型') + ':'">
<dict-selector
:type="DICT_TYPE.ORDER_ERROR_TYPE"
:clearable="true"
v-model="queryParams.orderExceptionType"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('订单号') + ':'">
<el-input
v-model="queryParams.orderNo"
:placeholder="$t('请输入订单号')"
clearable
@keyup.enter.native="handleQuery"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.EXCEPTION_SELECT_FILED"
style="width: 90px"
v-model="queryParams.goodsNameKey"
v-model="queryParams.orderNoKey"
class="w-50"
/>
<product-selector
v-model="queryParams.goodsName"
style="flex: 1"
:clearable="true"
@keyup.enter.native="handleQuery"
</template>
</el-input>
</el-form-item>
<!-- <el-form-item :label="$t('发货人')+':'">
<customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" />
</el-form-item>
<el-form-item :label="$t('发货人')+':'">
<customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" />
</el-form-item> -->
<el-form-item :label="$t('发货人')" prop="consignorText">
<el-input
v-model.trim="queryParams.consignorText"
:placeholder="$t('发货人')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeText">
<el-input
v-model="queryParams.consigneeText"
:placeholder="$t('收货人')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('唛头') + ':'" v-show="showSearch">
<el-input
v-model.trim="queryParams.marks"
:placeholder="$t('请输入唛头')"
clearable
@keyup.enter.native="handleQuery"
>
<template slot="prepend">
<dict-selector
:type="DICT_TYPE.EXCEPTION_SELECT_FILED"
v-model="queryParams.marksKey"
class="w-50"
/>
</div>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('备案') + ':'" v-show="showSearch">
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('商品') + ':'">
<div style="display: flex; width: 100%">
<dict-selector
:type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:type="DICT_TYPE.EXCEPTION_SELECT_FILED"
style="width: 90px"
v-model="queryParams.goodsNameKey"
/>
<product-selector
v-model="queryParams.goodsName"
style="flex: 1"
:clearable="true"
v-model="queryParams.productRecord"
multiple
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('客户经理') + ':'">
<el-select
v-model="queryParams.customerIds"
multiple
:placeholder="$t('请选择客户经理')"
clearable
</div>
</el-form-item>
<el-form-item :label="$t('备案') + ':'" v-show="showSearch">
<dict-selector
:type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:clearable="true"
v-model="queryParams.productRecord"
multiple
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('客户经理') + ':'">
<el-select
v-model="queryParams.customerIds"
multiple
:placeholder="$t('请选择客户经理')"
clearable
>
<el-option
v-for="item in creatorData"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="number" v-show="showSearch">
<el-select
v-model="queryParams.isExternalWarehouse"
:placeholder="$t('请选择')"
clearable
@change="handleQuery"
>
<el-option :label="$t('外部仓')" :value="1"></el-option>
<el-option :label="$t('自有仓')" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('特需')" prop="packageType" v-show="showSearch">
<el-select
v-model="queryParams.packageTypeArr"
multiple
:placeholder="$t('请选择')"
clearable
>
<template
v-for="item in getDictDatas(DICT_TYPE.ORDER_SPECIAL_NEEDS)"
>
<el-option
v-for="item in creatorData"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('外部仓')" prop="number" v-show="showSearch">
<el-select
v-model="queryParams.isExternalWarehouse"
:placeholder="$t('请选择')"
clearable
@change="handleQuery"
>
<el-option :label="$t('外部仓')" :value="1"></el-option>
<el-option :label="$t('自有仓')" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('特需')" prop="packageType" v-show="showSearch">
<el-select
v-model="queryParams.packageTypeArr"
multiple
:placeholder="$t('请选择')"
clearable
>
<template
v-for="item in getDictDatas(DICT_TYPE.ORDER_SPECIAL_NEEDS)"
>
<el-option
:label="$l(item, 'label')"
:value="item.value"
></el-option>
</template>
</el-select>
</el-form-item>
<el-form-item :label="$t('商品类型')" prop="goodsTypes" v-show="showSearch">
<selector v-model="queryParams.goodsTypes" multiple :options="productAttrList" label-field="attrName" value-field="id">
</selector>
</el-form-item>
<el-form-item :label="$t('增值服务')" prop="types" v-show="showSearch">
<el-select
v-model="queryParams.types"
multiple
:placeholder="$t('请选择')"
clearable
@change="handleQuery"
>
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
<el-option :label="$t('海外仓')" :value="2"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="">
<el-checkbox
style="margin-left: 60px"
v-model="queryParams.isHaveCustomer"
@change="handleQuery"
>{{ $t("无归属订单") }}</el-checkbox
>
</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="reset">{{
$t("重置")
}}</el-button>
</el-form-item>
</el-row>
:label="$l(item, 'label')"
:value="item.value"
></el-option>
</template>
</el-select>
</el-form-item>
<el-form-item :label="$t('商品类型')" prop="goodsTypes" v-show="showSearch">
<selector v-model="queryParams.goodsTypes" multiple :options="productAttrList" label-field="attrName" value-field="id">
</selector>
</el-form-item>
<el-form-item :label="$t('增值服务')" prop="types" v-show="showSearch">
<el-select
v-model="queryParams.types"
multiple
:placeholder="$t('请选择')"
clearable
@change="handleQuery"
>
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
<el-option :label="$t('海外仓')" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-checkbox
style="margin-left: 60px"
v-model="queryParams.isHaveCustomer"
@change="handleQuery"
>{{ $t("无归属订单") }}</el-checkbox
>
</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="reset">{{
$t("重置")
}}</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
......
......@@ -523,8 +523,20 @@
</div>
</template>
</el-table-column>
<el-table-column :label="$t('发货人编号')" align="center" prop="consignorCustomerNumber" />
<el-table-column :label="$t('收货人编号')" align="center" prop="consigneeCustomerNumber" />
<el-table-column :label="$t('发货人编号')" align="center">
<template slot-scope="{ row }">
<router-link :to="`/customer/query/${row.consignorCustomerId}`" class="link-type">
{{row.consignorCustomerNumber}}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('收货人编号')" align="center" prop="consigneeCustomerNumber">
<template slot-scope="{ row }">
<router-link :to="`/customer/query/${row.consigneeCustomerId}`" class="link-type">
{{row.consigneeCustomerNumber}}
</router-link>
</template>
</el-table-column>
<el-table-column
:label="$t('总箱数/入仓箱数')"
align="center"
......
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