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
fae04a69
Commit
fae04a69
authored
Sep 09, 2024
by
yujinyao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
客户BUG
parent
eb9e7f83
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
179 additions
and
99 deletions
+179
-99
customerFollow.js
src/api/ecw/customerFollow.js
+7
-0
en_US.json
src/i18n/languages/en_US.json
+2
-1
customerFollow.vue
src/views/ecw/customer/components/customerFollow.vue
+9
-6
customerFollowSelectOffer.vue
...ews/ecw/customer/components/customerFollowSelectOffer.vue
+21
-12
edit.vue
src/views/ecw/customer/edit.vue
+1
-2
index.vue
src/views/ecw/customer/index.vue
+6
-0
query.vue
src/views/ecw/customer/query.vue
+111
-77
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+7
-1
index.vue
src/views/ecw/myCustomerService/index.vue
+8
-0
index.vue
src/views/ecw/oceanCustomer/index.vue
+7
-0
No files found.
src/api/ecw/customerFollow.js
View file @
fae04a69
...
@@ -92,3 +92,10 @@ export function editCustomerFollow(data) {
...
@@ -92,3 +92,10 @@ export function editCustomerFollow(data) {
})
})
}
}
export
function
exportCustomerFollow
()
{
return
request
({
url
:
'
/customer/followup/export-excel
'
,
method
:
'
get
'
})
}
src/i18n/languages/en_US.json
View file @
fae04a69
...
@@ -4708,5 +4708,6 @@
...
@@ -4708,5 +4708,6 @@
"增加计划"
:
"add plan"
,
"增加计划"
:
"add plan"
,
"提货状态"
:
"pickup status"
,
"提货状态"
:
"pickup status"
,
"未提货"
:
"not pickup"
,
"未提货"
:
"not pickup"
,
"部分提货"
:
"portion pickup"
"部分提货"
:
"portion pickup"
,
"是否确认导出客户跟进记录数据项?"
:
"Are you sure to export all customer follow-up record data items?"
}
}
src/views/ecw/customer/components/customerFollow.vue
View file @
fae04a69
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
-->
-->
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('跟进时间')"
required
>
<el-form-item
:label=
"$t('跟进时间')"
required
>
<el-date-picker
v-model=
"form.followTime"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
:placeholder=
"$t('请选择')"
></el-date-picker>
<el-date-picker
v-model=
"form.followTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -94,13 +94,13 @@
...
@@ -94,13 +94,13 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('下次跟进时间')"
>
<el-form-item
:label=
"$t('下次跟进时间')"
>
<el-date-picker
v-model=
"form.nextTime"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
:placeholder=
"$t('请选择')"
:picker-options=
"pickerOptions"
>
<el-date-picker
v-model=
"form.nextTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
:picker-options=
"pickerOptions"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('创建人')"
prop=
"founder"
>
<el-form-item
:label=
"$t('创建人')"
prop=
"founder"
>
<el-select
v-model=
"form.creatorName"
disabled
>
<el-select
v-model=
"form.creatorName"
disabled
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"item in allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
<el-option
v-for=
"item in allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
...
@@ -108,7 +108,7 @@
...
@@ -108,7 +108,7 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('创建时间')"
prop=
"createTime"
>
<el-form-item
:label=
"$t('创建时间')"
prop=
"createTime"
>
<el-date-picker
v-model=
"form.createTime"
type=
"datetime"
value-format=
"timestamp"
disabled
:placeholder=
"$t('选择创建时间
')"
>
<el-date-picker
v-model=
"form.createTime"
type=
"datetime"
disabled
:placeholder=
"$t('请选择
')"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('最后更新时间')"
>
<el-form-item
:label=
"$t('最后更新时间')"
>
<el-date-picker
v-model=
"form.updateTime"
type=
"datetime"
value-format=
"timestamp"
disabled
>
<el-date-picker
v-model=
"form.updateTime"
type=
"datetime"
disabled
:placeholder=
"$t('请选择')"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -167,6 +167,7 @@ import {
...
@@ -167,6 +167,7 @@ import {
parseTime
parseTime
}
from
'
@/utils/ruoyi
'
}
from
'
@/utils/ruoyi
'
import
FileUpload
from
"
@/components/FileUpload
"
;
import
FileUpload
from
"
@/components/FileUpload
"
;
import
{
formatDate
}
from
"
@/utils/index
"
;
export
default
{
export
default
{
/**
/**
* 客户跟进
* 客户跟进
...
@@ -340,9 +341,11 @@ export default {
...
@@ -340,9 +341,11 @@ export default {
let
func
=
this
.
form
.
id
?
editCustomerFollow
:
addCustomerFollow
let
func
=
this
.
form
.
id
?
editCustomerFollow
:
addCustomerFollow
func
({
func
({
...
this
.
form
,
...
this
.
form
,
followTime
:
this
.
form
.
followTime
?
formatDate
(
this
.
form
.
followTime
)
:
undefined
,
nextTime
:
this
.
form
.
nextTime
?
formatDate
(
this
.
form
.
nextTime
)
:
undefined
,
status
status
}).
then
(
r
=>
{
}).
then
(
r
=>
{
this
.
$message
.
info
(
this
.
$t
(
"
操作成功
"
))
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
$emit
(
'
refresh
'
)
this
.
$emit
(
'
refresh
'
)
this
.
customerFollowClose
()
this
.
customerFollowClose
()
})
})
...
...
src/views/ecw/customer/components/customerFollowSelectOffer.vue
View file @
fae04a69
...
@@ -21,30 +21,40 @@
...
@@ -21,30 +21,40 @@
<el-radio
v-model=
"offerId"
:label=
"row.offerId"
>
</el-radio>
<el-radio
v-model=
"offerId"
:label=
"row.offerId"
>
</el-radio>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('报价单号')"
align=
"left"
prop=
"number"
width=
"20
0px"
>
<el-table-column
:label=
"$t('报价单号')"
min-width=
"16
0px"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-link
type=
"primary"
@
click.native=
"$router.push('/offer/detail?offerId=' + row.offerId)"
>
{{
row
.
number
}}
</el-link>
<el-link
type=
"primary"
@
click.native=
"$router.push('/offer/detail?offerId=' + row.offerId)"
>
{{
row
.
number
}}
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('订单编号')"
align=
"left"
prop=
"orderNo"
/>
<el-table-column
:label=
"$t('销售阶段')"
min-width=
"120"
>
<el-table-column
:label=
"$t('客户名称')"
align=
"left"
prop=
"relationName"
/>
<el-table-column
:label=
"$t('目的地')"
align=
"center"
prop=
"objectiveName"
/>
<el-table-column
:label=
"$t('销售阶段')"
align=
"left"
width=
"180"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_STATUS"
:value=
"row.status"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_STATUS"
:value=
"row.status"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('预计结束时间')"
align=
"left"
>
<el-table-column
:label=
"$t('订单编号')"
min-width=
"150px"
>
<
template
slot-scope=
"{row}"
>
<el-link
type=
"primary"
@
click.native=
"$router.push('/order/detail?orderId=' + row.orderId)"
>
{{
row
.
orderNo
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
min-width=
"100"
>
</el-table-column>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"relationName"
min-width=
"100"
/>
<el-table-column
:label=
"$t('联系方式')"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
stopTime
,
"
{y
}
-{m
}
-{d
}
"
)
}}
<
/span
>
+
{{
scope
.
row
.
relationAreaCode
}}{{
scope
.
row
.
relationPhone
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<
el
-
table
-
column
:
label
=
"
$t('运输方式')
"
align
=
"
left
"
>
<el-table-column
:label=
"$t('运输方式')"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.transportId"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.transportId"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<
el
-
table
-
column
:
label
=
"
$t('预计销售额')
"
align
=
"
left
"
prop
=
"
estCost
"
>
<el-table-column
:label=
"$t('渠道')"
align=
"center"
min-width=
"120"
>
</el-table-column>
<el-table-column
:label=
"$t('始发地')"
align=
"center"
min-width=
"120"
>
</el-table-column>
<el-table-column
:label=
"$t('目的地')"
align=
"center"
prop=
"objectiveName"
min-width=
"120"
/>
<el-table-column
:label=
"$t('预计销售额')"
min-width=
"160"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<div
class=
""
v-for=
"(item, feeIndex) in row.estCostVO.feeDtoList"
:key=
"feeIndex"
>
<div
class=
""
v-for=
"(item, feeIndex) in row.estCostVO.feeDtoList"
:key=
"feeIndex"
>
<dict-tag
:type=
"DICT_TYPE.ECW_COST_FEE_TYPE"
:value=
"item.feeType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_COST_FEE_TYPE"
:value=
"item.feeType"
/>
...
@@ -52,9 +62,8 @@
...
@@ -52,9 +62,8 @@
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<
el
-
table
-
column
:
label
=
"
$t('客户经理')
"
align
=
"
left
"
prop
=
"
creatorName
"
>
<el-table-column
:label=
"$t('客户经理')"
prop=
"creatorName"
align=
"center"
min-width=
"100"
/>
<
/el-table-column
>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
min-width=
"160"
>
<
el
-
table
-
column
:
label
=
"
$t('创建时间')
"
align
=
"
center
"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</
template
>
</
template
>
...
...
src/views/ecw/customer/edit.vue
View file @
fae04a69
...
@@ -275,7 +275,6 @@
...
@@ -275,7 +275,6 @@
<el-date-picker
<el-date-picker
v-model=
"form.customerServiceConfirmedTime"
v-model=
"form.customerServiceConfirmedTime"
type=
"datetime"
type=
"datetime"
value-format=
"timestamp"
disabled
disabled
:placeholder=
"$t('请选择')"
:placeholder=
"$t('请选择')"
>
>
...
@@ -1693,7 +1692,7 @@ export default {
...
@@ -1693,7 +1692,7 @@ export default {
};
};
this
.
form
.
createTime
=
new
Date
().
getTime
();
this
.
form
.
createTime
=
new
Date
().
getTime
();
this
.
form
.
updateTime
=
new
Date
().
getTime
();
this
.
form
.
updateTime
=
new
Date
().
getTime
();
this
.
resetForm
(
"
form
"
);
//
this.resetForm("form");
},
},
getCustomer
(
id
)
{
getCustomer
(
id
)
{
return
getCustomer
(
id
).
then
((
response
)
=>
{
return
getCustomer
(
id
).
then
((
response
)
=>
{
...
...
src/views/ecw/customer/index.vue
View file @
fae04a69
...
@@ -637,6 +637,7 @@
...
@@ -637,6 +637,7 @@
:data=
"list"
:data=
"list"
@
selection-change=
"handleSelectionChange"
@
selection-change=
"handleSelectionChange"
>
>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<
template
v-slot=
"{ row }"
>
<
template
v-slot=
"{ row }"
>
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
...
@@ -1726,6 +1727,11 @@ export default {
...
@@ -1726,6 +1727,11 @@ export default {
this
.
deptList
=
response
.
data
this
.
deptList
=
response
.
data
})
})
},
},
updated
()
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
multipleTable
.
doLayout
()
})
},
activated
()
{
activated
()
{
this
.
getList
();
this
.
getList
();
},
},
...
...
src/views/ecw/customer/query.vue
View file @
fae04a69
...
@@ -301,9 +301,12 @@
...
@@ -301,9 +301,12 @@
>
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
<
el
-
table
-
column
prop
=
"
number
"
:
label
=
"
$t('报价单号')
"
:
label
=
"
$t('报价单号')
"
width
=
"
160px
"
>
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
el
-
link
type
=
"
primary
"
@
click
.
native
=
"
$router.push('/offer/detail?offerId=' + row.offerId)
"
>
{{
row
.
number
}}
<
/el-link
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
<
el
-
table
-
column
prop
=
"
orderNo
"
prop
=
"
orderNo
"
...
@@ -353,6 +356,16 @@
...
@@ -353,6 +356,16 @@
{{
STATUS
[
row
.
status
]
}}
{{
STATUS
[
row
.
status
]
}}
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('预计销售额')
"
>
<
template
slot
-
scope
=
"
{row
}
"
v
-
if
=
"
row.estCostVO
"
>
<
div
class
=
""
v
-
for
=
"
(item, feeIndex) in row.estCostVO.feeDtoList
"
:
key
=
"
feeIndex
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COST_FEE_TYPE
"
:
value
=
"
item.feeType
"
/>
{{
item
.
amount
}}
{{
currencyMap
[
item
.
currencyId
]
}}
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
<
el
-
table
-
column
prop
=
"
stopTime
"
prop
=
"
stopTime
"
:
label
=
"
$t('预计结束时间')
"
:
label
=
"
$t('预计结束时间')
"
...
@@ -452,16 +465,19 @@
...
@@ -452,16 +465,19 @@
<
el
-
button
type
=
"
primary
"
@
click
=
"
()=>{
<
el
-
button
type
=
"
primary
"
@
click
=
"
()=>{
followFrom = { pageNo:1,pageSize:10
}
; getCustomerFollowList();
followFrom = { pageNo:1,pageSize:10
}
; getCustomerFollowList();
}
"
>
{{
$t
(
'
重置
'
)
}}
<
/el-button
>
}
"
>
{{
$t
(
'
重置
'
)
}}
<
/el-button
>
<
el
-
button
type
=
"
success
"
@
click
=
"
customerFollowFn('follow')
"
>
{{
$t
(
'
新增
'
)
}}
<
/el-button
>
<
el
-
button
type
=
"
success
"
@
click
=
"
customerFollowFn('follow')
"
v
-
hasPermi
=
"
['ecw:customer:follow-create']
"
>
{{
$t
(
'
新增
'
)
}}
<
/el-button
>
<
el
-
button
type
=
"
warning
"
@
click
=
"
handleExport
"
v
-
hasPermi
=
"
['ecw:customer:follow-export']
"
>
{{
$t
(
'
导出
'
)
}}
<
/el-button
>
<
/el-form-item
>
<
/el-form-item
>
<
/el-form
>
<
/el-form
>
<
/div
>
<
/div
>
<
el
-
table
:
data
=
"
customerFollowList
"
style
=
"
width: 100%
"
>
<
el
-
table
:
data
=
"
customerFollowList
"
style
=
"
width: 100%
"
>
<
el
-
table
-
column
prop
=
"
number
"
:
label
=
"
$t('编号')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
number
"
:
label
=
"
$t('编号')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
followType
"
:
label
=
"
$t('跟进类型')
"
:
formatter
=
"
(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE, cellValue)
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
followType
"
:
label
=
"
$t('跟进类型')
"
:
formatter
=
"
(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE, cellValue)
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
offer
Id
"
:
label
=
"
$t('报价单号')
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
offer
Number
"
:
label
=
"
$t('报价单号')
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
followTime
"
:
label
=
"
$t('跟进时间')
"
:
formatter
=
"
(row, column, cellValue) => parseTime(cellValue)
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
followTime
"
:
label
=
"
$t('跟进时间')
"
:
formatter
=
"
(row, column, cellValue) => parseTime(cellValue)
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
customerNumber
"
:
label
=
"
$t('客户编号')
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
contactName
"
:
label
=
"
$t('联系人')
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
contactName
"
:
label
=
"
$t('联系人')
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('联系方式')
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
followUserName
"
:
label
=
"
$t('客户经理')
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
followUserName
"
:
label
=
"
$t('客户经理')
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
followMethod
"
:
label
=
"
$t('跟进方式')
"
:
formatter
=
"
(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD, cellValue)
"
>
<
el
-
table
-
column
prop
=
"
followMethod
"
:
label
=
"
$t('跟进方式')
"
:
formatter
=
"
(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD, cellValue)
"
>
<
/el-table-column
>
<
/el-table-column
>
...
@@ -537,6 +553,53 @@
...
@@ -537,6 +553,53 @@
<
pagination
v
-
show
=
"
infoListReceiptList.length
"
:
total
=
"
infoListReceiptTotal
"
:
page
.
sync
=
"
infoListReceiptFrom.pageNo
"
:
limit
.
sync
=
"
infoListReceiptFrom.pageSize
"
<
pagination
v
-
show
=
"
infoListReceiptList.length
"
:
total
=
"
infoListReceiptTotal
"
:
page
.
sync
=
"
infoListReceiptFrom.pageNo
"
:
limit
.
sync
=
"
infoListReceiptFrom.pageSize
"
@
pagination
=
"
infoListReceiptFn
"
/>
@
pagination
=
"
infoListReceiptFn
"
/>
<
/el-tab-pane
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
name
=
"
empower
"
:
label
=
"
$t('品牌授权')
"
>
<
el
-
table
border
style
=
"
width:100%
"
:
data
=
"
brandAuthorizationList
"
>
<
el
-
table
-
column
type
=
"
index
"
:
prop
=
"
$t('序号')
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('中文标题')
"
prop
=
"
titleZh
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
titleEn
"
:
label
=
"
$t('英文标题')
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('有无备案')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.BRAND_REG_TYPE
"
:
value
=
"
row.filing
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('授权开始')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
parseTime
(
row
.
startTime
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('授权结束')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
parseTime
(
row
.
endTime
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('授权证明')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
div
v
-
if
=
"
!!row.fileUrl && row.fileUrl.length > 0
"
>
<
span
v
-
for
=
"
(item, index) in (row.fileUrl||'').split(',')
"
>
<
a
:
href
=
"
item
"
target
=
"
_blank
"
>
{{
$t
(
'
附件
'
)
}}
{{
index
+
1
}}
<
/a>
,
<
/span
>
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
feeScale
"
:
formatter
=
"
(row) => getDictDataLabel(DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL, row.feeScale)
"
:
label
=
"
$t('收费标准')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
createUsername
"
:
label
=
"
$t('添加人')
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('创建时间')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
parseTime
(
row
.
createTime
)
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
v
-
show
=
"
brandAuthorizationTotal.length
"
:
total
=
"
brandAuthorizationTotal
"
:
page
.
sync
=
"
brandAuthorizationFrom.pageNo
"
:
limit
.
sync
=
"
brandAuthorizationFrom.pageSize
"
@
pagination
=
"
getBrankByCustomerList
"
/>
<
/el-tab-pane
>
<
el
-
tab
-
pane
name
=
"
deliver
"
:
label
=
"
$t('发货评估')
"
>
<
el
-
tab
-
pane
name
=
"
deliver
"
:
label
=
"
$t('发货评估')
"
>
<
el
-
descriptions
:
column
=
"
2
"
>
<
el
-
descriptions
:
column
=
"
2
"
>
<
el
-
descriptions
-
item
:
label
=
"
$t('客户类别')
"
>
<
el
-
descriptions
-
item
:
label
=
"
$t('客户类别')
"
>
...
@@ -604,54 +667,6 @@
...
@@ -604,54 +667,6 @@
<
/el-descriptions-item
>
<
/el-descriptions-item
>
<
/el-descriptions
>
<
/el-descriptions
>
<
/el-tab-pane
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
name
=
"
empower
"
:
label
=
"
$t('品牌授权')
"
>
<
el
-
table
border
style
=
"
width:100%
"
:
data
=
"
brandAuthorizationList
"
>
<
el
-
table
-
column
type
=
"
index
"
:
prop
=
"
$t('序号')
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('中文标题')
"
prop
=
"
titleZh
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
titleEn
"
:
label
=
"
$t('英文标题')
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('有无备案')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.BRAND_REG_TYPE
"
:
value
=
"
row.filing
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('授权开始')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
parseTime
(
row
.
startTime
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('授权结束')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
parseTime
(
row
.
endTime
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('授权证明')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
div
v
-
if
=
"
!!row.fileUrl && row.fileUrl.length > 0
"
>
<
span
v
-
for
=
"
(item, index) in (row.fileUrl||'').split(',')
"
>
<
a
:
href
=
"
item
"
target
=
"
_blank
"
>
{{
$t
(
'
附件
'
)
}}
{{
index
+
1
}}
<
/a>
,
<
/span
>
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
feeScale
"
:
formatter
=
"
(row) => getDictDataLabel(DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL, row.feeScale)
"
:
label
=
"
$t('收费标准')
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
createUsername
"
:
label
=
"
$t('添加人')
"
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('创建时间')
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
parseTime
(
row
.
createTime
)
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
v
-
show
=
"
brandAuthorizationTotal.length
"
:
total
=
"
brandAuthorizationTotal
"
:
page
.
sync
=
"
brandAuthorizationFrom.pageNo
"
:
limit
.
sync
=
"
brandAuthorizationFrom.pageSize
"
@
pagination
=
"
getBrankByCustomerList
"
/>
<
/el-tab-pane
>
<
el
-
tab
-
pane
name
=
"
credit
"
:
label
=
"
$t('信用日志')
"
>
<
el
-
tab
-
pane
name
=
"
credit
"
:
label
=
"
$t('信用日志')
"
>
<
el
-
card
class
=
"
box-card
"
>
<
el
-
card
class
=
"
box-card
"
>
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
...
@@ -834,13 +849,12 @@ import {
...
@@ -834,13 +849,12 @@ import {
levelLogPage
,
levelLogPage
,
customerCreditLogPage
,
customerCreditLogPage
,
infoListOrderPage
,
infoListOrderPage
,
infoListOfferPage
,
orderStatistics
,
orderStatistics
,
creditLogCreate
,
creditLogCreate
,
creditScoreStatistic
,
creditScoreStatistic
,
infoListReceiptPage
,
memberUserList
,
deleteCustomer
,
infoListReceiptPage
,
memberUserList
,
deleteCustomer
,
}
from
'
@/api/ecw/customer
'
}
from
'
@/api/ecw/customer
'
import
{
getOfferPage
as
infoListOfferPage
}
from
'
@/api/ecw/offer
'
import
{
DICT_TYPE
,
getDictDataLabel
,
getDictDatas2
}
from
'
@/utils/dict
'
import
{
DICT_TYPE
,
getDictDataLabel
,
getDictDatas2
}
from
'
@/utils/dict
'
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
import
{
getNodeList
}
from
'
@/api/ecw/node
'
import
{
getNodeList
}
from
'
@/api/ecw/node
'
...
@@ -861,7 +875,8 @@ import { getListTree } from "@/api/ecw/region";
...
@@ -861,7 +875,8 @@ import { getListTree } from "@/api/ecw/region";
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
deleteOffer
,
cancel
,
recovery
}
from
"
@/api/ecw/offer
"
;
import
{
deleteOffer
,
cancel
,
recovery
}
from
"
@/api/ecw/offer
"
;
import
{
import
{
getCustomerFollowList
getCustomerFollowList
,
exportCustomerFollow
}
from
"
@/api/ecw/customerFollow
"
}
from
"
@/api/ecw/customerFollow
"
export
default
{
export
default
{
name
:
'
query
'
,
name
:
'
query
'
,
...
@@ -1143,7 +1158,8 @@ export default {
...
@@ -1143,7 +1158,8 @@ export default {
followTime
:
[],
followTime
:
[],
nextTime
:
[],
nextTime
:
[],
customerFollowTotal
:
0
,
customerFollowTotal
:
0
,
customerFollowList
:
[]
customerFollowList
:
[],
currencyList
:
[],
}
}
}
,
}
,
computed
:
{
computed
:
{
...
@@ -1176,7 +1192,14 @@ export default {
...
@@ -1176,7 +1192,14 @@ export default {
else
return
(
this
.
getDictDatas
(
DICT_TYPE
.
CUSTOMER_CREDIT_RULE_TYPE
).
find
(
i
=>
i
.
value
===
val
)
||
{
}
).
labelEn
else
return
(
this
.
getDictDatas
(
DICT_TYPE
.
CUSTOMER_CREDIT_RULE_TYPE
).
find
(
i
=>
i
.
value
===
val
)
||
{
}
).
labelEn
}
}
}
}
}
}
,
currencyMap
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
,
}
,
}
,
filters
:
{
filters
:
{
deliveryRate
(
pickNum
,
sumNum
)
{
deliveryRate
(
pickNum
,
sumNum
)
{
...
@@ -1278,15 +1301,15 @@ export default {
...
@@ -1278,15 +1301,15 @@ export default {
let
queryParams
=
{
}
let
queryParams
=
{
}
//目的国
//目的国
if
(
this
.
destCountryId
!=
null
&&
this
.
destCountryId
!=
""
)
{
if
(
this
.
destCountryId
!=
null
&&
this
.
destCountryId
!=
""
)
{
queryParams
.
destCountryId
=
this
.
destCountryId
;
queryParams
.
destCountryId
s
=
this
.
destCountryId
;
}
}
//目的城市
//目的城市
if
(
this
.
objectiveId
!=
null
&&
this
.
objectiveId
!=
""
)
{
if
(
this
.
objectiveId
!=
null
&&
this
.
objectiveId
!=
""
)
{
queryParams
.
objectiveId
=
this
.
objectiveId
;
queryParams
.
destCountryIds
=
this
.
objectiveId
;
}
}
//目的仓
//目的仓
if
(
this
.
destWarehouseId
!=
null
&&
this
.
destWarehouseId
!=
""
)
{
if
(
this
.
destWarehouseId
!=
null
&&
this
.
destWarehouseId
!=
""
)
{
queryParams
.
destWarehouseId
=
this
.
destWarehouseId
;
queryParams
.
destWarehouseId
s
=
this
.
destWarehouseId
;
}
}
infoListOfferPage
({...
this
.
infoListOfferFrom
,
customerId
:
this
.
id
,...
queryParams
}
).
then
(
r
=>
{
infoListOfferPage
({...
this
.
infoListOfferFrom
,
customerId
:
this
.
id
,...
queryParams
}
).
then
(
r
=>
{
this
.
infoListOfferList
=
r
.
data
.
list
;
this
.
infoListOfferList
=
r
.
data
.
list
;
...
@@ -1420,7 +1443,6 @@ export default {
...
@@ -1420,7 +1443,6 @@ export default {
}
}
return
warehouseName
return
warehouseName
}
,
}
,
}
,
cancel
(
id
){
cancel
(
id
){
this
.
doAction
(
this
.
$t
(
'
确定要取消此报价单么?
'
),
cancel
,
id
);
this
.
doAction
(
this
.
$t
(
'
确定要取消此报价单么?
'
),
cancel
,
id
);
}
,
}
,
...
@@ -1438,6 +1460,18 @@ export default {
...
@@ -1438,6 +1460,18 @@ export default {
this
.
$message
.
success
(
'
操作成功
'
)
this
.
$message
.
success
(
'
操作成功
'
)
this
.
handleQuery
()
this
.
handleQuery
()
}
)
}
)
}
,
/** 导出按钮操作 */
handleExport
()
{
// 执行导出
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出客户跟进记录数据项?
'
)).
then
(()
=>
{
exportCustomerFollow
().
then
((
r
)
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
已加入导出队列,请稍后在下载日志中下载
"
)
);
}
);
}
)
}
,
}
}
}
}
<
/script
>
<
/script
>
src/views/ecw/customerToBeAssigned/index.vue
View file @
fae04a69
...
@@ -397,7 +397,8 @@
...
@@ -397,7 +397,8 @@
<!-- 列表 -->
<!-- 列表 -->
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
prop=
"number"
>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
prop=
"number"
>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
{{
row
.
number
}}
{{
row
.
number
}}
</
template
>
</
template
>
...
@@ -725,6 +726,11 @@ export default {
...
@@ -725,6 +726,11 @@ export default {
this
.
deptList
=
response
.
data
this
.
deptList
=
response
.
data
})
})
},
},
updated
()
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
multipleTable
.
doLayout
()
})
},
methods
:
{
methods
:
{
countryFormatter
(
row
,
column
,
cellValue
)
{
countryFormatter
(
row
,
column
,
cellValue
)
{
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
...
...
src/views/ecw/myCustomerService/index.vue
View file @
fae04a69
...
@@ -47,6 +47,7 @@
...
@@ -47,6 +47,7 @@
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<el-form-item
:label=
"$t('客户类别')"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
@
change=
"handleQuery"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
@
change=
"handleQuery"
></dict-selector>
</el-form-item>
</el-form-item>
<!--
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
<el-select
clearable
clearable
...
@@ -63,6 +64,7 @@
...
@@ -63,6 +64,7 @@
/>
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
-->
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-select
clearable
v-model=
"queryParams.source"
multiple
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<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)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
...
@@ -437,6 +439,7 @@
...
@@ -437,6 +439,7 @@
:data=
"list"
:data=
"list"
@
selection-change=
"handleSelectionChange"
@
selection-change=
"handleSelectionChange"
>
>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<
template
v-slot=
"{ row }"
>
<
template
v-slot=
"{ row }"
>
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
...
@@ -963,6 +966,11 @@ export default {
...
@@ -963,6 +966,11 @@ export default {
this
.
competitorList
=
r
.
data
;
this
.
competitorList
=
r
.
data
;
})
})
},
},
updated
()
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
multipleTable
.
doLayout
()
})
},
methods
:
{
methods
:
{
handleSelectionChange
(
val
)
{
handleSelectionChange
(
val
)
{
this
.
selectCustomerList
=
val
.
map
((
i
)
=>
i
.
id
);
this
.
selectCustomerList
=
val
.
map
((
i
)
=>
i
.
id
);
...
...
src/views/ecw/oceanCustomer/index.vue
View file @
fae04a69
...
@@ -514,10 +514,12 @@
...
@@ -514,10 +514,12 @@
<!-- 列表 -->
<!-- 列表 -->
<el-table
<el-table
ref=
"multipleTable"
v-loading=
"loading"
v-loading=
"loading"
:data=
"list"
:data=
"list"
@
selection-change=
"handleSelectionChange"
@
selection-change=
"handleSelectionChange"
>
>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<
template
v-slot=
"{ row }"
>
<
template
v-slot=
"{ row }"
>
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
...
@@ -944,6 +946,11 @@ export default {
...
@@ -944,6 +946,11 @@ export default {
this
.
deptList
=
response
.
data
this
.
deptList
=
response
.
data
})
})
},
},
updated
()
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
multipleTable
.
doLayout
()
})
},
computed
:
{
computed
:
{
isChinese
()
{
isChinese
()
{
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
...
...
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