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
Expand all
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
This diff is collapsed.
Click to expand it.
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