Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
李俊赕
self-support
Commits
58f4c1c2
Commit
58f4c1c2
authored
Aug 20, 2021
by
Damon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 支持添加多个收货地址
parent
384009e4
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
72 additions
and
43 deletions
+72
-43
settled.js
src/common/api/settled.js
+20
-0
w-address.vue
src/components/w-address/w-address.vue
+2
-2
addSite.vue
src/pages/mine/address/addSite.vue
+11
-5
index.vue
src/pages/mine/address/index.vue
+37
-34
application.vue
src/pages/parts/application.vue
+2
-2
No files found.
src/common/api/settled.js
View file @
58f4c1c2
...
...
@@ -36,6 +36,21 @@ let settledApiFun = function(vm){
//我的合同//
let
Mycontract
=
async
(
params
)
=>
await
vm
.
$u
.
get
(
ucenterApiUrl
+
'/v1/settled-contract/info'
+
'?Authorization='
+
vm
.
vuex_token
+
params
)
// 我的地址-获取所有地址
let
getMyAddress
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
ucenterApiUrl
+
`/wxh-worker-rest/rest/myAddress/
${
vm
.
vuex_token
}
/list`
,
params
)
// 我的地址-新增保存
let
saveMyAddress
=
async
(
params
=
{})
=>
await
vm
.
$u
.
post
(
ucenterApiUrl
+
`/wxh-worker-rest/rest/myAddress/
${
vm
.
vuex_token
}
/save`
,
params
)
// 我的地址-删除地址
let
deleteMyAddress
=
async
(
params
=
{})
=>
await
vm
.
$u
.
delete
(
ucenterApiUrl
+
`/wxh-worker-rest/rest/myAddress/
${
vm
.
vuex_token
}
/
${
params
.
id
}
`
)
// 我的地址-获取默认
let
getDefaultAddress
=
async
(
params
=
{})
=>
await
vm
.
$u
.
get
(
ucenterApiUrl
+
`/wxh-worker-rest/rest/myAddress/
${
vm
.
vuex_token
}
/default`
,
params
)
// 我的地址-设置默认
let
setDefaultAddress
=
async
(
params
=
{})
=>
await
vm
.
$u
.
put
(
ucenterApiUrl
+
`/wxh-worker-rest/rest/myAddress/
${
vm
.
vuex_token
}
/default/
${
params
.
id
}
`
)
const
settledApi
=
{
getSettleBaseInfo
,
getSettleArea
,
...
...
@@ -53,6 +68,11 @@ let settledApiFun = function(vm){
listByNotice
,
syncAddress
,
Mycontract
,
getMyAddress
,
saveMyAddress
,
deleteMyAddress
,
getDefaultAddress
,
setDefaultAddress
}
return
settledApi
}
...
...
src/components/w-address/w-address.vue
View file @
58f4c1c2
...
...
@@ -8,9 +8,9 @@
<view
class=
"txt"
@
click=
"$u.throttle(selectSite, 500)"
>
{{
formatAddress
}}
</view>
<u-icon
custom-prefix=
"wxh"
name=
"pen"
size=
"32"
@
click=
"$u.throttle(editSite, 500)"
></u-icon>
</view>
<view
class=
"u-flex u-row-between default"
v-
show=
"isDefault
"
>
<view
class=
"u-flex u-row-between default"
v-
if=
"siteType !== 'view'
"
>
<view
@
click=
"$u.throttle(setDefault, 500)"
>
<u-icon
name=
"checkmark-circle"
color=
"#2272FF
"
size=
"32"
></u-icon>
<u-icon
name=
"checkmark-circle"
:color=
"isDefault ? '#2272FF' : '#999'
"
size=
"32"
></u-icon>
<text
class=
"txt"
>
默认地址
</text>
</view>
<view
@
click=
"$u.throttle(remove, 500)"
>
...
...
src/pages/mine/address/addSite.vue
View file @
58f4c1c2
...
...
@@ -67,6 +67,7 @@ export default {
location
:
''
,
address
:
''
,
type
:
'充电桩安装'
,
id
:
null
,
name
:
''
,
mobile
:
''
,
nameStatus
:
true
,
...
...
@@ -107,6 +108,10 @@ export default {
this
.
siteType
=
'edit'
;
}
if
(
e
.
id
)
{
this
.
id
=
decodeURIComponent
(
e
.
id
);
}
if
(
e
.
name
)
{
this
.
name
=
decodeURIComponent
(
e
.
name
);
}
...
...
@@ -264,19 +269,20 @@ export default {
if
(
!
this
.
validateForm
())
{
return
false
}
if
(
this
.
siteType
===
'add'
)
{
}
else
if
(
this
.
siteType
===
'select'
)
{
if
(
this
.
siteType
===
'select'
)
{
this
.
commitSite
()
}
else
if
(
this
.
siteType
===
'edit'
)
{
}
else
{
if
(
this
.
$u
.
test
.
isEmpty
(
this
.
siteInfo
))
{
let
params
=
{
updateFlag
:
true
,
mobile
:
this
.
mobile
,
name
:
this
.
name
,
provinceName
:
this
.
region
[
0
],
cityName
:
this
.
region
[
1
],
districtName
:
this
.
region
[
2
],
address
:
this
.
region
.
join
(
""
)
+
this
.
address
};
let
res
=
await
this
.
$u
.
api
.
updateAddress
(
params
);
if
(
this
.
id
)
params
.
id
=
this
.
id
let
res
=
await
this
.
$u
.
api
.
saveMyAddress
(
params
);
if
(
res
&&
res
.
code
==
200
)
{
this
.
$u
.
route
({
type
:
'back'
});
this
.
show
=
false
...
...
src/pages/mine/address/index.vue
View file @
58f4c1c2
...
...
@@ -2,8 +2,8 @@
<view
class=
"u-flex address-wrap"
>
<w-navbar
title=
"收货地址"
></w-navbar>
<view
class=
"lists"
>
<view
class=
"body"
>
<w-address
@
editSite=
"toEditSite
"
@
selectSite=
"selectSite"
@
setDefault=
"setDefault"
@
remove=
"remove"
:info=
"info"
:is-default=
"true
"
/>
<view
class=
"body"
v-for=
"(item, index) in lists"
:key=
"item.id"
>
<w-address
@
editSite=
"toEditSite
(item)"
@
selectSite=
"selectSite(item)"
@
setDefault=
"setDefault(item, index)"
@
remove=
"remove(item)"
:info=
"item"
:is-default=
"item.enable === 1
"
/>
</view>
</view>
...
...
@@ -23,12 +23,7 @@ export default {
background
:
{
backgroundColor
:
'none'
},
info
:
{
name
:
''
,
mobile
:
''
,
address
:
''
,
region
:
[],
},
lists
:
[],
type
:
''
};
},
...
...
@@ -36,17 +31,6 @@ export default {
editPen
()
{
return
process
.
uniEnv
.
qn_base_url
+
'icon/edit-pen.png'
},
hasAdderss
()
{
return
this
.
info
.
address
},
addressInfo
()
{
return
{
name
:
this
.
name
,
mobile
:
this
.
mobile
,
address
:
this
.
address
,
region
:
this
.
region
||
[],
}
},
submitBtn
()
{
return
{
color
:
'#FFFFFF'
,
...
...
@@ -70,19 +54,17 @@ export default {
this
.
getMineSite
()
},
getMineSite
()
{
this
.
$u
.
api
.
get
Site
Address
().
then
((
res
)
=>
{
this
.
$u
.
api
.
get
My
Address
().
then
((
res
)
=>
{
const
data
=
res
.
data
if
(
res
.
code
==
200
&&
!
this
.
$u
.
test
.
isEmpty
(
data
))
{
if
(
data
.
length
>
0
)
{
this
.
lists
=
data
.
map
(
v
=>
{
let
region
=
[]
if
(
data
.
provinceName
&&
data
.
cityName
&&
data
.
districtName
)
{
region
=
[
data
.
provinceName
,
data
.
cityName
,
data
.
districtName
]
}
this
.
info
=
{
name
:
data
.
name
,
mobile
:
data
.
mobile
,
address
:
data
.
address
,
region
:
region
,
if
(
v
.
provinceName
&&
v
.
cityName
&&
v
.
districtName
)
{
region
=
[
v
.
provinceName
,
v
.
cityName
,
v
.
districtName
]
}
v
.
region
=
region
return
v
})
}
})
},
...
...
@@ -95,7 +77,13 @@ export default {
})
},
setDefault
(
val
)
{
console
.
log
(
"val"
,
val
)
this
.
$u
.
api
.
setDefaultAddress
({
id
:
val
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
lists
.
forEach
(
v
=>
{
this
.
$set
(
v
,
'enable'
,
v
.
id
===
val
.
id
?
1
:
0
)
})
}
})
},
remove
(
val
)
{
uni
.
showModal
({
...
...
@@ -103,7 +91,20 @@ export default {
content
:
'确定要删除该收货地址?'
,
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
console
.
log
(
"delete"
)
uni
.
showLoading
({
title
:
'加载中'
,
})
this
.
$u
.
api
.
deleteMyAddress
({
id
:
val
.
id
}).
then
((
res
)
=>
{
uni
.
hideLoading
()
if
(
res
.
code
===
200
)
{
this
.
getMineSite
()
}
else
{
uni
.
showToast
({
icon
:
"none"
,
title
:
res
.
data
.
message
,
})
}
})
}
}
})
...
...
@@ -117,7 +118,8 @@ export default {
name
:
val
.
name
,
mobile
:
val
.
mobile
,
address
:
address
,
region
:
val
.
region
region
:
val
.
region
,
id
:
val
.
id
}
prevPage
.
$vm
.
updateSite
(
site
)
this
.
$u
.
route
({
...
...
@@ -137,6 +139,7 @@ export default {
name
:
val
.
name
,
mobile
:
val
.
mobile
,
address
:
val
.
address
,
id
:
val
.
id
}
})
}
...
...
src/pages/parts/application.vue
View file @
58f4c1c2
...
...
@@ -40,7 +40,7 @@
<view
class=
"more"
@
click=
"toAddress"
>
更多地址>
</view>
</view>
<view
class=
"body"
>
<w-address
:info=
"addressInfo"
@
editSite=
"editSite"
@
selectSite=
"editSite"
/>
<w-address
:info=
"addressInfo"
@
editSite=
"editSite"
@
selectSite=
"editSite"
siteType=
"view"
/>
</view>
</view>
</view>
...
...
@@ -104,7 +104,7 @@ export default {
this
.
loadOrderInfo
()
},
loadAddress
()
{
this
.
$u
.
api
.
get
Site
Address
().
then
((
res
)
=>
{
this
.
$u
.
api
.
get
Default
Address
().
then
((
res
)
=>
{
if
(
res
.
code
==
200
&&
res
.
data
)
{
this
.
addressInfo
.
name
=
res
.
data
.
name
this
.
addressInfo
.
mobile
=
res
.
data
.
mobile
...
...
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