Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanbaoming
jiedao-app-operator-master
Commits
59c5853b
Commit
59c5853b
authored
Sep 12, 2024
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/pre-release' into pre-release
parents
41bf70a6
12955a48
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
676 additions
and
910 deletions
+676
-910
customer.js
src/api/ecw/customer.js
+1
-1
en_US.json
src/i18n/languages/en_US.json
+1
-2
customerFollowSelectOffer.vue
...ews/ecw/customer/components/customerFollowSelectOffer.vue
+6
-3
customerSetting.vue
src/views/ecw/customer/components/customerSetting.vue
+17
-12
index.vue
src/views/ecw/customer/index.vue
+77
-119
query.vue
src/views/ecw/customer/query.vue
+88
-91
index.vue
src/views/ecw/customerConfirm/index.vue
+134
-165
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+132
-136
index.vue
src/views/ecw/myCustomerService/index.vue
+118
-154
index.vue
src/views/ecw/oceanCustomer/index.vue
+86
-210
index.vue
src/views/ecw/order/exception/index.vue
+16
-17
No files found.
src/api/ecw/customer.js
View file @
59c5853b
...
...
@@ -530,7 +530,7 @@ export function changeCustomerDefaultBilling(data){
export
function
customerSettingButton
(
data
){
return
request
({
url
:
'
ecw/customer/
change-customer-arrival-confirm
'
,
url
:
'
ecw/customer/
update-customer-setup
'
,
method
:
'
put
'
,
data
})
...
...
src/i18n/languages/en_US.json
View file @
59c5853b
...
...
@@ -4707,6 +4707,5 @@
"下次跟进时间"
:
"Next follow-up time"
,
"提交结果"
:
"Submit result"
,
"增加计划"
:
"add plan"
,
"是否确认导出客户跟进记录数据项?"
:
"Are you sure to export all customer follow-up record data items?"
,
"请选择需要核销的收款明细"
:
"Please select the collection details that need to be written off"
"是否确认导出客户跟进记录数据项?"
:
"Are you sure to export all customer follow-up record data items?"
}
src/views/ecw/customer/components/customerFollowSelectOffer.vue
View file @
59c5853b
...
...
@@ -37,6 +37,9 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
min-width=
"100"
>
<
template
slot-scope=
"{row}"
>
<el-link
type=
"primary"
@
click.native=
"$router.push('/customer/query/' + row.relationId)"
>
{{
row
.
customerNumber
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"relationName"
min-width=
"100"
/>
<el-table-column
:label=
"$t('联系方式')"
>
...
...
@@ -49,9 +52,9 @@
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.transportId"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('渠道')"
align=
"center"
min-width=
"120"
>
<el-table-column
:label=
"$t('渠道')"
align=
"center"
min-width=
"120"
prop=
"channelName"
>
</el-table-column>
<el-table-column
:label=
"$t('始发地')"
align=
"center"
min-width=
"120"
>
<el-table-column
:label=
"$t('始发地')"
align=
"center"
min-width=
"120"
prop=
"departureName"
>
</el-table-column>
<el-table-column
:label=
"$t('目的地')"
align=
"center"
prop=
"objectiveName"
min-width=
"120"
/>
<el-table-column
:label=
"$t('预计销售额')"
min-width=
"160"
>
...
...
@@ -89,7 +92,7 @@ export default {
UserSelector
},
props
:
{
customerId
:
Number
,
customerId
:
Number
},
data
()
{
return
{
...
...
src/views/ecw/customer/components/customerSetting.vue
View file @
59c5853b
...
...
@@ -106,6 +106,7 @@ export default {
return
{
dialogVisible
:
false
,
form
:
{
id
:
0
,
isShowTidanPrice
:
false
,
arrivalConfirm
:
0
,
weightUnit
:
null
,
...
...
@@ -123,7 +124,7 @@ export default {
zhongLines
:
[],
warehouseList
:
[],
// 仓库列表
importCityList
:
[],
// 进口地址
zhong
Lines
:
[],
pao
Lines
:
[],
paoLines
:
[],
}
},
...
...
@@ -136,22 +137,16 @@ export default {
});
},
methods
:
{
getZhongPao
()
{
getZhongPaoBest
({
customerId
:
this
.
customerId
,
// departureId: this.departureId,
// objectiveId: this.objectiveId
}).
then
((
r
)
=>
{
if
(
!
this
.
form
.
weightUnit
)
this
.
form
.
weightUnit
=
r
.
data
.
zhongEdge
;
if
(
!
this
.
form
.
lightUnit
)
this
.
form
.
lightUnit
=
r
.
data
.
paoEdge
;
});
},
init
(
id
)
{
this
.
customerId
=
id
this
.
showZhong
=
false
this
.
showPao
=
false
this
.
showZhong1
=
false
this
.
showPao1
=
false
getCustomer
(
this
.
customerId
).
then
((
response
)
=>
{
const
row
=
response
.
data
this
.
form
=
{
customerI
d
:
row
.
id
,
i
d
:
row
.
id
,
isShowTidanPrice
:
row
.
isShowTidanPrice
,
arrivalConfirm
:
row
.
arrivalConfirm
,
weightUnit
:
row
.
weightUnit
,
...
...
@@ -177,6 +172,16 @@ export default {
this
.
getZhongPao
()
})
},
getZhongPao
()
{
getZhongPaoBest
({
customerId
:
this
.
customerId
,
// departureId: this.departureId,
// objectiveId: this.objectiveId
}).
then
((
r
)
=>
{
if
(
!
this
.
form
.
weightUnit
)
this
.
form
.
weightUnit
=
r
.
data
.
zhongEdge
;
if
(
!
this
.
form
.
lightUnit
)
this
.
form
.
lightUnit
=
r
.
data
.
paoEdge
;
});
},
handleClose
()
{
this
.
resetForm
(
"
form
"
)
this
.
dialogVisible
=
false
...
...
src/views/ecw/customer/index.vue
View file @
59c5853b
...
...
@@ -69,15 +69,6 @@
@
input=
"queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</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('部门')"
v-if=
"path != '/customer/department-customers'"
>
<el-select
v-model=
"queryParams.deptIds"
:placeholder=
"$t('请选择部门')"
>
<el-option
v-for=
"item in deptList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
...
...
@@ -117,7 +108,44 @@
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('国籍')"
prop=
"source"
>
<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
...
...
@@ -133,23 +161,43 @@
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('客户状态')"
prop=
"status"
>
<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-select
multiple
clearable
v-model=
"queryParams.status"
:placeholder=
"$t('请选择客户状态')"
size=
"small"
v-model=
"queryParams.busiCountryIds"
:placeholder=
"$t('请选择')"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in
getDictDatas(DICT_TYPE.CUSTOMER_STATUS)
"
:key=
"dict.
value
"
:label=
"isChinese ? dict.
label : dict.label
En"
:value=
"
dict.value
"
v-for=
"dict in
countryList
"
:key=
"dict.
id
"
:label=
"isChinese ? dict.
nameZh : dict.name
En"
:value=
"
parseInt(dict.id)
"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('常用提货网点')"
v-show=
"showSearch"
>
<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
...
...
@@ -225,54 +273,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</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('出货渠道')"
>
<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-select
multiple
clearable
v-model=
"queryParams.busiCountryIds"
: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('常用提货网点')"
v-show=
"showSearch"
>
<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-date-picker
type=
"datetimerange"
...
...
@@ -314,7 +315,7 @@
@
change=
"handleSelectProductType"
multiple
v-model=
"queryParams.productTypes"
:placeholder=
"$t('请选择
产品类别
')"
:placeholder=
"$t('请选择')"
>
<el-option
:label=
"item.titleZh"
...
...
@@ -591,42 +592,6 @@
>
{{ $t("合并客户") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultPay"
v-hasPermi=
"['ecw:customer:change-customer-default-pay']"
>
{{ $t("设置默认付款") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setNoConsignee"
v-hasPermi=
"['ecw:customer:change-customer-no-consignee']"
>
{{ $t("设置默认控货无收货人") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultBilling"
v-hasPermi=
"['ecw:customer:change-customer-default-billing']"
>
{{ $t("设置默认开票") }}
</el-button
>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
...
...
@@ -664,14 +629,7 @@
</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"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
...
...
@@ -889,7 +847,7 @@
>
{{
$t
(
"
报价
"
)
}}
</el-button
>
<el-button
v-has-permi=
"[
selectAuthorityFn('ecw:customer:treat-quoted-price')
]"
v-has-permi=
"[
'ecw:customer:setting'
]"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
...
...
@@ -1401,7 +1359,7 @@
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
/
>
></customer-setting
>
<!--业绩类型 -->
<el-dialog
title=
"业绩类型"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<div>
...
...
@@ -2119,6 +2077,12 @@ export default {
this
.
getList
()
})
},
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
})
},
getBusiCountryNames
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
split
(
'
,
'
)
...
...
@@ -2133,12 +2097,6 @@ export default {
return
null
}
},
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
})
},
getBusiCountryNames
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
split
(
'
,
'
)
...
...
src/views/ecw/customer/query.vue
View file @
59c5853b
...
...
@@ -50,13 +50,72 @@
<
el
-
descriptions
-
item
:
label
=
"
$t('归属时间')
"
>
{{
customer
.
customerServiceConfirmedTime
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('创建人')
"
>
{{
customer
.
founderName
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('创建时间')
"
>
{{
parseTime
(
customer
.
createTime
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('最后更新人')
"
>
{{
customer
.
updater
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('最后更新人')
"
>
{{
customer
.
updater
Name
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('最后更新时间')
"
>
{{
customer
.
updateTime
}}
<
/el-descriptions-item
>
<
/template
>
<
/el-descriptions
>
<
/el-card
>
<
el
-
tabs
v
-
model
=
"
activeName
"
style
=
"
margin-top: 15px
"
type
=
"
border-card
"
>
<
el
-
tab
-
pane
name
=
"
contact
"
:
label
=
"
$t('联系人')
"
>
<
el
-
table
:
data
=
"
customerContacts
"
style
=
"
width: 100%
"
border
>
<
el
-
table
-
column
prop
=
"
department
"
:
label
=
"
$t('部门')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
position
"
:
label
=
"
$t('职位')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
name
"
:
label
=
"
$t('联系人')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
nameEn
"
:
label
=
"
$t('联系人英文名称')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
phoneNew
"
:
label
=
"
$t('联系方式')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
+
{{
row
.
areaCode
}}
{{
row
.
phoneNew
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
userid
"
:
label
=
"
$t('关联账号')
"
:
formatter
=
"
userIdFormatter
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
social
"
:
label
=
"
$t('社交软件')
"
:
formatter
=
"
(row, column, cellValue) => getDictDataLabel(DICT_TYPE.SOCIAL, cellValue)
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
socialNumber
"
:
label
=
"
$t('社交软件号码')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
email
"
:
label
=
"
$t('邮箱')
"
>
<
/el-table-column
>
<
/el-table
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
name
=
"
order
"
:
label
=
"
$t('订单')
"
>
<
el
-
card
class
=
"
box-card
"
>
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
...
...
@@ -633,9 +692,7 @@
<
el
-
descriptions
-
item
:
label
=
"
$t('付款人姓名')
"
>
{{
customer
.
payerName
}}
<
/el-descriptions-item
>
<
/el-descriptions
>
<
el
-
card
class
=
"
box-card
"
>
<
div
slot
=
"
header
"
>
开票信息
<
/div
>
<
div
slot
=
"
header
"
>
{{
$t
(
'
开票信息
'
)
}}
<
/div
>
<
el
-
descriptions
:
column
=
"
2
"
>
<
el
-
descriptions
-
item
:
label
=
"
$t('发票抬头')
"
>
{{
customer
.
invoiceTitle
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('纳税人识别号')
"
>
{{
customer
.
licenseNumber
}}
<
/el-descriptions-item
>
...
...
@@ -647,6 +704,32 @@
<
el
-
descriptions
-
item
:
label
=
"
$t('税率')
"
>
{{
customer
.
taxRate
}}
<
/el-descriptions-item
>
<
/el-descriptions
>
<
/el-card
>
<
el
-
card
style
=
"
margin-top: 15px;
"
>
<
div
slot
=
"
header
"
>
{{
$t
(
'
银行账户
'
)
}}
<
/div
>
<
el
-
table
:
data
=
"
customer.customerBankBackVOList
"
border
>
<
el
-
table
-
column
:
label
=
"
$t('编号')
"
type
=
"
index
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('账户名称')
"
prop
=
"
accountName
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('币别')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
$l
(
currecyList
.
find
(
i
=>
row
.
currency
==
i
.
id
),
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行名称')
"
prop
=
"
bankName
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行账户')
"
prop
=
"
bankAccount
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行代码')
"
prop
=
"
bankCode
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('账户类型')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
Number
(
row
.
accountType
)
===
1
?
$t
(
'
公账
'
)
:
$t
(
'
私账
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('状态')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
row
.
status
?
$t
(
'
正常
'
)
:
$t
(
'
停用
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行地址')
"
prop
=
"
bankAddress
"
><
/el-table-column
>
<
/el-table
>
<
/el-card
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
name
=
"
special
"
:
label
=
"
$t('特殊设置')
"
>
...
...
@@ -724,93 +807,7 @@
<
/el-tab-pane
>
<
/el-tabs
>
<
el
-
card
style
=
"
margin-top: 15px;
"
>
<
h3
>
{{
$t
(
'
银行账户
'
)
}}
<
/h3
>
<
el
-
table
:
data
=
"
customer.customerBankBackVOList
"
border
>
<
el
-
table
-
column
:
label
=
"
$t('编号')
"
type
=
"
index
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('账户名称')
"
prop
=
"
accountName
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('币别')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
$l
(
currecyList
.
find
(
i
=>
row
.
currency
==
i
.
id
),
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行名称')
"
prop
=
"
bankName
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行账户')
"
prop
=
"
bankAccount
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行代码')
"
prop
=
"
bankCode
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('账户类型')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
Number
(
row
.
accountType
)
===
1
?
$t
(
'
公账
'
)
:
$t
(
'
私账
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('状态')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
row
.
status
?
$t
(
'
正常
'
)
:
$t
(
'
停用
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('银行地址')
"
prop
=
"
bankAddress
"
><
/el-table-column
>
<
/el-table
>
<
/el-card
>
<
el
-
card
style
=
"
margin-top: 15px
"
>
<
h3
>
{{
$t
(
'
联系人
'
)
}}
<
/h3
>
<
el
-
table
:
data
=
"
customerContacts
"
style
=
"
width: 100%
"
border
>
<
el
-
table
-
column
prop
=
"
department
"
:
label
=
"
$t('部门')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
position
"
:
label
=
"
$t('职位')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
name
"
:
label
=
"
$t('联系人')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
nameEn
"
:
label
=
"
$t('联系人英文名称')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
phoneNew
"
:
label
=
"
$t('联系方式')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
+
{{
row
.
areaCode
}}
{{
row
.
phoneNew
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
userid
"
:
label
=
"
$t('关联账号')
"
:
formatter
=
"
userIdFormatter
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
social
"
:
label
=
"
$t('社交软件')
"
:
formatter
=
"
(row, column, cellValue) => getDictDataLabel(DICT_TYPE.SOCIAL, cellValue)
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
socialNumber
"
:
label
=
"
$t('社交软件号码')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
email
"
:
label
=
"
$t('邮箱')
"
>
<
/el-table-column
>
<
/el-table
>
<
/el-card
>
<
/el-col
>
<
/el-row
>
<
el
-
dialog
...
...
src/views/ecw/customerConfirm/index.vue
View file @
59c5853b
...
...
@@ -3,19 +3,23 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"130px"
>
<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, '')"
/>
</el-form-item>
<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>
<!--
<el-form-item
:label=
"$t('客户等级')"
prop=
"level"
>
<el-select
multiple
v-model=
"queryParams.level"
:placeholder=
"$t('请选择客户等级')"
clearable
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
<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>
-->
<el-form-item
:label=
"$t('区号')"
>
<el-select
v-model=
"queryParams.areaCode"
...
...
@@ -35,10 +39,11 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
>
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
multiple
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
clearable
@
change=
"handleQuery"
></dict-selector>
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('部门')"
>
<el-select
v-model=
"queryParams.deptIds"
:placeholder=
"$t('请选择部门')"
>
...
...
@@ -46,84 +51,48 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
multiple
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
clearable
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
<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
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
clearable
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=
"source"
>
<el-select
multiple
clearable
v-model=
"form.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('客户状态')"
prop=
"status"
>
<el-select
multiple
v-model=
"queryParams.status"
:placeholder=
"$t('请选择客户状态')"
clearable
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('创建人')"
v-show=
"showSearch"
>
<el-select
v-model=
"queryParams.founder"
>
<el-select
multiple
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<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
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-select
multiple
clearable
v-model=
"queryParams.creditLevel"
@
change=
"handleQuery"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
" isChinese ? item.nameZh : item.nameEn"
:key=
"index"
:value=
"item.id"
></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=
"department"
>
<dict-selector
multiple
clearable
:type=
"DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE"
v-model=
"queryParams.marketType"
formatter=
"number"
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('会员电话')"
prop=
"department"
>
<el-col
:span=
"11"
>
<area-code-selector
style=
"width: 100%;"
v-model=
"queryParams.memberAreaCode"
/>
</el-col>
<el-col
class=
"line"
:span=
"2"
></el-col>
<el-col
:span=
"11"
>
<el-input
maxlength=
"11"
width=
"100%"
class=
"ml-10 w-200"
clearable
v-model.number=
"queryParams.memberMobile"
:placeholder=
"$t('请输入会员电话')"
/>
</el-col>
</el-form-item>
<el-form-item
:label=
"$t('会员编号')"
prop=
"number"
>
<el-input
v-model.trim=
"queryParams.memberCode"
:placeholder=
"$t('请输入会员编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('会员名称')"
prop=
"name"
>
<el-input
v-model.trim=
"queryParams.memberName"
:placeholder=
"$t('请输入会员名称')"
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
multiple
clearable
@
keyup.enter.native=
"handleQuery"
/>
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
-->
<el-form-item
:label=
"$t('角色')"
>
<dict-selector
multiple
...
...
@@ -135,6 +104,39 @@
: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
...
...
@@ -145,6 +147,7 @@
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('业务国家')"
v-show=
"showSearch"
>
<el-select
multiple
...
...
@@ -171,6 +174,29 @@
></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-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"
...
...
@@ -212,7 +238,7 @@
@
change=
"handleSelectProductType"
multiple
v-model=
"queryParams.productTypes"
:placeholder=
"$t('请选择
产品类别
')"
:placeholder=
"$t('请选择')"
>
<el-option
:label=
"item.titleZh"
...
...
@@ -272,7 +298,7 @@
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-select
clearable
remote
...
...
@@ -387,42 +413,6 @@
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:treat-export']"
>
{{$t('导出')}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultPay"
v-hasPermi=
"['ecw:customer:change-customer-default-pay']"
>
{{ $t("设置默认付款") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setNoConsignee"
v-hasPermi=
"['ecw:customer:change-customer-no-consignee']"
>
{{ $t("设置默认控货无收货人") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultBilling"
v-hasPermi=
"['ecw:customer:change-customer-default-billing']"
>
{{ $t("设置默认开票") }}
</el-button
>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
...
...
@@ -598,7 +588,15 @@
</router-link>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:customer:treat-perfect']"
>
{{
$t
(
'
完善
'
)
}}
</el-button>
<!--
<el-button
v-has-permi=
"['ecw:customer:treat-recovery']"
size=
"mini"
type=
"text"
@
click=
"recovery(scope.row)"
>
{{
$t
(
'
回收客户
'
)
}}
</el-button>
-->
<!--
<el-button
v-has-permi=
"['ecw:customer:treat-recovery']"
size=
"mini"
type=
"text"
@
click=
"recovery(scope.row)"
>
{{
$t
(
'
回收客户
'
)
}}
</el-button>
-->
<el-button
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button
>
</
template
>
</el-table-column>
...
...
@@ -814,6 +812,10 @@
</div>
</el-dialog>
<transfer-customer
:show.sync=
"openHandOver"
:customer-ids.sync=
"handOverForm.customerIdList"
></transfer-customer>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
</div>
</template>
...
...
@@ -835,6 +837,7 @@ import {getCountryListAll} from "@/api/ecw/country";
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
;
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
;
import
{
getNodeList
}
from
"
@/api/ecw/node
"
;
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
;
...
...
@@ -919,7 +922,8 @@ export default {
components
:
{
Contacts
,
transferCustomer
,
AreaCodeSelector
AreaCodeSelector
,
CustomerSetting
},
data
()
{
return
{
...
...
@@ -1252,19 +1256,11 @@ 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
}
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
})
},
getBusiCountryNames
(
ids
)
{
if
(
ids
)
{
...
...
@@ -1321,34 +1317,7 @@ export default {
}
else
{
return
null
}
},
setDefaultPay
()
{
changeCustomerDefaultPay
({
customerIdList
:
this
.
selectCustomerList
,
defaultPay
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
setNoConsignee
()
{
changeCustomerNoConsignee
({
customerIdList
:
this
.
selectCustomerList
,
noConsigee
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
setDefaultBilling
()
{
changeCustomerDefaultBilling
({
customerIdList
:
this
.
selectCustomerList
,
defaultBilling
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
}
}
};
</
script
>
src/views/ecw/customerToBeAssigned/index.vue
View file @
59c5853b
...
...
@@ -4,19 +4,23 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"130px"
>
<el-form-item
:label=
"$t('客户编号')"
prop=
"number"
>
<el-input
v-model=
"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, '')"
/>
</el-form-item>
<el-form-item
:label=
"$t('客户名称')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('请输入客户名称')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.name=queryParams.name.replace(/\s+/g, '')"
/>
</el-form-item>
<!--
<el-form-item
:label=
"$t('客户等级')"
prop=
"level"
>
<el-select
clearable
v-model=
"queryParams.level"
:placeholder=
"$t('请选择客户等级')"
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
<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>
-->
<el-form-item
:label=
"$t('区号')"
>
<el-select
v-model=
"queryParams.areaCode"
...
...
@@ -36,10 +40,11 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
>
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
></dict-selector>
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('部门')"
>
<el-select
v-model=
"queryParams.deptIds"
:placeholder=
"$t('请选择部门')"
>
...
...
@@ -47,84 +52,48 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
size=
"small"
>
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
<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
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
>
<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=
"source"
>
<el-select
clearable
v-model=
"queryParams.country"
:placeholder=
"$t('请选择')"
>
<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('客户状态')"
prop=
"status"
>
<el-select
clearable
v-model=
"queryParams.status"
:placeholder=
"$t('请选择客户状态')"
clearable
size=
"small"
>
<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('创建人')"
v-show=
"showSearch"
>
<el-select
v-model=
"queryParams.founder"
>
<el-select
multiple
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<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
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-select
clearable
v-model=
"queryParams.creditLevel"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"isChinese ? item.nameZh : item.nameEn"
:key=
"index"
:value=
"item.id"
></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=
"department"
>
<dict-selector
clearable
:type=
"DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE"
v-model=
"queryParams.marketType"
formatter=
"number"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('会员电话')"
prop=
"department"
>
<el-col
:span=
"11"
>
<area-code-selector
style=
"width: 100%;"
v-model=
"queryParams.memberAreaCode"
/>
</el-col>
<el-col
class=
"line"
:span=
"2"
></el-col>
<el-col
:span=
"11"
>
<el-input
maxlength=
"11"
width=
"100%"
class=
"ml-10 w-200"
clearable
v-model.number=
"queryParams.memberMobile"
:placeholder=
"$t('请输入会员电话')"
/>
</el-col>
</el-form-item>
<el-form-item
:label=
"$t('会员编号')"
prop=
"number"
>
<el-input
v-model.trim=
"queryParams.memberCode"
:placeholder=
"$t('请输入会员编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('会员名称')"
prop=
"name"
>
<el-input
v-model.trim=
"queryParams.memberName"
:placeholder=
"$t('请输入会员名称')"
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
multiple
clearable
@
keyup.enter.native=
"handleQuery"
/>
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
-->
<el-form-item
:label=
"$t('角色')"
>
<dict-selector
multiple
...
...
@@ -136,6 +105,39 @@
: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
...
...
@@ -146,6 +148,7 @@
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('业务国家')"
v-show=
"showSearch"
>
<el-select
multiple
...
...
@@ -172,6 +175,29 @@
></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-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"
...
...
@@ -213,7 +239,7 @@
@
change=
"handleSelectProductType"
multiple
v-model=
"queryParams.productTypes"
:placeholder=
"$t('请选择
产品类别
')"
:placeholder=
"$t('请选择')"
>
<el-option
:label=
"item.titleZh"
...
...
@@ -273,7 +299,7 @@
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-select
clearable
remote
...
...
@@ -394,42 +420,6 @@
v-hasPermi=
"['ecw:customer:distribution-transfer']"
>
{{$t('批量移交')}}
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultPay"
v-hasPermi=
"['ecw:customer:change-customer-default-pay']"
>
{{ $t("设置默认付款") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setNoConsignee"
v-hasPermi=
"['ecw:customer:change-customer-no-consignee']"
>
{{ $t("设置默认控货无收货人") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultBilling"
v-hasPermi=
"['ecw:customer:change-customer-default-billing']"
>
{{ $t("设置默认开票") }}
</el-button
>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
...
...
@@ -585,6 +575,14 @@
v-hasPermi=
"['ecw:customer:distribution-delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"distribution(scope.row)"
v-hasPermi=
"['ecw:customer:distribution-customer-service']"
>
{{
$t
(
'
分配客服
'
)
}}
</el-button>
<el-button
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button
>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -611,6 +609,10 @@
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<transfer-customer
:show.sync=
"batchTransferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
</div>
</template>
...
...
@@ -628,6 +630,7 @@ import {getCreditPage} from "@/api/customer/credit";
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
;
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
;
import
{
getNodeList
}
from
"
@/api/ecw/node
"
;
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
;
...
...
@@ -645,7 +648,8 @@ export default {
Template
,
upload
,
transferCustomer
,
AreaCodeSelector
AreaCodeSelector
,
CustomerSetting
},
data
()
{
return
{
...
...
@@ -963,19 +967,11 @@ 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
}
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
})
},
getBusiCountryNames
(
ids
)
{
if
(
ids
)
{
...
...
src/views/ecw/myCustomerService/index.vue
View file @
59c5853b
...
...
@@ -10,19 +10,23 @@
label-width=
"130px"
>
<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, '')"
/>
</el-form-item>
<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>
<!--
<el-form-item
:label=
"$t('客户等级')"
prop=
"level"
>
<el-select
clearable
v-model=
"queryParams.level"
multiple
:placeholder=
"$t('请选择客户等级')"
clearable
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
<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>
-->
<el-form-item
:label=
"$t('区号')"
>
<el-select
v-model=
"queryParams.areaCode"
...
...
@@ -42,14 +46,16 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
>
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
@
change=
"handleQuery"
></dict-selector>
<el-input
:placeholder=
"$t('请输入联系方式')"
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-select
multiple
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
...
...
@@ -66,86 +72,31 @@
</el-form-item>
-->
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-select
clearable
v-model=
"queryParams.source"
multiple
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
multiple
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('国籍')"
prop=
"source"
>
<el-select
clearable
v-model=
"queryParams.country"
:placeholder=
"$t('请选择')"
multiple
@
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('客户状态')"
prop=
"status"
>
<el-select
clearable
v-model=
"queryParams.status"
multiple
: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('创建人')"
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
<el-select
multiple
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-select
clearable
v-model=
"queryParams.creditLevel"
multiple
@
change=
"handleQuery"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"isChinese ? item.nameZh : item.nameEn"
:key=
"index"
:value=
"item.id"
></el-option>
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=
"department"
>
<dict-selector
clearable
multiple
:type=
"DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE"
v-model=
"queryParams.marketType"
formatter=
"number"
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('会员电话')"
prop=
"department"
>
<el-col
:span=
"11"
>
<area-code-selector
style=
"width: 100%;"
v-model=
"queryParams.memberAreaCode"
/>
</el-col>
<el-col
class=
"line"
:span=
"2"
></el-col>
<el-col
:span=
"11"
>
<el-input
maxlength=
"11"
width=
"100%"
class=
"ml-10 w-200"
clearable
v-model.number=
"queryParams.memberMobile"
:placeholder=
"$t('请输入会员电话')"
/>
</el-col>
</el-form-item>
<el-form-item
:label=
"$t('会员编号')"
prop=
"number"
>
<el-input
v-model.trim=
"queryParams.memberCode"
:placeholder=
"$t('请输入会员编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('会员名称')"
prop=
"name"
>
<el-input
v-model.trim=
"queryParams.memberName"
:placeholder=
"$t('请输入会员名称')"
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
multiple
clearable
@
keyup.enter.native=
"handleQuery"
/>
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
-->
<el-form-item
:label=
"$t('角色')"
>
<dict-selector
multiple
...
...
@@ -157,6 +108,39 @@
: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
...
...
@@ -167,6 +151,7 @@
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('业务国家')"
v-show=
"showSearch"
>
<el-select
multiple
...
...
@@ -193,6 +178,29 @@
></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-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"
...
...
@@ -234,7 +242,7 @@
@
change=
"handleSelectProductType"
multiple
v-model=
"queryParams.productTypes"
:placeholder=
"$t('请选择
产品类别
')"
:placeholder=
"$t('请选择')"
>
<el-option
:label=
"item.titleZh"
...
...
@@ -294,7 +302,7 @@
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-select
clearable
remote
...
...
@@ -428,42 +436,6 @@
>
{{ $t("导出") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultPay"
v-hasPermi=
"['ecw:customer:change-customer-default-pay']"
>
{{ $t("设置默认付款") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setNoConsignee"
v-hasPermi=
"['ecw:customer:change-customer-no-consignee']"
>
{{ $t("设置默认控货无收货人") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultBilling"
v-hasPermi=
"['ecw:customer:change-customer-default-billing']"
>
{{ $t("设置默认开票") }}
</el-button
>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
...
...
@@ -714,6 +686,14 @@
@
click=
"quote(scope.row)"
>
{{
$t
(
"
报价
"
)
}}
</el-button
>
<el-button
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button
>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -740,6 +720,10 @@
:show.sync=
"show"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
</div>
</template>
...
...
@@ -763,7 +747,7 @@ import { getCreditPage } from "@/api/customer/credit";
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
;
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
;
import
{
getNodeList
}
from
"
@/api/ecw/node
"
;
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
;
...
...
@@ -778,7 +762,8 @@ export default {
customerFollowList
,
customerComplaints
,
transferCustomer
,
AreaCodeSelector
AreaCodeSelector
,
CustomerSetting
},
computed
:
{
isChinese
()
{
...
...
@@ -1251,31 +1236,10 @@ export default {
this
.
$refs
[
"
customerComplaint
"
].
handleAdd
();
});
},
setDefaultPay
()
{
changeCustomerDefaultPay
({
customerIdList
:
this
.
selectCustomerList
,
defaultPay
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
setNoConsignee
()
{
changeCustomerNoConsignee
({
customerIdList
:
this
.
selectCustomerList
,
noConsigee
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
setDefaultBilling
()
{
changeCustomerDefaultBilling
({
customerIdList
:
this
.
selectCustomerList
,
defaultBilling
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
})
},
getBusiCountryNames
(
ids
)
{
...
...
src/views/ecw/oceanCustomer/index.vue
View file @
59c5853b
...
...
@@ -27,24 +27,6 @@
@
input=
"queryParams.name=queryParams.name.replace(/\s+/g, '')"
/>
</el-form-item>
<!--
<el-form-item
:label=
"$t('客户等级')"
prop=
"level"
>
<el-select
multiple
clearable
v-model=
"queryParams.level"
:placeholder=
"$t('请选择客户等级')"
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
-->
<el-form-item
:label=
"$t('区号')"
>
<el-select
v-model=
"queryParams.areaCode"
...
...
@@ -67,30 +49,21 @@
<el-input
:placeholder=
"$t('请输入联系方式')"
v-model.trim=
"queryParams.defaultContactPhone"
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.defaultContactPhone=queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
multiple
:type=
"DICT_TYPE.CUSTOMER_TYPE"
v-model=
"queryParams.type"
@
change=
"handleQuery"
></dict-selector>
</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
<el-select
multiple
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
size=
"small"
size=
"small"
@
change=
"handleQuery"
>
<el-option
...
...
@@ -103,11 +76,11 @@
</el-form-item>
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-select
multiple
multiple
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
size=
"small"
@
change=
"handleQuery"
>
<el-option
...
...
@@ -118,29 +91,33 @@
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('
国籍')
"
>
<
el-select
multiple
clearable
v-model=
"queryParams.country
"
:placeholder=
"$t('请选择')"
<el-form-item
:label=
"$t('
客户类别')"
prop=
"level
"
>
<
dict-selector
multiple
clearable
:type=
"DICT_TYPE.CUSTOMER_TYPE
"
v-model=
"queryParams.type"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in countryList"
:key=
"dict.id"
:label=
"isChinese ? dict.nameZh : dict.nameEn"
:value=
"parseInt(dict.id)"
/>
</el-select>
></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
multiple
clearable
v-model=
"queryParams.status"
:placeholder=
"$t('请选择客户状态')"
size=
"small"
size=
"small"
@
change=
"handleQuery"
>
<el-option
...
...
@@ -151,91 +128,21 @@
/>
</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
clearable
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<!--
<el-form-item
:label=
"$t('信用等级')"
prop=
"department"
>
<el-select
multiple
clearable
v-model=
"queryParams.creditLevel"
@
change=
"handleQuery"
>
<el-option
v-for=
"(item, index) in creditList"
:label=
"isChinese ? item.nameZh : item.nameEn"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('市场获客')"
prop=
"department"
>
<dict-selector
multiple
clearable
:type=
"DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE"
v-model=
"queryParams.marketType"
formatter=
"number"
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('会员电话')"
prop=
"department"
>
<el-col
:span=
"11"
>
<area-code-selector
style=
"width: 100%;"
v-model=
"queryParams.memberAreaCode"
/>
</el-col>
<el-col
class=
"line"
:span=
"2"
></el-col>
<el-col
:span=
"11"
>
<el-input
maxlength=
"11"
width=
"100%"
class=
"ml-10 w-200"
clearable
v-model.number=
"queryParams.memberMobile"
:placeholder=
"$t('请输入会员电话')"
/>
</el-col>
</el-form-item>
<el-form-item
:label=
"$t('会员编号')"
prop=
"number"
>
<el-input
v-model.trim=
"queryParams.memberCode"
:placeholder=
"$t('请输入会员编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('会员名称')"
prop=
"name"
>
<el-input
v-model.trim=
"queryParams.memberName"
:placeholder=
"$t('请输入会员名称')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<el-form-item
:label=
"$t('角色')"
>
<dict-selector
<el-form-item
:label=
"$t('国籍')"
prop=
"country"
>
<el-select
multiple
clearable
:type=
"DICT_TYPE.CUSTOMER_ROLE"
v-model=
"queryParams.role"
formatter=
"number"
@
change=
"handleQuery"
v-model=
"queryParams.country"
:placeholder=
"$t('请选择')"
></dict-selector>
@
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
...
...
@@ -247,6 +154,7 @@
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('业务国家')"
v-show=
"showSearch"
>
<el-select
multiple
...
...
@@ -273,6 +181,29 @@
></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-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"
...
...
@@ -314,7 +245,7 @@
@
change=
"handleSelectProductType"
multiple
v-model=
"queryParams.productTypes"
:placeholder=
"$t('请选择
产品类别
')"
:placeholder=
"$t('请选择')"
>
<el-option
:label=
"item.titleZh"
...
...
@@ -374,7 +305,7 @@
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('推介人')"
v-show=
"showSearch"
>
<el-select
clearable
remote
...
...
@@ -512,42 +443,6 @@
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultPay"
v-hasPermi=
"['ecw:customer:change-customer-default-pay']"
>
{{ $t("设置默认付款") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setNoConsignee"
v-hasPermi=
"['ecw:customer:change-customer-no-consignee']"
>
{{ $t("设置默认控货无收货人") }}
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-plus"
size=
"mini"
:disabled=
"!selectCustomerList.length"
@
click=
"setDefaultBilling"
v-hasPermi=
"['ecw:customer:change-customer-default-billing']"
>
{{ $t("设置默认开票") }}
</el-button
>
</el-col>
</el-row>
<!-- 列表 -->
...
...
@@ -721,7 +616,7 @@
<span
>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"
1
00px"
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
>
<el-table-column
width=
"
2
00px"
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"'/customer/query/' + scope.row.id"
>
<el-button
...
...
@@ -729,6 +624,7 @@
size=
"mini"
style=
"margin-right: 10px"
type=
"text"
icon=
"el-icon-view"
>
查看
</el-button
>
</router-link>
...
...
@@ -737,9 +633,18 @@
v-has-permi=
"['ecw:customer:sea-gain']"
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"fishingFn(scope.row)"
>
{{
$t
(
"
捞取
"
)
}}
</el-button
>
<el-button
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button
>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -787,6 +692,10 @@
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
</div>
</template>
...
...
@@ -808,6 +717,7 @@ import { getCountryListAll } from "@/api/ecw/country";
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
;
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
;
import
{
getNodeList
}
from
"
@/api/ecw/node
"
;
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
;
...
...
@@ -823,7 +733,8 @@ export default {
Contacts
,
Template
,
upload
,
AreaCodeSelector
AreaCodeSelector
,
CustomerSetting
},
data
()
{
return
{
...
...
@@ -1297,19 +1208,11 @@ export default {
this
.
multipleSelection
=
val
;
this
.
selectCustomerList
=
val
.
map
((
i
)
=>
i
.
id
);
},
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
}
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
})
},
getBusiCountryNames
(
ids
)
{
if
(
ids
)
{
...
...
@@ -1367,33 +1270,6 @@ export default {
return
null
}
},
setDefaultPay
()
{
changeCustomerDefaultPay
({
customerIdList
:
this
.
selectCustomerList
,
defaultPay
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
setNoConsignee
()
{
changeCustomerNoConsignee
({
customerIdList
:
this
.
selectCustomerList
,
noConsigee
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
setDefaultBilling
()
{
changeCustomerDefaultBilling
({
customerIdList
:
this
.
selectCustomerList
,
defaultBilling
:
true
}).
then
(
_
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
})
},
},
};
</
script
>
src/views/ecw/order/exception/index.vue
View file @
59c5853b
...
...
@@ -8,6 +8,22 @@
:inline=
"true"
label-width=
"100px"
>
<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"
v-model=
"queryParams.orderNoKey"
class=
"w-50"
/>
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-select
v-model=
"queryParams.dateType"
...
...
@@ -170,23 +186,6 @@
@
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"
v-model=
"queryParams.orderNoKey"
class=
"w-50"
/>
</
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>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment