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
065a8043
Commit
065a8043
authored
Jun 22, 2022
by
Marcus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
封装客户跟进组件
parent
44f52bab
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
197 additions
and
164 deletions
+197
-164
index.vue
src/components/CustomerFollow/index.vue
+193
-0
query.vue
src/views/ecw/customer/query.vue
+4
-164
No files found.
src/components/CustomerFollow/index.vue
0 → 100644
View file @
065a8043
<
template
>
<div>
<el-table
:data=
"customerFollowList"
style=
"width: 100%"
>
<el-table-column
prop=
""
label=
"#"
>
</el-table-column>
<el-table-column
prop=
"followType"
label=
"跟进类型"
>
</el-table-column>
<el-table-column
prop=
"contactName"
label=
"联系人"
>
</el-table-column>
<el-table-column
prop=
"followMethod"
label=
"跟进方式"
>
</el-table-column>
<el-table-column
prop=
"followTime"
label=
"跟进时间"
>
</el-table-column>
<el-table-column
prop=
"feedback"
label=
"客户反馈"
>
</el-table-column>
<el-table-column
prop=
"result"
label=
"处理结果"
>
</el-table-column>
<el-table-column
prop=
"followUserId"
label=
"跟进业务"
>
</el-table-column>
</el-table>
<el-dialog
title=
"客户跟进"
:visible.sync=
"customerFollow.dialogVisible"
:close-on-click-modal=
"false"
width=
"680px"
>
<el-form
ref=
"customerFollowForm"
:model=
"customerFollow.form"
label-width=
"80px"
>
<el-row
:gutter=
"10"
>
<el-col>
<el-form-item
label=
"跟进类型"
required
>
<dict-selector
form-type=
"radio"
v-model=
"customerFollow.form.followType"
:type=
"DICT_TYPE.CUSTOMER_FOLLOW_TYPE"
></dict-selector>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进时间"
required
>
<el-date-picker
v-model=
"customerFollow.form.followTime"
type=
"datetime"
placeholder=
"选择跟进时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"联系人"
required
>
<el-select
v-model=
"customerFollow.form.contactName"
placeholder=
"请选择"
>
<el-option
v-for=
"(item, index) in customerContactsList"
:key=
"index"
:label=
"item.name"
:value=
"item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进业务"
required
>
<el-select
v-model=
"customerFollow.form.followUserId"
placeholder=
"请选择"
>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进方式"
required
>
<dict-selector
v-model=
"customerFollow.form.followMethod"
:type=
"DICT_TYPE.CUSTOMER_FOLLOW_METHOD"
></dict-selector>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"客户反馈"
required
>
<el-input
type=
"textarea"
v-model=
"customerFollow.form.feedback"
></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"处理结果"
required
>
<el-input
type=
"textarea"
v-model=
"customerFollow.form.result"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"customerFollow.dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"customerFollowSubmit"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
createCustomerFollow
,
getCustomerFollowPage
}
from
"
@/api/ecw/customerFollow
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
'
@/utils/dict
'
import
{
getCustomerContactsList
}
from
"
@/api/ecw/customerContacts
"
import
{
listServiceUser
}
from
"
@/api/system/user
"
export
default
{
/**
* 客户跟进
* 客户投诉跟进
*/
name
:
"
CustomerFollow
"
,
props
:
{
customerId
:
String
},
data
()
{
return
{
DICT_TYPE
,
customerFollowList
:
[],
serviceUserList
:
[],
customerContactsList
:
[],
customerFollow
:
{
dialogVisible
:
false
,
form
:
{}
},
}
},
created
()
{
this
.
resetCustomerFollowForm
()
getCustomerContactsList
().
then
(
r
=>
{
// todo 接口不对,临时用page
this
.
customerContactsList
=
r
.
data
.
list
})
listServiceUser
().
then
(
r
=>
{
this
.
serviceUserList
=
r
.
data
})
this
.
getCustomerFollowList
()
},
methods
:
{
customerFollowSubmit
()
{
this
.
$refs
[
"
customerFollowForm
"
].
validate
(
valid
=>
{
if
(
!
valid
)
{
return
}
createCustomerFollow
(
this
.
customerFollow
.
form
).
then
(
r
=>
{
this
.
resetCustomerFollowForm
()
this
.
getCustomerFollowList
()
this
.
customerFollow
.
dialogVisible
=
false
})
})
},
resetCustomerFollowForm
()
{
this
.
customerFollow
.
form
=
{
"
bizId
"
:
this
.
customerId
,
"
contactName
"
:
undefined
,
"
feedback
"
:
undefined
,
"
followMethod
"
:
undefined
,
"
followTime
"
:
undefined
,
"
followType
"
:
undefined
,
"
followUserId
"
:
undefined
,
"
result
"
:
undefined
}
},
getCustomerFollowList
()
{
getCustomerFollowPage
({
bizId
:
this
.
customerId
}).
then
(
r
=>
{
this
.
customerFollowList
=
r
.
data
.
list
})
}
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/ecw/customer/query.vue
View file @
065a8043
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<el-button
type=
"primary"
size=
"small"
>
添加优惠
</el-button>
<el-button
type=
"primary"
size=
"small"
>
添加优惠
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$router.push('/customer/edit/' + customerId)"
>
编辑
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$router.push('/customer/edit/' + customerId)"
>
编辑
</el-button>
<el-button
type=
"primary"
size=
"small"
>
报价
</el-button>
<el-button
type=
"primary"
size=
"small"
>
报价
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"customerFollow.dialogVisible = true"
>
跟进
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"
$refs['customerFollow'].
customerFollow.dialogVisible = true"
>
跟进
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$refs['customerComplaint'].handleAdd()"
>
客诉
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$refs['customerComplaint'].handleAdd()"
>
客诉
</el-button>
<el-button
type=
"danger"
size=
"small"
>
删除
</el-button>
<el-button
type=
"danger"
size=
"small"
>
删除
</el-button>
</div>
</div>
...
@@ -144,51 +144,7 @@
...
@@ -144,51 +144,7 @@
</el-table>
</el-table>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"跟进"
>
<el-tab-pane
label=
"跟进"
>
<el-table
<customer-follow
ref=
"customerFollow"
:customer-id=
"customerId"
></customer-follow>
:data=
"customerFollowList"
style=
"width: 100%"
>
<el-table-column
prop=
""
label=
"#"
>
</el-table-column>
<el-table-column
prop=
"followType"
label=
"跟进类型"
>
</el-table-column>
<el-table-column
prop=
"contactName"
label=
"联系人"
>
</el-table-column>
<el-table-column
prop=
"followMethod"
label=
"跟进方式"
>
</el-table-column>
<el-table-column
prop=
"followTime"
label=
"跟进时间"
>
</el-table-column>
<el-table-column
prop=
"feedback"
label=
"客户反馈"
>
</el-table-column>
<el-table-column
prop=
"result"
label=
"处理结果"
>
</el-table-column>
<el-table-column
prop=
"followUserId"
label=
"跟进业务"
>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"客户投诉"
>
<el-tab-pane
label=
"客户投诉"
>
<customer-complaint
ref=
"customerComplaint"
:customer-id=
"customerId"
hidden-search
></customer-complaint>
<customer-complaint
ref=
"customerComplaint"
:customer-id=
"customerId"
hidden-search
></customer-complaint>
...
@@ -212,70 +168,6 @@
...
@@ -212,70 +168,6 @@
</el-col>
</el-col>
</el-row>
</el-row>
<el-dialog
title=
"客户跟进"
:visible.sync=
"customerFollow.dialogVisible"
:close-on-click-modal=
"false"
width=
"680px"
>
<el-form
ref=
"customerFollowForm"
:model=
"customerFollow.form"
label-width=
"80px"
>
<el-row
:gutter=
"10"
>
<el-col>
<el-form-item
label=
"跟进类型"
required
>
<dict-selector
form-type=
"radio"
v-model=
"customerFollow.form.followType"
:type=
"DICT_TYPE.CUSTOMER_FOLLOW_TYPE"
></dict-selector>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进时间"
required
>
<el-date-picker
v-model=
"customerFollow.form.followTime"
type=
"datetime"
placeholder=
"选择跟进时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"联系人"
required
>
<el-select
v-model=
"customerFollow.form.contactName"
placeholder=
"请选择"
>
<el-option
v-for=
"item in customerContactsList"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进业务"
required
>
<el-select
v-model=
"customerFollow.form.followUserId"
placeholder=
"请选择"
>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进方式"
required
>
<dict-selector
v-model=
"customerFollow.form.followMethod"
:type=
"DICT_TYPE.CUSTOMER_FOLLOW_METHOD"
></dict-selector>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"客户反馈"
required
>
<el-input
type=
"textarea"
v-model=
"customerFollow.form.feedback"
></el-input>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"处理结果"
required
>
<el-input
type=
"textarea"
v-model=
"customerFollow.form.result"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"customerFollow.dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"customerFollowSubmit"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
...
@@ -285,10 +177,8 @@ import { DICT_TYPE, getDictDataLabel } from '@/utils/dict'
...
@@ -285,10 +177,8 @@ import { DICT_TYPE, getDictDataLabel } 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
'
import
DictSelector
from
"
@/components/DictSelector
"
import
DictSelector
from
"
@/components/DictSelector
"
import
{
getCustomerContactsList
}
from
"
@/api/ecw/customerContacts
"
import
{
listServiceUser
}
from
"
@/api/system/user
"
import
{
createCustomerFollow
,
getCustomerFollowPage
}
from
"
@/api/ecw/customerFollow
"
import
CustomerComplaint
from
"
../customerComplaint
"
import
CustomerComplaint
from
"
../customerComplaint
"
import
CustomerFollow
from
"
../../../components/CustomerFollow
"
export
default
{
export
default
{
name
:
'
query
'
,
name
:
'
query
'
,
...
@@ -297,6 +187,7 @@ export default {
...
@@ -297,6 +187,7 @@ export default {
},
},
components
:
{
components
:
{
DictSelector
,
DictSelector
,
CustomerFollow
,
CustomerComplaint
CustomerComplaint
},
},
created
()
{
created
()
{
...
@@ -310,15 +201,6 @@ export default {
...
@@ -310,15 +201,6 @@ export default {
this
.
productTypeList
=
r
.
data
this
.
productTypeList
=
r
.
data
})
})
this
.
resetCustomerFollowForm
()
getCustomerContactsList
().
then
(
r
=>
{
// todo 接口不对,分页了
this
.
customerContactsList
=
r
.
data
.
list
})
listServiceUser
().
then
(
r
=>
{
this
.
serviceUserList
=
r
.
data
})
this
.
getCustomerFollowList
()
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -326,9 +208,6 @@ export default {
...
@@ -326,9 +208,6 @@ export default {
getDictDataLabel
,
getDictDataLabel
,
nodeList
:
[],
nodeList
:
[],
productTypeList
:
[],
productTypeList
:
[],
customerContactsList
:
[],
serviceUserList
:
[],
customerFollowList
:
[],
customer
:
{
customer
:
{
id
:
undefined
,
id
:
undefined
,
number
:
undefined
,
number
:
undefined
,
...
@@ -367,45 +246,6 @@ export default {
...
@@ -367,45 +246,6 @@ export default {
weightUnit
:
undefined
,
weightUnit
:
undefined
,
createTime
:
undefined
createTime
:
undefined
},
},
customerFollow
:
{
dialogVisible
:
false
,
form
:
{}
},
}
},
methods
:
{
customerFollowSubmit
()
{
this
.
$refs
[
"
customerFollowForm
"
].
validate
(
valid
=>
{
if
(
!
valid
)
{
return
}
createCustomerFollow
(
this
.
customerFollow
.
form
).
then
(
r
=>
{
this
.
resetCustomerFollowForm
()
this
.
getCustomerFollowList
()
this
.
customerFollow
.
dialogVisible
=
false
})
})
},
resetCustomerFollowForm
()
{
this
.
customerFollow
.
form
=
{
"
bizId
"
:
this
.
customerId
,
"
contactName
"
:
undefined
,
"
feedback
"
:
undefined
,
"
followMethod
"
:
undefined
,
"
followTime
"
:
undefined
,
"
followType
"
:
undefined
,
"
followUserId
"
:
undefined
,
"
result
"
:
undefined
}
},
getCustomerFollowList
()
{
getCustomerFollowPage
({
bizId
:
this
.
customerId
}).
then
(
r
=>
{
this
.
customerFollowList
=
r
.
data
.
list
})
}
}
},
},
computed
:
{
computed
:
{
...
...
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