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
5bb41d5d
Commit
5bb41d5d
authored
Feb 18, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
a2d145fd
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
917 additions
and
17 deletions
+917
-17
pages.json
pages.json
+3
-0
visaDetail.vue
pages/visa/visaDetail.vue
+1
-1
visaList.vue
pages/visa/visaList.vue
+2
-3
visa_MyOrder.vue
pages/visa/visa_MyOrder.vue
+10
-13
visa_SureOrder.vue
pages/visa/visa_SureOrder.vue
+901
-0
No files found.
pages.json
View file @
5bb41d5d
...
...
@@ -762,6 +762,9 @@
},
{
"path"
:
"visa_MyOrder"
//签证-我的订单
},
{
"path"
:
"visa_SureOrder"
//签证-订单详情
}
]
}
...
...
pages/visa/visaDetail.vue
View file @
5bb41d5d
...
...
@@ -133,7 +133,7 @@
<text
style=
"font-size: 22rpx"
>
¥
</text>
<!-- 原b2b -->
<text
style=
"font-size: 40rpx;font-family: nav-font;"
>
{{discountPrice}}
</text>
<text
style=
"font-size: 22rpx"
>
/
起
</text>
<text
style=
"font-size: 22rpx"
>
/
人
</text>
</view>
<view
style=
"display: flex; align-items: center"
>
<!-- #ifdef MP-WEIXIN -->
...
...
pages/visa/visaList.vue
View file @
5bb41d5d
...
...
@@ -82,7 +82,7 @@
</view>
<view
class=
"col column"
>
<view
style=
"padding: 0 30rpx 0 30rpx;"
>
<view
class=
"uDropdownBox"
v-if=
"scrollTop <=20"
>
<view
class=
"uDropdownBox"
>
<u-dropdown
ref=
"uDropdown"
@
open=
"open"
@
close=
"close"
active-color=
"#000"
inactive-color=
"#444"
>
<u-dropdown-item
class=
"col"
v-model=
"msg.ManagementName"
:title=
"optionsTitle[0]"
:options=
"VisaTypeList"
...
...
@@ -131,7 +131,7 @@
</view>
<view
class=
"visaListNumR"
>
<text
style=
"font-size: 20rpx;"
>
CNY
</text>
<text
class=
"price-Num"
>
{{ item.visaB2CPrice }}
</text>
<text
class=
"price-Num"
>
{{
$utils.getretailer()?item.visaPrice:
item.visaB2CPrice }}
</text>
<text
class=
"price-stuff"
style=
"font-size: 20rpx;color: rgba(164, 164, 164, 1)"
>
元
</text>
</view>
</view>
...
...
@@ -314,7 +314,6 @@ export default {
value
:
Countrys
[
i
].
Id
,
})
}
let
VisaTypeList
=
res
.
data
.
VisaTypeList
let
VisaType
=
{
Id
:
0
,
...
...
pages/visa/visa_MyOrder.vue
View file @
5bb41d5d
...
...
@@ -101,7 +101,7 @@
<view
class=
"jz_OrderList"
v-for=
"(item, index) in dataList"
:key=
"index"
@
click=
"goOrderDetail(item)"
>
<view
class=
"jz_OrderTop"
>
<view
class=
"jz_Oleft"
:class=
"
{ isShowAll: !item.isShowHalf }">
{{
item
.
titl
e
}}
{{
item
.
nam
e
}}
</view>
<view
style=
"margin-left: 10px"
>
<u-icon
name=
"arrow-down"
@
click
.
native
.
stop=
"getShow(item)"
v-if=
"item.isShowHalf"
color=
"#2979ff"
size=
"28"
></u-icon>
...
...
@@ -113,13 +113,13 @@
</view>
<view
style=
"display: flex"
>
<view
class=
"jz_MyOrder_img"
>
<img
mode=
"aspectFill"
v-if=
"item.
imgCover && item.imgCover.length>0"
:src=
"item.imgCover
[0].url"
alt=
""
/>
<img
mode=
"aspectFill"
v-if=
"item.
coverImageList && item.coverImageList.length>0"
:src=
"item.coverImageList
[0].url"
alt=
""
/>
</view>
<view
class=
"jz_XiaDan"
>
<view>
下单时间:
{{
item
.
create
Dat
e
}}
</view>
<view
style=
"margin-top: 22rpx"
>
订单总额:¥
{{
item
.
preferPrice
}}
,
<view>
下单时间:
{{
item
.
create
Tim
e
}}
</view>
<view
style=
"margin-top: 22rpx"
>
订单总额:¥
{{
item
.
dueInMoney
}}
,
<text
v-if=
"item.discountMoney&&item.discountMoney>0"
style=
"margin-left: 15px;"
>
优惠金额:¥
<text
style=
"color:indianred"
>
{{
item
.
discountMoney
}}
</text></text>
<text
style=
"margin-left: 15px;"
>
已付款金额:¥
<text
style=
"color:indianred"
>
{{
item
.
customerPayMoney
?
item
.
customerPayMoney
:
0
}}
</text></text>
<text
v-if=
"item.customerPayMoney>0"
style=
"margin-left: 15px;"
>
已付款金额:¥
<text
style=
"color:indianred"
>
{{
item
.
customerPayMoney
?
item
.
customerPayMoney
:
0
}}
</text></text>
</view>
</view>
</view>
...
...
@@ -129,7 +129,7 @@
<u-tag
mode=
"plain"
border-color=
"#DFBE6E"
color=
"#DFBE6E"
text=
"待发放优惠券"
size=
"mini"
v-if=
"item.autoCouponId==0"
></u-tag>
<u-tag
mode=
"plain"
border-color=
"#1d1d1d"
color=
"#1d1d1d"
text=
"已发放优惠券"
size=
"mini"
v-else-if=
"item.autoCouponId==1"
></u-tag>
</view>
<view
class=
"jz_Zailai"
style=
"margin-right: 10rpx"
@
click
.
stop=
"go
jz
_List"
>
再来一单
</view>
<view
class=
"jz_Zailai"
style=
"margin-right: 10rpx"
@
click
.
stop=
"go
visa
_List"
>
再来一单
</view>
<!-- #ifdef MP-WEIXIN -->
<!--
<button
v-if=
"item.orderState == 2"
class=
"jz_Zailai"
@
click
.
stop=
"goZhifu(item)"
style=
"width: 110rpx; margin-right: 10rpx; margin-left: 0rpx"
>
...
...
@@ -139,7 +139,7 @@
<!-- #ifdef MP-ALIPAY -->
<view
v-if=
"item.orderState == 2"
class=
"jz_Zailai"
style=
"width: 110rpx; margin-right: 10rpx"
@
click
.
stop=
"goZhifuAli(item)"
>
付款
</view>
<!-- #endif -->
<view
v-if=
"item.isApplyForCancel != 1 && item.
orderState != 4
&& item.customerPayMoney==0"
class=
"jz_Zailai"
<view
v-if=
"item.isApplyForCancel != 1 && item.
visaOrderStatus != 3
&& item.customerPayMoney==0"
class=
"jz_Zailai"
style=
"width: 110rpx"
@
click
.
stop=
"goCancel(item)"
>
取消
</view>
</view>
</view>
...
...
@@ -267,7 +267,7 @@
},
goOrderDetail
(
item
)
{
uni
.
navigateTo
({
url
:
"/pages/
jiuzhai/jz_SureOrder?orderId="
+
item
.
orderI
d
,
url
:
"/pages/
visa/visa_SureOrder?orderId="
+
item
.
i
d
,
});
},
change
(
i
)
{
...
...
@@ -287,9 +287,9 @@
this
.
$forceUpdate
();
},
//跳转
go
jz
_List
()
{
go
visa
_List
()
{
uni
.
navigateTo
({
url
:
"/pages/
jiuzhai/jz_Line
"
,
url
:
"/pages/
visa/visaList
"
,
});
},
lower
(
e
)
{
...
...
@@ -313,9 +313,6 @@
if
(
type
==
1
)
{
this
.
dataList
=
[];
}
// this.msg.MiniAppUserId = this.userInfo.UserId;
// this.msg.CustomerId = this.b2b_user_info.customerId;
// this.msg.DirectCustomerId = this.b2b_user_info.directCustomerId
this
.
apipost
(
"b2c_get_GetB2BOrderVisaOrderList"
,
this
.
msg
,
...
...
pages/visa/visa_SureOrder.vue
0 → 100644
View file @
5bb41d5d
<
style
>
.jz_SureOrder
{
position
:
relative
;
}
.jz_SureTop
{
width
:
100%
;
box-shadow
:
0px
2px
15px
0px
rgba
(
76
,
76
,
76
,
0.13
);
background-color
:
#fff
;
border-bottom-left-radius
:
60
rpx
;
border-bottom-right-radius
:
60
rpx
;
padding
:
40
rpx
;
}
.jz_SureDfk
{
color
:
#111111
;
font-size
:
40
rpx
;
font-weight
:
bold
;
margin-left
:
26
rpx
;
}
.jz_SureContent
{
width
:
90%
;
margin
:
auto
;
min-height
:
100px
;
}
.jz_SureCommodity
{
padding
:
30
rpx
0
;
display
:
flex
;
border-bottom
:
1px
solid
#e6e6e6
;
}
.jzSureMoney
{
color
:
#333333
;
font-weight
:
bold
;
font-size
:
20
rpx
;
}
.jz_SuOrder_img
{
width
:
100
rpx
;
height
:
100
rpx
;
border-radius
:
20
rpx
;
overflow
:
hidden
;
flex-shrink
:
0
;
}
.jz_SuOrder_img
img
{
width
:
100%
;
height
:
100%
;
}
.jz_OrderNum
{
color
:
#8f8f90
;
font-size
:
24
rpx
;
margin-right
:
50
rpx
;
}
.jz_GoodName
{
color
:
#333333
;
font-size
:
28
rpx
;
width
:
70%
;
margin-left
:
15px
;
font-weight
:
bold
;
}
.jz_OrderBold
{
color
:
#08090e
;
font-weight
:
bold
;
}
.jz_PayDiv
{
position
:
absolute
;
width
:
90%
;
margin
:
auto
;
bottom
:
30
rpx
;
display
:
flex
;
justify-content
:
space-between
;
}
.jz_CancleBtn
{
width
:
310
rpx
;
height
:
80
rpx
;
border
:
1px
solid
#111111
;
border-radius
:
16
rpx
;
color
:
#111111
;
font-weight
:
bold
;
text-align
:
center
;
line-height
:
80
rpx
;
font-size
:
28
rpx
;
}
.jz_Reserve
{
padding-bottom
:
120
rpx
;
}
.jz_ReserTop
{
width
:
100%
;
min-height
:
300
rpx
;
box-shadow
:
0px
2px
15px
0px
rgba
(
76
,
76
,
76
,
0.13
);
background-color
:
#fff
;
border-bottom-left-radius
:
60
rpx
;
border-bottom-right-radius
:
60
rpx
;
padding
:
40
rpx
;
}
.jz_ReserTitle
{
color
:
#111111
;
font-weight
:
600
;
font-size
:
36
rpx
;
}
.jz_ReserIn
{
color
:
#111
;
font-size
:
24
rpx
;
font-weight
:
500
;
}
.jz_ReseQue
{
color
:
#dfbe6e
;
font-size
:
24
rpx
;
padding-top
:
30
rpx
;
border-top
:
1px
solid
#e7e7e7
;
margin-top
:
20px
;
}
.jz_ReseQue
img
{
width
:
16px
;
height
:
14px
;
position
:
relative
;
top
:
2px
;
margin-right
:
5px
;
}
.jz_ReseOrder
{
padding
:
40
rpx
;
}
.jz_ReDix
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
10px
;
}
.jz_RedixTitle
{
width
:
90px
;
flex-shrink
:
0
;
}
/* .jz_OrderDiv {
position: fixed;
width: 90%;
height: 100rpx;
background-color: #fff;
margin: auto;
bottom: 20px;
padding: 20rpx;
left: 40rpx;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: 0px 10px 30px 0px rgba(36, 36, 36, 0.2);
border-radius: 16px;
z-index: 999;
} */
.jz_orderbox
{
position
:
fixed
;
background-color
:
#fff
;
bottom
:
0
;
width
:
100vw
;
left
:
0
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
box-shadow
:
0px
0
rpx
50
rpx
0px
rgba
(
76
,
76
,
76
,
0.13
);
z-index
:
99
;
justify-content
:
flex-end
;
padding
:
20
rpx
30
rpx
;
}
.jz_OrderDiv
{
width
:
90%
;
height
:
100
rpx
;
background-color
:
#fff
;
margin
:
auto
;
padding
:
20
rpx
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
box-shadow
:
0px
10
rpx
30
rpx
0px
rgba
(
36
,
36
,
36
,
0.2
);
border-radius
:
16px
;
z-index
:
999
;
}
.jz_OrderReNow
{
width
:
170
rpx
;
height
:
80
rpx
;
background-color
:
#111111
;
text-align
:
center
;
line-height
:
80
rpx
;
color
:
#fff
;
font-weight
:
600
;
font-size
:
28
rpx
;
border-radius
:
16
rpx
;
}
.jz_form
{
margin-top
:
60
rpx
;
padding
:
0
45
rpx
;
}
.jz_form
.form-items
{
margin-bottom
:
30
rpx
;
display
:
flex
;
align-items
:
center
;
padding-bottom
:
30
rpx
;
border-bottom
:
1px
solid
#f5f5f5
;
font-size
:
28px
;
font-weight
:
500
;
}
.jz_form
.form-items
.label
{
font-size
:
28
rpx
;
font-weight
:
600
;
margin-right
:
60
rpx
;
flex-shrink
:
0
;
}
.jz_form
.form-items
.val
{
flex
:
1
;
}
.jz_ReserTop
.o-timer
{
height
:
100
rpx
;
background
:
#ecf1f4
;
border-radius
:
20
rpx
;
padding
:
0
40
rpx
;
margin-bottom
:
30
rpx
;
}
.jz_ReserTop
.o-timer
.time-item
{
font-size
:
32
rpx
;
font-weight
:
800
;
}
/* .jz_ReserTop .o-timer .time-item:last-child{
text-align: right;
} */
.jz_ReserTop
.o-timer
.time-split
{
font-size
:
24
rpx
;
font-weight
:
400
;
text-align
:
center
;
margin
:
0
20
rpx
;
}
.jz_ReserTop
.o-timer
.update
{
font-size
:
24
rpx
;
font-weight
:
400
;
text-align
:
right
;
color
:
#000
;
display
:
flex
;
align-items
:
center
;
}
.jz_Reserve
.flex
{
display
:
flex
;
align-items
:
center
;
}
.jz_Reserve
.big-title
{
position
:
relative
;
}
.jz_Reserve
.big-title
::before
{
display
:
block
;
width
:
71
rpx
;
height
:
12
rpx
;
background
:
#dfbe6e
;
border-radius
:
4
rpx
;
content
:
" "
;
position
:
absolute
;
left
:
0
;
bottom
:
6
rpx
;
z-index
:
1
;
}
.jz_Reserve
.big-title
text
{
font-size
:
34
rpx
;
font-weight
:
bold
;
color
:
#1f1f1f
;
position
:
relative
;
z-index
:
2
;
}
.jz_Reserve
.empty-block
{
height
:
20
rpx
;
background
:
#ecf1f4
;
}
.jz_form
.form-items
.val
text
{
border
:
none
;
padding
:
0
;
margin
:
0
;
outline
:
none
;
height
:
38
rpx
;
line-height
:
38
rpx
;
font-size
:
28
rpx
;
font-weight
:
500
;
width
:
100%
;
}
.jz_Reserve
.grey
{
color
:
#6e6e6e
!important
;
}
.jz_Reserve
.f12
{
font-size
:
24
rpx
!important
;
}
.jz_Reserve
.f11
{
font-size
:
22
rpx
!important
;
}
.jz_Reserve
.f14
{
font-size
:
28
rpx
!important
;
}
.jz_Reserve
.regular
{
font-weight
:
500
!important
;
}
.jz_Reserve
.sheshi
{
margin-top
:
50
rpx
;
}
.jz_Reserve
.sheshi
.she-title
{
font-size
:
28
rpx
;
font-weight
:
800
;
}
.jz_Reserve
.sheshi
.she-content
{
margin-top
:
24
rpx
;
}
.jz_Reserve
.sheshi
.she-content
text
{
font-size
:
24
rpx
;
font-weight
:
500
;
color
:
#4a4a4a
;
line-height
:
40
rpx
;
margin-right
:
24
rpx
;
}
.jz_Reserve
.jz_SureVal
{
flex
:
1
;
font-size
:
28
rpx
;
font-weight
:
500
;
width
:
100%
;
}
.jz_MyGuestList
.label
{
width
:
115
rpx
;
}
.jz_MyGuestList
{
margin-top
:
40
rpx
;
}
</
style
>
<
template
>
<view
class=
"jz_Reserve"
v-if=
"orderData"
>
<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>
<u-icon
customPrefix=
"iconfont"
name=
"iconquxiao"
size=
"52"
color=
"#f26c6c"
v-if=
"orderStatus.code == -1"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconshenhezhong"
size=
"52"
color=
"#86d9a5"
v-if=
"orderStatus.code == -2"
></u-icon>
<u-icon
customPrefix=
"iconfont"
name=
"iconzhengchang"
size=
"52"
color=
"#111"
v-if=
"orderStatus.code == 1"
></u-icon>
<text
style=
"
margin-left: 26rpx;
font-size: 40rpx;
font-weight: 600;
color: #111;
"
>
{{
orderStatus
.
text
}}
</text>
</view>
<view
style=
"margin-bottom: 30rpx"
v-if=
"
orderData.model.RejectRemark && orderData.model.RejectRemark != ''
"
>
<u-alert-tips
type=
"error"
title=
"订单取消失败"
:description=
"orderData.model.RejectRemark"
></u-alert-tips>
</view>
<view
class=
"o-timer flex"
>
<view
class=
"time-item"
>
{{
getDate
(
orderData
.
model
.
StartDate
)
}}
{{
getWeek
(
orderData
.
model
.
StartDate
)
}}
</view>
<view
class=
"time-split"
>
<view>
{{
orderData
.
model
.
DayNum
}}
天
</view>
</view>
<view
class=
"time-item"
style=
"font-size: 26rpx; font-weight: 500; flex: 1"
>
<text
v-if=
"orderData.model.ManNum > 0"
>
{{
orderData
.
model
.
ManNum
}}
成人
</text>
<text
v-if=
"orderData.model.ChirdNum > 0"
>
{{
orderData
.
model
.
ChirdNum
}}
儿童
</text>
<text
v-if=
"orderData.model.BabyNum > 0"
>
{{
orderData
.
model
.
BabyNum
}}
婴儿
</text>
</view>
<view
class=
"update"
>
<!--
<text
style=
"margin-right: 8rpx;"
>
修改
</text>
<u-icon
name=
"arrow"
size=
"20"
/>
-->
</view>
</view>
<view
class=
"jz_ReserTitle"
>
{{
orderData
.
model
.
Title
}}
</view>
<view
class=
"jz_ReserIn"
style=
"margin: 33rpx 0 18rpx 0"
>
<!--
{{
currentPriceInfo
.
startCityName
}}
出发
{{
currentPriceInfo
.
startDate
}}
-->
{{
orderData
.
model
.
LtName
}}
</view>
<view
class=
"big-title"
v-if=
"orderData.model.StartCityName"
>
<text>
{{
orderData
.
model
.
StartCityName
}}
出发
</text>
</view>
<view
class=
"jz_ReseQue"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/zuanshi.png"
/>
即时确认:本产品付款后可快速确认,放心期待您的旅行
</view>
</view>
<view
class=
"jz_form"
>
<view
class=
"form-items"
>
<view
class=
"label"
>
订单编号
</view>
<view
class=
"jz_SureVal"
>
{{
orderData
.
model
.
OrderId
}}
</view>
</view>
<view
class=
"form-items"
>
<view
class=
"label"
>
下单日期
</view>
<view
class=
"jz_SureVal"
>
{{
orderData
.
model
.
CreateDate
.
replace
(
"T"
,
" "
)
}}
</view>
</view>
<!--
<view
class=
"form-items"
>
<view
class=
"label"
>
下单日期
</view>
<view
class=
"jz_SureVal"
>
{{
orderData
.
model
.
CreateDate
.
replace
(
"T"
,
" "
)
}}
</view>
</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
?
"是"
:
"否"
}}
</view>
</view>
</view>
<view
class=
"empty-block"
></view>
<view
class=
"jz_form"
v-if=
"orderData.model.Remarks"
>
<view
class=
"form-items"
style=
"border-bottom: 0"
>
<view
class=
"label"
>
备注
</view>
<view
class=
"jz_SureVal"
>
{{
orderData
.
model
.
Remarks
}}
</view>
</view>
</view>
<view
class=
"empty-block"
></view>
<view
style=
"padding: 50rpx 40rpx"
>
<view
class=
"big-title"
>
<text>
费用明细
</text>
</view>
<view
class=
"jz_form"
style=
"margin: 40rpx 0; padding: 0"
>
<view
class=
"form-items"
>
<view
class=
"label"
>
在线支付
</view>
<view
class=
"val f14 regular"
style=
"text-align: right"
>
<text
style=
"margin-right: 30rpx"
>
{{
orderData
.
model
.
GuestNum
}}
人
</text>
<text
class=
"red"
>
¥
<template
v-if=
" orderData.model.DiscountMoney&&orderData.model.DiscountMoney>0"
>
{{
Number
(
orderData
.
model
.
PreferPrice
)
-
Number
(
orderData
.
model
.
DiscountMoney
)
}}
</
template
>
<
template
v-else
>
{{
orderData
.
model
.
PreferPrice
}}
</
template
>
</text>
</view>
</view>
<view
class=
"form-items"
style=
"border-bottom: none"
>
<view
class=
"label"
>
明细
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
成人
</text>
</view>
<view
style=
"text-align: right"
>
{{ orderData.model.ManNum }}人 × ¥{{
orderData.model.Unit_Price
}}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
v-if=
"orderData.model.ChirdNeedBedNum > 0"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
儿童(占床)
</text>
</view>
<view
style=
"text-align: right"
>
{{ orderData.model.ChirdNeedBedNum }}人 × ¥{{
orderData.model.Unit_Price +
(orderData.modelPrice.ChildNeedPrice
? orderData.modelPrice.ChildNeedPrice
: 0)
}}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
v-if=
"orderData.model.ChirdNum - orderData.model.ChirdNeedBedNum > 0"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
儿童(不占床)
</text>
</view>
<view
style=
"text-align: right"
>
{{ orderData.model.ChirdNum - orderData.model.ChirdNeedBedNum }}人
× ¥{{
orderData.model.Unit_Price -
(orderData.modelPrice.ChildNoNeedPrice
? orderData.modelPrice.ChildNoNeedPrice
: 0)
}}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
v-if=
"orderData.model.BabyNum > 0"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
婴儿
</text>
</view>
<view
style=
"text-align: right"
>
{{ orderData.model.BabyNum }}人 × ¥{{
orderData.modelPrice.BabyPrice
? orderData.modelPrice.BabyPrice
: 0
}}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
v-if=
"
orderData.model.ChirdNum > 0 &&
orderData.modelPrice.BabyChargePrice &&
orderData.modelPrice.BabyChargePrice > 0
"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
儿童(附加费)
</text>
</view>
<view
style=
"text-align: right"
>
{{ orderData.model.ChirdNum }}人 × ¥{{
orderData.modelPrice.BabyChargePrice
}}
</view>
</view>
<view
class=
"flex f12 grey"
style=
"margin-bottom: 40rpx"
:key=
"index"
v-if=
" orderData.model&& orderData.model.DiscountMoney&&orderData.model.DiscountMoney>0"
>
<view
style=
"flex: 1"
>
<text
style=
"margin-right: 30rpx"
>
优惠金额
</text>
</view>
<view
style=
"text-align: right"
>
{{ orderData.model.DiscountMoney}}
</view>
</view>
</view>
</view>
<view
class=
"empty-block"
></view>
<view
style=
"padding: 50rpx 40rpx"
v-if=
"Refund > 0 && orderStatus.code == -1"
>
<view
class=
"big-title"
>
<text>
取消订单
</text>
</view>
<view
class=
"jz_form"
style=
"margin: 40rpx 0; padding: 0"
>
<view
class=
"form-items"
>
<view
class=
"label"
>
已退款总额
</view>
<view
class=
"val f14 regular"
style=
"text-align: right"
>
<text
style=
"margin-right: 30rpx"
>
{{ orderData.model.GuestNum }}人
</text>
<text
class=
"red"
>
¥{{ orderData.model.PreferPrice }}
</text>
</view>
</view>
</view>
</view>
<view
class=
"jz_orderbox flex"
>
<view
style=
"display: flex"
v-if=
"showPayBtn"
>
<view
class=
"jz_OrderReNow"
@
click=
"goCancel"
style=
"background: #fff; color: #111; border: 1px solid #111"
>
<text
v-if=
"!submitCancel"
>
取消
</text>
<u-loading
v-if=
"submitCancel"
size=
"32"
color=
"#111"
></u-loading>
</view>
<!-- 返回上一页 -->
<!-- <view
class="jz_OrderReNow"
@click="goback"
style="background: #fff; color: #111; border: 1px solid #111"
v-if="!showPayBtn"
>关闭
</view> -->
</view>
<view
style=
"display: flex; margin-left: 30rpx"
>
<!-- #ifdef MP-WEIXIN -->
<!-- <button class="jz_OrderReNow" @click="goFukuan" v-if="showPayBtn" :disabled="submit">
立即支付
</button> -->
<!-- #endif -->
<!-- #ifdef MP-ALIPAY -->
<!-- <button class="jz_OrderReNow" @click="goZhifuAli" v-if="showPayBtn" :disabled="submit">
立即支付
</button> -->
<!-- #endif -->
</view>
</view>
<!-- #ifdef MP-ALIPAY -->
<subscribe-msg
/>
<!-- #endif -->
</view>
</template>
<
script
>
</
script
>
<
script
>
export
default
{
components
:
{},
data
()
{
return
{
pageTitle
:
"订单详情"
,
msg
:
{
pageIndex
:
1
,
pageSize
:
15
,
MiniAppUserId
:
0
,
},
orderData
:
null
,
orderStatus
:
{},
submit
:
false
,
submitCancel
:
false
,
showPayBtn
:
true
,
};
},
created
()
{},
onLoad
(
option
)
{
if
(
option
.
orderData
)
{
this
.
orderData
=
JSON
.
parse
(
decodeURIComponent
(
option
.
orderData
));
}
else
if
(
option
.
orderId
)
{
this
.
initOrderInfo
(
option
.
orderId
);
}
},
methods
:
{
goback
()
{
uni
.
navigateBack
({
delta
:
1
,
});
},
goCancel
()
{
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
//未付款-调用后台取消
if
(
this
.
orderData
.
model
.
OrderState
==
2
)
{
this
.
apipost
(
"sellorder_post_B2BRemoveOrder"
,
{
ID
:
this
.
orderData
.
model
.
OrderId
,
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_MyOrder"
,
});
}
},
(
err
)
=>
{}
);
}
else
{
let
msg
=
{
OrderId
:
this
.
orderData
.
model
.
OrderId
,
UserId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
UserId
,
};
//已付款取消申请
this
.
apipost
(
"sellorder_post_AppletUserCancelOrder"
,
msg
,
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"success"
,
});
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_MyOrder"
,
});
}
else
{}
},
null
);
}
},
getWeek
(
date
)
{
var
weekArray
=
new
Array
(
"日"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
);
var
week
=
weekArray
[
new
Date
(
date
).
getDay
()];
//注意此处必须是先new一个Date
return
"周"
+
week
;
},
getDate
(
date
)
{
if
(
date
)
{
let
arr
=
date
.
split
(
"-"
);
return
arr
[
1
]
+
"月"
+
arr
[
2
]
+
"日"
;
}
},
initOrderInfo
(
orderId
)
{
let
msg
=
{
ID
:
orderId
,
IsGetGuest
:
1
,
};
this
.
apipost
(
"sellorder_post_GetOrderEntity"
,
msg
,
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
orderData
=
res
.
data
;
this
.
formatStatus
(
this
.
orderData
.
model
.
OrderState
,
this
.
orderData
.
model
.
IsChargeLossOrders
,
this
.
orderData
.
model
.
IsApplyForCancel
);
}
else
{
this
.
orderData
=
{
result
:
-
1
,
};
}
console
.
log
(
res
);
},
(
e
)
=>
{}
);
},
formatStatus
(
status
,
loss
,
isCancel
)
{
loss
=
loss
?
loss
:
-
1
;
//1、已申请;!=1未申请
if
(
loss
==
1
||
status
==
4
)
{
this
.
orderStatus
.
code
=
-
1
;
this
.
orderStatus
.
text
=
"已取消"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
2
&&
isCancel
!=
1
)
{
this
.
orderStatus
.
code
=
0
;
this
.
orderStatus
.
text
=
"待付款"
;
this
.
showPayBtn
=
true
;
}
else
if
(
status
==
2
&&
isCancel
==
1
)
{
this
.
orderStatus
.
code
=
-
2
;
this
.
orderStatus
.
text
=
"审核中"
;
this
.
showPayBtn
=
false
;
}
else
if
(
status
==
1
)
{
this
.
orderStatus
.
code
=
1
;
this
.
orderStatus
.
text
=
"正常"
;
this
.
showPayBtn
=
false
;
}
},
// #ifdef MP-WEIXIN
goFukuan
()
{
if
(
this
.
submit
||
this
.
submitCancel
)
return
;
var
that
=
this
;
var
tempData
=
uni
.
getStorageSync
(
"basedata"
);
var
tempObj
=
[];
if
(
tempData
&&
tempData
.
mall
&&
tempData
.
mall
.
wechatmessage
)
{
tempObj
=
tempData
.
mall
.
wechatmessage
;
}
var
tmplIds
=
[];
if
(
tempObj
&&
tempObj
.
length
>
0
)
{
tempObj
.
forEach
((
x
)
=>
{
if
(
x
.
Name
==
"下单成功提醒"
||
x
.
Name
==
"订单取消提醒"
)
{
tmplIds
.
push
(
x
.
MessageId
);
}
});
}
uni
.
requestSubscribeMessage
({
tmplIds
:
tmplIds
,
complete
(
res
)
{
that
.
goZhifu
();
},
});
},
//支付
goZhifu
()
{
this
.
submit
=
true
;
let
url
=
"/api/WeChatPay/GetTravlePayInfo"
;
let
GoodsName
=
this
.
orderData
.
model
.
Title
;
GoodsName
=
GoodsName
.
slice
(
0
,
10
);
this
.
request2
({
url
:
url
,
data
:
{
OrderId
:
this
.
orderData
.
model
.
OrderId
,
GoodsName
:
GoodsName
,
OrderPayType
:
1
,
OpenId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
OpenId
,
},
},
(
res
)
=>
{
try
{
let
orderInfo
=
JSON
.
parse
(
res
.
data
);
console
.
log
(
orderInfo
);
this
.
goPay
(
orderInfo
);
}
catch
(
e
)
{
uni
.
showToast
({
title
:
'无法正常拉取微信支付,你可以稍后重试或联系销售人员线下转款'
,
icon
:
'none'
})
setTimeout
(()
=>
{
this
.
submit
=
false
;
},
2000
);
}
}
);
},
goPay
(
orderInfo
)
{
let
that
=
this
;
uni
.
requestPayment
({
provider
:
"wxpay"
,
timeStamp
:
orderInfo
.
timeStamp
,
nonceStr
:
orderInfo
.
nonceStr
,
package
:
orderInfo
.
package
,
signType
:
orderInfo
.
signType
,
paySign
:
orderInfo
.
sign
,
success
:
function
(
res
)
{
console
.
log
(
"success"
,
res
);
uni
.
showToast
({
title
:
"支付成功"
,
});
that
.
submit
=
false
;
//todo
that
.
initOrderInfo
(
that
.
orderData
.
model
.
OrderId
);
},
fail
:
function
(
err
)
{
console
.
log
(
"fail:"
,
err
);
uni
.
showToast
({
title
:
"支付失败"
,
icon
:
"none"
,
});
that
.
submit
=
false
;
that
.
initOrderInfo
(
that
.
orderData
.
model
.
OrderId
);
},
});
},
// #endif
// #ifdef MP-ALIPAY
//支付宝支付
goZhifuAli
()
{
this
.
submit
=
true
;
let
that
=
this
;
uni
.
showLoading
({
title
:
"支付中"
,
});
let
url
=
"/api/WeChatPay/GetTravlePayInfo"
;
let
GoodsName
=
this
.
orderData
.
model
.
Title
;
this
.
request2
({
url
:
url
,
data
:
{
OrderId
:
this
.
orderData
.
model
.
OrderId
,
GoodsName
:
GoodsName
,
OrderPayType
:
2
,
OpenId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
OpenId
,
},
},
(
res
)
=>
{
if
(
res
.
data
)
{
this
.
$utils
.
SubscribeMsgAli
(()
=>
{
that
.
goPayAli
(
res
.
data
);
});
}
else
{
uni
.
hideLoading
();
uni
.
showToast
({
title
:
"获取交易号失败"
,
duration
:
2000
,
});
}
}
);
},
goPayAli
(
tradeNO
)
{
let
that
=
this
;
my
.
tradePay
({
tradeNO
:
tradeNO
,
success
:
function
(
res
)
{
console
.
log
(
"success"
,
res
);
const
list
=
[
"9000"
];
if
(
list
.
includes
(
res
.
resultCode
))
{
let
obj
=
{
TradeNo
:
tradeNO
,
OrderNo
:
that
.
orderData
.
model
.
OrderNo
,
OrderId
:
that
.
orderData
.
model
.
OrderId
,
preferPrice
:
that
.
orderData
.
model
.
PreferPrice
,
};
that
.
payAliCallback
(
obj
);
}
else
{
uni
.
hideLoading
();
uni
.
showToast
({
title
:
"支付失败"
,
icon
:
"none"
,
});
}
},
fail
:
function
(
err
)
{
console
.
log
(
"fail:"
,
err
);
uni
.
hideLoading
();
uni
.
showToast
({
title
:
"支付失败"
,
icon
:
"none"
,
});
that
.
submit
=
false
;
that
.
initOrderInfo
(
that
.
orderData
.
model
.
OrderId
);
},
});
},
payAliCallback
(
obj
)
{
let
that
=
this
;
this
.
request2
({
url
:
"/api/AliPay/ALiPayCallBackDmcNotify"
,
data
:
{
OrderNo
:
obj
.
OrderNo
,
OrderId
:
obj
.
OrderId
,
UserId
:
uni
.
getStorageSync
(
"mall_UserInfo"
).
UserId
,
TradeNo
:
obj
.
TradeNo
,
ProjectType
:
2
,
PreferPrice
:
obj
.
preferPrice
,
},
},
(
res
)
=>
{
that
.
submit
=
false
;
uni
.
redirectTo
({
url
:
"/pages/jiuzhai/paysuccess?PreferPrice="
+
obj
.
preferPrice
+
"&isFrom=1"
,
});
uni
.
hideLoading
();
},
(
err
)
=>
{
console
.
log
(
"err"
,
err
);
uni
.
hideLoading
();
that
.
submit
=
false
;
uni
.
showToast
({
title
:
"支付失败"
,
icon
:
"none"
,
});
that
.
initOrderInfo
(
that
.
orderData
.
model
.
OrderId
);
}
);
},
// #endif
},
};
</
script
>
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