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
30ae2f0a
Commit
30ae2f0a
authored
Jun 24, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
84b09b47
222c94e1
Changes
6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
397 additions
and
281 deletions
+397
-281
country.js
src/api/ecw/country.js
+62
-0
customerContacts.js
src/api/ecw/customerContacts.js
+10
-1
index.vue
src/components/CustomerFollow/index.vue
+204
-0
edit.vue
src/views/ecw/customer/edit.vue
+46
-20
query.vue
src/views/ecw/customer/query.vue
+42
-245
index.vue
src/views/ecw/customerComplaint/index.vue
+33
-15
No files found.
src/api/ecw/country.js
0 → 100644
View file @
30ae2f0a
import
request
from
'
@/utils/request
'
// 创建国家区号
export
function
createCountry
(
data
)
{
return
request
({
url
:
'
/ecw/country/create
'
,
method
:
'
post
'
,
data
:
data
})
}
// 更新国家区号
export
function
updateCountry
(
data
)
{
return
request
({
url
:
'
/ecw/country/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除国家区号
export
function
deleteCountry
(
id
)
{
return
request
({
url
:
'
/ecw/country/delete?id=
'
+
id
,
method
:
'
delete
'
})
}
// 获得国家区号
export
function
getCountry
(
id
)
{
return
request
({
url
:
'
/ecw/country/get?id=
'
+
id
,
method
:
'
get
'
})
}
// 获得所有国家区号
export
function
getCountryListAll
()
{
return
request
({
url
:
'
/ecw/country/list-all
'
,
method
:
'
get
'
})
}
// 获得国家区号分页
export
function
getCountryPage
(
query
)
{
return
request
({
url
:
'
/ecw/country/page
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出国家区号 Excel
export
function
exportCountryExcel
(
query
)
{
return
request
({
url
:
'
/ecw/country/export-excel
'
,
method
:
'
get
'
,
params
:
query
,
responseType
:
'
blob
'
})
}
src/api/ecw/customerContacts.js
View file @
30ae2f0a
...
@@ -37,7 +37,7 @@ export function getCustomerContacts(id) {
...
@@ -37,7 +37,7 @@ export function getCustomerContacts(id) {
// 获得客户联系人列表
// 获得客户联系人列表
export
function
getCustomerContactsList
()
{
export
function
getCustomerContactsList
()
{
return
request
({
return
request
({
url
:
'
/ecw/customer-contacts/
page
'
,
url
:
'
/ecw/customer-contacts/
list
'
,
method
:
'
get
'
method
:
'
get
'
})
})
}
}
...
@@ -60,3 +60,12 @@ export function exportCustomerContactsExcel(query) {
...
@@ -60,3 +60,12 @@ export function exportCustomerContactsExcel(query) {
responseType
:
'
blob
'
responseType
:
'
blob
'
})
})
}
}
// 根据客户ID获得联系人列表
export
function
getCustomerContactsListByCustomer
(
query
)
{
return
request
({
url
:
'
/ecw/customer-contacts/list-by-customer
'
,
method
:
'
get
'
,
params
:
query
})
}
src/components/CustomerFollow/index.vue
0 → 100644
View file @
30ae2f0a
<
template
>
<div>
<div
style=
"display: flex;justify-content: right;margin-bottom: 15px"
>
<el-button
type=
"primary"
style=
"text-align: right"
@
click=
"customerFollow.dialogVisible = true"
>
新增
</el-button>
</div>
<el-table
:data=
"customerFollowList"
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"#"
>
</el-table-column>
<el-table-column
prop=
"followType"
label=
"跟进类型"
:formatter=
"(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOW_TYPE, cellValue)"
>
</el-table-column>
<el-table-column
prop=
"contactName"
label=
"联系人"
>
</el-table-column>
<el-table-column
prop=
"followMethod"
label=
"跟进方式"
:formatter=
"(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOW_METHOD, cellValue)"
>
</el-table-column>
<el-table-column
prop=
"followTime"
label=
"跟进时间"
:formatter=
"(row, column, cellValue) => parseTime(cellValue)"
>
</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=
"跟进业务"
:formatter=
"(row, column, cellValue) => serviceUserList.find(e => e.id === cellValue).nickname"
>
</el-table-column>
</el-table>
<el-dialog
append-to-body
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
{
getCustomerContactsListByCustomer
}
from
'
@/api/ecw/customerContacts
'
import
{
listServiceUser
}
from
"
@/api/system/user
"
import
{
parseTime
}
from
'
@/utils/ruoyi
'
export
default
{
/**
* 客户跟进
* 客户投诉跟进
*/
name
:
"
CustomerFollow
"
,
props
:
{
customerId
:
Number
},
data
()
{
return
{
DICT_TYPE
,
getDictDataLabel
,
parseTime
,
customerFollowList
:
[],
serviceUserList
:
[],
customerContactsList
:
[],
customerFollow
:
{
dialogVisible
:
false
,
form
:
{}
},
}
},
created
()
{
this
.
resetCustomerFollowForm
()
if
(
!!
this
.
customerId
)
getCustomerContactsListByCustomer
({
customerId
:
this
.
customerId
}).
then
(
r
=>
{
this
.
customerContactsList
=
r
.
data
})
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/edit.vue
View file @
30ae2f0a
...
@@ -34,10 +34,6 @@
...
@@ -34,10 +34,6 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"客户类别"
prop=
"type"
>
<el-form-item
label=
"客户类别"
prop=
"type"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
form-type=
"select"
multiple
v-model=
"form.type"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
form-type=
"select"
multiple
v-model=
"form.type"
></dict-selector>
<!--
<el-select
v-model=
"form.type"
placeholder=
"请选择客户类别"
>
-->
<!--
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_TYPE)"
--
>
<!-- :key="dict.value" :label="dict.label" :value="dict.value" />-->
<!--
</el-select>
-->
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -51,8 +47,8 @@
...
@@ -51,8 +47,8 @@
<el-col
:span=
"13"
v-show=
"form.type && form.type.indexOf('3') !== -1"
>
<el-col
:span=
"13"
v-show=
"form.type && form.type.indexOf('3') !== -1"
>
<el-form-item
label=
"所属代理"
prop=
"agentId"
>
<el-form-item
label=
"所属代理"
prop=
"agentId"
>
<el-select
v-model=
"form.agentId"
placeholder=
"请选择所属代理"
>
<el-select
v-model=
"form.agentId"
placeholder=
"请选择所属代理"
>
<el-option
v-for=
"
dict in getDictDatas(DICT_TYPE.COMMON_STATUS)
"
<el-option
v-for=
"
item in serviceUserList
"
:key=
"
dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)
"
/>
:key=
"
item.id"
:label=
"item.nickname"
:value=
"item.id
"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -75,7 +71,6 @@
...
@@ -75,7 +71,6 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"主营类别"
prop=
"productType"
>
<el-form-item
label=
"主营类别"
prop=
"productType"
>
<!--
<el-cascader
:options=
"productTypeList"
:props=
"
{label: 'titleZh', value: 'id', lazy: true, lazyLoad}">
</el-cascader>
-->
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"11"
>
<el-col
:span=
"11"
>
<el-select
v-model=
"form.productType"
placeholder=
"请选择产品类别"
@
change=
"form.productId = ''"
>
<el-select
v-model=
"form.productType"
placeholder=
"请选择产品类别"
@
change=
"form.productId = ''"
>
...
@@ -109,8 +104,8 @@
...
@@ -109,8 +104,8 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"跟进客服"
prop=
"customerService"
>
<el-form-item
label=
"跟进客服"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择跟进客服"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择跟进客服"
>
<el-option
v-for=
"
dict in getDictDatas(DICT_TYPE.COMMON_STATUS)
"
<el-option
v-for=
"
item in serviceUserList
"
:key=
"
dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)
"
/>
:key=
"
item.id"
:label=
"item.nickname"
:value=
"item.id
"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -122,7 +117,7 @@
...
@@ -122,7 +117,7 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-select
v-model=
"form.status"
placeholder=
"请选择客户状态"
>
<el-select
v-model=
"form.status"
placeholder=
"请选择客户状态"
disabled
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
...
@@ -248,9 +243,9 @@
...
@@ -248,9 +243,9 @@
区号
<span
style=
"color: #ff0000"
>
*
</span>
区号
<span
style=
"color: #ff0000"
>
*
</span>
</
template
>
</
template
>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
<el-select
v-model=
"row.areaCode"
placeholder=
"请选择区号"
>
<el-select
v-model=
"row.areaCode"
placeholder=
"请选择区号"
filterable
>
<el-option
v-for=
"
dict in getDictDatas(DICT_TYPE.AREA_CODE)
"
<el-option
v-for=
"
(item, index) in countryList
"
:key=
"
dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)
"
/>
:key=
"
index"
:label=
"item.nameShort + item.nameZh + '(' + item.tel + ')'"
:value=
"item.tel
"
/>
</el-select>
</el-select>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -384,6 +379,9 @@ import {getWarehouseList} from "@/api/ecw/warehouse"
...
@@ -384,6 +379,9 @@ import {getWarehouseList} from "@/api/ecw/warehouse"
import
CustomerLineTable
from
'
@/components/CustomerLineTable
'
import
CustomerLineTable
from
'
@/components/CustomerLineTable
'
import
{
getCustomerSelect
}
from
"
@/api/ecw/customer
"
import
{
getCustomerSelect
}
from
"
@/api/ecw/customer
"
import
{
listServiceUser
}
from
"
@/api/system/user
"
import
{
listServiceUser
}
from
"
@/api/system/user
"
import
{
getZhongPaoPage
}
from
'
@/api/ecw/zhongPao
'
import
{
getCustomerContactsListByCustomer
}
from
'
@/api/ecw/customerContacts
'
import
{
getCountryListAll
}
from
'
@/api/ecw/country
'
export
default
{
export
default
{
name
:
"
edit
"
,
name
:
"
edit
"
,
...
@@ -396,8 +394,13 @@ export default {
...
@@ -396,8 +394,13 @@ export default {
},
},
created
()
{
created
()
{
this
.
reset
()
this
.
reset
()
if
(
this
.
customerId
!==
'
0
'
)
if
(
this
.
customerId
!==
'
0
'
)
{
this
.
getCustomer
(
this
.
customerId
)
this
.
getCustomer
(
this
.
customerId
).
then
(()
=>
{
getCustomerContactsListByCustomer
({
customerId
:
this
.
customerId
}).
then
(
r
=>
{
this
.
form
.
customerContacts
=
r
.
data
})
})
}
getNodeList
().
then
(
r
=>
{
getNodeList
().
then
(
r
=>
{
this
.
nodeList
=
r
.
data
this
.
nodeList
=
r
.
data
...
@@ -420,6 +423,11 @@ export default {
...
@@ -420,6 +423,11 @@ export default {
listServiceUser
().
then
(
r
=>
{
listServiceUser
().
then
(
r
=>
{
this
.
serviceUserList
=
r
.
data
this
.
serviceUserList
=
r
.
data
})
})
getCountryListAll
().
then
(
r
=>
{
this
.
countryList
=
r
.
data
})
this
.
getZhongPao
()
},
},
data
(){
data
(){
return
{
return
{
...
@@ -452,11 +460,13 @@ export default {
...
@@ -452,11 +460,13 @@ export default {
importCityList
:
[],
// 进口地址
importCityList
:
[],
// 进口地址
customerSelect
:
[],
customerSelect
:
[],
serviceUserList
:
[],
serviceUserList
:
[],
countryList
:
[],
zhongLines
:
[],
// 重货线路
zhongLines
:
[],
// 重货线路
paoLines
:
[],
// 泡货线路
paoLines
:
[],
// 泡货线路
}
}
},
},
methods
:
{
methods
:
{
/** 取消按钮 */
/** 取消按钮 */
cancel
()
{
cancel
()
{
...
@@ -471,10 +481,14 @@ export default {
...
@@ -471,10 +481,14 @@ export default {
}
}
// 修改的提交
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
if
(
this
.
form
.
id
!=
null
)
{
this
.
form
.
customerContacts
.
forEach
(
e
=>
{
e
.
customerId
=
this
.
customerId
})
updateCustomer
(
this
.
form
).
then
(
response
=>
{
updateCustomer
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
open
=
false
;
this
.
getList
();
//
this.getList();
});
});
return
;
return
;
}
}
...
@@ -482,7 +496,7 @@ export default {
...
@@ -482,7 +496,7 @@ export default {
createCustomer
(
this
.
form
).
then
(
response
=>
{
createCustomer
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
open
=
false
;
this
.
getList
();
//
this.getList();
});
});
});
});
},
},
...
@@ -511,7 +525,7 @@ export default {
...
@@ -511,7 +525,7 @@ export default {
customerLines
:
[],
customerLines
:
[],
lightUnit
:
undefined
,
lightUnit
:
undefined
,
promoter
:
undefined
,
promoter
:
undefined
,
status
:
undefined
,
status
:
1
,
founder
:
this
.
$store
.
getters
.
userId
,
founder
:
this
.
$store
.
getters
.
userId
,
department
:
undefined
,
department
:
undefined
,
invoiceTitle
:
undefined
,
invoiceTitle
:
undefined
,
...
@@ -530,8 +544,8 @@ export default {
...
@@ -530,8 +544,8 @@ export default {
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
getCustomer
(
id
)
{
getCustomer
(
id
)
{
getCustomer
(
id
).
then
(
response
=>
{
return
getCustomer
(
id
).
then
(
response
=>
{
this
.
form
=
{
...
this
.
form
,
...
response
.
data
};
this
.
form
=
{
...
this
.
form
,
...
response
.
data
,
id
:
this
.
customerId
};
this
.
open
=
true
;
this
.
open
=
true
;
this
.
title
=
"
修改客户
"
;
this
.
title
=
"
修改客户
"
;
});
});
...
@@ -561,6 +575,18 @@ export default {
...
@@ -561,6 +575,18 @@ export default {
// "userid": 0,
// "userid": 0,
// "username": ""
// "username": ""
})
})
},
getZhongPao
(){
// todo 接口不对,应该用list
getZhongPaoPage
().
then
(
r
=>
{
r
.
data
.
list
.
forEach
(
e
=>
{
if
(
e
.
type
===
1
)
{
this
.
form
.
lightUnit
=
e
.
edge
}
else
if
(
e
.
type
===
2
||
true
){
// todo 缺少type
this
.
form
.
weightUnit
=
e
.
edge
}
})
})
}
}
},
},
computed
:
{
computed
:
{
...
...
src/views/ecw/customer/query.vue
View file @
30ae2f0a
This diff is collapsed.
Click to expand it.
src/views/ecw/customerComplaint/index.vue
View file @
30ae2f0a
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch
&& !!!customerId
"
label-width=
"68px"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
<el-select
v-model=
"queryParams.customerId"
placeholder=
"请选择客户名称"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.customerId"
placeholder=
"请选择客户名称"
clearable
size=
"small"
>
<el-option
v-for=
"customer in myFollowCustomerList"
:key=
"customer.id"
:value=
"customer.id"
<el-option
v-for=
"customer in myFollowCustomerList"
:key=
"customer.id"
:value=
"customer.id"
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
</el-form>
</el-form>
<!-- 操作工具栏 -->
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
v-show=
"!!!customerId"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:customer-complaint:create']"
>
新增
</el-button>
v-hasPermi=
"['ecw:customer-complaint:create']"
>
新增
</el-button>
...
@@ -92,16 +92,20 @@
...
@@ -92,16 +92,20 @@
@
pagination=
"getList"
/>
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
5
00px"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
9
00px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
<el-select
v-model=
"form.customerId"
placeholder=
"请选择客户名称"
>
<el-select
v-model=
"form.customerId"
placeholder=
"请选择客户名称"
:disabled=
"!!customerId"
>
<el-option
label=
"请选择字典生成"
value=
""
/>
<el-option
v-for=
"item in customerSelect"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"投诉类型"
prop=
"type"
>
<el-form-item
label=
"投诉类型"
prop=
"type"
>
<el-select
v-model=
"form.type"
placeholder=
"请选择投诉类型"
>
<el-select
v-model=
"form.type"
placeholder=
"请选择投诉类型"
>
<el-option
v-for=
"dict in
this.
getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_TYPE)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_TYPE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -116,11 +120,14 @@
...
@@ -116,11 +120,14 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"处理状态"
prop=
"status"
>
<el-form-item
label=
"处理状态"
prop=
"status"
>
<el-select
v-model=
"form.status"
placeholder=
"请选择处理状态"
>
<el-select
v-model=
"form.status"
placeholder=
"请选择处理状态"
>
<el-option
v-for=
"dict in
this.
getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_COMPLAINT_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<customer-follow
:customer-id=
"form.id"
></customer-follow>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
...
@@ -131,11 +138,20 @@
...
@@ -131,11 +138,20 @@
<
script
>
<
script
>
import
{
createCustomerComplaint
,
updateCustomerComplaint
,
deleteCustomerComplaint
,
getCustomerComplaint
,
getCustomerComplaintPage
,
exportCustomerComplaintExcel
}
from
"
@/api/ecw/customerComplaint
"
;
import
{
createCustomerComplaint
,
updateCustomerComplaint
,
deleteCustomerComplaint
,
getCustomerComplaint
,
getCustomerComplaintPage
,
exportCustomerComplaintExcel
}
from
"
@/api/ecw/customerComplaint
"
;
import
{
getMyFlowCustomerList
}
from
"
@/api/ecw/customer
"
;
import
{
getCustomerSelect
}
from
'
@/api/ecw/customer
'
import
CustomerFollow
from
"
../../../components/CustomerFollow
"
export
default
{
export
default
{
name
:
"
CustomerComplaint
"
,
name
:
"
CustomerComplaint
"
,
/**
* 可以单独作为页面,也可以作为组件被被客户详情页调用。
* 作为组件时要传入 customerId,用于限制范围和隐藏搜索筛选
*/
props
:
{
customerId
:
Number
},
components
:
{
components
:
{
CustomerFollow
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -158,7 +174,7 @@ export default {
...
@@ -158,7 +174,7 @@ export default {
queryParams
:
{
queryParams
:
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
customerId
:
null
,
customerId
:
this
.
customerId
,
type
:
null
,
type
:
null
,
orderId
:
null
,
orderId
:
null
,
ladingbillId
:
null
,
ladingbillId
:
null
,
...
@@ -173,14 +189,16 @@ export default {
...
@@ -173,14 +189,16 @@ export default {
customerId
:
[{
required
:
true
,
message
:
"
客户名称不能为空
"
,
trigger
:
"
change
"
}],
customerId
:
[{
required
:
true
,
message
:
"
客户名称不能为空
"
,
trigger
:
"
change
"
}],
},
},
myFollowCustomerList
:
[]
myFollowCustomerList
:
[],
customerSelect
:
[]
};
};
},
},
created
()
{
created
()
{
this
.
getList
();
this
.
getList
();
// 获得邮件账号
get
MyFlowCustomerList
().
then
(
response
=>
{
get
CustomerSelect
().
then
(
r
=>
{
this
.
myFollowCustomerList
=
response
.
data
;
this
.
customerSelect
=
r
.
data
})
})
},
},
methods
:
{
methods
:
{
...
@@ -206,7 +224,7 @@ export default {
...
@@ -206,7 +224,7 @@ export default {
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
id
:
undefined
,
id
:
undefined
,
customerId
:
undefine
d
,
customerId
:
this
.
customerI
d
,
type
:
undefined
,
type
:
undefined
,
orderId
:
undefined
,
orderId
:
undefined
,
ladingbillId
:
undefined
,
ladingbillId
:
undefined
,
...
@@ -293,7 +311,7 @@ export default {
...
@@ -293,7 +311,7 @@ export default {
},
},
/** 格式化邮件账号 */
/** 格式化邮件账号 */
formatCustomerName
(
customerId
)
{
formatCustomerName
(
customerId
)
{
for
(
const
customer
of
this
.
myFollowCustomerLis
t
)
{
for
(
const
customer
of
this
.
customerSelec
t
)
{
if
(
customer
.
id
===
customerId
)
{
if
(
customer
.
id
===
customerId
)
{
return
customer
.
name
;
return
customer
.
name
;
}
}
...
...
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