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
1ad37a34
Commit
1ad37a34
authored
Nov 12, 2024
by
zs嵩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试反馈bug修复
parent
4061ceb8
Changes
10
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
653 additions
and
672 deletions
+653
-672
offer.js
src/api/ecw/offer.js
+52
-45
custom.scss
src/styles/custom.scss
+10
-0
customerFollow.vue
src/views/ecw/customer/components/customerFollow.vue
+51
-27
index.vue
src/views/ecw/customer/index.vue
+18
-19
query.vue
src/views/ecw/customer/query.vue
+1
-1
index.vue
src/views/ecw/customerConfirm/index.vue
+236
-278
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+242
-265
index.vue
src/views/ecw/myCustomerService/index.vue
+25
-25
detail.vue
src/views/ecw/offer/detail.vue
+14
-6
logListCommon.vue
src/views/ecw/offer/logListCommon.vue
+4
-6
No files found.
src/api/ecw/offer.js
View file @
1ad37a34
import
request
from
'
@/utils/request
'
import
request
from
"
@/utils/request
"
// 创建报价单管理
// 创建报价单管理
export
function
createOffer
(
data
)
{
export
function
createOffer
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/create
'
,
url
:
"
/ecw/offer/create
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -12,8 +12,8 @@ export function createOffer(data) {
...
@@ -12,8 +12,8 @@ export function createOffer(data) {
// 更新报价单管理
// 更新报价单管理
export
function
updateOffer
(
data
)
{
export
function
updateOffer
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/update
'
,
url
:
"
/ecw/offer/update
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -21,24 +21,24 @@ export function updateOffer(data) {
...
@@ -21,24 +21,24 @@ export function updateOffer(data) {
// 删除报价单管理
// 删除报价单管理
export
function
deleteOffer
(
id
)
{
export
function
deleteOffer
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/delete?id=
'
+
id
,
url
:
"
/ecw/offer/delete?id=
"
+
id
,
method
:
'
delete
'
method
:
"
delete
"
})
})
}
}
// 获得报价单管理
// 获得报价单管理
export
function
getOffer
(
id
)
{
export
function
getOffer
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/get?offerId=
'
+
id
,
url
:
"
/ecw/offer/get?offerId=
"
+
id
,
method
:
'
get
'
method
:
"
get
"
})
})
}
}
// 获得报价单管理分页
// 获得报价单管理分页
export
function
getOfferPage
(
query
)
{
export
function
getOfferPage
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/page
'
,
url
:
"
/ecw/offer/page
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
params
:
query
})
})
}
}
...
@@ -46,36 +46,36 @@ export function getOfferPage(query) {
...
@@ -46,36 +46,36 @@ export function getOfferPage(query) {
// 导出报价单管理 Excel
// 导出报价单管理 Excel
export
function
exportOfferExcel
(
query
)
{
export
function
exportOfferExcel
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/export-excel
'
,
url
:
"
/ecw/offer/export-excel
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
,
params
:
query
,
responseType
:
'
blob
'
responseType
:
"
blob
"
})
})
}
}
// 更新报价单结果
// 更新报价单结果
export
function
updateOfferResult
(
data
)
{
export
function
updateOfferResult
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/update/result
'
,
url
:
"
/ecw/offer/update/result
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
:
data
data
:
data
})
})
}
}
// 获取费用清单列表
// 获取费用清单列表
export
function
getProductFeeList
(
prodCreateReqVO
){
export
function
getProductFeeList
(
prodCreateReqVO
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/calculation/prod-fee-List
'
,
url
:
"
/ecw/offer/calculation/prod-fee-List
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
:
prodCreateReqVO
data
:
prodCreateReqVO
})
})
}
}
// 获取费用清单
// 获取费用清单
export
function
getProductFee
(
calculationFeeParamVO
){
export
function
getProductFee
(
calculationFeeParamVO
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/calculation/fee-List
'
,
url
:
"
/ecw/offer/calculation/fee-List
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
:
calculationFeeParamVO
data
:
calculationFeeParamVO
})
})
}
}
...
@@ -83,8 +83,8 @@ export function getProductFee(calculationFeeParamVO){
...
@@ -83,8 +83,8 @@ export function getProductFee(calculationFeeParamVO){
// 特价申请
// 特价申请
export
function
createOfferSpecial
(
data
)
{
export
function
createOfferSpecial
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/special/apply
'
,
url
:
"
/ecw/offer/special/apply
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -92,8 +92,8 @@ export function createOfferSpecial(data) {
...
@@ -92,8 +92,8 @@ export function createOfferSpecial(data) {
// 特价详情
// 特价详情
export
function
getOfferSpecial
(
offerProdId
,
params
)
{
export
function
getOfferSpecial
(
offerProdId
,
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/special/info/
'
+
offerProdId
,
url
:
"
/ecw/offer/special/info/
"
+
offerProdId
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
...
@@ -101,35 +101,34 @@ export function getOfferSpecial(offerProdId, params) {
...
@@ -101,35 +101,34 @@ export function getOfferSpecial(offerProdId, params) {
// 特价详情
// 特价详情
export
function
getOfferSpecialByApproveId
(
approveId
)
{
export
function
getOfferSpecialByApproveId
(
approveId
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/special/info?approveId=
'
+
approveId
,
url
:
"
/ecw/offer/special/info?approveId=
"
+
approveId
,
method
:
'
get
'
method
:
"
get
"
})
})
}
}
// 取消报价管理
// 取消报价管理
export
function
cancel
(
id
)
{
export
function
cancel
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/cancel
'
,
url
:
"
/ecw/offer/cancel
"
,
method
:
'
delete
'
,
method
:
"
delete
"
,
params
:
{
id
}
params
:
{
id
}
})
})
}
}
// 恢复取消的报价管理
// 恢复取消的报价管理
export
function
recovery
(
id
)
{
export
function
recovery
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/recovery
'
,
url
:
"
/ecw/offer/recovery
"
,
method
:
'
delete
'
,
method
:
"
delete
"
,
params
:
{
id
}
params
:
{
id
}
})
})
}
}
// 获取部门报价单列表
// 获取部门报价单列表
export
function
offerDeptPage
(
params
)
{
export
function
offerDeptPage
(
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/dept/page
'
,
url
:
"
/ecw/offer/dept/page
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
...
@@ -137,25 +136,33 @@ export function offerDeptPage(params) {
...
@@ -137,25 +136,33 @@ export function offerDeptPage(params) {
// 导出部分报价单 exportDeptOfferExcel
// 导出部分报价单 exportDeptOfferExcel
export
function
exportDeptOfferExcel
(
query
)
{
export
function
exportDeptOfferExcel
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/dept/export-excel
'
,
url
:
"
/ecw/offer/dept/export-excel
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
,
params
:
query
,
responseType
:
'
blob
'
responseType
:
"
blob
"
})
})
}
}
// 报价单
// 报价单
export
function
getOfferSelect
(
params
)
{
export
function
getOfferSelect
(
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/select
'
,
url
:
"
/ecw/offer/select
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
// 报价单
// 报价单
export
function
getOfferCheck
(
params
)
{
export
function
getOfferCheck
(
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/check
'
,
url
:
"
/ecw/offer/check
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
// 特价详情
export
function
getOfferNumber
(
offerId
)
{
return
request
({
url
:
"
/ecw/offer/getNumber/
"
+
offerId
,
method
:
"
get
"
})
}
src/styles/custom.scss
View file @
1ad37a34
...
@@ -15,3 +15,13 @@
...
@@ -15,3 +15,13 @@
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
}
}
.custom-form-1
{
padding-right
:
40px
;
.el-textarea
,
.dict-selector
,
.el-select
{
width
:
100%
;
}
}
src/views/ecw/customer/components/customerFollow.vue
View file @
1ad37a34
This diff is collapsed.
Click to expand it.
src/views/ecw/customer/index.vue
View file @
1ad37a34
...
@@ -228,21 +228,21 @@
...
@@ -228,21 +228,21 @@
-->
-->
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{ row }">-->
<!-- <template v-slot="{ row }">-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- <contacts :id="row.id">-->
<!-- <contacts :id="row.id">-->
<!-- <el-button type="text">更多</el-button>-->
<!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>-->
<!-- </contacts>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -667,7 +667,7 @@
...
@@ -667,7 +667,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
@
close=
"customerFollowVisible = false"
v-if=
"customerFollowVisible"
/>
<customer-complaints
:customer-id=
"customerId"
ref=
"customerComplaints"
></customer-complaints>
<customer-complaints
:customer-id=
"customerId"
ref=
"customerComplaints"
></customer-complaints>
<transfer-customer
:show.sync=
"transferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<transfer-customer
:show.sync=
"transferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<add-potential-custom
ref=
"potentialCustom"
@
change=
"getList"
></add-potential-custom>
<add-potential-custom
ref=
"potentialCustom"
@
change=
"getList"
></add-potential-custom>
...
@@ -719,10 +719,10 @@ import { getCustomerSelect } from "@/api/ecw/customer"
...
@@ -719,10 +719,10 @@ import { getCustomerSelect } from "@/api/ecw/customer"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
import
UserSelector
from
"
@/components/UserSelector/index.vue
"
;
import
UserSelector
from
"
@/components/UserSelector/index.vue
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
;
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
import
ProductSelector
from
"
@/components/ProductSelector/index.vue
"
;
import
ProductSelector
from
"
@/components/ProductSelector/index.vue
"
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
;
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
export
default
{
export
default
{
name
:
"
EcwCustomerIndex
"
,
name
:
"
EcwCustomerIndex
"
,
components
:
{
components
:
{
...
@@ -1011,7 +1011,6 @@ export default {
...
@@ -1011,7 +1011,6 @@ export default {
this
.
getList
()
this
.
getList
()
},
},
methods
:
{
methods
:
{
onCompetitorChange
(
row
,
competitor
)
{
onCompetitorChange
(
row
,
competitor
)
{
// row.goodsType = product ? product.typeId : null
// row.goodsType = product ? product.typeId : null
row
.
id
=
!
competitor
row
.
id
=
!
competitor
...
...
src/views/ecw/customer/query.vue
View file @
1ad37a34
...
@@ -672,7 +672,7 @@
...
@@ -672,7 +672,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
: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=
"logListCommonRefresh"
/>
</div>
</div>
</template>
</template>
...
...
src/views/ecw/customerConfirm/index.vue
View file @
1ad37a34
This diff is collapsed.
Click to expand it.
src/views/ecw/customerToBeAssigned/index.vue
View file @
1ad37a34
This diff is collapsed.
Click to expand it.
src/views/ecw/myCustomerService/index.vue
View file @
1ad37a34
...
@@ -17,16 +17,16 @@
...
@@ -17,16 +17,16 @@
<el-form-item
:label=
"$t('联系方式')"
>
<el-form-item
:label=
"$t('联系方式')"
>
<el-input
:placeholder=
"$t('请输入联系方式')"
clearable
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
<el-input
:placeholder=
"$t('请输入联系方式')"
clearable
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</el-form-item>
</el-form-item>
<!--
<el-form-item
:label=
"$t('部门')"
v-if=
"path != '/customer/department-customers'"
>
-->
<!--
<el-form-item
:label=
"$t('部门')"
v-if=
"path != '/customer/department-customers'"
>
-->
<!--
<el-select
v-model=
"queryParams.deptIds"
:placeholder=
"$t('请选择部门')"
>
-->
<!--
<el-select
v-model=
"queryParams.deptIds"
:placeholder=
"$t('请选择部门')"
>
-->
<!--
<el-option
v-for=
"item in deptList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
-->
<!--
<el-option
v-for=
"item in deptList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
-->
<!--
</el-select>
-->
<!--
</el-select>
-->
<!--
</el-form-item>
-->
<!--
</el-form-item>
-->
<!--
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
-->
<!--
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
-->
<!--
<el-select
multiple
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
size=
"small"
@
change=
"handleQuery"
>
-->
<!--
<el-select
multiple
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
size=
"small"
@
change=
"handleQuery"
>
-->
<!--
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
-->
<!--
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
-->
<!--
</el-select>
-->
<!--
</el-select>
-->
<!--
</el-form-item>
-->
<!--
</el-form-item>
-->
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-select
multiple
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<el-select
multiple
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
...
@@ -222,21 +222,21 @@
...
@@ -222,21 +222,21 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{ row }">-->
<!-- <template v-slot="{ row }">-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- <contacts :id="row.id">-->
<!-- <contacts :id="row.id">-->
<!-- <el-button type="text">更多</el-button>-->
<!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>-->
<!-- </contacts>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -373,7 +373,7 @@
...
@@ -373,7 +373,7 @@
<!-- 分页组件 -->
<!-- 分页组件 -->
<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"
/>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-follow
ref=
"customerFollow"
@
close=
"customerFollowVisible = false"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-complaints
ref=
"customerComplaint"
:customer-id.sync=
"customerId"
></customer-complaints>
<customer-complaints
ref=
"customerComplaint"
:customer-id.sync=
"customerId"
></customer-complaints>
<transfer-customer
:show.sync=
"show"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<transfer-customer
:show.sync=
"show"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
...
@@ -399,7 +399,7 @@ import { getNodeList } from "@/api/ecw/node"
...
@@ -399,7 +399,7 @@ import { getNodeList } from "@/api/ecw/node"
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
;
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
export
default
{
export
default
{
name
:
"
EcwMyCustomerServiceIndex
"
,
name
:
"
EcwMyCustomerServiceIndex
"
,
components
:
{
components
:
{
...
...
src/views/ecw/offer/detail.vue
View file @
1ad37a34
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<span
style=
"font-size: 15px"
></span>
<span
style=
"font-size: 15px"
></span>
<div
class=
"btns"
>
<div
class=
"btns"
>
<el-button
v-hasPermi=
"['ecw:offer:update']"
size=
"mini"
type=
"primary"
v-if=
"[4, 5, 6].indexOf(list.status) == -1"
@
click=
"$router.push('edit?id=' + offerId)"
>
{{
$t
(
"
编辑
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:update']"
size=
"mini"
type=
"primary"
v-if=
"[4, 5, 6].indexOf(list.status) == -1"
@
click=
"$router.push('edit?id=' + offerId)"
>
{{
$t
(
"
编辑
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:loglist']"
type=
"primary"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"handleAdd"
>
{{
$t
(
"
跟进
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:loglist']"
type=
"primary"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"handleAdd
Offer
"
>
{{
$t
(
"
跟进
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:result']"
type=
"primary"
v-if=
"[3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"toResult"
>
{{
$t
(
"
结果
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:result']"
type=
"primary"
v-if=
"[3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"toResult"
>
{{
$t
(
"
结果
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:discount', 'ecw:offer:commission']"
size=
"mini"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
type=
"primary"
@
click.native=
"$router.push('/offer/special?offerId=' + offerId)"
>
{{
$t
(
"
特价
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:discount', 'ecw:offer:commission']"
size=
"mini"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
type=
"primary"
@
click.native=
"$router.push('/offer/special?offerId=' + offerId)"
>
{{
$t
(
"
特价
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:delete']"
type=
"danger"
size=
"mini"
@
click=
"handleDelete"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:delete']"
type=
"danger"
size=
"mini"
@
click=
"handleDelete"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
...
@@ -313,7 +313,7 @@
...
@@ -313,7 +313,7 @@
</el-descriptions-item>
</el-descriptions-item>
</el-descriptions>
</el-descriptions>
</el-card>
</el-card>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
:customerService=
"curData.salesmanId"
:customerNumber=
"curData.customerNumber"
:offerId=
"offerId"
/>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
@
close=
"customerFollowVisible = false"
:customerService=
"curData.salesmanId"
:customerNumber=
"curData.customerNumber"
:offerId=
"offerId"
/>
</div>
</div>
</template>
</template>
...
@@ -521,14 +521,13 @@ export default {
...
@@ -521,14 +521,13 @@ export default {
getTradeCityList
().
then
((
res
)
=>
(
this
.
tradeCityList
=
res
.
data
))
getTradeCityList
().
then
((
res
)
=>
(
this
.
tradeCityList
=
res
.
data
))
getProductAttrList
().
then
((
res
)
=>
(
this
.
productAttrList
=
res
.
data
))
getProductAttrList
().
then
((
res
)
=>
(
this
.
productAttrList
=
res
.
data
))
if
(
this
.
$route
.
query
.
offerId
)
{
if
(
this
.
$route
.
query
.
offerId
)
{
this
.
offerId
=
this
.
$route
.
query
.
offerId
this
.
offerId
=
parseInt
(
this
.
$route
.
query
.
offerId
)
this
.
getList
()
this
.
getList
()
}
}
},
},
methods
:
{
methods
:
{
handleAddOffer
(
row
)
{
handleAddOffer
()
{
console
.
log
(
row
)
this
.
curData
=
this
.
list
this
.
curData
=
row
this
.
customerFollowVisible
=
true
this
.
customerFollowVisible
=
true
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
[
"
customerFollow
"
].
handleAdd
()
this
.
$refs
[
"
customerFollow
"
].
handleAdd
()
...
@@ -784,4 +783,13 @@ export default {
...
@@ -784,4 +783,13 @@ export default {
.card
{
.card
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
/
deep
/
.el-table__fixed-footer-wrapper
tbody
td
.el-table__cell
{
font-size
:
16px
;
font-weight
:
bold
;
}
/
deep
/
.el-table__footer-wrapper
tbody
td
.el-table__cell
{
font-size
:
20px
;
font-weight
:
bold
;
}
</
style
>
</
style
>
src/views/ecw/offer/logListCommon.vue
View file @
1ad37a34
...
@@ -52,10 +52,8 @@
...
@@ -52,10 +52,8 @@
</el-form-item>
</el-form-item>
</div>
</div>
</el-form>
</el-form>
</div>
</div>
<!-- 操作工具栏 -->
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
...
@@ -125,7 +123,7 @@
...
@@ -125,7 +123,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"
:customerService=
"customerService"
:customerNumber=
"customerNumber"
/>
<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"
></customer-follow-update-status>
<customer-follow-update-status
:show.sync=
"updateStatus"
:followup-ids.sync=
"selectCustomerFollowList"
></customer-follow-update-status>
</div>
</div>
</template>
</template>
...
@@ -135,10 +133,10 @@ import { getCustomerFollowList, exportCustomerFollow } from "@/api/ecw/customerF
...
@@ -135,10 +133,10 @@ import { getCustomerFollowList, exportCustomerFollow } from "@/api/ecw/customerF
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
"
import
customerFollowUpdateStatus
from
"
@/views/ecw/customer/components/customerFollowUpdateStatus.vue
"
;
import
customerFollowUpdateStatus
from
"
@/views/ecw/customer/components/customerFollowUpdateStatus.vue
"
export
default
{
export
default
{
name
:
"
logListCommon
"
,
name
:
"
logListCommon
"
,
components
:
{
customerFollowUpdateStatus
,
UserSelector
,
CustomerFollow
},
components
:
{
customerFollowUpdateStatus
,
UserSelector
,
CustomerFollow
},
props
:
[
"
customerId
"
,
"
offerId
"
,
"
customerService
"
,
"
customerNumber
"
],
props
:
[
"
customerId
"
,
"
offerId
"
,
"
customerService
"
,
"
customerNumber
"
],
data
()
{
data
()
{
return
{
return
{
...
...
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