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
48472f98
Commit
48472f98
authored
Nov 03, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
客户编辑等bug
parent
01e36148
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
181 additions
and
77 deletions
+181
-77
jsconfig.json
jsconfig.json
+4
-1
customer.js
src/api/ecw/customer.js
+16
-0
index.vue
src/components/CustomerLineTable/index.vue
+34
-46
index.vue
src/components/MemberSelector/index.vue
+72
-0
edit.vue
src/views/ecw/customer/edit.vue
+46
-23
edit.vue
src/views/ecw/offer/edit.vue
+3
-3
edit.vue
src/views/ecw/order/edit.vue
+3
-1
index.vue
src/views/ecw/product/index.vue
+2
-2
index.vue
src/views/system/role/index.vue
+1
-1
No files found.
jsconfig.json
View file @
48472f98
...
...
@@ -14,5 +14,8 @@
"bin"
,
"public"
,
"src/i18n/"
]
],
"vueCompilerOptions"
:{
"target"
:
2
}
}
\ No newline at end of file
src/api/ecw/customer.js
View file @
48472f98
...
...
@@ -236,3 +236,19 @@ export function infoListReceiptPage(params){
})
}
// 获取用户
export
function
getMember
(
id
){
return
request
({
url
:
"
/member/user/get
"
,
params
:
{
id
}
})
}
// 获得客户路线
export
function
getCustomerLines
(
customerId
){
return
request
({
url
:
'
/ecw/customer-line/get-by-customer
'
,
params
:
{
customerId
}
})
}
src/components/CustomerLineTable/index.vue
View file @
48472f98
<
template
>
<el-table
border
:data=
"
tableData
"
:data=
"
exportWarehouseList
"
style=
""
>
<el-table-column
width=
"250px"
label=
"始发地"
>
<template
v-slot=
"
{ row, column, $index }">
<el-checkbox
v-model=
"row.checked"
@
change=
"
updateValue(true)"
>
{{
warehouseList
[
$index
].
titleZh
}}
</el-checkbox>
<el-checkbox
v-model=
"row.checked"
@
change=
"
emit"
>
{{
$l
(
row
,
'
title
'
)
}}
</el-checkbox>
</
template
>
</el-table-column>
<el-table-column
prop=
"objectiveId"
label=
"目的地"
>
<
template
v-slot=
"{ row, column, $index }"
>
<el-select
v-model=
"
tableData[$index].objectiveIds"
multiple
placeholder=
"请选择"
style=
"width:100%"
@
change=
"updateValue(row.checked)
"
>
<el-select
v-model=
"
row.objectiveIdArr"
multiple
placeholder=
"请选择"
style=
"width:100%"
@
change=
"emit
"
>
<el-option
v-for=
"item in import
City
List"
v-for=
"item in import
Warehouse
List"
:key=
"item.id"
:label=
"
item.titleZh
"
:label=
"
$l(item, 'title')
"
:value=
"item.id"
>
</el-option>
</el-select>
...
...
@@ -41,64 +41,52 @@ export default {
},
data
()
{
return
{
tableData
:
[]
tableData
:
[],
importWarehouseList
:
[],
exportWarehouseList
:
[]
}
},
mounted
()
{
this
.
freshTableData
()
this
.
initLines
()
},
methods
:
{
/**
* 解析 value
*/
freshTableData
(){
const
foo
=
[]
let
index
=
0
this
.
warehouseList
.
forEach
(
e
=>
{
let
bar
=
this
.
tableData
.
length
>
0
?
this
.
tableData
[
index
]
:
{
departureId
:
e
.
id
,
objectiveIds
:
[],
tradeType
:
e
.
tradeType
,
checked
:
false
initLines
(){
this
.
warehouseList
.
forEach
(
item
=>
{
if
(
item
.
tradeType
==
2
||
item
.
tradeType
==
3
){
let
oldItem
=
this
.
value
.
find
(
it
=>
it
.
departureId
==
item
.
id
)
this
.
exportWarehouseList
.
push
(
Object
.
assign
({},
item
,
{
checked
:
!!
oldItem
,
objectiveIdArr
:
oldItem
?
oldItem
.
objectiveIds
.
split
(
'
,
'
).
map
(
item
=>
+
item
)
:
[]
}))
}
const
valueIndex
=
this
.
value
.
findIndex
(
v
=>
v
.
departureId
===
e
.
id
)
if
(
valueIndex
!==
-
1
)
{
bar
=
{
...
this
.
value
[
valueIndex
],
checked
:
true
}
if
(
bar
.
objectiveIds
.
length
===
0
)
{
bar
.
objectiveIds
=
[]
}
else
{
bar
.
objectiveIds
=
bar
.
objectiveIds
.
split
(
'
,
'
).
map
(
m
=>
parseInt
(
m
))
}
if
(
item
.
tradeType
==
1
||
item
.
tradeType
==
3
){
this
.
importWarehouseList
.
push
(
Object
.
assign
({},
item
))
}
foo
.
push
(
bar
)
index
++
})
this
.
tableData
=
foo
.
filter
(
i
=>
i
.
tradeType
===
'
2
'
);
},
/**
* 更新 value
*/
updateValue
(
really
=
true
){
if
(
!
really
)
return
const
result
=
[]
this
.
tableData
.
forEach
(
e
=>
{
if
(
e
.
checked
){
const
{
departureId
}
=
e
let
objectiveIds
=
e
.
objectiveIds
.
join
(
'
,
'
)
result
.
push
({
departureId
,
objectiveIds
,
zhongPaoType
:
this
.
zhongPaoType
})
getValue
(){
let
arr
=
[]
this
.
exportWarehouseList
.
forEach
(
item
=>
{
if
(
item
.
checked
){
arr
.
push
({
objectiveIds
:
item
.
objectiveIdArr
.
join
(
'
,
'
),
departureId
:
item
.
id
,
zhongPaoType
:
this
.
zhongPaoType
})
}
})
this
.
$emit
(
'
input
'
,
result
)
return
arr
},
emit
(){
this
.
$emit
(
'
input
'
,
this
.
getValue
())
}
},
watch
:
{
value
()
{
this
.
freshTableData
()
//
this.freshTableData()
},
warehouseList
()
{
this
.
freshTableData
()
this
.
initLines
()
}
}
}
...
...
src/components/MemberSelector/index.vue
0 → 100644
View file @
48472f98
<
template
>
<el-select
v-model=
"index"
filterable
clearable
remote
reserve-keyword
:placeholder=
"$t('请输入关键词')"
:remote-method=
"remoteMethod"
:loading=
"loading"
:size=
"size"
>
<el-option
v-for=
"(item, index) in list"
:key=
"item.id"
:label=
"`$
{item.nickname}(${item.mobile})`"
:value="index">
</el-option>
</el-select>
</
template
>
<
script
>
import
{
userMemberUserList
,
getMember
}
from
'
@/api/ecw/customer
'
export
default
{
props
:{
productType
:
[
String
,
Number
],
value
:
[
String
,
Number
],
size
:
String
},
data
(){
return
{
index
:
null
,
list
:[],
loading
:
false
}
},
watch
:{
index
(
val
){
this
.
$emit
(
'
input
'
,
(
val
!==
''
&&
val
!==
null
)
?
this
.
list
[
val
].
id
:
null
)
this
.
$emit
(
'
change
'
,
(
val
!==
''
&&
val
!==
null
)
?
this
.
list
[
val
]:
null
)
},
value
(
val
){
this
.
init
()
}
},
created
(){
this
.
init
()
},
methods
:{
init
(){
if
(
!
this
.
value
)
return
let
index
=
this
.
list
.
findIndex
(
item
=>
item
.
id
==
this
.
value
)
if
(
index
<
0
){
getMember
(
this
.
value
).
then
(
res
=>
{
if
(
!
res
.
data
)
rurn
this
.
list
.
unshift
(
res
.
data
)
this
.
index
=
0
})
}
},
remoteMethod
(
keyword
){
let
params
=
{
pageSize
:
100
}
params
.
searchKey
=
keyword
this
.
loading
=
true
userMemberUserList
(
params
)
.
then
(
res
=>
this
.
list
=
res
.
data
.
list
)
.
finally
(()
=>
this
.
loading
=
false
)
}
}
}
</
script
>
src/views/ecw/customer/edit.vue
View file @
48472f98
...
...
@@ -182,7 +182,7 @@
<el-col
:span=
"24"
v-show=
"showZhong"
>
<el-form-item
:label=
"$t('指定线路')"
prop=
"line"
>
<el-switch
v-model=
"showZhong1"
></el-switch>
<customer-line-table
v-
show=
"showZhong1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"zhongLines"
:zhong-pao-type=
"0
"
></customer-line-table>
<customer-line-table
v-
if=
"showZhong1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"zhongLines"
:zhong-pao-type=
"1
"
></customer-line-table>
</el-form-item>
</el-col>
<el-col
:span=
"13"
>
...
...
@@ -196,7 +196,7 @@
<el-col
:span=
"24"
v-show=
"showPao"
>
<el-form-item
:label=
"$t('指定线路')"
prop=
"line"
>
<el-switch
v-model=
"showPao1"
></el-switch>
<customer-line-table
v-
show=
"showPao1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"paoLines"
:zhong-pao-type=
"1
"
></customer-line-table>
<customer-line-table
v-
if=
"showPao1"
:warehouse-list=
"warehouseList"
:import-city-list=
"importCityList"
v-model=
"paoLines"
:zhong-pao-type=
"2
"
></customer-line-table>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -281,9 +281,10 @@
>
<
template
v-slot =
"{row}"
>
<el-form-item
label=
""
>
<el-select
v-model=
"row.userid"
clearable
remote
:remote-method=
"getUserMemberUserFn"
@
change=
"selectBD"
size=
"mini"
filterable
>
<
!--
<
el-select
v-model=
"row.userid"
clearable
remote
:remote-method=
"getUserMemberUserFn"
@
change=
"selectBD"
size=
"mini"
filterable
>
<el-option
v-for=
"(item,index) in userMemberUser"
:value=
"item.id"
:key=
"index"
:label=
"item.nickname + '(' + item.mobile + ')'"
></el-option>
</el-select>
</el-select>
-->
<MemberSelector
v-model=
"row.userid"
size=
"mini"
/>
</el-form-item>
</
template
>
</el-table-column>
...
...
@@ -410,6 +411,7 @@ import {
getCustomerPage
,
memberUserList
,
updateCustomer
,
userMemberUserList
,
getCustomerLines
}
from
'
@/api/ecw/customer
'
import
{
getNodeList
}
from
"
@/api/ecw/node
"
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
...
...
@@ -424,7 +426,8 @@ import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
import
{
getCountryListAll
}
from
'
@/api/ecw/country
'
import
Template
from
"
@/views/cms/template
"
;
import
{
validatorMobile
}
from
"
@/api/ecw/validate
"
import
{
customerDropDownList
}
from
"
@/api/ecw/customerCommissionInfo
"
;
// import {customerDropDownList} from "@/api/ecw/customerCommissionInfo";
import
MemberSelector
from
'
@/components/MemberSelector
'
export
default
{
name
:
"
edit
"
,
...
...
@@ -434,13 +437,14 @@ export default {
components
:
{
Template
,
upload
,
CustomerLineTable
CustomerLineTable
,
MemberSelector
},
created
()
{
this
.
isCustomerServiceConfirmed
=
this
.
$route
.
query
.
isCustomerServiceConfirmed
?
true
:
false
this
.
getCustomerSelect
()
this
.
reset
()
this
.
getUserMemberUserFn
()
//
this.getUserMemberUserFn()
if
(
this
.
customerId
!==
'
0
'
)
{
// 编辑客户
this
.
getCustomer
(
this
.
customerId
).
then
(()
=>
{
...
...
@@ -458,6 +462,25 @@ export default {
})
}
})
// 打开重泡货开关
if
(
this
.
form
.
weightUnit
){
this
.
showZhong
=
true
}
if
(
this
.
form
.
lightUnit
){
this
.
showPao
=
true
}
// 获取重泡货路线
getCustomerLines
(
this
.
customerId
).
then
(
res
=>
{
console
.
log
({
getCustomerLines
:
res
})
this
.
zhongLines
=
res
.
data
.
filter
(
item
=>
item
.
zhongPaoType
==
1
)
this
.
paoLines
=
res
.
data
.
filter
(
item
=>
item
.
zhongPaoType
==
2
)
if
(
this
.
zhongLines
.
length
)
this
.
showZhong1
=
true
if
(
this
.
paoLines
.
length
)
this
.
showPao1
=
true
// /admin-api/customer-line/get-by-customer
// /admin-api/customer-line/get-by-customer?customerId=29564
})
})
}
else
{
// 新建客户
...
...
@@ -545,11 +568,11 @@ export default {
},
methods
:
{
getUserMemberUserFn
(
val
){
/*
getUserMemberUserFn(val){
userMemberUserList({pageNo:1,pageSize:100,searchKey:val}).then(r => {
this.memberList = r.data.list
})
},
},
*/
remoteMethod
(
val
){
this
.
getCustomerSelect
(
val
);
},
...
...
@@ -599,16 +622,16 @@ export default {
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
}
},
selectBD
(
val
){
if
(
!
val
){
return
}
let
i
=
this
.
selectMemberList
.
find
(
item
=>
item
.
id
===
val
);
if
(
i
===
undefined
){
this
.
selectMemberList
.
push
(
this
.
memberList
.
find
(
item
=>
item
.
id
===
val
))
}
this
.
getUserMemberUserFn
()
},
/*
selectBD(val){
if(!val){
return
}
let i = this.selectMemberList.find(item => item.id === val);
if(i === undefined){
this.selectMemberList.push(this.memberList.find(item => item.id === val))
}
//
this.getUserMemberUserFn()
},
*/
/** 取消按钮 */
cancel
()
{
this
.
$tab
.
closePage
()
...
...
@@ -765,12 +788,12 @@ export default {
userId
(){
return
this
.
$store
.
state
.
user
.
id
},
userMemberUser
(){
/*
userMemberUser(){
let list = this.memberList.filter(item => {
return this.selectMemberList.findIndex(i => i.id === item.id) < 0
})
return [...this.selectMemberList,...list]
},
},
*/
productListFilter
(){
return
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
this
.
form
.
productType
)
},
...
...
@@ -788,11 +811,11 @@ export default {
},
watch
:
{
zhongLines
()
{
console
.
log
(
'
zhongLines
'
)
console
.
log
(
'
zhongLines
'
,
this
.
zhongLines
)
this
.
updateCustomerLines
()
},
paoLines
()
{
console
.
log
(
'
paoLines
'
)
console
.
log
(
'
paoLines
'
,
this
.
paoLines
)
this
.
updateCustomerLines
()
}
}
...
...
src/views/ecw/offer/edit.vue
View file @
48472f98
...
...
@@ -356,7 +356,7 @@
</el-table-column>
<el-table-column
label=
""
>
<
template
slot-scope=
"{row}"
>
-
{{
row
.
reduceAmount
}}
-
{{
row
.
reduce
Total
Amount
}}
{{
currencyMap
[
row
.
reduceCurrencyId
]
}}
</
template
>
</el-table-column>
...
...
@@ -678,7 +678,7 @@ export default {
titleZh
:
it
.
titleZh
,
titleEn
:
it
.
titleEn
,
endTime
:
it
.
endTime
,
reduce
Amount
:
it
.
reduce
Amount
,
reduce
TotalAmount
:
it
.
reduceTotal
Amount
,
reduceCurrencyId
:
it
.
reduceCurrencyId
})
}
...
...
@@ -736,7 +736,7 @@ export default {
}
let
coupon
=
this
.
couponList
.
find
(
coupon
=>
coupon
.
reduceCurrencyId
==
item
.
currencyId
)
if
(
coupon
){
it
.
amount
=
it
.
amount
.
minus
(
coupon
.
reduceAmount
)
it
.
amount
=
it
.
amount
.
minus
(
coupon
.
reduce
Total
Amount
)
}
if
(
this
.
form
.
otherFee
&&
this
.
form
.
otherFeeCurrencyId
==
item
.
currencyId
){
it
.
amount
=
it
.
amount
.
plus
(
this
.
form
.
otherFee
)
...
...
src/views/ecw/order/edit.vue
View file @
48472f98
...
...
@@ -1110,7 +1110,8 @@ export default {
lineId
:
this
.
form
.
lineId
,
transportId
:
this
.
form
.
transportId
,
channelId
:
[
3
,
4
].
indexOf
(
this
.
form
.
transportId
)
>
-
1
?
this
.
form
.
channelId
:
undefined
,
prodConditionParamList
:
this
.
getProductListWithDefaultValue
()
prodConditionParamList
:
this
.
getProductListWithDefaultValue
(),
orderType
:
this
.
form
.
orderType
}).
then
(
res
=>
{
this
.
$set
(
this
,
'
fee
'
,
res
.
data
.
costDto
)
this
.
form
.
orderItemVOList
.
map
((
item
,
index
)
=>
{
...
...
@@ -1129,6 +1130,7 @@ export default {
if
(
!
tmp
.
weight
)
tmp
.
weight
=
1
if
(
!
tmp
.
quantity
)
tmp
.
quantity
=
1
if
(
!
tmp
.
num
)
tmp
.
num
=
1
tmp
.
orderType
=
item
.
orderItemType
arr
.
push
(
tmp
)
})
return
arr
...
...
src/views/ecw/product/index.vue
View file @
48472f98
...
...
@@ -436,7 +436,7 @@ export default {
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
//
this.reset();
const
id
=
row
.
id
;
getProduct
(
id
).
then
(
response
=>
{
this
.
form
=
{...
response
.
data
};
...
...
@@ -446,7 +446,7 @@ export default {
attrArray
[
index
]
=
parseInt
(
value
);
}
this
.
$nextTick
(()
=>
{
this
.
form
.
attrArray
=
attrArray
this
.
$set
(
this
.
form
,
'
attrArray
'
,
attrArray
)
})
this
.
open
=
true
;
this
.
title
=
this
.
$t
(
"
修改商品
"
);
...
...
src/views/system/role/index.vue
View file @
48472f98
...
...
@@ -152,7 +152,7 @@
<el-checkbox
v-model=
"menuExpand"
@
change=
"handleCheckedTreeExpand($event, 'menu')"
>
展开/折叠
</el-checkbox>
<el-checkbox
v-model=
"menuNodeAll"
@
change=
"handleCheckedTreeNodeAll($event, 'menu')"
>
全选/全不选
</el-checkbox>
<el-tree
class=
"tree-border"
:data=
"menuOptions"
show-checkbox
ref=
"menu"
node-key=
"id"
:check-strictly=
"
form.menuCheckStrictly
"
empty-text=
"加载中,请稍后"
:props=
"defaultProps"
></el-tree>
:check-strictly=
"
true
"
empty-text=
"加载中,请稍后"
:props=
"defaultProps"
></el-tree>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
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