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
9482381f
Commit
9482381f
authored
Nov 09, 2024
by
zs嵩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
报价单,客户等相关优化 bug处理
parent
bed4bb1d
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1048 additions
and
1015 deletions
+1048
-1015
main.js
src/main.js
+1
-0
custom.scss
src/styles/custom.scss
+17
-0
index.scss
src/styles/index.scss
+2
-18
customerFollow.vue
src/views/ecw/customer/components/customerFollow.vue
+9
-2
customerFollowSelectOffer.vue
...ews/ecw/customer/components/customerFollowSelectOffer.vue
+44
-48
edit.vue
src/views/ecw/customer/edit.vue
+0
-1
query.vue
src/views/ecw/customer/query.vue
+118
-110
detail.vue
src/views/ecw/offer/detail.vue
+777
-784
edit.vue
src/views/ecw/offer/edit.vue
+3
-1
index.vue
src/views/ecw/offer/index.vue
+16
-3
logListCommon.vue
src/views/ecw/offer/logListCommon.vue
+61
-48
No files found.
src/main.js
View file @
9482381f
...
@@ -96,6 +96,7 @@ import '@/icons'
...
@@ -96,6 +96,7 @@ import '@/icons'
import
axios
from
'
axios
'
import
axios
from
'
axios
'
Vue
.
prototype
.
$axios
=
axios
Vue
.
prototype
.
$axios
=
axios
import
'
@/styles/index.scss
'
import
'
@/styles/index.scss
'
import
'
@/styles/custom.scss
'
/**
/**
* If you don't want to use mock-server
* If you don't want to use mock-server
...
...
src/styles/custom.scss
0 → 100644
View file @
9482381f
.search-z
{
.el-form-item--small.el-form-item
{
width
:
360px
;
}
}
.search-time
{
.el-form-item--small.el-form-item
{
width
:
520px
;
}
}
.flex-c-c
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
src/styles/index.scss
View file @
9482381f
...
@@ -109,7 +109,7 @@ textarea {
...
@@ -109,7 +109,7 @@ textarea {
font-size
:
12px
;
font-size
:
12px
;
&
:hover
{
&
:hover
{
background
:
rgba
(
210
,
23
,
23
,
0
.5
)
background
:
rgba
(
210
,
23
,
23
,
0
.5
)
;
}
}
}
}
...
@@ -144,7 +144,7 @@ textarea {
...
@@ -144,7 +144,7 @@ textarea {
}
}
.el-icon-plus
{
.el-icon-plus
{
color
:
#409
EFF
;
color
:
#409
eff
;
}
}
.el-icon-delete
{
.el-icon-delete
{
...
@@ -152,10 +152,6 @@ textarea {
...
@@ -152,10 +152,6 @@ textarea {
}
}
}
}
.el-scrollbar__view
{
/*overflow-x: hidden;*/
}
.el-rate
{
.el-rate
{
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
text-top
;
vertical-align
:
text-top
;
...
@@ -164,15 +160,3 @@ textarea {
...
@@ -164,15 +160,3 @@ textarea {
.el-upload__tip
{
.el-upload__tip
{
line-height
:
1
.2
;
line-height
:
1
.2
;
}
}
.search-z
{
.el-form-item--small.el-form-item
{
width
:
360px
;
}
}
.search-time
{
.el-form-item--small.el-form-item
{
width
:
520px
;
}
}
src/views/ecw/customer/components/customerFollow.vue
View file @
9482381f
...
@@ -146,6 +146,7 @@
...
@@ -146,6 +146,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<choose-contact-dialog
v-if=
"ChooseContactDialog"
:type=
"2"
@
choose=
"changeAllContactUser"
@
close=
"ChooseContactDialog = false"
/>
<choose-contact-dialog
v-if=
"ChooseContactDialog"
:type=
"2"
@
choose=
"changeAllContactUser"
@
close=
"ChooseContactDialog = false"
/>
<CustomerFollowSelectOffer
v-if=
"CustomerFollowSelectOffer"
:customer-id=
"customerId"
ref=
"customerFollowSelectOffer"
@
select=
"selectOffer"
@
close=
"CustomerFollowSelectOffer = false"
/>
</div>
</div>
</
template
>
</
template
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
@@ -172,6 +173,7 @@ import { parseTime } from "@/utils/ruoyi"
...
@@ -172,6 +173,7 @@ import { parseTime } from "@/utils/ruoyi"
import
FileUpload
from
"
@/components/FileUpload/fileUpload
"
import
FileUpload
from
"
@/components/FileUpload/fileUpload
"
import
{
formatDate
}
from
"
@/utils/index
"
import
{
formatDate
}
from
"
@/utils/index
"
import
ChooseContactDialog
from
"
@/components/ChooseContactDialog
"
import
ChooseContactDialog
from
"
@/components/ChooseContactDialog
"
import
CustomerFollowSelectOffer
from
"
./customerFollowSelectOffer
"
export
default
{
export
default
{
/**
/**
* 客户跟进
* 客户跟进
...
@@ -188,10 +190,12 @@ export default {
...
@@ -188,10 +190,12 @@ export default {
},
},
components
:
{
components
:
{
ChooseContactDialog
,
ChooseContactDialog
,
CustomerFollowSelectOffer
,
FileUpload
FileUpload
},
},
data
()
{
data
()
{
return
{
return
{
CustomerFollowSelectOffer
:
false
,
ChooseContactDialog
:
false
,
ChooseContactDialog
:
false
,
fileType
:
[
"
doc
"
,
"
xls
"
,
"
ppt
"
,
"
txt
"
,
"
pdf
"
,
"
png
"
,
"
jpg
"
,
"
jpeg
"
],
fileType
:
[
"
doc
"
,
"
xls
"
,
"
ppt
"
,
"
txt
"
,
"
pdf
"
,
"
png
"
,
"
jpg
"
,
"
jpeg
"
],
DICT_TYPE
,
DICT_TYPE
,
...
@@ -242,6 +246,9 @@ export default {
...
@@ -242,6 +246,9 @@ export default {
})
})
},
},
methods
:
{
methods
:
{
selectOffer
(
offerId
)
{
this
.
form
.
offerId
=
offerId
},
init
()
{
init
()
{
if
(
this
.
form
.
customerId
)
{
if
(
this
.
form
.
customerId
)
{
getCustomerContactsListByCustomer
({
getCustomerContactsListByCustomer
({
...
@@ -305,7 +312,7 @@ export default {
...
@@ -305,7 +312,7 @@ export default {
handleFollowType
(
val
)
{
handleFollowType
(
val
)
{
console
.
log
(
val
)
console
.
log
(
val
)
if
(
val
==
"
2
"
)
{
if
(
val
==
"
2
"
)
{
this
.
$refs
[
"
customerFollowSelectOffer
"
].
offerDialogVisible
=
true
this
.
CustomerFollowSelectOffer
=
true
}
else
{
}
else
{
this
.
form
.
offerId
=
undefined
this
.
form
.
offerId
=
undefined
}
}
...
@@ -326,7 +333,7 @@ export default {
...
@@ -326,7 +333,7 @@ export default {
nextPlan
:
undefined
,
nextPlan
:
undefined
,
nextTime
:
undefined
,
nextTime
:
undefined
,
number
:
undefined
,
number
:
undefined
,
offerId
:
undefine
d
,
offerId
:
this
.
offerI
d
,
parentId
:
undefined
,
parentId
:
undefined
,
parentNumber
:
undefined
,
parentNumber
:
undefined
,
purpose
:
undefined
,
purpose
:
undefined
,
...
...
src/views/ecw/customer/components/customerFollowSelectOffer.vue
View file @
9482381f
<
template
>
<
template
>
<el-dialog
append-to-body
:title=
"$t('报价单')"
:visible.sync=
"offerDialogVisible"
:close-on-click-modal=
"false"
width=
"80%"
>
<el-dialog
append-to-body
:title=
"$t('报价单')"
:visible.sync=
"offerDialogVisible"
:close-on-click-modal=
"false"
width=
"80%"
@
close=
"$emit('close')"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<el-form-item
:label=
"$t('编号')"
prop=
"searchNumber"
>
<el-form-item
:label=
"$t('编号')"
prop=
"searchNumber"
>
<el-input
v-model=
"queryParams.searchNumber"
:placeholder=
"$t('请输入报价单号、订单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.searchNumber"
:placeholder=
"$t('请输入报价单号、订单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('客户')"
prop=
"searchCustomer"
>
<el-form-item
:label=
"$t('客户')"
prop=
"searchCustomer"
>
<el-input
v-model=
"queryParams.searchCustomer"
:placeholder=
"$t('请输入客户')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.searchCustomer"
:placeholder=
"$t('请输入客户')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"followUpSalesmanId"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"followUpSalesmanId"
>
<user-selector
v-model=
"queryParams.followUpSalesmanId"
clearable
/>
<user-selector
v-model=
"queryParams.followUpSalesmanId"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
"
搜索
"
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
"
重置
"
)
}}
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
:data=
"offerList"
border
size=
"mini"
>
<el-table
:data=
"offerList"
border
size=
"mini"
>
<el-table-column
align=
"center"
width=
"80"
>
<el-table-column
align=
"center"
width=
"80"
>
<template
slot-scope=
"
{
row
}">
<template
slot-scope=
"
{
row
}">
<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('报价单号')"
min-width=
"160px"
>
<el-table-column
:label=
"$t('报价单号')"
min-width=
"160px"
>
<
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('销售阶段')"
min-width=
"120"
>
<el-table-column
:label=
"$t('销售阶段')"
min-width=
"120"
>
<
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('订单编号')"
min-width=
"150px"
>
<el-table-column
:label=
"$t('订单编号')"
min-width=
"150px"
>
<
template
slot-scope=
"{
row
}"
>
<
template
slot-scope=
"{
row
}"
>
<el-link
type=
"primary"
@
click.native=
"$router.push('/order/detail?orderId=' + row.orderId)"
>
{{
row
.
orderNo
}}
</el-link>
<el-link
type=
"primary"
@
click.native=
"$router.push('/order/detail?orderId=' + row.orderId)"
>
{{
row
.
orderNo
}}
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
min-width=
"100"
>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
min-width=
"100"
>
<
template
slot-scope=
"{
row
}"
>
<
template
slot-scope=
"{
row
}"
>
<el-link
type=
"primary"
@
click.native=
"$router.push('/customer/query/' + row.relationId)"
>
{{
row
.
customerNumber
}}
</el-link>
<el-link
type=
"primary"
@
click.native=
"$router.push('/customer/query/' + row.relationId)"
>
{{
row
.
customerNumber
}}
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"relationName"
min-width=
"100"
/>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"relationName"
min-width=
"100"
/>
<el-table-column
:label=
"$t('联系方式')"
>
<el-table-column
:label=
"$t('联系方式')"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
+
{{
scope
.
row
.
relationAreaCode
}}{{
scope
.
row
.
relationPhone
}}
</
template
>
+
{{
scope
.
row
.
relationAreaCode
}}{{
scope
.
row
.
relationPhone
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('运输方式')"
>
<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=
"center"
min-width=
"120"
prop=
"channelName"
>
<el-table-column
:label=
"$t('渠道')"
align=
"center"
min-width=
"120"
prop=
"channelName"
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('始发地')"
align=
"center"
min-width=
"120"
prop=
"departureName"
>
</el-table-column>
<el-table-column
:label=
"$t('始发地')"
align=
"center"
min-width=
"120"
prop=
"departureName"
>
</el-table-column>
<el-table-column
:label=
"$t('目的地')"
align=
"center"
prop=
"objectiveName"
min-width=
"120"
/>
<el-table-column
:label=
"$t('目的地')"
align=
"center"
prop=
"objectiveName"
min-width=
"120"
/>
<el-table-column
:label=
"$t('预计销售额')"
min-width=
"160"
>
<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"
/>
{{
item
.
amount
}}
{{
currencyMap
[
item
.
currencyId
]
}}
{{
item
.
amount
}}
{{
currencyMap
[
item
.
currencyId
]
}}
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -73,18 +69,17 @@
...
@@ -73,18 +69,17 @@
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<!-- 分页组件 -->
<!-- 分页组件 -->
<pagination
v-show=
"offerTotal > 0"
:total=
"offerTotal"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
<pagination
v-show=
"offerTotal > 0"
:total=
"offerTotal"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getOfferList"
/>
@
pagination=
"getOfferList"
/>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"confirm"
>
{{
$t('确 定')
}}
</el-button>
<el-button
type=
"primary"
@
click=
"confirm"
>
{{
$t("确 定")
}}
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
</template>
</template>
<
script
>
<
script
>
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
;
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
import
{
getOfferPage
}
from
"
@/api/ecw/offer
"
import
{
getOfferPage
}
from
"
@/api/ecw/offer
"
import
UserSelector
from
'
@/components/UserSelector
'
import
UserSelector
from
"
@/components/UserSelector
"
export
default
{
export
default
{
name
:
"
CustomerFollowSelectOffer
"
,
name
:
"
CustomerFollowSelectOffer
"
,
...
@@ -104,35 +99,36 @@ export default {
...
@@ -104,35 +99,36 @@ export default {
},
},
offerList
:
[],
offerList
:
[],
offerTotal
:
0
,
offerTotal
:
0
,
currencyList
:
[]
,
currencyList
:
[]
}
}
},
},
created
()
{
created
()
{
getCurrencyList
().
then
(
res
=>
{
getCurrencyList
().
then
(
(
res
)
=>
{
this
.
currencyList
=
res
.
data
this
.
currencyList
=
res
.
data
})
})
this
.
getOfferList
()
this
.
getOfferList
()
this
.
offerDialogVisible
=
true
},
},
computed
:{
computed
:
{
currencyMap
(){
currencyMap
()
{
let
map
=
{}
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
this
.
currencyList
.
forEach
((
item
)
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
map
[
item
.
id
]
=
this
.
$l
(
item
,
"
title
"
)
})
})
return
map
return
map
},
},
exportCityList
()
{
exportCityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
return
this
.
tradeCityList
.
filter
(
(
item
)
=>
item
.
type
==
2
)
},
},
importCityList
()
{
importCityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
)
return
this
.
tradeCityList
.
filter
(
(
item
)
=>
item
.
type
==
1
)
}
,
}
},
},
methods
:
{
methods
:
{
/** 搜索按钮操作 */
/** 搜索按钮操作 */
handleQuery
()
{
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
queryParams
.
pageNo
=
1
this
.
getOfferList
()
this
.
getOfferList
()
},
},
/** 重置按钮操作 */
/** 重置按钮操作 */
...
@@ -141,20 +137,20 @@ export default {
...
@@ -141,20 +137,20 @@ export default {
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
pageSize
:
10
}
}
this
.
handleQuery
()
;
this
.
handleQuery
()
},
},
getOfferList
()
{
getOfferList
()
{
getOfferPage
({
getOfferPage
({
...
this
.
queryParams
,
...
this
.
queryParams
,
customerId
:
this
.
customerId
customerId
:
this
.
customerId
}).
then
(
response
=>
{
}).
then
(
(
response
)
=>
{
this
.
offerList
=
response
.
data
.
list
;
this
.
offerList
=
response
.
data
.
list
this
.
offerTotal
=
response
.
data
.
total
;
this
.
offerTotal
=
response
.
data
.
total
})
;
})
},
},
confirm
()
{
confirm
()
{
if
(
this
.
offerId
)
{
if
(
this
.
offerId
)
{
this
.
$emit
(
'
select
'
,
this
.
offerId
)
this
.
$emit
(
"
select
"
,
this
.
offerId
)
this
.
offerDialogVisible
=
false
this
.
offerDialogVisible
=
false
}
else
{
}
else
{
this
.
$message
.
error
(
this
.
$t
(
"
请选择报价单
"
))
this
.
$message
.
error
(
this
.
$t
(
"
请选择报价单
"
))
...
...
src/views/ecw/customer/edit.vue
View file @
9482381f
...
@@ -1005,7 +1005,6 @@ export default {
...
@@ -1005,7 +1005,6 @@ export default {
this
.
$refs
.
bankForm
.
validate
((
valid3
,
err3
)
=>
{
this
.
$refs
.
bankForm
.
validate
((
valid3
,
err3
)
=>
{
console
.
log
(
valid3
,
"
valid3
"
,
err3
)
console
.
log
(
valid3
,
"
valid3
"
,
err3
)
if
(
!
valid1
||
!
valid2
||
!
valid3
)
{
if
(
!
valid1
||
!
valid2
||
!
valid3
)
{
console
.
log
(
333
)
this
.
$showFormValidateErrors
({
...
err1
,
...
err2
,
...
err3
})
this
.
$showFormValidateErrors
({
...
err1
,
...
err2
,
...
err3
})
this
.
showBaseFlag
=
true
this
.
showBaseFlag
=
true
...
...
src/views/ecw/customer/query.vue
View file @
9482381f
...
@@ -33,7 +33,6 @@
...
@@ -33,7 +33,6 @@
<el-descriptions-item
:label=
"$t('客户状态')"
>
<el-descriptions-item
:label=
"$t('客户状态')"
>
{{ getDictDataLabel(DICT_TYPE.CUSTOMER_STATUS, customer.status) }}
{{ getDictDataLabel(DICT_TYPE.CUSTOMER_STATUS, customer.status) }}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户经理')"
>
{{ customer.customerServiceName }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('询盘信息')"
>
{{ customer.inquiry }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('询盘信息')"
>
{{ customer.inquiry }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('备注')"
>
{{ customer.remarks }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('备注')"
>
{{ customer.remarks }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('图片')"
>
<el-descriptions-item
:label=
"$t('图片')"
>
...
@@ -42,13 +41,12 @@
...
@@ -42,13 +41,12 @@
</image-display>
</image-display>
</el-descriptions-item>
</el-descriptions-item>
<
template
v-if=
"showMore"
>
<el-descriptions-item
:label=
"$t('客户等级')"
>
<el-descriptions-item
:label=
"$t('客户等级')"
>
{{ getDictDataLabel(DICT_TYPE.CUSTOMER_LEVEL, customer.level) }}
{{ getDictDataLabel(DICT_TYPE.CUSTOMER_LEVEL, customer.level) }}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('推介人')"
>
{{ customer.promoterName }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('推介人')"
>
{{ customer.promoterName }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户生日')"
>
{{ parseTime(customer.birthday, "{y}-{m}-{d}") }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户生日')"
>
{{ parseTime(customer.birthday, "{y}-{m}-{d}") }}
</el-descriptions-item>
<
el
-
descriptions
-
item
:
label
=
"
$t('业绩类型')
"
>
{{
customer
.
isNew
?
$t
(
"
新客户
"
)
:
$t
(
"
老客户
"
)
}}
<
/el-descriptions-item
>
<el-descriptions-item
:label=
"$t('客户经理')"
>
{{ customer.customerServiceName }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('资源类型')"
>
<el-descriptions-item
:label=
"$t('资源类型')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE"
:value=
"customer.resourceType"
></dict-tag>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE"
:value=
"customer.resourceType"
></dict-tag>
</el-descriptions-item>
</el-descriptions-item>
...
@@ -58,6 +56,8 @@
...
@@ -58,6 +56,8 @@
<el-descriptions-item
:label=
"$t('掉入公海时间')"
>
<el-descriptions-item
:label=
"$t('掉入公海时间')"
>
{{ customer.estimateEnterOpenSeaTime || customer.enterOpenSeaTime }}
{{ customer.estimateEnterOpenSeaTime || customer.enterOpenSeaTime }}
</el-descriptions-item>
</el-descriptions-item>
<
template
v-if=
"showMore"
>
<el-descriptions-item
:label=
"$t('获取方式')"
>
<el-descriptions-item
:label=
"$t('获取方式')"
>
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_GET_METHOD
,
customer
.
getMethod
)
}}
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_GET_METHOD
,
customer
.
getMethod
)
}}
</el-descriptions-item>
</el-descriptions-item>
...
@@ -70,6 +70,7 @@
...
@@ -70,6 +70,7 @@
<el-descriptions-item
:label=
"$t('创建时间')"
>
{{
parseTime
(
customer
.
createTime
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('创建时间')"
>
{{
parseTime
(
customer
.
createTime
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('最后更新人')"
>
{{
customer
.
updaterName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('最后更新人')"
>
{{
customer
.
updaterName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('最后更新时间')"
>
{{
customer
.
updateTime
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('最后更新时间')"
>
{{
customer
.
updateTime
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('业绩类型')"
>
{{
customer
.
isNew
?
$t
(
"
新客户
"
)
:
$t
(
"
老客户
"
)
}}
</el-descriptions-item>
</
template
>
</
template
>
</el-descriptions>
</el-descriptions>
</el-card>
</el-card>
...
@@ -93,7 +94,8 @@
...
@@ -93,7 +94,8 @@
<el-tab-pane
name=
"order"
:label=
"$t('订单')"
>
<el-tab-pane
name=
"order"
:label=
"$t('订单')"
>
<el-card
class=
"box-card"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<
el
-
form
:
inline
=
"
true
"
size
=
"
small
"
>
<el-form
:inline=
"true"
size=
"small"
label-width=
"100px"
>
<div
class=
"search-z"
>
<el-form-item
:label=
"$t('运输方式:')"
>
<el-form-item
:label=
"$t('运输方式:')"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
/>
</el-form-item>
</el-form-item>
...
@@ -103,36 +105,39 @@
...
@@ -103,36 +105,39 @@
<el-form-item
:label=
"$t('报关方式:')"
>
<el-form-item
:label=
"$t('报关方式:')"
>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"queryParams.customsTypes"
multiple
/>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"queryParams.customsTypes"
multiple
/>
</el-form-item>
</el-form-item>
<
el
-
form
-
item
:
label
=
"
$t('控货
')
"
>
<el-form-item
:label=
"$t('控货:
')"
>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
v-model=
"queryParams.isCargoControl"
/>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
v-model=
"queryParams.isCargoControl"
/>
</el-form-item>
</el-form-item>
<
el
-
form
-
item
:
label
=
"
$t('入仓时间:')
"
>
<el-form-item
:label=
"$t('始发仓:')"
prop=
"startWarehouseIds"
>
<
el
-
date
-
picker
v
-
model
=
"
rucangtime
"
@
change
=
"
changeDate
"
style
=
"
width: 240px
"
value
-
format
=
"
yyyy-MM-dd HH:mm:ss
"
type
=
"
datetimerange
"
range
-
separator
=
"
-
"
:
start
-
placeholder
=
"
$t('开始日期')
"
:
end
-
placeholder
=
"
$t('结束日期')
"
/>
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('始发仓')
"
prop
=
"
startWarehouseIds
"
>
<el-select
v-model=
"queryParams.startWarehouseIds"
multiple
:placeholder=
"$t('请选择始发仓')"
clearable
@
change=
"handleQuery"
>
<el-select
v-model=
"queryParams.startWarehouseIds"
multiple
:placeholder=
"$t('请选择始发仓')"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<
el
-
form
-
item
:
label
=
"
$t('目的国
')
"
prop
=
"
destCountryId
"
>
<el-form-item
:label=
"$t('目的国:
')"
prop=
"destCountryId"
>
<el-select
v-model=
"destCountryId"
multiple
:placeholder=
"$t('请选择目的国')"
clearable
@
change=
"handleQuery"
>
<el-select
v-model=
"destCountryId"
multiple
:placeholder=
"$t('请选择目的国')"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in AddressProvince"
:key=
"item.guojia"
:label=
"item.guojiaName"
:value=
"item.guojia"
></el-option>
<el-option
v-for=
"item in AddressProvince"
:key=
"item.guojia"
:label=
"item.guojiaName"
:value=
"item.guojia"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<
el
-
form
-
item
:
label
=
"
$t('目的城市
')
"
prop
=
"
objectiveId
"
>
<el-form-item
:label=
"$t('目的城市:
')"
prop=
"objectiveId"
>
<el-select
v-model=
"objectiveId"
multiple
:placeholder=
"$t('请选择目的城市')"
style=
"width: 200px"
clearable
@
change=
"handleQuery"
>
<el-select
v-model=
"objectiveId"
multiple
:placeholder=
"$t('请选择目的城市')"
style=
"width: 200px"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in AddressCity"
:key=
"item.shi"
:label=
"item.shiName"
:value=
"item.shi"
></el-option>
<el-option
v-for=
"item in AddressCity"
:key=
"item.shi"
:label=
"item.shiName"
:value=
"item.shi"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<
el
-
form
-
item
:
label
=
"
$t('目的仓
')
"
prop
=
"
destWarehouseId
"
>
<el-form-item
:label=
"$t('目的仓:
')"
prop=
"destWarehouseId"
>
<el-select
v-model=
"destWarehouseId"
multiple
:placeholder=
"$t('请选择目的仓')"
style=
"width: 200px"
clearable
@
change=
"handleQuery"
>
<el-select
v-model=
"destWarehouseId"
multiple
:placeholder=
"$t('请选择目的仓')"
style=
"width: 200px"
clearable
@
change=
"handleQuery"
>
<el-option
v-for=
"item in AddressTown"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in AddressTown"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<
el
-
form
-
item
>
</div>
<div
class=
"search-time"
>
<el-form-item
:label=
"$t('入仓时间:')"
>
<el-date-picker
v-model=
"rucangtime"
@
change=
"changeDate"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
style=
"padding-left: 20px"
>
<el-button
type=
"primary"
@
click=
"getorderList"
>
{{ $t("搜索") }}
</el-button>
<el-button
type=
"primary"
@
click=
"getorderList"
>
{{ $t("搜索") }}
</el-button>
<el-button
type=
"primary"
@
click=
"handleOrderReset"
>
{{ $t("重置") }}
</el-button>
<el-button
type=
"primary"
@
click=
"handleOrderReset"
>
{{ $t("重置") }}
</el-button>
</el-form-item>
</el-form-item>
</div>
</el-form>
</el-form>
</div>
</div>
<el-descriptions
:column=
"2"
>
<el-descriptions
:column=
"2"
>
...
@@ -228,7 +233,8 @@
...
@@ -228,7 +233,8 @@
<el-tab-pane
name=
"quote"
:label=
"$t('报价')"
>
<el-tab-pane
name=
"quote"
:label=
"$t('报价')"
>
<el-card
class=
"box-card"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<
el
-
form
:
inline
=
"
true
"
size
=
"
small
"
ref
=
"
handleOffer
"
>
<el-form
:inline=
"true"
size=
"small"
ref=
"handleOffer"
label-width=
"100px"
>
<div
class=
"search-z"
>
<el-form-item
:label=
"$t('编号')"
prop=
"searchNumber"
>
<el-form-item
:label=
"$t('编号')"
prop=
"searchNumber"
>
<el-input
v-model.trim=
"queryOfferParams.searchNumber"
:placeholder=
"$t('请输入报价单号、订单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model.trim=
"queryOfferParams.searchNumber"
:placeholder=
"$t('请输入报价单号、订单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
...
@@ -278,15 +284,17 @@
...
@@ -278,15 +284,17 @@
<el-option
v-for=
"item in [1, 2, 3, 4, 5]"
:label=
"item"
:value=
"item"
:key=
"item"
></el-option>
<el-option
v-for=
"item in [1, 2, 3, 4, 5]"
:label=
"item"
:value=
"item"
:key=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</div>
<div
class=
"search-time"
>
<el-form-item
:label=
"$t('创建时间')"
>
<el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
v-model=
"queryTmp.createTime"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"handleQuery"
>
</el-date-picker>
<el-date-picker
v-model=
"queryTmp.createTime"
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>
<
el
-
form
-
item
>
<el-form-item
style=
"padding-left: 20px"
>
<el-button
type=
"primary"
@
click=
"getInfoListOfferPage"
>
{{ $t("搜索") }}
</el-button>
<el-button
type=
"primary"
@
click=
"getInfoListOfferPage"
>
{{ $t("搜索") }}
</el-button>
<el-button
type=
"primary"
@
click=
"handleOfferReset"
>
{{ $t("重置") }}
</el-button>
<el-button
type=
"primary"
@
click=
"handleOfferReset"
>
{{ $t("重置") }}
</el-button>
</el-form-item>
</el-form-item>
</div>
</el-form>
</el-form>
</div>
</div>
<el-table
:data=
"infoListOfferList"
style=
"width: 100%"
>
<el-table
:data=
"infoListOfferList"
style=
"width: 100%"
>
...
@@ -380,7 +388,7 @@
...
@@ -380,7 +388,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('跟进')"
>
<
logListCommon
ref
=
"
logListCommon
"
v
-
if
=
"
activeName === 'follow'
"
:
customerId
=
"
id
"
/>
<logListCommon
ref=
"logListCommon"
: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>
...
@@ -950,7 +958,7 @@ export default {
...
@@ -950,7 +958,7 @@ export default {
},
},
infoListReceiptTotal
:
0
,
infoListReceiptTotal
:
0
,
country
:
""
,
country
:
""
,
showMore
:
tru
e
,
showMore
:
fals
e
,
AddressCity
:
[],
AddressCity
:
[],
AddressProvince
:
[],
AddressProvince
:
[],
AddressTown
:
[],
AddressTown
:
[],
...
...
src/views/ecw/offer/detail.vue
View file @
9482381f
This diff is collapsed.
Click to expand it.
src/views/ecw/offer/edit.vue
View file @
9482381f
...
@@ -411,7 +411,7 @@
...
@@ -411,7 +411,7 @@
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('竞争对手')"
prop=
"competitor"
>
<el-form-item
:label=
"$t('竞争对手')"
prop=
"competitor"
>
<el-select
clearable
v-model=
"form.competitor"
:placeholder=
"$t('请选择')"
class=
"w-200"
@
change=
"changeCompetitor"
>
<el-select
filterable
clearable
v-model=
"form.competitor"
:placeholder=
"$t('请选择')"
class=
"w-200"
@
change=
"changeCompetitor"
>
<el-option
v-for=
"item in competitorList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
<el-option
v-for=
"item in competitorList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.name"
/>
<el-option
:label=
"$t('其他')"
:value=
"0"
/>
<el-option
:label=
"$t('其他')"
:value=
"0"
/>
</el-select>
</el-select>
...
@@ -1185,6 +1185,8 @@ export default {
...
@@ -1185,6 +1185,8 @@ export default {
formData
.
stopTime
=
""
formData
.
stopTime
=
""
}
}
formData
.
channelId
=
formData
.
channelId
||
null
this
.
$set
(
this
,
"
form
"
,
formData
)
this
.
$set
(
this
,
"
form
"
,
formData
)
// 接口只返回了发货人和收货人ID,还需要调用接口获取详细信息回显
// 接口只返回了发货人和收货人ID,还需要调用接口获取详细信息回显
getCustomerContactsSelect
({
getCustomerContactsSelect
({
...
...
src/views/ecw/offer/index.vue
View file @
9482381f
...
@@ -180,7 +180,7 @@
...
@@ -180,7 +180,7 @@
<
el
-
dropdown
-
item
@
click
.
native
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:show']
"
>
{{
$t
(
"
详情
"
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
@
click
.
native
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:show']
"
>
{{
$t
(
"
详情
"
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
@
click
.
native
=
"
$router.push('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('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('create?copyId=' + 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('create?copyId=' + 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(`logList?offerId=${scope.row.offerId
}
&customerId=${scope.row.customerId
}
`)
"
v
-
if
=
"
[1, 3, 7].indexOf(scope.row.status) > -1
"
v
-
hasPermi
=
"
['ecw:offer:loglist']
"
>
{{
$t
(
"
跟进
"
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
@
click
.
native
=
"
handleAddOffer(scope.row)
"
v
-
if
=
"
[1, 3, 7].indexOf(scope.row.status) > -1
"
>
{{
$t
(
"
跟进
"
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
@
click
.
native
=
"
$router.push(`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(`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
>
...
@@ -193,6 +193,7 @@
...
@@ -193,6 +193,7 @@
<
/el-table
>
<
/el-table
>
<!--
分页组件
-->
<!--
分页组件
-->
<
pagination
v
-
show
=
"
total > 0
"
:
total
=
"
total
"
:
page
.
sync
=
"
queryParams.pageNo
"
:
limit
.
sync
=
"
queryParams.pageSize
"
@
pagination
=
"
getList
"
/>
<
pagination
v
-
show
=
"
total > 0
"
:
total
=
"
total
"
:
page
.
sync
=
"
queryParams.pageNo
"
:
limit
.
sync
=
"
queryParams.pageSize
"
@
pagination
=
"
getList
"
/>
<
CustomerFollow
ref
=
"
customerFollow
"
@
refresh
=
"
handleQuery
"
v
-
if
=
"
customerFollowVisible
"
:
customer
-
id
=
"
curData.relationId
"
:
customerService
=
"
curData.salesmanId
"
:
customerNumber
=
"
curData.customerNumber
"
:
offerId
=
"
curData.offerId
"
/>
<
/div
>
<
/div
>
<
/template
>
<
/template
>
...
@@ -205,16 +206,19 @@ import { getTradeCityList } from "@/api/ecw/region"
...
@@ -205,16 +206,19 @@ import { getTradeCityList } from "@/api/ecw/region"
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
UserSelector
from
"
@/components/UserSelector
"
import
UserSelector
from
"
@/components/UserSelector
"
import
Selector
from
"
@/components/Selector
"
import
Selector
from
"
@/components/Selector
"
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow
"
export
default
{
export
default
{
name
:
"
EcwOfferIndex
"
,
name
:
"
EcwOfferIndex
"
,
components
:
{
components
:
{
Template
,
Template
,
Selector
,
Selector
,
UserSelector
UserSelector
,
CustomerFollow
}
,
}
,
data
()
{
data
()
{
return
{
return
{
customerFollowVisible
:
false
,
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 导出遮罩层
// 导出遮罩层
...
@@ -259,6 +263,7 @@ export default {
...
@@ -259,6 +263,7 @@ export default {
cityList
:
[],
cityList
:
[],
//目的仓
//目的仓
destWarehouseList
:
[],
destWarehouseList
:
[],
curData
:
{
}
,
dept
:
false
// 是否部门订单
dept
:
false
// 是否部门订单
}
}
}
,
}
,
...
@@ -440,6 +445,14 @@ export default {
...
@@ -440,6 +445,14 @@ export default {
}
}
}
,
}
,
methods
:
{
methods
:
{
handleAddOffer
(
row
)
{
console
.
log
(
row
)
this
.
curData
=
row
this
.
customerFollowVisible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
[
"
customerFollow
"
].
handleAdd
()
}
)
}
,
init
()
{
init
()
{
//加载时发起请求获取所有省份值
//加载时发起请求获取所有省份值
getRegionList
(
1
,
1
)
getRegionList
(
1
,
1
)
...
...
src/views/ecw/offer/logListCommon.vue
View file @
9482381f
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
<el-card
class=
"box-card"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<div
slot=
"header"
class=
"clearfix"
>
<el-form
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<el-form
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<div
class=
"search-z"
>
<el-form-item
:label=
"$t('编号')"
prop=
"number"
>
<el-form-item
:label=
"$t('编号')"
prop=
"number"
>
<el-input
v-model.trim=
"followForm.number"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model.trim=
"followForm.number"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
...
@@ -18,9 +19,6 @@
...
@@ -18,9 +19,6 @@
<el-form-item
:label=
"$t('客户经理')"
prop=
"followUserIds"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"followUserIds"
>
<user-selector
v-model=
"followForm.followUserIds"
multiple
clearable
@
input=
"handleQuery"
/>
<user-selector
v-model=
"followForm.followUserIds"
multiple
clearable
@
input=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<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
:label=
"$t('关联跟进记录')"
prop=
"parentNumber"
>
<el-form-item
:label=
"$t('关联跟进记录')"
prop=
"parentNumber"
>
<el-input
v-model.trim=
"followForm.parentNumber"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model.trim=
"followForm.parentNumber"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
...
@@ -41,14 +39,22 @@
...
@@ -41,14 +39,22 @@
<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-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-select>
</el-form-item>
</el-form-item>
<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=
"getCustomerFollowList"
>
{{
$t
(
"
搜索
"
)
}}
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"getCustomerFollowList"
>
{{
$t
(
"
搜索
"
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"reset"
>
{{
$t
(
"
重置
"
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"reset"
>
{{
$t
(
"
重置
"
)
}}
</el-button>
<el-button
type=
"success"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:customer:follow-create']"
>
{{
$t
(
"
新增
"
)
}}
</el-button>
<el-button
type=
"success"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:customer:follow-create']"
>
{{
$t
(
"
新增
"
)
}}
</el-button>
<el-button
type=
"warning"
@
click=
"handleExport"
v-hasPermi=
"['ecw:customer:follow-export']"
>
<el-button
type=
"warning"
@
click=
"handleExport"
v-hasPermi=
"['ecw:customer:follow-export']"
>
{{
$t
(
"
导出
"
)
}}
{{
$t
(
"
导出
"
)
}}
</el-button>
</el-button>
</div>
</el-form-item>
</el-form-item>
</div>
</el-form>
</el-form>
</div>
</div>
<el-table
:data=
"customerFollowList"
style=
"width: 100%"
>
<el-table
:data=
"customerFollowList"
style=
"width: 100%"
>
...
@@ -60,7 +66,11 @@
...
@@ -60,7 +66,11 @@
<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=
"offerNumber"
:label=
"$t('报价单号')"
>
</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=
"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=
"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=
"contactName"
:label=
"$t('联系人')"
></el-table-column>
<el-table-column
prop=
"contactPhone"
: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=
"followUserName"
:label=
"$t('客户经理')"
></el-table-column>
...
@@ -101,7 +111,7 @@
...
@@ -101,7 +111,7 @@
</el-table>
</el-table>
<pagination
:total=
"customerFollowTotal"
:page.sync=
"followForm.pageNo"
:limit.sync=
"followForm.pageSize"
@
pagination=
"getCustomerFollowList"
/>
<pagination
:total=
"customerFollowTotal"
:page.sync=
"followForm.pageNo"
:limit.sync=
"followForm.pageSize"
@
pagination=
"getCustomerFollowList"
/>
</el-card>
</el-card>
<customer-follow
ref=
"customerFollow"
@
handleCustomerFollowAdd=
"handleCustomerFollowAdd"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
:customer-id=
"customerId"
:
offerId=
"offerId
"
/>
<customer-follow
ref=
"customerFollow"
@
handleCustomerFollowAdd=
"handleCustomerFollowAdd"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
:customer-id=
"customerId"
:
customerService=
"customerService"
:customerNumber=
"customerNumber
"
/>
</div>
</div>
</template>
</template>
...
@@ -112,7 +122,7 @@ import UserSelector from "@/components/UserSelector"
...
@@ -112,7 +122,7 @@ import UserSelector from "@/components/UserSelector"
export
default
{
export
default
{
name
:
"
logListCommon
"
,
name
:
"
logListCommon
"
,
components
:
{
UserSelector
,
CustomerFollow
},
components
:
{
UserSelector
,
CustomerFollow
},
props
:
[
"
customerId
"
,
"
offerId
"
],
props
:
[
"
customerId
"
,
"
offerId
"
,
"
customerService
"
,
"
customerNumber
"
],
data
()
{
data
()
{
return
{
return
{
customerFollowVisible
:
false
,
customerFollowVisible
:
false
,
...
@@ -172,6 +182,9 @@ export default {
...
@@ -172,6 +182,9 @@ export default {
this
.
$refs
[
"
customerFollow
"
].
handleView
(
row
)
this
.
$refs
[
"
customerFollow
"
].
handleView
(
row
)
})
})
},
},
handleCustomerViewLink
(
row
)
{
this
.
$router
.
push
(
`/customer/query/
${
row
.
customerId
}
`
)
},
formatQuery
()
{
formatQuery
()
{
let
obj
=
{}
let
obj
=
{}
obj
.
customerId
=
this
.
customerId
||
null
obj
.
customerId
=
this
.
customerId
||
null
...
...
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