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
c3bcaf7f
Commit
c3bcaf7f
authored
Mar 14, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
取消提示
parent
27bea614
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1942 additions
and
336 deletions
+1942
-336
cancelProgress.vue
components/cancelPrompt/cancelProgress.vue
+203
-0
cancelPrompt.vue
components/cancelPrompt/cancelPrompt.vue
+271
-0
pages.json
pages.json
+20
-0
AggregateOrdersList.vue
pages/AggregateOrders/AggregateOrdersList.vue
+7
-4
cancelPrompt.vue
pages/AggregateOrders/components/cancelPrompt.vue
+0
-52
header.vue
pages/AggregateOrders/components/header.vue
+3
-2
orders.vue
pages/AggregateOrders/components/orders.vue
+17
-9
searchHeader.vue
pages/AggregateOrders/components/searchHeader.vue
+2
-2
airTicketOrderDetail.vue
pages/airTicket/airTicketOrderDetail.vue
+47
-27
jz_SureOrder.vue
pages/jiuzhai/jz_SureOrder.vue
+89
-63
happasHeader.vue
pages/user-center/components/happasHeader.vue
+318
-0
userHeader.vue
pages/user-center/components/userHeader.vue
+78
-43
vipUserHeader.vue
pages/user-center/components/vipUserHeader.vue
+78
-84
happinessPassbook.vue
pages/user-center/happinessPassbook.vue
+371
-0
userVip-center.vue
pages/user-center/userVip-center.vue
+366
-0
visa_SureOrder.vue
pages/visa/visa_SureOrder.vue
+72
-50
No files found.
components/cancelPrompt/cancelProgress.vue
0 → 100644
View file @
c3bcaf7f
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.cancelProgress
{
padding
:
30rpx
30rpx
10rpx
30rpx
;
}
.showModalCenter
{
padding
:
50rpx
52rpx
85rpx
52rpx
;
background
:
#fff
;
border-radius
:
16rpx
;
}
.cancelProgress
.showModalCenter
{
padding
:
50rpx
32rpx
85rpx
32rpx
;
}
.showModalCTitle
{
margin-bottom
:
30rpx
;
}
.showModalCTitle
text
{
font-size
:
36rpx
;
font-weight
:
bold
;
}
.showModalCTisp
{
padding
:
0
0
40rpx
0
;
margin-top
:
47rpx
;
}
.showModalTisp
{
margin-bottom
:
34rpx
;
font-size
:
28rpx
;
line-height
:
42rpx
;
}
.showModalTisp
text
{
font-weight
:
bold
;
text-decoration
:
underline
;
}
.showModalCTNK
{
margin-top
:
28rpx
;
font-size
:
32rpx
;
font-family
:
PingFang-SC
,
PingFang-SC
;
font-weight
:
bold
;
line-height
:
42rpx
;
}
.showModalCTNK
text
:first-child
{
color
:
#FF3367
;
}
@font-face
{
font-family
:
"dinAli"
;
src
:
url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/BFOHNMvFqM80.woff2")
format
(
"woff2"
);
font-display
:
swap
;
}
.vip-box-unactive
{
margin
:
50rpx
0rpx
0
0
;
padding
:
0rpx
34rpx
0rpx
34rpx
;
height
:
120rpx
;
position
:
relative
;
border-radius
:
18rpx
;
}
.vip-box-unactive
.vip-logo
{
right
:
34rpx
;
width
:
87rpx
;
height
:
99rpx
;
top
:
15rpx
;
position
:
absolute
;
z-index
:
4
;
}
.vip-box-unactive
.remark
{
font-size
:
24rpx
;
color
:
#E2C27A
;
line-height
:
1
;
margin-bottom
:
16rpx
;
}
.vip-box-unactive
.step-box
{
position
:
relative
;
justify-content
:
space-between
;
}
.
vip-box-unactive
.
step-box
:
:
after
,
.
vip-box-unactive
.
step-box
.
line
{
height
:
8rpx
;
background
:
#C99E59
;
border-radius
:
5rpx
;
left
:
0
;
top
:
10rpx
;
position
:
absolute
;
z-index
:
2
;
}
.
vip-box-unactive
.
step-box
:
:
after
{
z-index
:
1
;
background
:
#F3F1EF
;
border-radius
:
0
;
right
:
0
;
content
:
' '
;
display
:
block
;
}
.vip-box-unactive
.step-item
{
/* font-weight: 400; */
font-size
:
32rpx
;
color
:
#BCBCBC
;
width
:
50rpx
;
height
:
50rpx
;
background
:
#F3F1EF
;
border-radius
:
50%
;
position
:
relative
;
z-index
:
3
;
text-align
:
center
;
font-family
:
dinAli
;
text-align
:
center
;
line-height
:
50rpx
;
font-weight
:
bolder
;
top
:
-10rpx
;
}
.vip-box-unactive
.step-item.active
{
background
:
#C99E59
;
color
:
#fff
;
}
.vip-box-unactive
.step-item
text
{
width
:
120rpx
;
position
:
absolute
;
bottom
:
-70rpx
;
left
:
-31rpx
;
text-align
:
center
;
font-size
:
28rpx
;
}
.vip-box-unactive
.step-item.active
text
{
color
:
#C99E59
;
}
.vip-title
{
font-weight
:
800
;
font-size
:
36rpx
;
color
:
#080A0A
;
line-height
:
70rpx
;
}
</
style
>
<
template
>
<view
class=
""
:class=
"[type?'cancelProgress':'']"
>
<view
class=
"showModalCenter"
>
<view
class=
"showModalCTitle column"
>
<Text>
取消政策
</Text>
</view>
<view
class=
"showModalCTisp"
>
<view
class=
"showModalTisp"
>
旅游者在
<text>
行程开始前7日以内提出解除合同,
</text>
将按下列标准扣除必要的费用:
</view>
<view
class=
"showModalCTNK column"
>
<Text>
行程开始前6日至4日
</Text>
<Text>
按旅游费用总额的20%
</Text>
</view>
<view
class=
"showModalCTNK column"
>
<Text>
行程开始前3日至1日
</Text>
<Text>
按旅游费用总额的40%
</Text>
</view>
<view
class=
"showModalCTNK column"
>
<Text>
行程开始当日
</Text>
<Text>
按旅游费用总额的60%
</Text>
</view>
</view>
<view
class=
"vip-box"
>
<view
class=
"vip-title"
>
进度
</view>
<template
v-if=
"vipInfo && vipInfo.FinishOrderCount
<vipInfo
.
OrderCount
"
>
<view
class=
"vip-box-unactive row"
>
<view
class=
"col"
>
<view
class=
"step-box row items-center"
>
<view
class=
"line"
:style=
"
{width:`${(vipInfo.FinishOrderCount/vipInfo.OrderCount)*100}%`}">
</view>
<view
class=
"step-item"
:class=
"
{'active':x
<vipInfo
.
FinishOrderCount
}"
v-for=
"x in vipInfo.OrderCount"
>
{{
x
+
1
}}
<text
v-if=
"x==0"
>
等待审批
</text>
<text
v-if=
"x==1"
>
汇款中
</text>
<text
v-if=
"x==2"
>
完成
</text>
</view>
</view>
</view>
</view>
</
template
>
</view>
</view>
</view>
</template>
<
script
>
// import vip from './vip.vue'
export
default
{
props
:[
'datas'
,
'type'
],
// components: {vip},
data
(){
return
{
vipInfo
:{
FinishOrderCount
:
0.8
,
OrderCount
:
3
},
userVipRights
:{}
}
},
created
()
{
},
mounted
()
{
},
methods
:{
},
}
</
script
>
\ No newline at end of file
components/cancelPrompt/cancelPrompt.vue
0 → 100644
View file @
c3bcaf7f
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.showModalBox
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
position
:
relative
;
letter-spacing
:
2rpx
;
}
.showModalImg
{
width
:
750rpx
;
height
:
400rpx
;
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0
;
z-index
:
1
;
}
.showModalCenterBox
{
width
:
100%
;
height
:
100%
;
margin-top
:
40rpx
;
background
:
#FFFDFE
;
border-radius
:
18rpx
;
}
.showModalCenter
{
position
:
relative
;
z-index
:
2
;
padding
:
60rpx
52rpx
85rpx
52rpx
;
}
.showModalCTitle
text
{
font-size
:
42rpx
;
}
.showModalCTitle
text
:first-child
{
font-weight
:
bold
;
}
.showModalCTitle
text
:last-child
{
font-size
:
32rpx
;
margin-top
:
22rpx
;
}
.showModalCTisp
{
background
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#F9E8ED
)
,
to
(
#F7F7F7
));
border-radius
:
14rpx
14rpx
14rpx
14rpx
;
padding
:
52rpx
40rpx
40rpx
40rpx
;
margin-top
:
47rpx
;
}
.showModalTisp
{
margin-bottom
:
34rpx
;
font-size
:
32rpx
;
line-height
:
50rpx
;
}
.showModalTisp
text
{
font-weight
:
bold
;
text-decoration
:
underline
;
}
.showModalCTNK
{
margin-top
:
28rpx
;
font-size
:
36rpx
;
font-family
:
PingFang-SC
,
PingFang-SC
;
font-weight
:
bold
;
}
.showModalCTNK
text
:first-child
{
color
:
#FF3367
;
}
.showModalCTNK
text
:last-child
{
}
.showModalTime
{
font-size
:
36rpx
;
color
:
#BCBCBC
;
margin-top
:
26rpx
;
margin-bottom
:
50rpx
;
text-align
:
center
;
}
.showModalBott
{
width
:
300rpx
;
height
:
98rpx
;
line-height
:
98rpx
;
border-radius
:
98rpx
;
text-align
:
center
;
background
:
#000
;
color
:
#fff
;
font-size
:
32rpx
;
}
.showModalBott
:last-child
{
color
:
#FF3367
;
}
.showModalBott.active
{
background
:
#BCBCBC
;
color
:
#757776
;
}
.showModalSel
{
color
:
#FF3367
;
font-size
:
28rpx
;
text-align
:
center
;
margin-top
:
32rpx
;
margin-bottom
:
20rpx
;
}
.showModalSelBox
{
text-align
:
center
;
}
.showModalSBottom
{
display
:
inline-block
;
background
:
#FEEEF2
;
padding
:
5rpx
25rpx
8rpx
25rpx
;
border
:
1px
solid
#746E70
;
color
:
#131414
;
font-size
:
28rpx
;
border-radius
:
30rpx
;
font-family
:
PingFang-SC
,
PingFang-SC
;
font-weight
:
500
;
}
.showModalSBottom
img
{
width
:
30rpx
;
height
:
30rpx
;
margin-right
:
10rpx
;
position
:
relative
;
top
:
6rpx
;
}
.showModalSBottom
text
{
margin-left
:
10rpx
;
}
</
style
>
<
template
>
<view
class=
"showModalInfo"
>
<u-popup
v-model=
"showModal"
mode=
"bottom"
border-radius=
"18"
background-color=
"#000"
:mask-close-able=
"false"
>
<view
class=
"showModalBox"
>
<img
class=
"showModalImg"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/cancelTispTY.png"
/>
<view
class=
"showModalCenterBox"
>
<view
class=
"showModalCenter"
>
<view
class=
"showModalCTitle column"
>
<Text>
取消需服务审批
</Text>
<text>
按标准扣除必要的费用
</text>
</view>
<view
class=
"showModalCTisp"
>
<view
class=
"showModalTisp"
>
旅游者在
<text>
行程开始前7日以内提出解除合同,
</text>
将按下列标准扣除必要的费用:
</view>
<view
class=
"showModalCTNK column"
>
<Text>
行程开始前6日至4日
</Text>
<Text>
按旅游费用总额的20%
</Text>
</view>
<view
class=
"showModalCTNK column"
>
<Text>
行程开始前3日至1日
</Text>
<Text>
按旅游费用总额的40%
</Text>
</view>
<view
class=
"showModalCTNK column"
>
<Text>
行程开始当日
</Text>
<Text>
按旅游费用总额的60%
</Text>
</view>
</view>
<view
class=
"showModalTime"
>
请仔细阅读条款
{{
remainingTime
}}
s后确认
</view>
<view
class=
"row-sb-n showModalBottom"
>
<view
class=
"showModalBott"
@
click=
"cancel"
>
<Text>
关闭
</Text>
</view>
<view
class=
"showModalBott"
@
click=
"confirm"
:class=
"[submitCancel?'active':'']"
>
<Text>
确定取消
</Text>
</view>
</view>
<view
class=
"showModalSel"
>
紧急情况请联系服务人员
</view>
<view
class=
"showModalSelBox"
>
<view
class=
"showModalSBottom row"
@
click=
"goConnection"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/ServiceTelephoneZK.png"
/>
<text>
{{
erpBaseInfo
.
emName
}}
</text>
</view>
</view>
</view>
</view>
</view>
</u-popup>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'showModal'
,
'orderNo'
,
'type'
],
data
(){
return
{
Cancelmsg
:{
Remark
:
''
},
submitCancel
:
false
,
erpBaseInfo
:
null
,
remainingTime
:
10
,
// 初始倒计时时间(秒)
timerId
:
null
,
// 定时器ID
isRunning
:
false
,
// 状态标识(防止重复启动)
}
},
created
()
{
console
.
log
(
uni
.
getStorageSync
(
"b2b_user"
),
'=======b2b_user'
)
this
.
erpBaseInfo
=
uni
.
getStorageSync
(
"b2b_user"
).
erpBaseInfo
console
.
log
(
this
.
datas
,
'----=====datas'
)
},
mounted
()
{
setTimeout
(()
=>
{
this
.
startCountdown
()
},
50
)
},
methods
:{
startCountdown
()
{
if
(
this
.
isRunning
)
return
;
this
.
isRunning
=
true
;
this
.
timerId
=
setInterval
(()
=>
{
this
.
remainingTime
--
;
if
(
this
.
remainingTime
<=
0
)
{
clearInterval
(
this
.
timerId
);
this
.
isRunning
=
false
;
this
.
confirm
();
// 时间耗尽回调
}
},
1000
);
},
goConnection
(){
uni
.
makePhoneCall
({
phoneNumber
:
this
.
erpBaseInfo
.
imAccount
});
},
cancel
(){
clearInterval
(
this
.
timerId
);
this
.
isRunning
=
false
;
this
.
$emit
(
'cancel'
)
},
confirm
(){
let
that
=
this
if
(
this
.
submitCancel
)
return
wx
.
showModal
({
title
:
'提示'
,
content
:
'确定取消订单?'
,
success
:
(
tip
)
=>
{
if
(
tip
.
confirm
)
{
that
.
submitCancel
=
true
that
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
this
.
orderNo
,
},
(
res
)
=>
{
that
.
submitCancel
=
false
that
.
cancel
()
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
if
(
that
.
type
)
that
.
$emit
(
'success'
);
else
uni
.
navigateTo
({
url
:
`/pages/AggregateOrders/AggregateOrdersList?OrderStatus=5`
,
});
}
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
that
.
submitCancel
=
false
}
);
}
}
})
}
},
}
</
script
>
\ No newline at end of file
pages.json
View file @
c3bcaf7f
...
...
@@ -102,6 +102,16 @@
}
}
},
{
"path"
:
"userVip-center"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"mp-alipay"
:
{
"transparentTitle"
:
"always"
,
"titlePenetrate"
:
"YES"
}
}
},
{
"path"
:
"user-profile"
,
"style"
:
...
...
@@ -115,6 +125,16 @@
{
"navigationBarTitleText"
:
"员工账号绑定"
}
},
{
"path"
:
"happinessPassbook"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"mp-alipay"
:
{
"transparentTitle"
:
"always"
,
"titlePenetrate"
:
"YES"
}
}
}
]
},
...
...
pages/AggregateOrders/AggregateOrdersList.vue
View file @
c3bcaf7f
...
...
@@ -42,6 +42,9 @@
}
}
/
deep
/
.showModalInfo
.u-drawer-bottom
{
background-color
:
rgba
(
23
,
23
,
23
,
0
)
!
important
;
}
</
style
>
<
template
>
<view
class=
"AggOrdBox column"
>
...
...
@@ -113,16 +116,16 @@
}
},
onLoad
(
options
){
if
(
options
.
OrderTypeStr
){
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
}
if
(
options
.
OrderTypeStr
)
this
.
msg
.
OrderTypeStr
=
options
.
OrderTypeStr
if
(
options
.
OrderStatus
)
this
.
msg
.
OrderStatus
=
options
.
OrderStatus
},
created
()
{
this
.
getOrderEnums
()
this
.
init
()
},
methods
:{
research
(){
research
(
status
){
if
(
status
)
this
.
msg
.
OrderStatus
=
status
;
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
pageSize
=
10
;
this
.
status
=
"loadmore"
;
...
...
pages/AggregateOrders/components/cancelPrompt.vue
deleted
100644 → 0
View file @
27bea614
<
style
lang=
"scss"
scoped
>
</
style
>
<
template
>
<view>
<u-popup
v-model=
"showModal"
mode=
"center"
length=
"80%"
border-radius=
"20px 20px 20px 20px"
>
<view
style=
'display: flex;flex-direction: column;align-items: center;background: #fff;'
>
<view
style=
"display: flex;align-items: center;justify-content: center;height:70px ;"
>
<Text>
是否取消订单?
</Text>
</view>
<view
style=
"display: flex;flex-direction: column;height:80px ;margin-left: 15px;width: 100%;"
>
<Text
style=
'margin-left: 10px;margin-top: 5px;'
>
备注
</Text>
<input
class=
"uni-input inputM"
style=
'margin-left: 10px;margin-top: 5px;'
v-model=
"Cancelmsg.Remark"
placeholder=
"输入备注"
/>
</view>
<view
style=
"display: flex;flex-direction: row;align-items: center;height: 50px;border-top: 1px solid #F5F5F5;width: 100%;"
>
<view
style=
"width: 50%;display: flex;align-items: center;justify-content: center"
@
click=
"cancel"
>
<Text>
取消
</Text>
</view>
<view
style=
"width: 50%;color: #2979ff;display: flex;align-items: center;justify-content: center"
@
click=
"confirm"
>
<Text>
确定
</Text>
</view>
</view>
</view>
</u-popup>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'showModal'
,
'datas'
],
data
(){
return
{
Cancelmsg
:{
Remark
:
''
}
}
},
onLoad
(
options
){
},
created
()
{
},
methods
:{
cancel
(){
this
.
$emit
(
'cancel'
)
},
confirm
(){
}
}
}
</
script
>
\ No newline at end of file
pages/AggregateOrders/components/header.vue
View file @
c3bcaf7f
...
...
@@ -202,10 +202,10 @@ export default {
position
:
relative
;
}
.carrHeader
{
padding-top
:
3
5rpx
;
padding-top
:
8
5rpx
;
}
.carrHeader-right
{
padding-right
:
1
6
0rpx
;
padding-right
:
1
7
0rpx
;
display
:
flex
;
}
.carrHeader-right
img
{
...
...
@@ -222,5 +222,6 @@ export default {
height
:
63rpx
;
border-radius
:
50%
;
border
:
1px
solid
#CFC089
;
margin-right
:
20rpx
;
}
</
style
>
\ No newline at end of file
pages/AggregateOrders/components/orders.vue
View file @
c3bcaf7f
...
...
@@ -3,7 +3,7 @@
<view
class=
"AggOrdListBox"
>
<view
class=
"visaList row"
v-for=
"(item,index) in g"
:key=
"index"
@
click=
"goDetail(item)"
@
click=
"goDetail
s
(item)"
:class=
"[item.orderStatus==4?'active':'']"
>
<view
class=
"visaListL"
>
<image
mode=
"aspectFill"
:src=
"item.goodsPic"
/>
...
...
@@ -64,11 +64,16 @@
</view>
</view>
</view>
<cancelPrompt
:showModal=
"showModal"
@
cancel=
"cancelPrompt"
:datas=
"currentData"
></cancelPrompt>
<cancelPrompt
v-if=
"showModal"
:showModal=
"showModal"
@
cancel=
"cancelModal"
@
success=
"cancelSuccess"
type=
"1"
:orderNo=
"currentData.orderNo"
></cancelPrompt>
</view>
</template>
<
script
>
import
cancelPrompt
from
"
.
/cancelPrompt.vue"
;
import
cancelPrompt
from
"
@/components/cancelPrompt
/cancelPrompt.vue"
;
export
default
{
props
:[
'orders'
],
components
:
{
...
...
@@ -96,6 +101,9 @@ export default {
},
methods
:{
cancelSuccess
(){
this
.
$emit
(
'research'
,
5
)
},
submitGetCodeByOrderNo
(
item
)
{
uni
.
showLoading
({
title
:
"请稍等片刻..."
,
...
...
@@ -119,7 +127,7 @@ export default {
})
this
.
submit
=
false
});
},
},
goPayHandler
(
item
)
{
let
that
=
this
;
uni
.
requestPayment
({
...
...
@@ -199,7 +207,7 @@ export default {
}
},
// 详情
goDetail
(
item
){
goDetail
s
(
item
){
let
url
=
null
let
msg
=
null
// #ifdef MP-DI
...
...
@@ -233,7 +241,6 @@ export default {
//取消订单
goCancel
(
item
)
{
//未付款-调用后台取消
let
that
=
this
if
(
this
.
submit
||
this
.
submitCancel
)
return
wx
.
showModal
({
...
...
@@ -243,8 +250,9 @@ export default {
if
(
tip
.
confirm
)
{
that
.
submitCancel
=
true
that
.
apipost
(
"
sellorder_post_B2BRemove
Order"
,
{
"
b2b_get_GetB2BAllCancel
Order"
,
{
ID
:
item
.
erpOrderId
,
OrderTypeStr
:
item
.
goodsType
,
},
(
res
)
=>
{
that
.
submitCancel
=
false
...
...
@@ -268,11 +276,11 @@ export default {
}
})
},
cancel
Prompt
(){
cancel
Modal
(){
this
.
showModal
=
false
},
goCancelZK
(
item
)
{
if
(
item
.
orderStatus
){
if
(
item
.
orderStatus
==
2
){
this
.
currentData
=
item
return
this
.
showModal
=
true
}
...
...
pages/AggregateOrders/components/searchHeader.vue
View file @
c3bcaf7f
...
...
@@ -109,14 +109,14 @@ export default {
position
:
relative
;
}
.carrHeader
{
padding-top
:
3
5rpx
;
padding-top
:
8
5rpx
;
}
.carrHeader-right
{
width
:
1px
;
flex
:
1
;
display
:
flex
;
padding-left
:
60rpx
;
padding-right
:
1
6
0rpx
;
padding-right
:
1
7
0rpx
;
}
.carrHeader-right
view
{
width
:
1px
;
...
...
pages/airTicket/airTicketOrderDetail.vue
View file @
c3bcaf7f
...
...
@@ -213,12 +213,13 @@
</view>
</template>
<cancelProgress
v-if=
"order.OrderStatus==2"
:datas=
"order"
type=
"1"
></cancelProgress>
<view
style=
"padding-bottom: 20rpx;"
></view>
</scroll-view>
<view
class=
"botton-box"
:style=
"{paddingBottom:`${bottomSafeHeight}rpx`}"
>
<!-- #ifdef MP-DI -->
<view
style=
" display: flex;justify-content: space-between;"
>
<view
class=
"text-center cities-name"
@
click=
"goCancelZK"
v-if=
"order.OrderStatus==1"
style=
"background-color: #fff;border: 1px solid #1d1d20;flex:1; border-radius: 10rpx;height: 80rpx; line-height: 80rpx;color:#333"
>
取消订单
</view>
<view
class=
"text-center cities-name"
@
click=
"goCancelZK"
v-if=
"order.OrderStatus==1
||order.OrderStatus==2
"
style=
"background-color: #fff;border: 1px solid #1d1d20;flex:1; border-radius: 10rpx;height: 80rpx; line-height: 80rpx;color:#333"
>
取消订单
</view>
<view
class=
"text-center cities-name"
@
click=
"submitGetCodeByOrderNo"
v-if=
"order.OrderStatus==1"
style=
"background-color: #1d1d20;flex:1;border-radius: 10rpx;height: 80rpx; line-height: 80rpx;color:#EEF1F4;margin-left: 20rpx;"
>
立即支付
</view>
</view>
<view
class=
"text-center cities-name"
@
click=
"requeryHandle"
v-if=
"order.OrderStatus!=1"
style=
"background-color: #1d1d20;border-radius: 10rpx;height: 80rpx; line-height: 80rpx;color:#EEF1F4"
>
再次预定
</view>
...
...
@@ -298,15 +299,19 @@
</view>
</u-popup>
<u-modal
:border-radius=
"16"
@
confirm=
"cancleOrderHandle"
title=
"订单取消提醒"
content=
"你正在取消订单,是否确认执行"
@
cancel=
"cancelVisible=false"
v-model=
"cancelVisible"
confirm-text=
'确认取消'
cancel-text=
'关闭'
confirm-color=
'#DEBF7B'
cancel-color=
'#080A09'
:show-cancel-button=
"true"
></u-modal>
<cancelPrompt
:showModal=
"showModal"
@
cancel=
"cancelPrompt"
></cancelPrompt>
<cancelPrompt
v-if=
"showModal"
:showModal=
"showModal"
@
cancel=
"cancelModal"
:orderNo=
"OrderNo"
></cancelPrompt>
</view>
</template>
<
script
>
import
Flight
from
'./components/flight/Index.vue'
import
cancelPrompt
from
'../AggregateOrders/components/cancelPrompt.vue'
import
cancelPrompt
from
'@/components/cancelPrompt/cancelPrompt.vue'
import
cancelProgress
from
'@/components/cancelPrompt/cancelProgress.vue'
export
default
{
components
:{
Flight
,
cancelPrompt
},
components
:{
Flight
,
cancelPrompt
,
cancelProgress
},
data
()
{
return
{
timestamp
:
86400
,
...
...
@@ -385,7 +390,7 @@
this
.
navigatorToHomeHandle
()
},
methods
:
{
cancel
Prompt
(){
cancel
Modal
(){
this
.
showModal
=
false
},
submitGetCodeByOrderNo
()
{
...
...
@@ -552,30 +557,42 @@
},
goCancelZK
()
{
let
that
=
this
uni
.
showLoading
()
that
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
that
.
OrderNo
,
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
that
.
setThemeHandle
();
that
.
getOrderInfoHandler
()
if
(
this
.
order
.
OrderStatus
==
2
){
return
this
.
showModal
=
true
}
wx
.
showModal
({
title
:
'提示'
,
content
:
'确定取消订单?'
,
success
:
(
tip
)
=>
{
if
(
tip
.
confirm
)
{
uni
.
showLoading
()
that
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
that
.
OrderNo
,
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
that
.
setThemeHandle
();
that
.
getOrderInfoHandler
()
}
uni
.
hideLoading
()
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
uni
.
hideLoading
()
}
);
}
uni
.
hideLoading
()
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
uni
.
hideLoading
()
}
);
})
},
requeryHandle
(){
...
...
@@ -881,4 +898,7 @@
color
:
#999
;
font-size
:
24
rpx
;
}
/
deep
/
.showModalInfo
.u-drawer-bottom
{
background-color
:
rgba
(
23
,
23
,
23
,
0
)
!important
;
}
</
style
>
pages/jiuzhai/jz_SureOrder.vue
View file @
c3bcaf7f
...
...
@@ -328,9 +328,12 @@
.jz_MyGuestList
{
margin-top
:
40
rpx
;
}
/
deep
/
.showModalInfo
.u-drawer-bottom
{
background-color
:
rgba
(
23
,
23
,
23
,
0
)
!important
;
}
</
style
>
<
template
>
<view
class=
"jz_Reserve"
v-if=
"orderData"
>
<view
class=
"jz_Reserve"
v-if=
"orderData
&&orderData.model
"
>
<view
class=
"jz_ReserTop"
>
<view
class=
"flex"
style=
"margin-bottom: 30rpx"
>
<u-icon
customPrefix=
"iconfont"
name=
"icondaizhifu-"
size=
"52"
color=
"#DFBE6E"
v-if=
"orderStatus.code == 0"
></u-icon>
...
...
@@ -411,28 +414,30 @@
</view>
-->
</view>
<view
class=
"empty-block"
></view>
<view
class=
"jz_form jz_MyGuestList"
v-for=
"(subItem, subIndex) in orderData.model.GuestList"
:key=
"subIndex"
>
<view
style=
"margin: 10rpx 0 20rpx 0"
>
游客
{{
subIndex
+
1
}}
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
游客姓名
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
SurName
}}{{
subItem
.
Name
}}
</view>
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
联系电话
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
MobilePhone
}}
</view>
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
身份证
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
IdCard
}}
</view>
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
学生
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
IsHightSchool
==
1
?
"是"
:
"否"
}}
<template
v-if=
"orderData.model&&orderData.model.GuestList.length>0"
>
<view
class=
"jz_form jz_MyGuestList"
v-for=
"(subItem, subIndex) in orderData.model.GuestList"
:key=
"subIndex"
>
<view
style=
"margin: 10rpx 0 20rpx 0"
>
游客
{{
subIndex
+
1
}}
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
游客姓名
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
SurName
}}{{
subItem
.
Name
}}
</view>
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
联系电话
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
MobilePhone
}}
</view>
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
身份证
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
IdCard
}}
</view>
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
学生
</view>
<view
class=
"jz_SureVal"
>
{{
subItem
.
IsHightSchool
==
1
?
"是"
:
"否"
}}
</view>
</view>
</view>
</view>
<
view
class=
"empty-block"
></view
>
<view
class=
"empty-block"
>
</view>
<
/
template
>
<view
class=
"jz_form"
v-if=
"orderData.model.Remarks"
>
<view
class=
"form-items"
style=
"border-bottom: 0"
>
<view
class=
"label"
>
备注
</view>
...
...
@@ -440,6 +445,8 @@
</view>
</view>
<view
class=
"empty-block"
></view>
<cancelProgress
:datas=
"orderData"
></cancelProgress>
<view
class=
"empty-block"
></view>
<view
style=
"padding: 50rpx 40rpx"
>
<view
class=
"big-title"
>
<text>
费用明细
</text>
...
...
@@ -553,13 +560,13 @@
<view
class=
"jz_orderbox flex"
>
<view
style=
"display: flex"
v-if=
"showPayBtn"
>
<!-- #ifdef MP-DI -->
<button
class=
"jz_OrderReNow"
@
click=
"goCancelZK"
<button
v-if=
"orderData.OrderStatus==1||orderData.OrderStatus==2"
class=
"jz_OrderReNow"
@
click=
"goCancelZK"
style=
"background: #fff; color: #111; border: 1px solid #111"
:disabled=
"submitCancel"
:loading=
"submitCancel"
>
取消
</button>
<button
class=
"jz_OrderReNow"
<button
v-if=
"orderData.OrderStatus==1"
class=
"jz_OrderReNow"
style=
"margin-left: 20rpx;"
@
click=
"submitGetCodeByOrderNo"
:disabled=
"submit"
:loading=
"submit"
>
立即支付
...
...
@@ -580,7 +587,10 @@
</view>
</view>
<coupons
v-if=
"showCoupons"
:coupon-message=
"couponMessage"
@
goLook=
"()=>showCoupons=false"
@
closeBtn=
"()=>showCoupons=false"
></coupons>
<cancelPrompt
:showModal=
"showModal"
@
cancel=
"cancelPrompt"
></cancelPrompt>
<cancelPrompt
v-if=
"showModal"
:showModal=
"showModal"
@
cancel=
"cancelModal"
:orderNo=
"orderData.OrderNo"
></cancelPrompt>
</view>
</template>
...
...
@@ -589,9 +599,10 @@
<
script
>
import
coupons
from
"@/components/coupons/coupons.vue"
;
import
cancelPrompt
from
'../AggregateOrders/components/cancelPrompt.vue'
import
cancelPrompt
from
'@/components/cancelPrompt/cancelPrompt.vue'
import
cancelProgress
from
'@/components/cancelPrompt/cancelProgress.vue'
export
default
{
components
:
{
coupons
,
cancelPrompt
},
components
:
{
coupons
,
cancelPrompt
,
cancelProgress
},
data
()
{
return
{
pageTitle
:
"订单详情"
,
...
...
@@ -601,7 +612,10 @@
MiniAppUserId
:
0
,
},
orderData
:
null
,
orderStatus
:
{},
orderStatus
:
{
code
:
0
,
text
:
''
,
},
submit
:
false
,
submitCancel
:
false
,
showPayBtn
:
true
,
...
...
@@ -632,7 +646,7 @@
}
},
methods
:
{
cancel
Prompt
(){
cancel
Modal
(){
this
.
showModal
=
false
},
submitGetCodeByOrderNo
()
{
...
...
@@ -700,6 +714,9 @@
if
(
res
.
resultCode
==
1
){
this
.
OrderNo
=
res
.
data
.
OrderNo
this
.
orderId
=
res
.
data
.
ErpOrderId
this
.
orderData
=
{
...
res
.
data
}
this
.
initOrderInfo
();
this
.
formatStatus
(
res
.
data
.
OrderStatus
,
...
...
@@ -800,34 +817,45 @@
}
},
goCancelZK
()
{
let
that
=
this
if
(
this
.
orderData
.
OrderStatus
==
2
){
return
this
.
showModal
=
true
}
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
this
.
submitCancel
=
true
;
if
(
this
.
orderData
.
model
.
OrderState
==
2
||
this
.
orderData
.
model
.
OrderState
==
3
)
{
this
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
this
.
OrderNo
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
uni
.
navigateTo
({
url
:
"/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=2"
,
});
}
this
.
submitCancel
=
false
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
this
.
submitCancel
=
false
wx
.
showModal
({
title
:
'提示'
,
content
:
'确定取消订单?'
,
success
:
(
tip
)
=>
{
if
(
tip
.
confirm
)
{
that
.
submitCancel
=
true
;
this
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
that
.
OrderNo
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
uni
.
navigateTo
({
url
:
"/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=2"
,
});
}
that
.
submitCancel
=
false
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
that
.
submitCancel
=
false
}
);
}
);
}
}
})
},
getWeek
(
date
)
{
var
weekArray
=
new
Array
(
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
);
...
...
@@ -850,24 +878,23 @@
msg
,
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderData
=
{
...
this
.
orderData
,
...
res
.
data
};
// #ifdef MP-AG
this
.
orderData
=
res
.
data
this
.
formatStatus
(
this
.
orderD
ata
.
model
.
OrderState
,
this
.
orderD
ata
.
model
.
IsChargeLossOrders
,
this
.
orderD
ata
.
model
.
IsApplyForCancel
res
.
d
ata
.
model
.
OrderState
,
res
.
d
ata
.
model
.
IsChargeLossOrders
,
res
.
d
ata
.
model
.
IsApplyForCancel
);
// #endif
// #ifdef MP-DI
this
.
orderData
=
{
...
res
.
data
};
if
(
!
this
.
OrderNo
){
this
.
getOrderInfoByIdAndType
()
}
// #endif
}
console
.
log
(
res
);
},
(
e
)
=>
{
this
.
orderData
=
{
...
...
@@ -920,7 +947,6 @@
this
.
orderStatus
.
text
=
"正常"
;
this
.
showPayBtn
=
false
;
}
this
.
$forceUpdate
();
// #endif
},
// #ifdef MP-WEIXIN
...
...
pages/user-center/components/happasHeader.vue
0 → 100644
View file @
c3bcaf7f
<
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 @
c3bcaf7f
...
...
@@ -3,41 +3,49 @@
<view
class=
"titlenav"
:style=
"
{ paddingTop: nav }">
{{
pageTitle
}}
</view>
<view
class=
"userHeadPic row"
>
<view
class=
"userHeadPicL"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
mode=
"widthFix"
></image>
<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
class=
"userHeadPicR_title"
>
Ranjunjun
</text>
<text
class=
"userHeadPicR_text"
>
销售:李龙飞等3位
</text>
<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=
"userHeadPas column"
>
<view
class=
"userHeadPasTop"
>
<view
class=
"userHeadPasT_Num row-sb
s
-n"
>
<view
class=
"userHeadPasT_Num row-sb-n"
>
<view
class=
"column"
>
<text
style=
"font-size: 40rpx;color: #C07D45;"
>
60
</text>
</view>
<view
class=
"column"
>
<view
class=
"userHeadPasMoney relative"
>
<view>
¥
</view>
<text
style=
"font-size: 36rpx;"
>
66248.2
</text>
</view>
</view>
<view
class=
"column"
>
<text
style=
"color: #4F360D;font-size: 36rpx;"
>
3
</text>
<text>
{{
formatNumberWithUnit
(
1234
)
}}
</text>
<text
class=
"userHeadPasTTeT"
>
幸福存折
</text>
</view>
</view>
<view
class=
"userHeadPasT_Text row-sbs-n"
>
<view
class=
"column"
>
<text
class=
"userHeadPasTTeT"
style=
"font-size: 28rpx;font-weight: bold;"
>
幸福存折
<text>
1852
</text>
<text
class=
"userHeadPasTTeT"
>
我的积分
</text>
</view>
<view
class=
"column"
>
<text
class=
"userHeadPasTTeT"
style=
"font-size: 26rpx;font-weight: 100;"
>
累计已省
</text>
<text>
{{
formatNumberWithUnit
(
99999
)
}}
</text>
<text
class=
"userHeadPasTTeT"
>
累计已省
</text>
</view>
<view
class=
"column"
>
<text
class=
"userHeadPasTTeT"
style=
"font-size: 26rpx;font-weight: 100;"
>
抵扣券
</text>
<text>
3
</text>
<text
class=
"userHeadPasTTeT"
>
优惠券
</text>
</view>
</view>
</view>
...
...
@@ -74,12 +82,12 @@
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'user_info'
,
'b2b_user_info'
],
data
()
{
return
{
pageTitle
:
"个人中心"
,
...
...
@@ -111,7 +119,7 @@
},
{
text
:
''
,
colorStyle
:
'
active
'
,
colorStyle
:
''
,
radiusL
:
''
,
radiusR
:
''
,
img
:
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732528736165089.png'
...
...
@@ -119,15 +127,15 @@
],
};
},
components
:
{
},
components
:
{},
computed
:
{
},
created
()
{
},
},
onLoad
()
{
this
.
nav
=
uni
.
getSystemInfoSync
().
statusBarHeight
+
"px"
;
},
mounted
()
{
...
...
@@ -136,7 +144,37 @@
},
methods
:
{
formatNumberWithUnit
(
num
)
{
if
(
num
===
0
)
return
'0.00'
;
const
units
=
[
''
,
'K'
,
'M'
,
'B'
,
'T'
];
// 单位数组:千(k)、百万(M)、十亿(B)、万亿(T)
const
exponent
=
Math
.
floor
(
Math
.
log10
(
num
));
const
unitIndex
=
Math
.
max
(
0
,
Math
.
floor
(
exponent
/
3
))
-
1
;
// 计算单位索引
// 缩放数值并保留三位有效数字
const
scaledNum
=
num
/
(
10
**
(
unitIndex
*
3
));
const
formatted
=
scaledNum
.
toLocaleString
(
'en-US'
,
{
precision
:
3
,
// 保留三位有效数字
rounding
:
'round-trip'
// 四舍五入
});
// 处理科学计数法(如 1.23e3 → 1230)
if
(
formatted
.
includes
(
'e'
))
{
const
[
significand
,
exp
]
=
formatted
.
split
(
'e'
);
return
significand
+
'0'
.
repeat
(
parseInt
(
exp
))
+
units
[
unitIndex
+
1
];
}
if
(
formatted
.
substring
(
3
,
4
)
==
','
)
return
formatted
.
substring
(
0
,
3
)
+
units
[
unitIndex
+
1
];
return
formatted
.
substring
(
0
,
4
)
+
units
[
unitIndex
+
1
];
},
login
(
name
)
{
if
((
name
&&
name
.
nickname
==
""
)
||
!
name
||
!
name
.
nickname
)
{
this
.
$emit
(
'login'
)
}
},
navigatorToProfile
(){
// #ifdef MP-DI
uni
.
navigateTo
({
url
:
'/pages/user-center/user-profile'
})
// #endif
},
},
};
</
script
>
...
...
@@ -145,10 +183,11 @@
@import
url("@/asset/css/flex.css")
;
.userHeaderBox
{
width
:
750rpx
;
height
:
622rpx
;
//
height: 622rpx;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748787642081151.png')
no-repeat
;
background-size
:
100%
100%
;
padding-top
:
118rpx
;
margin-bottom
:
40rpx
;
}
.titlenav
{
width
:
100%
;
...
...
@@ -245,7 +284,7 @@
.jz_LineDetaVPBLine
{
flex
:
1
;
height
:
10rpx
;
background
:
#
2E2E2E
;
background
:
#
000
;
}
.jz_LineDetaVPBBoxI
{
position
:
relative
;
...
...
@@ -286,26 +325,21 @@
background-size
:
100%
100%
;
}
.userHeadPasTop
{
padding
:
41rpx
65rpx
50rpx
65
rpx
;
padding
:
41rpx
40rpx
50rpx
40
rpx
;
}
.userHeadPasTop
view
{
text-align
:
center
;
}
.userHeadPasT
op
view
text
{
font-
family
:
HYYuanLongHei
;
font-weight
:
normal
;
.userHeadPasT
_Num
{
font-
size
:
34rpx
;
color
:
#4F360D
;
font-weight
:
bold
;
}
.userHeadPasT_Text
{
.userHeadPasTTeT
{
font-weight
:
500
;
font-size
:
28rpx
;
color
:
#4F360D
;
padding-top
:
14rpx
;
}
.userHeadPasMoney
view
{
font-size
:
20rpx
;
font-weight
:
bold
;
position
:
absolute
;
top
:
15rpx
;
left
:
-20rpx
;
padding-top
:
7rpx
;
}
.userHeadPasButtom
{
padding
:
21rpx
0
40rpx
39rpx
;
...
...
@@ -329,4 +363,5 @@
height
:
21rpx
;
margin-left
:
21rpx
;
}
</
style
>
pages/user-center/components/vipUserHeader.vue
View file @
c3bcaf7f
...
...
@@ -3,60 +3,54 @@
<view
class=
"titlenav"
:style=
"
{ paddingTop: nav }">
{{
pageTitle
}}
</view>
<view
class=
"userHeadPic row"
>
<view
class=
"userHeadPicL"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748864186439447.png"
mode=
"widthFix"
></image>
<u-avatar
:src=
"b2b_user_info.photo?b2b_user_info.photo:user_info.avatar"
size=
"70"
shape=
"circle"
></u-avatar>
<!--
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748864186439447.png"
mode=
"widthFix"
></image>
-->
</view>
<view
class=
"col column"
>
<text
class=
"userHeadPicR_title"
>
Ranjunjun
</text>
<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>
<view
class=
"userHeadPicR_VIP"
>
<im
g
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/202502111735vip.png"
/>
<im
age
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/202502111735vip.png"
/>
</view>
</view>
</view>
<view
class=
"userHeadInfoBox"
>
<view
class=
"userHeadInfo"
>
<view
class=
"userHeadInfo_Name"
>
王蕾钧
</view>
<view
class=
"userHeadInfo_text"
>
销售:李龙飞等3位
</view>
<img
class=
"userHeadInfo_vip"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/202502111735zk.png"
/>
<view
class=
"userHeadInfo_Name"
>
{{
b2b_user_info
.
name
}}
</view>
<view
class=
"userHeadInfo_text"
>
销售:
{{
b2b_user_info
.
salesBaseInfo
.
emName
}}
等3位
</view>
<image
class=
"userHeadInfo_vip"
mode=
"aspectFit"
style=
"width: 385rpx;height: 49rpx;"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/202502111735zk.png"
/>
<view
class=
"userHeadPasTop"
>
<view
class=
"userHeadPasT_Num row-sbs-n"
>
<view
class=
"row col"
>
<text
class=
"userHeadPasTextb"
style=
"font-size: 40rpx;color: #FF3166;"
>
60
</text>
</view>
<view
class=
"userHeadPasT_Nl"
>
<view
class=
"userHeadPasT_Lin"
></view>
</view>
<view
class=
"row col"
>
<view
class=
"userHeadPasMoney"
>
<text
class=
"userHeadPasMo"
>
¥
</text>
<text
style=
"font-size: 36rpx;"
>
248.2
</text>
</view>
</view>
<view
class=
"userHeadPasT_Nl"
>
<view
class=
"userHeadPasT_Lin"
></view>
</view>
<view
class=
"row col"
>
<text
class=
"userHeadPasTextb"
style=
"color: #E2C27A;font-size: 36rpx;"
>
3
</text>
</view>
</view>
<view
class=
"userHeadPasT_Text row-sbs-n"
>
<view
class=
"row col"
>
<text
class=
"userHeadPasTTeT"
style=
"font-size: 28rpx;font-weight: bold;"
>
<view
class=
"column"
>
<text>
60k
</text>
<text
class=
"userHeadPasTTeT"
>
幸福存折
</text>
</view>
<view
class=
"
userHeadPasT_Nl
"
>
<
view
class=
"userHeadPasT_Lin"
style=
"opacity: 0;"
></view
>
</view
>
<view
class=
"row col"
>
<
text
class=
"userHeadPasTTeT"
style=
"font-size: 26rpx;font-weight: 100;"
>
累计已省
<
/text>
<view
class=
"
column
"
>
<
text>
1852
</text
>
<text
class=
"userHeadPasTTeT"
>
我的积分
</text>
</view>
<view
class=
"userHeadPasT_Nl"
>
<view
class=
"userHeadPasT_Lin"
style=
"opacity: 0;"
></view>
<view
class=
"column"
>
<text>
248.2w
</text>
<text
class=
"userHeadPasTTeT"
>
累计已省
</text>
</view>
<view
class=
"row col"
>
<text
class=
"userHeadPasTTeT"
style=
"font-size: 26rpx;font-weight: 100;"
>
抵扣券
</text>
<view
class=
"column"
>
<text
class=
"userHeadPasTextb"
>
3
</text>
<text
class=
"userHeadPasTTeT"
>
优惠券
</text>
</view>
</view>
</view>
...
...
@@ -68,6 +62,7 @@
<
script
>
export
default
{
props
:[
'user_info'
,
'b2b_user_info'
],
data
()
{
return
{
pageTitle
:
"个人中心"
,
...
...
@@ -107,9 +102,7 @@
],
};
},
components
:
{
},
components
:
{},
created
()
{
},
...
...
@@ -124,7 +117,38 @@
},
methods
:
{
formatNumberWithUnit
(
num
)
{
if
(
num
===
0
)
return
'0.00'
;
const
units
=
[
''
,
'K'
,
'M'
,
'B'
,
'T'
];
// 单位数组:千(k)、百万(M)、十亿(B)、万亿(T)
const
exponent
=
Math
.
floor
(
Math
.
log10
(
num
));
const
unitIndex
=
Math
.
max
(
0
,
Math
.
floor
(
exponent
/
3
))
-
1
;
// 计算单位索引
// 缩放数值并保留三位有效数字
const
scaledNum
=
num
/
(
10
**
(
unitIndex
*
3
));
const
formatted
=
scaledNum
.
toLocaleString
(
'en-US'
,
{
precision
:
3
,
// 保留三位有效数字
rounding
:
'round-trip'
// 四舍五入
});
// 处理科学计数法(如 1.23e3 → 1230)
if
(
formatted
.
includes
(
'e'
))
{
const
[
significand
,
exp
]
=
formatted
.
split
(
'e'
);
return
significand
+
'0'
.
repeat
(
parseInt
(
exp
))
+
units
[
unitIndex
+
1
];
}
if
(
formatted
.
substring
(
3
,
4
)
==
','
)
return
formatted
.
substring
(
0
,
3
)
+
units
[
unitIndex
+
1
];
return
formatted
.
substring
(
0
,
4
)
+
units
[
unitIndex
+
1
];
},
login
(
name
)
{
if
((
name
&&
name
.
nickname
==
""
)
||
!
name
||
!
name
.
nickname
)
{
this
.
$emit
(
'login'
)
}
},
navigatorToProfile
(){
// #ifdef MP-DI
uni
.
navigateTo
({
url
:
'/pages/user-center/user-profile'
})
// #endif
},
},
};
</
script
>
...
...
@@ -170,7 +194,7 @@
.userHeadPicR_VIP
{
padding-top
:
3rpx
;
}
.userHeadPicR_VIP
im
g
{
.userHeadPicR_VIP
im
age
{
width
:
81rpx
;
height
:
26rpx
;
display
:
block
;
...
...
@@ -202,56 +226,26 @@
padding-top
:
16rpx
;
}
.userHeadInfo_vip
{
width
:
385rpx
;
height
:
49rpx
;
display
:
block
;
padding-top
:
29rpx
;
}
.userHeadPasTop
{
padding
:
88
rpx
0
50rpx
0
;
padding
:
120
rpx
0
50rpx
0
;
}
.userHeadPasTop
view
{
text-align
:
center
;
}
.userHeadPasTop
view
text
{
font-family
:
HYYuanLongHei
;
font-weight
:
normal
;
font-size
:
34rpx
;
font-weight
:
bold
;
}
.userHeadPasT_Text
{
text-align
:
center
;
color
:
#E2C27A
;
padding-top
:
14rpx
;
}
.userHeadPasMoney
{
width
:
100%
;
text-align
:
center
;
color
:
#E2C27A
;
}
.userHeadPasMo
{
font-size
:
20rpx
;
.userHeadPasT_Num
{
font-size
:
34rpx
;
font-weight
:
bold
;
margin-right
:
5rpx
;
}
.userHeadPasT_Nl
{
position
:
relative
;
}
.userHeadPasT_Nl
text
{
display
:
block
;
}
.userHeadPasT_Lin
{
position
:
absolute
;
right
:
0
;
top
:
3rpx
;
width
:
1rpx
;
height
:
39rpx
;
background
:
#E2C27A
;
opacity
:
0
.5
;
color
:
#E2C27A
;
}
.userHeadPasTextb
,
.userHeadPasTTeT
{
width
:
100%
;
display
:
block
;
text-align
:
center
;
.userHeadPasTTeT
{
font-size
:
28rpx
;
color
:
#987C3D
;
font-weight
:
100
;
padding-top
:
7rpx
;
}
</
style
>
pages/user-center/happinessPassbook.vue
0 → 100644
View file @
c3bcaf7f
<
template
>
<view
style=
"width:100vw;height:100vh;"
class=
"column"
>
<scroll-view
:scroll-y=
"true"
@
scroll=
"scrollHandler"
@
scrolltoupper=
"scrollTopHandler"
class=
"col"
style=
"height: 1px;width: 100%;"
>
<view
class=
"userStyle"
>
<view
class=
"headStatus"
v-if=
"scrollTop > 50"
:style=
"
{
zIndex: scrollTop
<
10
?
'
unset
'
:
2
,
opacity:
scrollTop
<
10
?
'
100
'
:
scrollTop
,
}"
>
<view
class=
"title"
>
{{
pageTitle
}}
</view>
</view>
<view
class=
"userBox"
style=
"height:100vh"
>
<happasHeader
:user_info=
"user_info"
:b2b_user_info=
"b2b_user_info"
@
login=
"openAuth"
></happasHeader>
<view
style=
"padding: 0 32rpx;width: 100vw;height: 1px;flex: 1;"
>
<view
class=
"userMyOrderBox column"
>
<view
class=
"row-sb-n"
style=
"padding: 20rpx 0;"
>
<view>
明细
</view>
<view
class=
"row"
>
<text>
2025年
</text>
<u-icon
name=
"arrow-down"
size=
"28"
color=
"#000"
></u-icon>
</view>
<view
class=
"row"
>
<text>
3月
</text>
<u-icon
name=
"arrow-down"
size=
"28"
color=
"#000"
></u-icon>
</view>
</view>
<scroll-view
:scroll-y=
"true"
class=
"col"
style=
"height: 1px;flex: 1; width: 100%;"
>
<view
class=
"userHeadPListBox"
>
<view
class=
"userHeadPList row"
v-for=
"(item,index) in 10"
>
<view
class=
"userHeadPListL"
>
<image
mode=
"scaleToFill"
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638774847991690497.png"
/>
<text>
共4件
</text>
</view>
<view
class=
"userHeadPListA col column"
>
<view
class=
"userHeadPListATitel"
>
幸福存折返佣
</view>
<view
class=
"userHeadPListATime"
>
2025-02-08 15:27
</view>
</view>
<view
class=
"userHeadPListR"
>
+¥30
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</
template
>
<
script
>
import
happasHeader
from
"./components/happasHeader.vue"
;
export
default
{
components
:
{
happasHeader
,
},
data
()
{
return
{
pageTitle
:
"幸福存折"
,
scrollTop
:
0
,
showAuth
:
false
,
b2b_user_info
:
{},
mall_UserInfo
:
{},
u
:
{},
user_info
:
{},
shopBasics
:
{},
PointNum
:
0
,
};
},
onLoad
()
{
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
()
{
this
.
userCenterinfo
(
2
);
},
methods
:
{
goDetails
(
item
)
{
return
let
url
=
null
let
msg
=
null
// #ifdef MP-DI
msg
=
`OrderNo=
${
item
.
orderNo
}
`
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
){
//景点门票
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
){
//酒店住宿
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
){
//目的地用车
}
else
if
(
item
.
goodsType
==
15
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
16
)
url
=
`airTicket/airTicketOrderDetail?`
//机票
// #endif
// #ifdef MP-AG
msg
=
`orderId=
${
item
.
erpOrderId
}
`
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
==
4
){
//景点门票
}
else
if
(
item
.
goodsType
==
3
){
//酒店住宿
}
else
if
(
item
.
goodsType
==
5
){
//目的地用车
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
1
){
//机票
url
=
`airTicket/airTicketOrderDetail?`
msg
=
`id=
${
item
.
erpOrderId
}
`
}
// #endif
if
(
url
)
{
let
path
=
`/pages/
${
url
}${
msg
}
`
uni
.
navigateTo
({
url
:
path
,
});
}
},
openAuth
()
{
this
.
showAuth
=
true
;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
scrollHandler
(
e
)
{
this
.
scrollTop
=
e
.
detail
.
scrollTop
;
},
scrollTopHandler
()
{
this
.
scrollTop
=
0
;
},
goUrl
(
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()
}
}
);
let
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
if
(
u
&&
type
==
1
)
{
this
.
getMicroShopBasics
();
}
},
getMicroShopBasics
()
{
this
.
request2
({
url
:
"/api/AppletUser/GetMicroShopBasics"
,
data
:
{},
},
(
res
)
=>
{
this
.
shopBasics
=
res
.
data
;
}
)
},
reloadUserinfo
()
{
this
.
b2b_user_info
=
uni
.
getStorageSync
(
'b2b_user'
);
this
.
userCenterinfo
();
this
.
u
=
this
.
user_info
;
this
.
mall_UserInfo
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
uni
.
getStorageSync
(
"mall_UserInfo"
)
:
{};
this
.
getUserPoint
();
},
getUserPoint
()
{
this
.
request2
({
url
:
"/api/AppletPoint/GetAppletUserPointDetailPageList"
,
data
:
{
pageIndex
:
1
,
pageSize
:
10
,
Type
:
0
},
},
(
res
)
=>
{
this
.
PointNum
=
res
.
data
.
pageData
.
PointNum
;
}
);
},
}
};
</
script
>
<
style
>
@import
url('../../asset/css/flex.css')
;
.row-sbas-n
{
justify-content
:
space-between
;
}
.relative
{
position
:
relative
;
}
.userStyle
.userBox
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
background
:
#f3f4f6
;
min-height
:
100vh
;
padding-bottom
:
env
(
safe-area-inset-bottom
);
}
.order_bar_list
{
padding
:
22
rpx
55
rpx
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
}
.order_bar_item
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
margin-top
:
20
rpx
;
position
:
relative
;
}
.badge
{
position
:
absolute
;
right
:
-10
rpx
;
top
:
-10
rpx
;
padding
:
0
8
rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-size
:
20
rpx
;
background
:
#FF3166
;
color
:
#fff
;
min-width
:
28
rpx
;
height
:
28
rpx
;
border-radius
:
14
rpx
;
}
.headStatus
{
position
:
fixed
;
width
:
140vw
;
padding-right
:
40vw
;
padding-bottom
:
10px
;
left
:
0
;
right
:
0
;
top
:
0
;
display
:
flex
;
background-image
:
linear-gradient
(
to
right
,
#e6b865
,
#ebb45e
);
}
.headStatus
.title
{
font-size
:
18px
;
color
:
#fff
;
flex
:
1
;
width
:
1px
;
line-height
:
34px
;
text-align
:
center
;
}
.userMyOrder
{
background
:
#FFF
;
border-radius
:
20
rpx
;
padding
:
33
rpx
0
22
rpx
0
;
}
.userMyOrderTitle
{
padding
:
23
rpx
31
rpx
0
31
rpx
;
}
.userMyOrderTitL
{
font-family
:
PingFang
SC
;
font-weight
:
800
;
font-size
:
32
rpx
;
color
:
#080A09
;
}
.userMyOrderTitR
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#B2B3B3
;
align-items
:
center
;
}
.userMyOrderTitRIght
{
margin-left
:
11
rpx
;
transform
:
rotate
(
90deg
);
}
.orderProductBox
{
padding
:
0
20
rpx
;
}
.orderProduct
{
width
:
648
rpx
;
height
:
132
rpx
;
background
:
#F7F7F7
;
border-radius
:
18
rpx
;
padding
:
21
rpx
20
rpx
;
}
.orderProductL
{
width
:
91
rpx
;
height
:
88
rpx
;
border-radius
:
14
rpx
;
overflow
:
hidden
;
margin-right
:
18
rpx
;
}
.orderProductR_state
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#080A09
;
padding-top
:
5
rpx
;
}
.orderProductR_text
{
width
:
100%
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#8C8C8C
;
padding-top
:
4
rpx
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.userMyOrderBox
{
background
:
#FFFFFF
;
height
:
100%
;
overflow
:
hidden
;
border-radius
:
20
rpx
;
padding
:
25
rpx
34
rpx
45
rpx
34
rpx
;
}
.userHeadPList
{
padding
:
20
rpx
0
;
}
.userHeadPListL
{
width
:
91
rpx
;
height
:
88
rpx
;
border-radius
:
14
rpx
;
overflow
:
hidden
;
position
:
relative
;
}
.userHeadPListL
image
{
width
:
91
rpx
;
height
:
88
rpx
;
display
:
block
;
}
.userHeadPListL
text
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
z-index
:
1
;
background
:
rgb
(
178
,
179
,
179
,
.8
);
border-radius
:
0
rpx
0
rpx
14
rpx
14
rpx
;
color
:
#fff
;
font-size
:
20
rpx
;
padding
:
5
rpx
0
;
text-align
:
center
;
}
.userHeadPListA
{
margin-left
:
29
rpx
;
margin-right
:
20
rpx
;
}
.userHeadPListATitel
{
font-weight
:
bold
;
font-size
:
28
rpx
;
color
:
#080A09
;
margin-top
:
5
rpx
;
}
.userHeadPListATime
{
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#8C8C8C
;
margin-top
:
18
rpx
;
}
.userHeadPListR
{
font-weight
:
bold
;
font-size
:
28
rpx
;
color
:
#B99846
;
}
</
style
>
\ No newline at end of file
pages/user-center/userVip-center.vue
0 → 100644
View file @
c3bcaf7f
<
template
>
<view
style=
"width:100vw;height:100vh;"
class=
"column"
>
<scroll-view
:scroll-y=
"true"
@
scroll=
"scrollHandler"
@
scrolltoupper=
"scrollTopHandler"
class=
"col"
style=
"height: 1px;width: 100%;"
>
<view
class=
"userStyle"
style=
"min-height:100vh"
>
<view
class=
"headStatus"
v-if=
"scrollTop > 50"
:style=
"
{
zIndex: scrollTop
<
10
?
'
unset
'
:
2
,
opacity:
scrollTop
<
10
?
'
100
'
:
scrollTop
,
}"
>
<view
class=
"title"
>
{{
pageTitle
}}
</view>
</view>
<view
class=
"userBox"
>
<userHeader
:user_info=
"user_info"
:b2b_user_info=
"b2b_user_info"
@
login=
"openAuth"
></userHeader>
<!--
<vipUserHeader
:user_info=
"user_info"
:b2b_user_info=
"b2b_user_info"
@
login=
"openAuth"
></vipUserHeader>
-->
<view
class=
"userMyOrderBox"
>
<view
style=
"position: relative;top:-13rpx"
>
<view
class=
"userMyOrder"
>
<view
class=
"userMyOrderTitle row-sbas-n col"
>
<view
class=
"userMyOrderTitL"
>
我的订单
</view>
<view
class=
"userMyOrderTitR row"
@
click=
"goUrl('/pages/AggregateOrders/AggregateOrdersList')"
>
<text>
全部
</text>
<view>
<u-icon
class=
"userMyOrderTitRIght"
name=
"arrow-up"
size=
"30"
color=
"#B2B3B3"
></u-icon>
</view>
</view>
</view>
<view
class=
"order_bar_list"
>
<view
class=
"order_bar_item"
@
click=
"goUrl('/pages/AggregateOrders/AggregateOrdersList?OrderStatus=1')"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748963970628311.png"
style=
"width: 66rpx; height: auto"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
待付款
</Text>
<view
class=
"badge"
></view>
</view>
<view
class=
"order_bar_item"
@
click=
"goUrl('/pages/AggregateOrders/AggregateOrdersList?OrderStatus=2')"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748963971941398.png"
style=
"width: 66rpx; height: auto"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
待出行
</Text>
<view
class=
"badge"
></view>
</view>
<view
class=
"order_bar_item"
@
click=
"goUrl('/pages/AggregateOrders/AggregateOrdersList?OrderStatus=3')"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748963971902348.png"
style=
"width: 66rpx; height: auto"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
已完成
</Text>
<view
class=
"badge"
></view>
</view>
<view
class=
"order_bar_item"
@
click=
"goUrl('/pages/AggregateOrders/AggregateOrdersList?OrderStatus=5')"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748964440207840.png"
style=
"width: 66rpx; height: auto"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
售后
</Text>
<view
class=
"badge"
></view>
</view>
</view>
<view
class=
"orderProductBox"
>
<view
class=
"orderProduct row items-center"
@
click=
"goDetails"
>
<view
class=
"orderProductL"
>
<image
style=
"width: 91rpx; height: 88rpx;"
mode=
"aspectFill"
src=
"http://imgfile.oytour.com/Upload/WebSite/202501090355546390000000073.jpg"
></image>
</view>
<view
class=
"orderProductR col column"
style=
"width: 1px;"
>
<view
class=
"orderProductR_state"
>
售后
</view>
<view
class=
"orderProductR_text"
>
(东东一地) 河津樱早樱东京富士山纯 河津樱早樱东京富士山纯
</view>
</view>
</view>
</view>
</view>
<view
style=
"height: 20rpx;"
></view>
<view
class=
"userMyOrder"
style=
"padding: 12rpx 0 20rpx 0;"
>
<view
class=
"order_bar_list"
>
<view
class=
"order_bar_item relative"
style=
"margin-top: 0;"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638749519965857485.png"
style=
"width: 70rpx; height: 70rpx"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
在线客服
</Text>
<button
open-type=
"contact"
style=
"position: absolute;left: 0;top: 0;bottom: 0;right: 0;z-index: 1;opacity: 0;"
></button>
</view>
<view
class=
"order_bar_item"
style=
"margin-top: 0;"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638749520007722617.png"
style=
"width: 70rpx; height: 70rpx"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
年底大红包
</Text>
</view>
<view
class=
"order_bar_item"
style=
"margin-top: 0;"
@
click=
"goUrl('/pages/index/index')"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638749520286130928.png"
style=
"width: 70rpx; height: 70rpx"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
我的旅行社
</Text>
</view>
<view
class=
"order_bar_item"
style=
"margin-top: 0;"
@
click=
"goUrl('/pages/coupon/list/list')"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638749520367368328.png"
style=
"width: 70rpx; height: 70rpx"
mode=
"widthFix"
></image>
<Text
style=
"margin-top: 10rpx;font-size: 24rpx;"
>
领券中心
</Text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<tabbars></tabbars>
</view>
</
template
>
<
script
>
import
tabbars
from
"@/components/tabbar/index"
;
import
auth
from
"@/components/auth/index.vue"
;
import
userHeader
from
"./components/userHeader.vue"
;
// import vipUserHeader from "./components/vipUserHeader.vue";
export
default
{
components
:
{
tabbars
,
auth
,
userHeader
,
// vipUserHeader
},
data
()
{
return
{
pageTitle
:
"个人中心"
,
scrollTop
:
0
,
showAuth
:
false
,
b2b_user_info
:
{},
mall_UserInfo
:
{},
u
:
{},
user_info
:
{},
shopBasics
:
{},
PointNum
:
0
,
};
},
onLoad
()
{
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
()
{
this
.
userCenterinfo
(
2
);
},
methods
:
{
goDetails
(
item
)
{
return
let
url
=
null
let
msg
=
null
// #ifdef MP-DI
msg
=
`OrderNo=
${
item
.
orderNo
}
`
if
(
item
.
goodsType
>
0
&&
item
.
goodsType
<
4
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
>
3
&&
item
.
goodsType
<
8
){
//景点门票
}
else
if
(
item
.
goodsType
>
7
&&
item
.
goodsType
<
12
){
//酒店住宿
}
else
if
(
item
.
goodsType
>
11
&&
item
.
goodsType
<
15
){
//目的地用车
}
else
if
(
item
.
goodsType
==
15
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
16
)
url
=
`airTicket/airTicketOrderDetail?`
//机票
// #endif
// #ifdef MP-AG
msg
=
`orderId=
${
item
.
erpOrderId
}
`
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
==
4
){
//景点门票
}
else
if
(
item
.
goodsType
==
3
){
//酒店住宿
}
else
if
(
item
.
goodsType
==
5
){
//目的地用车
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
1
){
//机票
url
=
`airTicket/airTicketOrderDetail?`
msg
=
`id=
${
item
.
erpOrderId
}
`
}
// #endif
if
(
url
)
{
let
path
=
`/pages/
${
url
}${
msg
}
`
uni
.
navigateTo
({
url
:
path
,
});
}
},
openAuth
()
{
this
.
showAuth
=
true
;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
scrollHandler
(
e
)
{
this
.
scrollTop
=
e
.
detail
.
scrollTop
;
},
scrollTopHandler
()
{
this
.
scrollTop
=
0
;
},
goUrl
(
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()
}
}
);
let
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
if
(
u
&&
type
==
1
)
{
this
.
getMicroShopBasics
();
}
},
getMicroShopBasics
()
{
this
.
request2
({
url
:
"/api/AppletUser/GetMicroShopBasics"
,
data
:
{},
},
(
res
)
=>
{
this
.
shopBasics
=
res
.
data
;
}
)
},
reloadUserinfo
()
{
this
.
b2b_user_info
=
uni
.
getStorageSync
(
'b2b_user'
);
this
.
userCenterinfo
();
this
.
u
=
this
.
user_info
;
this
.
mall_UserInfo
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
?
uni
.
getStorageSync
(
"mall_UserInfo"
)
:
{};
this
.
getUserPoint
();
},
getUserPoint
()
{
this
.
request2
({
url
:
"/api/AppletPoint/GetAppletUserPointDetailPageList"
,
data
:
{
pageIndex
:
1
,
pageSize
:
10
,
Type
:
0
},
},
(
res
)
=>
{
this
.
PointNum
=
res
.
data
.
pageData
.
PointNum
;
}
);
},
}
};
</
script
>
<
style
>
@import
url('../../asset/css/flex.css')
;
.row-sbas-n
{
justify-content
:
space-between
;
}
.relative
{
position
:
relative
;
}
.userStyle
.userBox
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
background
:
#f3f4f6
;
min-height
:
100vh
;
padding-bottom
:
env
(
safe-area-inset-bottom
);
}
.order_bar_list
{
padding
:
22
rpx
55
rpx
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
}
.order_bar_item
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
margin-top
:
20
rpx
;
position
:
relative
;
}
.badge
{
position
:
absolute
;
right
:
-10
rpx
;
top
:
-10
rpx
;
padding
:
0
8
rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-size
:
20
rpx
;
background
:
#FF3166
;
color
:
#fff
;
min-width
:
28
rpx
;
height
:
28
rpx
;
border-radius
:
14
rpx
;
}
.headStatus
{
position
:
fixed
;
width
:
140vw
;
padding-right
:
40vw
;
padding-bottom
:
10px
;
left
:
0
;
right
:
0
;
top
:
0
;
display
:
flex
;
background-image
:
linear-gradient
(
to
right
,
#e6b865
,
#ebb45e
);
}
.headStatus
.title
{
font-size
:
18px
;
color
:
#fff
;
flex
:
1
;
width
:
1px
;
line-height
:
34px
;
text-align
:
center
;
}
.userMyOrderBox
{
padding
:
0
31
rpx
;
}
.userMyOrder
{
background
:
#FFF
;
border-radius
:
20
rpx
;
padding
:
33
rpx
0
22
rpx
0
;
}
.userMyOrderTitle
{
padding
:
23
rpx
31
rpx
0
31
rpx
;
}
.userMyOrderTitL
{
font-family
:
PingFang
SC
;
font-weight
:
800
;
font-size
:
32
rpx
;
color
:
#080A09
;
}
.userMyOrderTitR
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#B2B3B3
;
align-items
:
center
;
}
.userMyOrderTitRIght
{
margin-left
:
11
rpx
;
transform
:
rotate
(
90deg
);
}
.orderProductBox
{
padding
:
0
20
rpx
;
}
.orderProduct
{
width
:
648
rpx
;
height
:
132
rpx
;
background
:
#F7F7F7
;
border-radius
:
18
rpx
;
padding
:
21
rpx
20
rpx
;
}
.orderProductL
{
width
:
91
rpx
;
height
:
88
rpx
;
border-radius
:
14
rpx
;
overflow
:
hidden
;
margin-right
:
18
rpx
;
}
.orderProductR_state
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
28
rpx
;
color
:
#080A09
;
padding-top
:
5
rpx
;
}
.orderProductR_text
{
width
:
100%
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
font-size
:
24
rpx
;
color
:
#8C8C8C
;
padding-top
:
4
rpx
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
</
style
>
\ No newline at end of file
pages/visa/visa_SureOrder.vue
View file @
c3bcaf7f
...
...
@@ -328,6 +328,9 @@
.jz_MyGuestList
{
margin-top
:
40
rpx
;
}
/
deep
/
.showModalInfo
.u-drawer-bottom
{
background-color
:
rgba
(
23
,
23
,
23
,
0
)
!important
;
}
</
style
>
<
template
>
<view
class=
"jz_Reserve"
v-if=
"orderData"
>
...
...
@@ -388,7 +391,7 @@
</view>
</view>
<view
class=
"jz_form"
>
<view
class=
"jz_form"
v-if=
"orderData && orderData.OrderModel"
>
<view
class=
"form-items"
>
<view
class=
"label"
>
订单编号
</view>
<view
class=
"jz_SureVal"
>
...
...
@@ -445,7 +448,7 @@
</view>
</view>
</view>
<view
class=
"empty-block"
></view>
<view
class=
"empty-block"
v-if=
"orderData.OrderModel&&orderData.OrderModel.GuestList&&orderData.OrderModel.GuestList.length>0"
></view>
<view
class=
"jz_form"
v-if=
"orderData.OrderModel.Remark"
>
<view
class=
"form-items"
style=
"border-bottom: 0"
>
<view
class=
"label"
>
备注
</view>
...
...
@@ -453,7 +456,9 @@
</view>
</view>
<view
class=
"empty-block"
></view>
<view
style=
"padding: 50rpx 40rpx"
>
<cancelProgress
:datas=
"orderData"
></cancelProgress>
<view
class=
"empty-block"
></view>
<view
style=
"padding: 50rpx 40rpx"
v-if=
"orderData.OrderModel"
>
<view
class=
"big-title"
>
<text>
费用明细
</text>
</view>
...
...
@@ -522,13 +527,13 @@
<view
class=
"jz_orderbox flex"
v-if=
"showPayBtn"
>
<view
style=
"display: flex"
>
<!-- #ifdef MP-DI -->
<button
class=
"jz_OrderReNow"
@
click=
"goCancelZK"
<button
v-if=
"orderData.OrderStatus==1||orderData.OrderStatus==2"
class=
"jz_OrderReNow"
@
click=
"goCancelZK"
style=
"background: #fff; color: #111; border: 1px solid #111"
:disabled=
"submitCancel"
:loading=
"submitCancel"
>
取消
</button>
<button
class=
"jz_OrderReNow"
<button
v-if=
"orderData.OrderStatus==1"
class=
"jz_OrderReNow"
style=
"margin-left: 20rpx;"
@
click=
"submitGetCodeByOrderNo"
:disabled=
"submit"
:loading=
"submit"
>
立即支付
...
...
@@ -569,7 +574,9 @@
<!-- #ifdef MP-ALIPAY -->
<subscribe-msg
/>
<!-- #endif -->
<cancelPrompt
:showModal=
"showModal"
@
cancel=
"cancelPrompt"
></cancelPrompt>
<cancelPrompt
v-if=
"showModal"
:showModal=
"showModal"
@
cancel=
"cancelModal"
:orderNo=
"orderData.OrderNo"
></cancelPrompt>
</view>
</template>
...
...
@@ -577,9 +584,10 @@
</
script
>
<
script
>
import
cancelPrompt
from
'../AggregateOrders/components/cancelPrompt.vue'
import
cancelPrompt
from
'@/components/cancelPrompt/cancelPrompt.vue'
import
cancelProgress
from
'@/components/cancelPrompt/cancelProgress.vue'
export
default
{
components
:
{
cancelPrompt
},
components
:
{
cancelPrompt
,
cancelProgress
},
data
()
{
return
{
pageTitle
:
"订单详情"
,
...
...
@@ -589,7 +597,10 @@
MiniAppUserId
:
0
,
},
orderData
:
null
,
orderStatus
:
{},
orderStatus
:
{
code
:
0
,
text
:
""
,
},
submit
:
false
,
submitCancel
:
false
,
showPayBtn
:
true
,
...
...
@@ -605,9 +616,7 @@
onLoad
(
option
)
{
if
(
option
.
orderData
)
{
this
.
orderData
=
JSON
.
parse
(
decodeURIComponent
(
option
.
orderData
));
}
else
if
(
option
.
orderId
&&!
option
.
OrderTypeStr
)
{
this
.
initOrderInfo
(
option
.
orderId
);
}
else
if
(
option
.
OrderNo
||
(
option
.
orderId
&&
option
.
OrderTypeStr
)){
}
else
if
(
option
.
OrderNo
||
(
option
.
orderId
&&
option
.
OrderTypeStr
)){
if
(
option
.
OrderTypeStr
){
this
.
OrderTypeStr
=
option
.
OrderTypeStr
}
...
...
@@ -618,10 +627,13 @@
this
.
OrderNo
=
option
.
OrderNo
}
this
.
getOrderInfoHandler
()
}
}
else
if
(
option
.
orderId
)
{
this
.
orderId
=
option
.
orderId
this
.
initOrderInfo
(
option
.
orderId
);
}
},
methods
:
{
cancel
Prompt
(){
cancel
Modal
(){
this
.
showModal
=
false
},
submitGetCodeByOrderNo
()
{
...
...
@@ -753,35 +765,45 @@
}
},
goCancelZK
()
{
let
that
=
this
if
(
this
.
orderData
.
OrderStatus
==
2
)
{
return
this
.
showModal
=
true
};
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
this
.
submitCancel
=
true
;
if
(
this
.
orderData
.
OrderStatus
==
1
)
{
this
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
this
.
OrderNo
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
uni
.
navigateTo
({
url
:
"/pages/visa/visa_MyOrder"
,
});
}
this
.
submitCancel
=
false
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
this
.
submitCancel
=
false
wx
.
showModal
({
title
:
'提示'
,
content
:
'确定取消订单?'
,
success
:
(
tip
)
=>
{
if
(
tip
.
confirm
)
{
that
.
submitCancel
=
true
;
that
.
apipost
(
"GetCancelOrder_post"
,
{
OrderNo
:
that
.
OrderNo
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
uni
.
navigateTo
({
url
:
"/pages/visa/visa_MyOrder"
,
});
}
that
.
submitCancel
=
false
},
(
err
)
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
"none"
,
});
that
.
submitCancel
=
false
}
);
}
);
}
}
})
},
getWeek
(
date
)
{
var
weekArray
=
new
Array
(
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
);
...
...
@@ -814,20 +836,20 @@
}
// #ifdef MP-AG
this
.
formatStatus
(
this
.
orderD
ata
.
OrderModel
.
VisaOrderStatus
,
this
.
orderD
ata
.
OrderModel
.
Income
,
this
.
orderD
ata
.
OrderModel
.
TotalPrice
,
this
.
orderD
ata
.
OrderModel
.
PlatformTax
res
.
d
ata
.
OrderModel
.
VisaOrderStatus
,
res
.
d
ata
.
OrderModel
.
Income
,
res
.
d
ata
.
OrderModel
.
TotalPrice
,
res
.
d
ata
.
OrderModel
.
PlatformTax
);
// #endif
}
else
{
this
.
orderData
=
{
result
:
-
1
,
};
}
},
(
e
)
=>
{}
(
e
)
=>
{
this
.
orderData
=
{
result
:
-
1
,
};
}
);
},
formatStatus
(
status
,
Income
,
TotalPrice
,
PlatformTax
)
{
...
...
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