Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jz_Travel
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
zhengke
jz_Travel
Commits
672d031a
Commit
672d031a
authored
Mar 18, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
幸福存折 ,积分
parent
89f7ed66
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
2305 additions
and
497 deletions
+2305
-497
vipUser.vue
components/vip/vipUser.vue
+1
-1
pages.json
pages.json
+34
-0
happasHeader.vue
pages/user-center/components/happasHeader.vue
+0
-318
userHeader.vue
pages/user-center/components/userHeader.vue
+23
-21
vipUserHeader.vue
pages/user-center/components/vipUserHeader.vue
+29
-11
costSavingStatistics.vue
pages/user-center/costSavingStatistics.vue
+717
-0
happinessPasDetails.vue
pages/user-center/happinessPasDetails.vue
+175
-0
happinessPassbook.vue
pages/user-center/happinessPassbook.vue
+444
-119
points.vue
pages/user-center/points.vue
+696
-0
pointsDetails.vue
pages/user-center/pointsDetails.vue
+170
-0
userVip-center.vue
pages/user-center/userVip-center.vue
+16
-27
No files found.
components/vip/vipUser.vue
View file @
672d031a
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
border-radius
:
18
rpx
;
border-radius
:
18
rpx
;
}
}
.vip-box-unactive
.vip-logo
{
.vip-box-unactive
.vip-logo
{
right
:
34
rpx
;
right
:
0
;
width
:
87
rpx
;
width
:
87
rpx
;
height
:
99
rpx
;
height
:
99
rpx
;
top
:
-37
rpx
;
top
:
-37
rpx
;
...
...
pages.json
View file @
672d031a
...
@@ -135,6 +135,40 @@
...
@@ -135,6 +135,40 @@
"titlePenetrate"
:
"YES"
"titlePenetrate"
:
"YES"
}
}
}
}
},
{
"path"
:
"happinessPasDetails"
,
"style"
:
{
"navigationBarBackgroundColor"
:
"#F3F1EF"
,
"backgroundColor"
:
"#F3F1EF"
}
},
{
"path"
:
"points"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"mp-alipay"
:
{
"transparentTitle"
:
"always"
,
"titlePenetrate"
:
"YES"
}
}
},
{
"path"
:
"pointsDetails"
,
"style"
:
{
"navigationBarBackgroundColor"
:
"#F3F1EF"
,
"backgroundColor"
:
"#F3F1EF"
}
},
{
"path"
:
"costSavingStatistics"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"mp-alipay"
:
{
"transparentTitle"
:
"always"
,
"titlePenetrate"
:
"YES"
}
}
}
}
]
]
},
},
...
...
pages/user-center/components/happasHeader.vue
deleted
100644 → 0
View file @
89f7ed66
<
template
>
<view
class=
"userHeaderBox"
>
<view
class=
"titlenav"
:style=
"
{ paddingTop: nav }">
<view
class=
"carrHeader-left-icon"
@
click=
"goBack"
>
<u-icon
name=
"arrow-left"
size=
"38"
color=
"#000"
></u-icon>
</view>
{{
pageTitle
}}
</view>
<view
class=
"userHeadPic row"
>
<view
class=
"userHeadPicL"
>
<u-avatar
:src=
"b2b_user_info.photo?b2b_user_info.photo:user_info.avatar"
size=
"97"
shape=
"circle"
></u-avatar>
<!--
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
mode=
"widthFix"
></image>
-->
</view>
<view
class=
"col column"
>
<text
v-if=
"b2b_user_info&&b2b_user_info.name"
class=
"userHeadPicR_title"
@
click=
"navigatorToProfile"
>
{{
b2b_user_info
.
name
}}
</text>
<text
v-else-if=
"mall_UserInfo&&mall_UserInfo.Name"
class=
"userHeadPicR_title"
>
{{
mall_UserInfo
.
Name
}}
</text>
<text
v-else
class=
"userHeadPicR_title"
@
click=
"login(user_info)"
>
立即登录
</text>
<text
class=
"userHeadPicR_text"
>
销售:
{{
b2b_user_info
.
salesBaseInfo
.
emName
}}
等3人
</text>
</view>
</view>
<view
class=
"userHeadPasBox"
>
<view
class=
"userHeadPNumBox row-sb-n"
>
<view
class=
"userHeadPNum"
>
<view
class=
"userHeadPNumT"
>
当前余额
</view>
<view
class=
"userHeadPNumB"
>
<text>
¥
</text>
10550
</view>
</view>
<view
class=
"userHeadPNum active"
>
<view
class=
"userHeadPNumT"
>
待结算
</view>
<view
class=
"userHeadPNumB"
>
<text>
¥
</text>
10550
</view>
</view>
</view>
<view
class=
"userHeadPNumS row-sb-n"
>
<view
class=
"userHeadPNumSL"
>
累计已省
</view>
<view
class=
"userHeadPNumSR"
>
¥
<text>
15818
</text>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'user_info'
,
'b2b_user_info'
],
data
()
{
return
{
pageTitle
:
"幸福存折"
,
nav
:
0
,
progress
:[
{
text
:
'1'
,
colorStyle
:
'active'
,
radiusL
:
''
,
radiusR
:
''
,
},
{
text
:
'2'
,
colorStyle
:
'active'
,
radiusL
:
''
,
radiusR
:
''
,
},
{
text
:
'3'
,
colorStyle
:
'active'
,
radiusL
:
''
,
radiusR
:
''
,
},
{
text
:
'4'
,
colorStyle
:
'active'
,
radiusL
:
''
,
radiusR
:
''
,
},
{
text
:
''
,
colorStyle
:
''
,
radiusL
:
''
,
radiusR
:
''
,
img
:
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732528736165089.png'
},
],
};
},
components
:
{},
computed
:
{
},
created
()
{
},
onLoad
()
{
this
.
nav
=
uni
.
getSystemInfoSync
().
statusBarHeight
+
"px"
;
},
mounted
()
{
},
onShow
()
{
},
methods
:
{
goBack
(){
uni
.
navigateBack
({
delta
:
-
1
})
},
navigatorToProfile
(){
// #ifdef MP-DI
uni
.
navigateTo
({
url
:
'/pages/user-center/user-profile'
})
// #endif
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.userHeaderBox
{
width
:
750rpx
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638774883791846536.png')
no-repeat
#F3F2EF
;
background-size
:
100%
auto
;
padding-top
:
118rpx
;
position
:
relative
;
}
.carrHeader-left-icon
{
position
:
absolute
;
left
:
32rpx
;
top
:
119rpx
;
z-index
:
2
;
}
.titlenav
{
width
:
100%
;
text-align
:
center
;
font-size
:
16px
;
color
:
#000
;
}
.userHeadPic
{
padding
:
49rpx
20rpx
25rpx
62rpx
;
}
.userHeadPicL
{
width
:
97rpx
;
height
:
97rpx
;
overflow
:
hidden
;
border-radius
:
50%
;
margin-right
:
27rpx
;
}
.userHeadPicL
image
{
width
:
97rpx
;
height
:
97rpx
;
display
:
block
;
}
.userHeadPicR_title
{
font-family
:
PingFang
SC
;
font-weight
:
bold
;
font-size
:
36rpx
;
color
:
#080A09
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.userHeadPicR_text
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
24rpx
;
color
:
#61462E
;
margin-top
:
16rpx
;
letter-spacing
:
1rpx
;
}
.jz_LineDetaVipPr
{
margin-top
:
28rpx
;
position
:
relative
;
left
:
-20rpx
;
}
.jz_LineDetaVip
{
width
:
100%
;
height
:
120rpx
;
background
:
linear-gradient
(
90deg
,
#3F423F
,
#313131
);
border-radius
:
18rpx
;
display
:
flex
;
flex-direction
:
column
;
padding
:
15rpx
0
6rpx
0
;
margin-top
:
18rpx
;
margin-bottom
:
18rpx
;
}
.jz_LineDetaVipTop
{
font-family
:
PingFang
SC
;
font-weight
:
400
;
font-size
:
24rpx
;
color
:
#E2C27A
;
letter-spacing
:
.1rpx
;
display
:
flex
;
align-content
:
center
;
padding
:
0
34rpx
;
}
.jz_LineDetaVipTop
img
{
width
:
21rpx
;
height
:
21rpx
;
display
:
inline-block
;
margin-left
:
5rpx
;
}
.jz_LineDetaVPB
{
display
:
flex
;
}
.jz_LineDetaVPBBox
{
display
:
flex
;
align-items
:
center
;
width
:
1px
;
flex
:
1
;
}
.jz_LineDetaVPBN
{
width
:
30rpx
;
height
:
30rpx
;
background
:
#2E2E2E
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
28rpx
;
font-family
:
DIN
Black
;
font-weight
:
bold
;
font-size
:
24rpx
;
color
:
#494949
;;
}
.jz_LineDetaVPBLine
{
flex
:
1
;
height
:
10rpx
;
background
:
#000
;
}
.jz_LineDetaVPBBoxI
{
position
:
relative
;
flex
:
1
;
}
.jz_LineDetaVPBBoxI
img
{
width
:
87rpx
;
height
:
99rpx
;
position
:
absolute
;
bottom
:
-35rpx
;
right
:
8rpx
;
z-index
:
2
;
}
.jz_LineDetaVPBBox.active
.jz_LineDetaVPBN
{
background
:
linear-gradient
(
270deg
,
#C99E59
,
#FFFFB3
);
}
.jz_LineDetaVPBBox.active
.jz_LineDetaVPBLine
{
background
:
#C99E59
;
color
:
#583F2C
;
}
.VPBLRadiusL
{
border-radius
:
20rpx
0
0
20rpx
;
}
.VPBLRadiusR
{
border-radius
:
0
20rpx
20rpx
0
;
}
.jz_LineDetaVPBY
{
position
:
absolute
;
left
:
-29rpx
;
right
:
0
;
top
:
0
;
}
.userHeadPasBox
{
padding
:
0
30rpx
;
}
.userHeadPNum
{
width
:
330rpx
;
border-radius
:
18rpx
;
background
:
rgba
(
255
,
255
,
255
,.
2
);
padding
:
30rpx
20rpx
40rpx
50rpx
;
}
.userHeadPNumT
{
font-weight
:
500
;
font-size
:
28rpx
;
color
:
#4F360D
;
margin-bottom
:
21rpx
;
}
.userHeadPNumB
{
color
:
#FF3166
;
font-size
:
48rpx
;
font-weight
:
bold
;
}
.userHeadPNumB
text
{
font-size
:
29rpx
;
}
.userHeadPNum.active
.userHeadPNumB
{
color
:
#4F360D
;
}
.userHeadPNumS
{
border-radius
:
18rpx
;
background
:
rgba
(
255
,
255
,
255
,.
2
);
padding
:
30rpx
40rpx
40rpx
50rpx
;
margin-top
:
30rpx
;
margin-bottom
:
40rpx
;
}
.userHeadPNumSL
{
font-size
:
29rpx
;
color
:
#4F360D
;
}
.userHeadPNumSR
{
color
:
#4F360D
;
font-size
:
29rpx
;
font-weight
:
bold
;
}
.userHeadPNumSR
text
{
font-size
:
48rpx
;
}
</
style
>
pages/user-center/components/userHeader.vue
View file @
672d031a
<
template
>
<
template
>
<view
class=
"userHeaderBox"
v-if=
"statistics"
>
<view
class=
"userHeaderBox"
v-if=
"statistics"
:style=
"[titleStyle]"
>
<view
class=
"titlenav"
:style=
"
{ paddingTop: nav }">
{{
pageTitle
}}
</view>
<view
class=
"titlenav"
:style=
"
{ paddingTop: nav }">
{{
pageTitle
}}
</view>
<view
class=
"userHeadPic row"
>
<view
class=
"userHeadPic row"
>
<view
class=
"userHeadPicL"
>
<view
class=
"userHeadPicL"
>
<u-avatar
:src=
"b2b_user_info.photo?b2b_user_info.photo:user_info.avatar"
size=
"97"
shape=
"circle"
></u-avatar>
<u-avatar
v-if=
"b2b_user_info.photo||statistics.image"
:src=
"b2b_user_info.photo?b2b_user_info.photo:statistics.image"
size=
"97"
shape=
"circle"
></u-avatar>
<u-avatar
v-else
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
size=
"97"
shape=
"circle"
></u-avatar>
<!--
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
mode=
"widthFix"
></image>
-->
<!--
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
mode=
"widthFix"
></image>
-->
</view>
</view>
<view
class=
"col column"
>
<view
class=
"col column"
>
...
@@ -27,29 +29,29 @@
...
@@ -27,29 +29,29 @@
<view
class=
"userHeadPasBox"
>
<view
class=
"userHeadPasBox"
>
<view
class=
"userHeadPas column"
>
<view
class=
"userHeadPas column"
>
<view
class=
"userHeadPasTop"
>
<view
class=
"userHeadPasTop"
>
<view
class=
"userHeadPasT_Num row-sb-n"
v-if=
"statistics.balance>=0"
>
<view
class=
"userHeadPasT_Num row-sb-n"
>
<!-- #ifdef MP-AG-->
<!-- #ifdef MP-AG-->
<view
class=
"column"
>
<view
class=
"column"
@
click=
"goUrl('/pages/user-center/happinessPassbook')"
>
<text>
{{
formatNumberWithUnit(statistics.balance)
}}
</text>
<text>
{{
statistics.balance>0?formatNumberWithUnit(statistics.balance):0
}}
</text>
<text
class=
"userHeadPasTTeT"
>
<text
class=
"userHeadPasTTeT"
>
幸福存折
幸福存折
</text>
</text>
</view>
</view>
<!-- #endif -->
<!-- #endif -->
<view
class=
"column"
>
<view
class=
"column"
@
click=
"goUrl('/pages/user-center/points')"
>
<text>
{{ statistics.integral }}
</text>
<text>
{{ statistics.integral
?statistics.integral:0
}}
</text>
<text
class=
"userHeadPasTTeT"
>
<text
class=
"userHeadPasTTeT"
>
我的积分
我的积分
</text>
</text>
</view>
</view>
<view
class=
"column"
>
<view
class=
"column"
>
<text>
<text>
{{
formatNumberWithUnit(statistics.totalSavings)
}}
{{
statistics.totalSavings>0?formatNumberWithUnit(statistics.totalSavings):0
}}
</text>
</text>
<text
class=
"userHeadPasTTeT"
>
累计已省
</text>
<text
class=
"userHeadPasTTeT"
>
累计已省
</text>
</view>
</view>
<view
class=
"column"
@
click=
"goUrl('/pages/coupon/index/index')"
>
<view
class=
"column"
@
click=
"goUrl('/pages/coupon/index/index')"
>
<text>
{{ statistics.couponNum }}
</text>
<text>
{{ statistics.couponNum
?statistics.couponNum:0
}}
</text>
<text
class=
"userHeadPasTTeT"
>
优惠券
</text>
<text
class=
"userHeadPasTTeT"
>
优惠券
</text>
</view>
</view>
</view>
</view>
...
@@ -71,14 +73,14 @@
...
@@ -71,14 +73,14 @@
<
script
>
<
script
>
import
vipUser
from
"@/components/vip/vipUser.vue"
;
import
vipUser
from
"@/components/vip/vipUser.vue"
;
export
default
{
export
default
{
props
:[
'
user_info'
,
'
statistics'
,
'b2b_user_info'
],
props
:[
'statistics'
,
'b2b_user_info'
],
components
:
{
vipUser
},
components
:
{
vipUser
},
data
()
{
data
()
{
return
{
return
{
pageTitle
:
"个人中心"
,
pageTitle
:
"个人中心"
,
nav
:
0
,
nav
:
0
,
progress
:[],
progress
:[],
titleStyle
:{}
};
};
},
},
...
@@ -100,7 +102,14 @@
...
@@ -100,7 +102,14 @@
this
.
nav
=
uni
.
getSystemInfoSync
().
statusBarHeight
+
"px"
;
this
.
nav
=
uni
.
getSystemInfoSync
().
statusBarHeight
+
"px"
;
},
},
mounted
()
{
mounted
()
{
const
that
=
this
uni
.
getSystemInfo
({
success
(
res
)
{
that
.
titleStyle
=
{
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
};
},
});
},
},
onShow
()
{
onShow
()
{
...
@@ -130,21 +139,14 @@
...
@@ -130,21 +139,14 @@
this
.
$emit
(
'login'
)
this
.
$emit
(
'login'
)
}
}
},
},
navigatorToProfile
(){
// #ifdef MP-DI
uni
.
navigateTo
({
url
:
'/pages/user-center/user-profile'
})
// #endif
},
goUrl
(
url
){
goUrl
(
url
){
if
(
url
==
'/pages/user-center/user-profile'
){
if
(
url
==
'/pages/user-center/user-profile'
){
// #ifdef MP-DI
// #ifdef MP-DI
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
url
url
:
url
})
})
return
// #endif
// #endif
return
}
}
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
url
url
:
url
...
@@ -317,7 +319,7 @@
...
@@ -317,7 +319,7 @@
padding-top
:
7rpx
;
padding-top
:
7rpx
;
}
}
.userHeadPasButtom
{
.userHeadPasButtom
{
padding
:
30rpx
0
50rpx
39rpx
;
padding
:
30rpx
38rpx
50rpx
39rpx
;
}
}
.userHeadPasButText
{
.userHeadPasButText
{
font-family
:
PingFang
SC
;
font-family
:
PingFang
SC
;
...
...
pages/user-center/components/vipUserHeader.vue
View file @
672d031a
<
template
>
<
template
>
<view
class=
"userHeaderBox"
>
<view
class=
"userHeaderBox"
:style=
"[titleStyle]"
>
<view
class=
"titlenav"
:style=
"
{ paddingTop: nav }">
{{
pageTitle
}}
</view>
<view
class=
"titlenav"
:style=
"
{ paddingTop: nav }">
{{
pageTitle
}}
</view>
<view
class=
"userHeadPic row"
>
<view
class=
"userHeadPic row"
>
<view
class=
"userHeadPicL"
>
<view
class=
"userHeadPicL"
>
<u-avatar
:src=
"b2b_user_info.photo?b2b_user_info.photo:user_info.avatar"
size=
"70"
shape=
"circle"
></u-avatar>
<u-avatar
v-if=
"b2b_user_info.photo||statistics.image"
:src=
"b2b_user_info.photo?b2b_user_info.photo:statistics.image"
size=
"70"
shape=
"circle"
></u-avatar>
<u-avatar
v-else
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748864186439447.png"
size=
"70"
shape=
"circle"
></u-avatar>
<!--
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748864186439447.png"
mode=
"widthFix"
></image>
-->
<!--
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748864186439447.png"
mode=
"widthFix"
></image>
-->
</view>
</view>
<view
class=
"col column"
>
<view
class=
"col column"
>
<text
v-if=
"b2b_user_info&&b2b_user_info.name"
<text
v-if=
"b2b_user_info&&b2b_user_info.name"
class=
"userHeadPicR_title"
@
click=
"
navigatorToProfile
"
>
class=
"userHeadPicR_title"
@
click=
"
goUrl('/pages/user-center/user-profile')
"
>
{{
b2b_user_info
.
name
}}
{{
b2b_user_info
.
name
}}
</text>
</text>
<text
v-else-if=
"mall_UserInfo&&mall_UserInfo.Name"
<text
v-else-if=
"mall_UserInfo&&mall_UserInfo.Name"
...
@@ -39,25 +41,25 @@
...
@@ -39,25 +41,25 @@
<view
class=
"userHeadPasTop"
>
<view
class=
"userHeadPasTop"
>
<view
class=
"userHeadPasT_Num row-sbs-n"
v-if=
"statistics"
>
<view
class=
"userHeadPasT_Num row-sbs-n"
v-if=
"statistics"
>
<!-- #ifdef MP-AG-->
<!-- #ifdef MP-AG-->
<view
class=
"column"
>
<view
class=
"column"
@
click=
"goUrl('/pages/user-center/happinessPassbook')"
>
<text>
{{
formatNumberWithUnit(statistics.balance)
}}
</text>
<text>
{{
statistics.balance>0?formatNumberWithUnit(statistics.balance):0
}}
</text>
<text
class=
"userHeadPasTTeT"
>
<text
class=
"userHeadPasTTeT"
>
幸福存折
幸福存折
</text>
</text>
</view>
</view>
<!-- #endif -->
<!-- #endif -->
<view
class=
"column"
>
<view
class=
"column"
@
click=
"goUrl('/pages/user-center/points')"
>
<text>
{{ statistics.integral }}
</text>
<text>
{{ statistics.integral
>0?statistics.integral:0
}}
</text>
<text
class=
"userHeadPasTTeT"
>
<text
class=
"userHeadPasTTeT"
>
我的积分
我的积分
</text>
</text>
</view>
</view>
<view
class=
"column"
>
<view
class=
"column"
>
<text>
{{
formatNumberWithUnit(statistics.totalSavings)
}}
</text>
<text>
{{
statistics.totalSavings>0?formatNumberWithUnit(statistics.totalSavings):0
}}
</text>
<text
class=
"userHeadPasTTeT"
>
累计已省
</text>
<text
class=
"userHeadPasTTeT"
>
累计已省
</text>
</view>
</view>
<view
class=
"column"
@
click=
"goUrl('/pages/coupon/index/index')"
>
<view
class=
"column"
@
click=
"goUrl('/pages/coupon/index/index')"
>
<text
class=
"userHeadPasTextb"
>
{{ statistics.couponNum }}
</text>
<text
class=
"userHeadPasTextb"
>
{{ statistics.couponNum
>=0?statistics.couponNum:0
}}
</text>
<text
class=
"userHeadPasTTeT"
>
优惠券
</text>
<text
class=
"userHeadPasTTeT"
>
优惠券
</text>
</view>
</view>
</view>
</view>
...
@@ -70,11 +72,12 @@
...
@@ -70,11 +72,12 @@
<
script
>
<
script
>
export
default
{
export
default
{
props
:[
'
user_info'
,
'
b2b_user_info'
,
'statistics'
],
props
:[
'b2b_user_info'
,
'statistics'
],
data
()
{
data
()
{
return
{
return
{
pageTitle
:
"个人中心"
,
pageTitle
:
"个人中心"
,
nav
:
0
,
nav
:
0
,
titleStyle
:
{}
};
};
},
},
components
:
{},
components
:
{},
...
@@ -86,7 +89,14 @@
...
@@ -86,7 +89,14 @@
},
},
mounted
()
{
mounted
()
{
const
that
=
this
uni
.
getSystemInfo
({
success
(
res
)
{
that
.
titleStyle
=
{
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
};
},
});
},
},
onShow
()
{
onShow
()
{
...
@@ -125,6 +135,14 @@
...
@@ -125,6 +135,14 @@
},
},
goUrl
(
url
){
goUrl
(
url
){
if
(
url
==
'/pages/user-center/user-profile'
){
// #ifdef MP-DI
uni
.
navigateTo
({
url
:
url
})
// #endif
return
}
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
url
url
:
url
})
})
...
...
pages/user-center/costSavingStatistics.vue
0 → 100644
View file @
672d031a
This diff is collapsed.
Click to expand it.
pages/user-center/happinessPasDetails.vue
0 → 100644
View file @
672d031a
<
template
>
<view
class=
"hapPasDetBox column"
style=
"width:100vw;height:100vh;background: #F3F1EF;"
>
<view
class=
"hapPasDetTitle"
>
幸福存折
{{
PassbookAata
.
type
==
1
?
'收入'
:
'支出'
}}
</view>
<view
class=
"hapPasDetNum"
>
{{
PassbookAata
.
type
==
1
?
'+'
:
'-'
}}{{
PassbookAata
.
money
}}
</view>
<view
class=
"hapPasDetBox"
>
<view
class=
"hapPasDetImg row"
@
click=
"goProduct"
>
<image
mode=
"aspectFit"
:src=
"PassbookAata.imgCover"
/>
<view
class=
"col"
>
{{
PassbookAata
.
lineName
}}
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
订单号
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
orderId
}}
</text>
<text
class=
"hapPasDetRCop"
@
click=
"handleCopy(PassbookAata.orderId)"
>
复制
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
{{
PassbookAata
.
type
==
1
?
'收入'
:
'支出'
}}
日期
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
updateTime
}}
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
团号
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
tcnum
}}
</text>
<text
class=
"hapPasDetRCop"
@
click=
"handleCopy(PassbookAata.tcnum)"
>
复制
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
出团日期
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
tcStartDate
}}
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
订单人数
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC active"
>
{{
PassbookAata
.
peopleNum
}}
人
</text>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
components
:
{
},
data
()
{
return
{
scrollTop
:
0
,
b2b_user_info
:
{},
mall_UserInfo
:
{},
PassbookAata
:{},
};
},
onLoad
(
option
)
{
if
(
option
.
data
){
this
.
PassbookAata
=
decodeURIComponent
(
option
.
data
)
}
this
.
b2b_user_info
=
uni
.
getStorageSync
(
'b2b_user'
);
this
.
mall_UserInfo
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
this
.
showAuth
=
!
this
.
mall_UserInfo
||
!
this
.
b2b_user_info
;
},
onShow
()
{
uni
.
setNavigationBarTitle
({
title
:
""
})
},
methods
:
{
async
handleCopy
(
text
){
try
{
await
uni
.
copyText
(
text
);
uni
.
showToast
({
title
:
'复制成功'
,
icon
:
'success'
,
});
}
catch
(
err
)
{
uni
.
showToast
({
title
:
'复制失败'
,
icon
:
'none'
,
duration
:
1500
});
}
},
goProduct
(){
return
uni
.
navigateTo
({
url
:
"/pages/product/productDetails/productDetails?id="
+
this
.
PassbookAata
.
orderId
})
}
}
};
</
script
>
<
style
scoped
>
@import
url('../../asset/css/flex.css')
;
.hapPasDetTitle
{
font-weight
:
bold
;
font-size
:
32
rpx
;
color
:
#080A0A
;
line-height
:
70
rpx
;
text-align
:
center
;
padding
:
39
rpx
0
40
rpx
0
;
}
.hapPasDetNum
{
font-weight
:
bold
;
font-size
:
52
rpx
;
color
:
#B99846
;
line-height
:
70
rpx
;
text-align
:
center
;
margin-bottom
:
48
rpx
;
}
.hapPasDetBox
{
background
:
#FFFFFF
;
border-radius
:
18
rpx
18
rpx
18
rpx
18
rpx
;
padding
:
40
rpx
;
}
.hapPasDetImg
{
margin-bottom
:
50
rpx
;
}
.hapPasDetImg
image
{
width
:
141
rpx
;
height
:
141
rpx
;
border-radius
:
14
rpx
14
rpx
14
rpx
14
rpx
;
border
:
1
rpx
solid
#000000
;
display
:
inline-block
;
}
.hapPasDetImg
view
{
margin-left
:
30
rpx
;
font-weight
:
bold
;
font-size
:
28
rpx
;
color
:
#080A0A
;
word-break
:
break-all
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
4
;
overflow
:
hidden
;
}
.hapPasDetText
{
padding
:
0
0
10
rpx
0
;
}
.hapPasDetL
{
width
:
180
rpx
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#757776
;
line-height
:
70
rpx
;
}
.hapPasDetR
{
font-size
:
28
rpx
;
line-height
:
70
rpx
;
}
.hapPasDetRC
{
font-weight
:
bold
;
color
:
#080A09
;
}
.hapPasDetRC.active
{
color
:
#FF3166
;
}
.hapPasDetRCop
{
line-height
:
35
rpx
;
background
:
#E9E4E0
;
border-radius
:
15
rpx
15
rpx
15
rpx
15
rpx
;
color
:
#000000
;
font-weight
:
500
;
display
:
inline-block
;
padding
:
0
10
rpx
;
margin-left
:
30
rpx
;
}
</
style
>
\ No newline at end of file
pages/user-center/happinessPassbook.vue
View file @
672d031a
This diff is collapsed.
Click to expand it.
pages/user-center/points.vue
0 → 100644
View file @
672d031a
This diff is collapsed.
Click to expand it.
pages/user-center/pointsDetails.vue
0 → 100644
View file @
672d031a
<
template
>
<view
class=
"hapPasDetBox column"
style=
"width:100vw;height:100vh;background: #F3F1EF;"
>
<view
class=
"hapPasDetTitle"
>
积分
{{
PassbookAata
.
type
==
1
?
'收获'
:
'消耗'
}}
</view>
<view
class=
"hapPasDetNum"
>
{{
PassbookAata
.
type
==
1
?
'+'
:
'-'
}}{{
PassbookAata
.
integralNum
}}
</view>
<view
class=
"hapPasDetBox"
>
<view
class=
"hapPasDetImg row"
@
click=
"goProduct"
>
<image
mode=
"aspectFit"
:src=
"PassbookAata.imgCover"
/>
<view
class=
"col"
>
{{
PassbookAata
.
lineName
}}
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
订单号
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
orderId
}}
</text>
<text
class=
"hapPasDetRCop"
@
click=
"handleCopy(PassbookAata.orderId)"
>
复制
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
{{
PassbookAata
.
type
==
1
?
'收获'
:
'消耗'
}}
日期
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
updateTime
}}
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
团号
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
tcnum
}}
</text>
<text
class=
"hapPasDetRCop"
@
click=
"handleCopy(PassbookAata.tcnum)"
>
复制
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
出团日期
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC"
>
{{
PassbookAata
.
tcStartDate
}}
</text>
</view>
</view>
<view
class=
"row hapPasDetText"
>
<text
class=
"hapPasDetL"
>
订单人数
</text>
<view
class=
"hapPasDetR col"
>
<text
class=
"hapPasDetRC active"
>
{{
PassbookAata
.
peopleNum
}}
人
</text>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
components
:
{
},
data
()
{
return
{
scrollTop
:
0
,
PassbookAata
:{},
};
},
onLoad
(
option
)
{
if
(
option
.
data
){
this
.
PassbookAata
=
decodeURIComponent
(
option
.
data
)
}
},
onShow
()
{
uni
.
setNavigationBarTitle
({
title
:
""
})
},
methods
:
{
async
handleCopy
(
text
){
try
{
await
uni
.
copyText
(
text
);
uni
.
showToast
({
title
:
'复制成功'
,
icon
:
'success'
,
});
}
catch
(
err
)
{
uni
.
showToast
({
title
:
'复制失败'
,
icon
:
'none'
,
duration
:
1500
});
}
},
goProduct
(){
return
uni
.
navigateTo
({
url
:
"/pages/product/productDetails/productDetails?id="
+
this
.
PassbookAata
.
orderId
})
}
}
};
</
script
>
<
style
scoped
>
@import
url('../../asset/css/flex.css')
;
.hapPasDetTitle
{
font-weight
:
bold
;
font-size
:
32
rpx
;
color
:
#080A0A
;
line-height
:
70
rpx
;
text-align
:
center
;
padding
:
39
rpx
0
40
rpx
0
;
}
.hapPasDetNum
{
font-weight
:
bold
;
font-size
:
52
rpx
;
color
:
#B99846
;
line-height
:
70
rpx
;
text-align
:
center
;
margin-bottom
:
48
rpx
;
}
.hapPasDetBox
{
background
:
#FFFFFF
;
border-radius
:
18
rpx
18
rpx
18
rpx
18
rpx
;
padding
:
40
rpx
;
}
.hapPasDetImg
{
margin-bottom
:
50
rpx
;
}
.hapPasDetImg
image
{
width
:
141
rpx
;
height
:
141
rpx
;
border-radius
:
14
rpx
14
rpx
14
rpx
14
rpx
;
border
:
1
rpx
solid
#000000
;
display
:
inline-block
;
}
.hapPasDetImg
view
{
margin-left
:
30
rpx
;
font-weight
:
bold
;
font-size
:
28
rpx
;
color
:
#080A0A
;
word-break
:
break-all
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
4
;
overflow
:
hidden
;
}
.hapPasDetText
{
padding
:
0
0
10
rpx
0
;
}
.hapPasDetL
{
width
:
180
rpx
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#757776
;
line-height
:
70
rpx
;
}
.hapPasDetR
{
font-size
:
28
rpx
;
line-height
:
70
rpx
;
}
.hapPasDetRC
{
font-weight
:
bold
;
color
:
#080A09
;
}
.hapPasDetRC.active
{
color
:
#FF3166
;
}
.hapPasDetRCop
{
line-height
:
35
rpx
;
background
:
#E9E4E0
;
border-radius
:
15
rpx
15
rpx
15
rpx
15
rpx
;
color
:
#000000
;
font-weight
:
500
;
display
:
inline-block
;
padding
:
0
10
rpx
;
margin-left
:
30
rpx
;
}
</
style
>
\ No newline at end of file
pages/user-center/userVip-center.vue
View file @
672d031a
...
@@ -4,15 +4,15 @@
...
@@ -4,15 +4,15 @@
@
scrolltoupper=
"scrollTopHandler"
class=
"col"
@
scrolltoupper=
"scrollTopHandler"
class=
"col"
style=
"height: 1px;width: 100%;"
>
style=
"height: 1px;width: 100%;"
>
<view
class=
"userStyle"
>
<view
class=
"userStyle"
>
<view
class=
"headStatus"
v-if=
"scrollTop > 50"
:style=
"
{
<view
class=
"headStatus"
v-if=
"scrollTop > 50"
:style=
"
[titleStyle,
{
zIndex: scrollTop
<
10
?
'
unset
'
:
2
,
zIndex: scrollTop
<
10
?
'
unset
'
:
2
,
opacity:
scrollTop
<
10
?
'
100
'
:
scrollTop
,
opacity:
scrollTop
<
10
?
'
100
'
:
scrollTop
,
}"
>
}
]
"
>
<view
class=
"title"
>
{{
pageTitle
}}
</view>
<view
class=
"title"
>
{{
pageTitle
}}
</view>
</view>
</view>
<view
class=
"userBox"
>
<view
class=
"userBox"
>
<vipUserHeader
v-if=
"statistics&&statistics.isVip==1"
:
user_info=
"user_info"
:
statistics=
"statistics"
:b2b_user_info=
"b2b_user_info"
@
login=
"openAuth"
></vipUserHeader>
<vipUserHeader
v-if=
"statistics&&statistics.isVip==1"
:statistics=
"statistics"
:b2b_user_info=
"b2b_user_info"
@
login=
"openAuth"
></vipUserHeader>
<userHeader
v-if=
"statistics&&statistics.isVip!=1"
:
user_info=
"user_info"
:
statistics=
"statistics"
:b2b_user_info=
"b2b_user_info"
@
login=
"openAuth"
></userHeader>
<userHeader
v-if=
"statistics&&statistics.isVip!=1"
:statistics=
"statistics"
:b2b_user_info=
"b2b_user_info"
@
login=
"openAuth"
></userHeader>
<view
class=
"userMyOrderBox"
>
<view
class=
"userMyOrderBox"
>
<view
style=
"position: relative;top:-13rpx"
>
<view
style=
"position: relative;top:-13rpx"
>
<view
class=
"userMyOrder"
>
<view
class=
"userMyOrder"
>
...
@@ -108,6 +108,7 @@
...
@@ -108,6 +108,7 @@
</view>
</view>
</view>
</view>
<view
style=
"height: 140rpx;"
></view>
<view
style=
"height: 140rpx;"
></view>
</view>
</view>
</view>
</view>
...
@@ -139,8 +140,6 @@
...
@@ -139,8 +140,6 @@
showAuth
:
false
,
showAuth
:
false
,
b2b_user_info
:
{},
b2b_user_info
:
{},
mall_UserInfo
:
{},
mall_UserInfo
:
{},
u
:
{},
user_info
:
{},
statistics
:
{},
statistics
:
{},
msg
:{
msg
:{
pageSize
:
100
,
pageSize
:
100
,
...
@@ -153,7 +152,8 @@
...
@@ -153,7 +152,8 @@
indicatorDots
:
true
,
indicatorDots
:
true
,
autoplay
:
true
,
autoplay
:
true
,
interval
:
4000
,
interval
:
4000
,
duration
:
1000
duration
:
1000
,
titleStyle
:
{},
};
};
},
},
onLoad
()
{
onLoad
()
{
...
@@ -162,7 +162,14 @@
...
@@ -162,7 +162,14 @@
this
.
showAuth
=
!
this
.
mall_UserInfo
||
!
this
.
b2b_user_info
;
this
.
showAuth
=
!
this
.
mall_UserInfo
||
!
this
.
b2b_user_info
;
},
},
onShow
()
{
onShow
()
{
this
.
userCenterinfo
(
2
);
const
that
=
this
uni
.
getSystemInfo
({
success
(
res
)
{
that
.
titleStyle
=
{
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
};
},
});
this
.
GetCustomerCenter
()
this
.
GetCustomerCenter
()
this
.
g
=
[]
this
.
g
=
[]
this
.
init
()
this
.
init
()
...
@@ -221,27 +228,9 @@
...
@@ -221,27 +228,9 @@
}
}
uni
.
navigateTo
({
url
});
uni
.
navigateTo
({
url
});
},
},
//获取菜单配置
userCenterinfo
(
type
=
1
)
{
uni
.
showNavigationBarLoading
();
this
.
request2
({
url
:
"/api/Mall/GetUserCenter"
,
data
:
{},
},
(
res
)
=>
{
uni
.
hideNavigationBarLoading
();
this
.
user_info
=
res
.
data
.
user_info
;
if
(
this
.
mall_UserInfo
&&
type
==
1
)
{
// this.getLogin()
}
}
);
},
reloadUserinfo
()
{
reloadUserinfo
()
{
this
.
b2b_user_info
=
uni
.
getStorageSync
(
'b2b_user'
);
this
.
b2b_user_info
=
uni
.
getStorageSync
(
'b2b_user'
);
this
.
userCenterinfo
();
this
.
GetCustomerCenter
();
this
.
u
=
this
.
user_info
;
this
.
mall_UserInfo
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
this
.
mall_UserInfo
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
uni
.
getStorageSync
(
"mall_UserInfo"
)
:
{};
uni
.
getStorageSync
(
"mall_UserInfo"
)
:
{};
},
},
...
...
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