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
cd44404a
Commit
cd44404a
authored
Nov 16, 2024
by
zhengyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
独立跟进列表切换为数据权限请求接口,客户详情查看的跟进列表不变
parent
6f8443cf
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
295 additions
and
26 deletions
+295
-26
customerFollow.vue
src/views/ecw/customer/components/customerFollow.vue
+1
-1
customerFollowUpdateStatus.vue
...ws/ecw/customer/components/customerFollowUpdateStatus.vue
+2
-12
query.vue
src/views/ecw/customer/query.vue
+10
-12
logListCommon.vue
src/views/ecw/offer/logListCommon.vue
+1
-1
logListCustomerCommon.vue
src/views/ecw/offer/logListCustomerCommon.vue
+281
-0
No files found.
src/views/ecw/customer/components/customerFollow.vue
View file @
cd44404a
...
@@ -171,7 +171,7 @@
...
@@ -171,7 +171,7 @@
}
}
</
style
>
</
style
>
<
script
>
<
script
>
import
{
createCustomerFollow
,
getCustomerFollowPage
,
getCustomerFollowPage2
,
addCustomerFollow
,
getCustomerFollowList
,
editCustomerFollow
,
getFollowupNewNumber
}
from
"
@/api/ecw/customerFollow
"
import
{
addCustomerFollow
,
editCustomerFollow
,
getFollowupNewNumber
}
from
"
@/api/ecw/customerFollow
"
import
{
getCustomerContactsSelect
}
from
"
@/api/ecw/customerContacts
"
import
{
getCustomerContactsSelect
}
from
"
@/api/ecw/customerContacts
"
import
{
getOfferPage
,
getOfferNumber
}
from
"
@/api/ecw/offer
"
import
{
getOfferPage
,
getOfferNumber
}
from
"
@/api/ecw/offer
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
...
...
src/views/ecw/customer/components/customerFollowUpdateStatus.vue
View file @
cd44404a
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
<
script
>
<
script
>
import
{
DICT_TYPE
,
getDictDatas
,
getDictDatas2
}
from
"
@/utils/dict
"
;
import
{
DICT_TYPE
,
getDictDatas
,
getDictDatas2
}
from
"
@/utils/dict
"
;
import
{
getCustomerFollowList
,
updateCustomerFollowupStatus
}
from
"
@/api/ecw/customerFollow
"
;
import
{
getCustomerFollow
up
List
,
updateCustomerFollowupStatus
}
from
"
@/api/ecw/customerFollow
"
;
export
default
{
export
default
{
name
:
"
customerFollowUpdateStatus
"
,
name
:
"
customerFollowUpdateStatus
"
,
...
@@ -77,17 +77,7 @@ export default {
...
@@ -77,17 +77,7 @@ export default {
})
})
},
},
getCustomerFollowList
()
{
this
.
loading
=
true
getCustomerFollowList
({
...
this
.
followForm
,
...
this
.
formatQuery
()
}).
then
((
r
)
=>
{
this
.
customerFollowList
=
r
.
data
.
list
this
.
customerFollowTotal
=
r
.
data
.
total
this
.
loading
=
false
})
},
customerFollowUpdateStatusClose
()
{
customerFollowUpdateStatusClose
()
{
this
.
status
=
null
;
this
.
status
=
null
;
this
.
$emit
(
'
update:show
'
,
false
)
this
.
$emit
(
'
update:show
'
,
false
)
...
...
src/views/ecw/customer/query.vue
View file @
cd44404a
...
@@ -377,7 +377,7 @@
...
@@ -377,7 +377,7 @@
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
@
click.native=
"$router.push('/offer/detail?offerId=' + scope.row.offerId)"
v-hasPermi=
"['ecw:offer:show']"
>
{{
$t
(
"
详情
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/offer/detail?offerId=' + scope.row.offerId)"
v-hasPermi=
"['ecw:offer:show']"
>
{{
$t
(
"
详情
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/offer/edit?id=' + scope.row.offerId)"
v-if=
"[1, 2, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:update']"
>
{{
$t
(
"
编辑
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/offer/edit?id=' + scope.row.offerId)"
v-if=
"[1, 2, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:update']"
>
{{
$t
(
"
编辑
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/offer/logList?offerId=' + scope.row.offerId)"
v-if=
"[1, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:loglist']"
>
{{
$t
(
"
跟进
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/offer/logList
CustomerCommon
?offerId=' + scope.row.offerId)"
v-if=
"[1, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:loglist']"
>
{{
$t
(
"
跟进
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push(`/offer/result?offerId=$
{scope.row.offerId}
&
number=${scope.row.number}`)" v-if="[3, 7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:result']">
{{
$t
(
"
结果
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push(`/offer/result?offerId=$
{scope.row.offerId}
&
number=${scope.row.number}`)" v-if="[3, 7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:result']">
{{
$t
(
"
结果
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/offer/special?offerId=' + scope.row.offerId)"
v-if=
"[1, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:discount', 'ecw:offer:commission']"
>
{{
$t
(
"
特价
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/offer/special?offerId=' + scope.row.offerId)"
v-if=
"[1, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:discount', 'ecw:offer:commission']"
>
{{
$t
(
"
特价
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"cancel(scope.row.offerId)"
v-if=
"[1, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:cancel']"
>
{{
$t
(
"
取消
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"cancel(scope.row.offerId)"
v-if=
"[1, 3, 7].indexOf(scope.row.status) > -1"
v-hasPermi=
"['ecw:offer:cancel']"
>
{{
$t
(
"
取消
"
)
}}
</el-dropdown-item>
...
@@ -394,7 +394,7 @@
...
@@ -394,7 +394,7 @@
</el-card>
</el-card>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
name=
"follow"
:label=
"$t('跟进')"
>
<el-tab-pane
name=
"follow"
:label=
"$t('跟进')"
>
<log
ListCommon
ref=
"logList
Common"
:customerService=
"customer.customerService"
:customerNumber=
"customer.number"
v-if=
"activeName === 'follow'"
:customerId=
"id"
/>
<log
-list-customer-common
ref=
"logListCustomer
Common"
:customerService=
"customer.customerService"
:customerNumber=
"customer.number"
v-if=
"activeName === 'follow'"
:customerId=
"id"
/>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
name=
"complain"
:label=
"$t('客户投诉')"
>
<el-tab-pane
name=
"complain"
:label=
"$t('客户投诉')"
>
<customer-complaint
v-if=
"activeName === 'complain'"
ref=
"customerComplaint"
:customer-id=
"id"
hidden-search
></customer-complaint>
<customer-complaint
v-if=
"activeName === 'complain'"
ref=
"customerComplaint"
:customer-id=
"id"
hidden-search
></customer-complaint>
...
@@ -672,12 +672,12 @@
...
@@ -672,12 +672,12 @@
</div>
</div>
</el-dialog>
</el-dialog>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
@
close=
"customerFollowVisible = false"
:customer-id=
"id"
:customer-service=
"customer.customerService"
:customer-number=
"customer.number"
@
refresh=
"logListCommonRefresh"
/>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
@
close=
"customerFollowVisible = false"
:customer-id=
"id"
:customer-service=
"customer.customerService"
:customer-number=
"customer.number"
@
refresh=
"logListC
ustomerC
ommonRefresh"
/>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getCustomer
,
getCustomerSelect
,
getBrankByCustomer
,
levelLogPage
,
customerCreditLogPage
,
infoListOrderPage
,
orderStatistics
,
creditLogCreate
,
creditScoreStatistic
,
infoListReceiptPage
,
memberUserList
,
deleteCustomer
,
infoListStatisticsOrder
}
from
"
@/api/ecw/customer
"
import
{
getCustomer
,
getBrankByCustomer
,
levelLogPage
,
customerCreditLogPage
,
infoListOrderPage
,
orderStatistics
,
creditLogCreate
,
creditScoreStatistic
,
infoListReceiptPage
,
memberUserList
,
deleteCustomer
,
infoListStatisticsOrder
}
from
"
@/api/ecw/customer
"
import
{
getOfferPage
as
infoListOfferPage
}
from
"
@/api/ecw/offer
"
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
"
...
@@ -695,25 +695,23 @@ import { getCurrencyList } from "@/api/ecw/currency"
...
@@ -695,25 +695,23 @@ import { getCurrencyList } from "@/api/ecw/currency"
import
customerLog
from
"
@/views/ecw/customer/customerLog.vue
"
import
customerLog
from
"
@/views/ecw/customer/customerLog.vue
"
import
{
checkPermi
}
from
"
@/utils/permission
"
import
{
checkPermi
}
from
"
@/utils/permission
"
import
ImageDisplay
from
"
@/views/ecw/order/components/imageDisplay.vue
"
import
ImageDisplay
from
"
@/views/ecw/order/components/imageDisplay.vue
"
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
logListCommon
from
"
@/views/ecw/offer/logListCommon
"
import
{
getTradeCityList
}
from
"
@/api/ecw/region
"
import
UserSelector
from
"
@/components/UserSelector
"
import
UserSelector
from
"
@/components/UserSelector
"
import
LogListCustomerCommon
from
"
@/views/ecw/offer/logListCustomerCommon.vue
"
;
export
default
{
export
default
{
name
:
"
query
"
,
name
:
"
query
"
,
components
:
{
components
:
{
LogListCustomerCommon
,
UserSelector
,
UserSelector
,
ImageDisplay
,
ImageDisplay
,
Template
,
Template
,
CustomerFollow
,
CustomerFollow
,
CustomerComplaint
,
CustomerComplaint
,
customerLog
,
customerLog
logListCommon
},
},
created
()
{
created
()
{
// 获取币种
// 获取币种
...
@@ -1286,7 +1284,7 @@ export default {
...
@@ -1286,7 +1284,7 @@ export default {
this
.
getInfoListOfferPage
()
this
.
getInfoListOfferPage
()
}
else
if
(
this
.
activeName
==
"
follow
"
)
{
}
else
if
(
this
.
activeName
==
"
follow
"
)
{
this
.
followForm
.
pageNo
=
1
this
.
followForm
.
pageNo
=
1
this
.
getCustomerFollowList
()
this
.
getCustomerFollow
up
List
()
}
}
},
},
getWarehouseList
()
{
getWarehouseList
()
{
...
@@ -1323,8 +1321,8 @@ export default {
...
@@ -1323,8 +1321,8 @@ export default {
this
.
handleQuery
()
this
.
handleQuery
()
})
})
},
},
logListCommonRefresh
()
{
logListC
ustomerC
ommonRefresh
()
{
this
.
$refs
.
logListC
ommon
&&
this
.
$refs
.
logList
Common
.
handleQuery
()
this
.
$refs
.
logListC
ustomerCommon
&&
this
.
$refs
.
logListCustomer
Common
.
handleQuery
()
}
}
}
}
}
}
...
...
src/views/ecw/offer/logListCommon.vue
View file @
cd44404a
...
@@ -129,7 +129,7 @@
...
@@ -129,7 +129,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
getDataSpaceCustomerFollowupList
,
exportDataSpaceCustomerFollowup
}
from
"
@/api/ecw/customerFollow
"
import
{
get
CustomerFollowupList
,
get
DataSpaceCustomerFollowupList
,
exportDataSpaceCustomerFollowup
}
from
"
@/api/ecw/customerFollow
"
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
"
@/utils/dict
"
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
"
@/utils/dict
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow
"
import
UserSelector
from
"
@/components/UserSelector
"
import
UserSelector
from
"
@/components/UserSelector
"
...
...
src/views/ecw/offer/logListCustomerCommon.vue
0 → 100644
View file @
cd44404a
<
template
>
<div>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-form
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<div
class=
"search-z"
>
<el-form-item
:label=
"$t('编号')"
prop=
"number"
>
<el-input
v-model.trim=
"followForm.number"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('报价单号')"
prop=
"offerNumber"
>
<el-input
v-model.trim=
"followForm.offerNumber"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('联系人')"
prop=
"contactName"
>
<el-input
v-model.trim=
"followForm.contactName"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
prop=
"contactPhone"
>
<el-input
v-model.trim=
"followForm.contactPhone"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"followUserIds"
>
<user-selector
v-model=
"followForm.followUserIds"
multiple
clearable
@
input=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('关联跟进记录')"
prop=
"parentNumber"
>
<el-input
v-model.trim=
"followForm.parentNumber"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('跟进类型')"
>
<dict-selector
clearable
:type=
"DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE"
v-model=
"followForm.followType"
@
input=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('跟进方式')"
>
<dict-selector
clearable
:type=
"DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD"
v-model=
"followForm.followMethod"
@
input=
"handleQuery"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('跟进结果')"
>
<el-select
clearable
v-model=
"followForm.resultType"
:placeholder=
"$t('请选择')"
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_RESULT_TYPE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('跟进状态')"
>
<el-select
clearable
v-model=
"followForm.status"
:placeholder=
"$t('请选择')"
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</div>
<div
class=
"search-time"
>
<el-form-item
:label=
"$t('下次跟进时间')"
>
<el-date-picker
v-model=
"followFormTmp.nextTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker>
</el-form-item>
<el-form-item
style=
"padding-left: 20px; width: auto"
>
<div
class=
"flex-c-c"
>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"getCustomerFollowupList"
>
{{
$t
(
"
搜索
"
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"reset"
>
{{
$t
(
"
重置
"
)
}}
</el-button>
</div>
</el-form-item>
</div>
</el-form>
</div>
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:customer:follow-create']"
>
{{
$t
(
"
新增
"
)
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
@
click=
"handleExport"
v-hasPermi=
"['ecw:customer:follow-export']"
>
{{
$t
(
"
导出
"
)
}}
</el-button>
</el-col>
</el-row>
<el-table
ref=
"multipleTable"
:data=
"customerFollowList"
v-loading=
"loading"
@
selection-change=
"handleSelectionChange"
style=
"width: 100%"
>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
prop=
"number"
:label=
"$t('编号')"
align=
"center"
fixed
>
<template
slot-scope=
"scope"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row)"
class=
"link-type"
>
{{
scope
.
row
.
number
}}
</a>
</
template
>
</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=
"offerNumber"
: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=
"customerNumber"
:label=
"$t('客户编号')"
>
<
template
slot-scope=
"scope"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerViewLink(scope.row)"
class=
"link-type"
>
{{
scope
.
row
.
customerNumber
}}
</a>
</
template
>
</el-table-column>
<el-table-column
prop=
"contactName"
:label=
"$t('联系人')"
></el-table-column>
<el-table-column
prop=
"contactPhone"
: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>
<el-table-column
prop=
"purpose"
:label=
"$t('目的')"
></el-table-column>
<el-table-column
prop=
"feedback"
:label=
"$t('跟进情况')"
></el-table-column>
<el-table-column
prop=
"resultType"
:label=
"$t('跟进结果')"
:formatter=
"(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_RESULT_TYPE, cellValue)"
></el-table-column>
<el-table-column
:label=
"$t('下次跟进时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
parseTime
(
scope
.
row
.
nextTime
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('关联跟进记录')"
align=
"center"
prop=
"parentNumber"
></el-table-column>
<el-table-column
prop=
"nextPlan"
:label=
"$t('下次计划')"
align=
"center"
></el-table-column>
<el-table-column
:label=
"$t('跟进状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_FOLLOWUP_STATUS
,
scope
.
row
.
status
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"creatorName"
:label=
"$t('创建人')"
align=
"center"
></el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"updaterName"
:label=
"$t('最后更新人')"
align=
"center"
></el-table-column>
<el-table-column
:label=
"$t('最后更新时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</
template
>
</el-table-column>
<el-table-column
width=
"150px"
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
v-if=
"!scope.row.status"
@
click=
"handleCustomerFollow(scope.row)"
v-hasPermi=
"['ecw:customer:follow-update']"
>
{{
$t
(
"
编辑
"
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-collection"
@
click=
"handleCustomerFollow(scope.row, true)"
v-has-permi=
"['ecw:customer:follow-add-plan']"
>
{{
$t
(
"
增加计划
"
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
:total=
"customerFollowTotal"
:page.sync=
"followForm.pageNo"
:limit.sync=
"followForm.pageSize"
@
pagination=
"getCustomerFollowupList"
/>
</el-card>
<customer-follow
ref=
"customerFollow"
@
close=
"customerFollowVisible = false"
@
handleCustomerFollowAdd=
"handleCustomerFollowAdd"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
:customer-id=
"customerId"
:customerService=
"customerService"
:customerNumber=
"customerNumber"
/>
<customer-follow-update-status
:show.sync=
"updateStatus"
:followup-ids.sync=
"selectCustomerFollowList"
@
refresh=
"handleQuery"
></customer-follow-update-status>
</div>
</template>
<
script
>
import
{
getCustomerFollowupList
,
exportCustomerFollowup
}
from
"
@/api/ecw/customerFollow
"
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
"
@/utils/dict
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow
"
import
UserSelector
from
"
@/components/UserSelector
"
import
customerFollowUpdateStatus
from
"
@/views/ecw/customer/components/customerFollowUpdateStatus.vue
"
export
default
{
name
:
"
logListCustomerCommon
"
,
components
:
{
customerFollowUpdateStatus
,
UserSelector
,
CustomerFollow
},
props
:
[
"
customerId
"
,
"
offerId
"
,
"
customerService
"
,
"
customerNumber
"
],
data
()
{
return
{
// 遮罩层
loading
:
true
,
getDictDatas
,
getDictDatas2
,
DICT_TYPE
,
updateStatus
:
false
,
customerFollowVisible
:
false
,
customerFollowTotal
:
0
,
customerFollowList
:
[],
selectCustomerFollowList
:
[],
followForm
:
{
pageNo
:
1
,
pageSize
:
10
},
followFormTmp
:
{
nextTime
:
[
""
,
""
]
}
}
},
created
()
{
this
.
handleQuery
()
},
updated
()
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
multipleTable
.
doLayout
()
})
},
computed
:
{
// selectAuthorityFn() {
// return (val) => {
// let t = val.split(":")
// t[t.length - 1] = this.authorityFn + t[t.length - 1]
// console.log(t.join(":"))
// return t.join(":")
// }
// },
isChinese
()
{
return
this
.
$i18n
.
locale
===
"
zh_CN
"
},
customerId_offerId
()
{
return
`
${
this
.
customerId
}
_
${
this
.
offerId
}
`
}
},
watch
:
{
selectCustomerFollowList
(
val
)
{
if
(
val
.
length
===
0
)
{
this
.
getCustomerFollowupList
()
this
.
$refs
.
multipleTable
.
clearSelection
()
}
},
customerId_offerId
()
{
this
.
handleQuery
()
}
},
methods
:
{
handleSelectionChange
(
val
)
{
this
.
selectCustomerFollowList
=
val
.
map
((
i
)
=>
i
.
id
)
},
handleCustomerFollowAdd
(
row
)
{
this
.
customerFollowVisible
=
false
setTimeout
(()
=>
{
this
.
customerFollowVisible
=
true
this
.
$nextTick
((
_
)
=>
{
this
.
$refs
[
"
customerFollow
"
].
handleUpdate
(
row
,
true
)
})
},
100
)
},
handleCustomerFollow
(
row
,
flag
)
{
this
.
customerFollowVisible
=
true
this
.
$nextTick
((
_
)
=>
{
this
.
$refs
[
"
customerFollow
"
].
handleUpdate
(
row
,
flag
)
})
},
handleAdd
()
{
this
.
customerFollowVisible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
[
"
customerFollow
"
].
handleAdd
()
})
},
handleCustomerFollowLink
(
row
)
{
this
.
customerFollowVisible
=
true
this
.
$nextTick
((
_
)
=>
{
this
.
$refs
[
"
customerFollow
"
].
handleView
(
row
)
})
},
handleCustomerViewLink
(
row
)
{
this
.
$router
.
push
(
`/customer/query/
${
row
.
customerId
}
`
)
},
formatQuery
()
{
let
obj
=
{}
obj
.
customerId
=
this
.
customerId
||
null
obj
.
offerId
=
this
.
offerId
||
null
obj
.
beginNextTime
=
this
.
followFormTmp
.
nextTime
[
0
]
obj
.
endNextTime
=
this
.
followFormTmp
.
nextTime
[
1
]
return
obj
},
handleQuery
()
{
console
.
log
(
this
.
followForm
)
this
.
followForm
.
pageNo
=
1
this
.
customerFollowTotal
=
0
this
.
customerFollowList
=
[]
this
.
getCustomerFollowupList
()
},
/** 跟进记录导出按钮操作 */
handleExport
()
{
// 执行导出
this
.
$modal
.
confirm
(
this
.
$t
(
"
是否确认导出客户跟进记录数据项?
"
)).
then
(()
=>
{
exportCustomerFollowup
({
...
this
.
followForm
,
...
this
.
formatQuery
(),
pageNo
:
null
,
pageSize
:
null
}).
then
((
r
)
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
已加入导出队列,请稍后在下载日志中下载
"
))
})
})
},
getCustomerFollowupList
()
{
this
.
loading
=
true
getCustomerFollowupList
({
...
this
.
followForm
,
...
this
.
formatQuery
()
}).
then
((
r
)
=>
{
this
.
customerFollowList
=
r
.
data
.
list
this
.
customerFollowTotal
=
r
.
data
.
total
this
.
loading
=
false
})
},
reset
()
{
this
.
followFormTmp
.
nextTime
=
[
""
,
""
]
this
.
followForm
=
{
pageNo
:
1
,
pageSize
:
10
}
this
.
getCustomerFollowupList
()
}
}
}
</
script
>
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