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
39da2846
Commit
39da2846
authored
Oct 27, 2024
by
1483922988@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
合并修改
parents
0966aef1
39c63e34
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1721 additions
and
2859 deletions
+1721
-2859
.env.development
.env.development
+1
-1
customerFollow.js
src/api/ecw/customerFollow.js
+32
-26
customerFollow.vue
src/views/ecw/customer/components/customerFollow.vue
+187
-271
edit.vue
src/views/ecw/customer/edit.vue
+383
-912
query.vue
src/views/ecw/customer/query.vue
+9
-144
edit.vue
src/views/ecw/offer/edit.vue
+12
-1
index.vue
src/views/ecw/offer/index.vue
+447
-125
logList.vue
src/views/ecw/offer/logList.vue
+19
-119
logListCommon.vue
src/views/ecw/offer/logListCommon.vue
+216
-0
index.vue
src/views/ecw/order/index.vue
+415
-1259
batchEdit.vue
src/views/ecw/productPrice/batchEdit.vue
+0
-1
No files found.
.env.development
View file @
39da2846
...
@@ -6,7 +6,7 @@ VUE_APP_TITLE = 捷道管理系统-测试站
...
@@ -6,7 +6,7 @@ VUE_APP_TITLE = 捷道管理系统-测试站
# 捷道管理系统/开发环境
# 捷道管理系统/开发环境
VUE_APP_BASE_API = 'https://
apitest.groupage.cn
'
VUE_APP_BASE_API = 'https://
devapi.jd.qipx.top
'
# VUE_APP_BASE_API = 'http://110.41.143.128:48080'
# VUE_APP_BASE_API = 'http://110.41.143.128:48080'
# VUE_APP_BASE_API = 'http://127.0.0.1:48080'
# VUE_APP_BASE_API = 'http://127.0.0.1:48080'
...
...
src/api/ecw/customerFollow.js
View file @
39da2846
import
request
from
'
@/utils/request
'
import
request
from
"
@/utils/request
"
// 创建跟进
// 创建跟进
export
function
createCustomerFollow
(
data
)
{
export
function
createCustomerFollow
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/customer-follow/create
'
,
url
:
"
/ecw/customer-follow/create
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -12,8 +12,8 @@ export function createCustomerFollow(data) {
...
@@ -12,8 +12,8 @@ export function createCustomerFollow(data) {
// 更新跟进
// 更新跟进
export
function
updateCustomerFollow
(
data
)
{
export
function
updateCustomerFollow
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/customer-follow/update
'
,
url
:
"
/ecw/customer-follow/update
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -21,31 +21,31 @@ export function updateCustomerFollow(data) {
...
@@ -21,31 +21,31 @@ export function updateCustomerFollow(data) {
// 删除跟进
// 删除跟进
export
function
deleteCustomerFollow
(
id
)
{
export
function
deleteCustomerFollow
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/customer-follow/delete?id=
'
+
id
,
url
:
"
/ecw/customer-follow/delete?id=
"
+
id
,
method
:
'
delete
'
method
:
"
delete
"
})
})
}
}
// 获得跟进
// 获得跟进
export
function
getCustomerFollow
(
id
)
{
export
function
getCustomerFollow
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/customer-follow/get?id=
'
+
id
,
url
:
"
/ecw/customer-follow/get?id=
"
+
id
,
method
:
'
get
'
method
:
"
get
"
})
})
}
}
// 获得跟进分页
// 获得跟进分页
export
function
getCustomerFollowPage
(
query
)
{
export
function
getCustomerFollowPage
(
query
)
{
return
request
({
return
request
({
url
:
'
/customer/detail/infoList/followPage
'
,
url
:
"
/customer/detail/infoList/followPage
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
params
:
query
})
})
}
}
export
function
getCustomerFollowPage2
(
query
)
{
export
function
getCustomerFollowPage2
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/customer-follow/page
'
,
url
:
"
/ecw/customer-follow/page
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
params
:
query
})
})
}
}
...
@@ -53,50 +53,56 @@ export function getCustomerFollowPage2(query) {
...
@@ -53,50 +53,56 @@ export function getCustomerFollowPage2(query) {
// 导出跟进 Excel
// 导出跟进 Excel
export
function
exportCustomerFollowExcel
(
query
)
{
export
function
exportCustomerFollowExcel
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/customer-follow/export-excel
'
,
url
:
"
/ecw/customer-follow/export-excel
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
,
params
:
query
,
responseType
:
'
blob
'
responseType
:
"
blob
"
})
})
}
}
export
function
getCustomerFollowList
(
params
)
{
export
function
getCustomerFollowList
(
params
)
{
return
request
({
return
request
({
url
:
'
/customer/followup/page
'
,
url
:
"
/customer/followup/page
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
export
function
getCustomerFollowDetail
(
params
)
{
export
function
getCustomerFollowDetail
(
params
)
{
return
request
({
return
request
({
url
:
'
/customer/followup/get
'
,
url
:
"
/customer/followup/get
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
export
function
addCustomerFollow
(
data
)
{
export
function
addCustomerFollow
(
data
)
{
return
request
({
return
request
({
url
:
'
/customer/followup/create
'
,
url
:
"
/customer/followup/create
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
data
})
})
}
}
export
function
editCustomerFollow
(
data
)
{
export
function
editCustomerFollow
(
data
)
{
return
request
({
return
request
({
url
:
'
/customer/followup/update
'
,
url
:
"
/customer/followup/update
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
data
})
})
}
}
export
function
exportCustomerFollow
(
params
)
{
export
function
exportCustomerFollow
(
params
)
{
return
request
({
return
request
({
url
:
'
/customer/followup/export-excel
'
,
url
:
"
/customer/followup/export-excel
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
export
function
getFollowupNewNumber
()
{
return
request
({
url
:
"
/customer/followup/getFollowupNewNumber
"
,
method
:
"
get
"
})
}
src/views/ecw/customer/components/customerFollow.vue
View file @
39da2846
This diff is collapsed.
Click to expand it.
src/views/ecw/customer/edit.vue
View file @
39da2846
This diff is collapsed.
Click to expand it.
src/views/ecw/customer/query.vue
View file @
39da2846
This diff is collapsed.
Click to expand it.
src/views/ecw/offer/edit.vue
View file @
39da2846
...
@@ -1100,6 +1100,9 @@ export default {
...
@@ -1100,6 +1100,9 @@ export default {
if
(
this
.
form
.
offerId
!=
this
.
$route
.
query
.
id
)
{
if
(
this
.
form
.
offerId
!=
this
.
$route
.
query
.
id
)
{
this
.
getOffer
()
this
.
getOffer
()
}
}
if
(
this
.
$route
.
query
.
copyId
&&
this
.
form
.
copyId
!=
this
.
$route
.
query
.
copyId
)
{
this
.
getOffer
()
}
},
},
async
created
()
{
async
created
()
{
await
this
.
getChannelList
()
await
this
.
getChannelList
()
...
@@ -1154,7 +1157,7 @@ export default {
...
@@ -1154,7 +1157,7 @@ export default {
getOffer
()
{
getOffer
()
{
//加了是否从全部客户列表中报价按钮进来的判断
//加了是否从全部客户列表中报价按钮进来的判断
if
(
this
.
$route
.
query
!==
1
)
{
if
(
this
.
$route
.
query
!==
1
)
{
getOffer
(
this
.
$route
.
query
.
id
).
then
((
res
)
=>
{
getOffer
(
this
.
$route
.
query
.
id
||
this
.
$route
.
query
.
copyId
).
then
((
res
)
=>
{
let
formData
=
res
.
data
let
formData
=
res
.
data
formData
.
type
=
formData
.
type
?
formData
.
type
.
split
(
"
,
"
).
filter
((
item
)
=>
item
!=
""
)
:
[]
formData
.
type
=
formData
.
type
?
formData
.
type
.
split
(
"
,
"
).
filter
((
item
)
=>
item
!=
""
)
:
[]
formData
.
prodCreateReqVOList
=
[]
formData
.
prodCreateReqVOList
=
[]
...
@@ -1187,6 +1190,14 @@ export default {
...
@@ -1187,6 +1190,14 @@ export default {
})
})
})
})
}
}
if
(
this
.
$route
.
query
.
copyId
)
{
formData
.
offerId
=
""
formData
.
startTime
=
""
formData
.
endTime
=
""
formData
.
stopTime
=
""
}
this
.
$set
(
this
,
"
form
"
,
formData
)
this
.
$set
(
this
,
"
form
"
,
formData
)
// 接口只返回了发货人和收货人ID,还需要调用接口获取详细信息回显
// 接口只返回了发货人和收货人ID,还需要调用接口获取详细信息回显
getCustomerContactsSelect
({
getCustomerContactsSelect
({
...
...
src/views/ecw/offer/index.vue
View file @
39da2846
This diff is collapsed.
Click to expand it.
src/views/ecw/offer/logList.vue
View file @
39da2846
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-card>
<logListCommon
:offerId=
"offerId"
/>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
跟进记录列表
'
)
}}
</div>
<!-- 列表 -->
<div
class=
"offer-header"
>
<span
style=
"font-size: 15px;"
>
{{
$t
(
'
报价单号
'
)
}}
:
{{
number
}}
</span>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
{{
$t
(
'
新增
'
)
}}
</el-button>
</div>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('跟进类型')"
align=
"center"
prop=
"type"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_OFFER_TYPE"
:value=
"scope.row.type"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('联系人')"
align=
"center"
prop=
"contactName"
/>
<el-table-column
:label=
"$t('跟进方式')"
align=
"center"
prop=
"followUpMethod"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_FOLLOW_METHOD"
:value=
"scope.row.followUpMethod"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('跟进时间')"
align=
"center"
prop=
"followUpTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
followUpTime
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('客户反馈')"
align=
"center"
prop=
"customerFeedback"
/>
<el-table-column
:label=
"$t('处理结果')"
align=
"center"
prop=
"processingResults"
/>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"followUpSalesmanName"
>
<
template
slot-scope=
"scope"
>
<span>
{{
getCustomerService
(
scope
.
row
.
followUpSalesmanId
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"params.page"
:limit.sync=
"params.rows"
@
pagination=
"getList"
/>
</el-card>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getOfferLogPage
}
from
"
@/api/ecw/offerLog
"
;
import
logListCommon
from
"
@/views/ecw/offer/logListCommon
"
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOffer
}
from
'
@/api/ecw/offer
'
import
{
userList
}
from
"
@/api/system/user
"
export
default
{
export
default
{
name
:
"
OfferLog
"
,
name
:
"
offerLogList
"
,
components
:
{
components
:
{
logListCommon
},
},
data
()
{
data
()
{
return
{
return
{}
// 遮罩层
loading
:
true
,
list
:
[],
total
:
0
,
params
:{
page
:
1
,
rows
:
20
,
offerId
:
0
,
type
:
2
},
number
:
''
,
relationId
:
0
,
creatorName
:
'
test
'
,
creatorData
:[]
};
},
},
created
()
{
computed
:
{
if
(
this
.
$route
.
query
.
offerId
){
offerId
()
{
this
.
params
.
offerId
=
this
.
$route
.
query
.
offerId
return
parseInt
(
this
.
$route
.
query
.
offerId
||
0
)
this
.
getList
();
this
.
getRelationID
()
}
}
userList
(
'
customer service
'
).
then
(
res
=>
this
.
creatorData
=
res
.
data
)
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
let
params
=
{...
this
.
params
};
// 执行查询
getOfferLogPage
(
params
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
getCustomerService
(
id
){
var
user
=
this
.
creatorData
.
find
(
item
=>
item
.
id
==
id
)
if
(
user
)
return
user
.
nickname
return
''
},
getRelationID
(){
getOffer
(
this
.
params
.
offerId
).
then
(
response
=>
{
this
.
relationId
=
response
.
data
.
consignorId
;
this
.
number
=
response
.
data
.
number
;
})
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
$router
.
push
({
path
:
"
/offer/createLog
"
,
query
:{
offerId
:
this
.
params
.
offerId
,
number
:
this
.
number
}
}
});
}
},
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.card-title
{
.card-title
{
font-size
:
18px
;
font-size
:
18px
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.offer-header
{
.offer-header
{
padding-bottom
:
16px
;
padding-bottom
:
16px
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
</
style
>
</
style
>
src/views/ecw/offer/logListCommon.vue
0 → 100644
View file @
39da2846
This diff is collapsed.
Click to expand it.
src/views/ecw/order/index.vue
View file @
39da2846
This diff is collapsed.
Click to expand it.
src/views/ecw/productPrice/batchEdit.vue
View file @
39da2846
...
@@ -317,7 +317,6 @@ export default {
...
@@ -317,7 +317,6 @@ export default {
specialProducts
:
[],
specialProducts
:
[],
// priceStepList: [{},{}], // 阶梯价格
// priceStepList: [{},{}], // 阶梯价格
// specialList:[], // 特殊需求,默认四个
// specialList:[], // 特殊需求,默认四个
rules
()
{},
product
:
null
,
product
:
null
,
/* productType: null, */
/* productType: null, */
currencyList
:
[],
currencyList
:
[],
...
...
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