Commit 61d9e618 authored by youjie's avatar youjie

Merge branch 'B2C' of http://gitlab.oytour.com/zk123/jz_travel into B2C

parents fa5386df 397d38e7
...@@ -207,14 +207,14 @@ ...@@ -207,14 +207,14 @@
goDetails(item) { goDetails(item) {
let url = null let url = null
let msg = null let msg = null
// #ifdef MP-DI // #ifdef MP-DI
console.log(item.goodsType,'===========') console.log(item.goodsType, '===========')
msg = `OrderNo=${item.orderNo}` msg = `OrderNo=${item.orderNo}`
if (item.goodsType > 0 && item.goodsType < 4) url = `jiuzhai/jz_SureOrder?` //线路 if (item.goodsType > 0 && item.goodsType < 4) url = `jiuzhai/jz_SureOrder?` //线路
else if (item.goodsType > 3 && item.goodsType < 8) { //景点门票 else if (item.goodsType > 3 && item.goodsType < 8) { //景点门票
} else if (item.goodsType > 7 && item.goodsType < 12) { //酒店住宿 } else if (item.goodsType > 7 && item.goodsType < 12) { //酒店住宿
url = `hotel/orderdetails?` url = `hotel/orderdetails?orderId=` + item.erpOrderId;
} else if (item.goodsType > 11 && item.goodsType < 15) { //目的地用车 } else if (item.goodsType > 11 && item.goodsType < 15) { //目的地用车
} else if (item.goodsType == 15) url = `visa/visa_SureOrder?` //签证 } else if (item.goodsType == 15) url = `visa/visa_SureOrder?` //签证
else if (item.goodsType == 16) url = `airTicket/airTicketOrderDetail?` //机票 else if (item.goodsType == 16) url = `airTicket/airTicketOrderDetail?` //机票
...@@ -224,10 +224,9 @@ ...@@ -224,10 +224,9 @@
if (item.goodsType == 2) url = `jiuzhai/jz_SureOrder?` //线路 if (item.goodsType == 2) url = `jiuzhai/jz_SureOrder?` //线路
else if (item.goodsType == 4) { //景点门票 else if (item.goodsType == 4) { //景点门票
} else if (item.goodsType == 3) { //酒店住宿 } else if (item.goodsType == 3) { //酒店住宿
} else if (item.goodsType == 7) { //酒店住宿 } else if (item.goodsType == 9) { //酒店住宿
url = `hotel/orderdetails?` url = `hotel/orderdetails?orderId=` + item.erpOrderId;
} else if (item.goodsType == 5) { //目的地用车 } else if (item.goodsType == 5) { //目的地用车
} else if (item.goodsType == 6) url = `visa/visa_SureOrder?` //签证 } else if (item.goodsType == 6) url = `visa/visa_SureOrder?` //签证
else if (item.goodsType == 1) { //机票 else if (item.goodsType == 1) { //机票
......
...@@ -487,7 +487,7 @@ ...@@ -487,7 +487,7 @@
icon: 'none', icon: 'none',
title: '订单创建成功' title: '订单创建成功'
}) })
this.goPayHandler(res.data.OrderNo); this.goPayHandler(res.data);
} else { } else {
uni.showToast({ uni.showToast({
title: res.message, title: res.message,
...@@ -498,7 +498,8 @@ ...@@ -498,7 +498,8 @@
} }
}); });
}, },
goPayHandler(OrderNo) { goPayHandler(item) {
let OrderNo=item.OrderNo;
let that = this; let that = this;
uni.requestPayment({ uni.requestPayment({
provider: "wxpay", provider: "wxpay",
...@@ -529,7 +530,7 @@ ...@@ -529,7 +530,7 @@
}); });
setTimeout(() => { setTimeout(() => {
uni.redirectTo({ uni.redirectTo({
url: "/pages/hotel/orderdetails?OrderNo=" + OrderNo, url: "/pages/hotel/orderdetails?orderId=" + item.ErpOrderId,
}); });
}, 100); }, 100);
}, },
......
<template> <template>
<view class="hotel-detail" v-if="orderData"> <view class="hotel-detail" v-if="orderData">
<scroll-view <scroll-view ref="scrollView" scroll-y="true" style="height: 1px;flex: 1;box-sizing: border-box;"
ref="scrollView" @scroll="scroll">
scroll-y="true" <view class="media" :style="{ opacity: 100 - boxOption + '%' }">
style="height: 1px;flex: 1;box-sizing: border-box;"
@scroll="scroll" <!-- #ifdef MP-WEIXIN -->
> <view @click="goback" :style="[titleStyle, { opacity: '100% !important' }]"
<view style="position: fixed; top: 0; left: 0; padding-left: 6rpx">
class="media" <u-icon name="arrow-left" size="44" style="margin-top: 22rpx"></u-icon>
:style="{ opacity: 100 - boxOption + '%' }" </view>
> <!-- #endif -->
<view class="orderStatusBox flex" style="margin-bottom: 30rpx">
<!-- #ifdef MP-WEIXIN --> <u-icon customPrefix="iconfont" name="icondaizhifu-" size="52" color="#DFBE6E"
<view v-if="orderStatus.code == 0"></u-icon>
@click="goback" <u-icon customPrefix="iconfont" name="iconquxiao" size="52" color="#f26c6c"
:style="[titleStyle, { opacity: '100% !important' }]" v-if="orderStatus.code == -1"></u-icon>
style="position: fixed; top: 0; left: 0; padding-left: 6rpx" <u-icon customPrefix="iconfont" name="iconshenhezhong" size="52" color="#86d9a5"
> v-if="orderStatus.code == -2"></u-icon>
<u-icon <u-icon customPrefix="iconfont" name="iconzhengchang" size="52" color="#111"
name="arrow-left" v-if="orderStatus.code == 1"></u-icon>
size="44" <text style="
style="margin-top: 22rpx"
></u-icon>
</view>
<!-- #endif -->
<view class="orderStatusBox 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; margin-left: 26rpx;
font-size: 40rpx; font-size: 40rpx;
font-weight: 600; font-weight: 600;
color: #111; color: #111;
"> ">
{{ orderStatus.text }} {{ orderStatus.text }}
</text> </text>
</view> </view>
<view class="orderIforRzBox row"> <view class="orderIforRzBox row">
<view class="orderIforRzImg"> <view class="orderIforRzImg">
<img <img style="width: 14rpx;height: 68rpx;"
style="width: 14rpx;height: 68rpx;" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766174213789755.png" />
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766174213789755.png"/> </view>
</view> <view class="orderIforRzTime column col">
<view class="orderIforRzTime column col"> <view>入住:<text>{{getDate(orderData.parmResultRoomInfo.CheckInDate)}}
<view>入住:<text>{{getDate(orderData.parmResultRoomInfo.CheckInDate)}} {{ getWeek(orderData.parmResultRoomInfo.CheckInDate) }} 14:00后</text></view> {{ getWeek(orderData.parmResultRoomInfo.CheckInDate) }} 14:00后</text></view>
<view style="margin-top: 28rpx;">离店:<text>{{getDate(orderData.parmResultRoomInfo.CheckOutDate)}} {{ getWeek(orderData.parmResultRoomInfo.CheckOutDate) }} 12:00前</text></view> <view style="margin-top: 28rpx;">离店:<text>{{getDate(orderData.parmResultRoomInfo.CheckOutDate)}}
</view> {{ getWeek(orderData.parmResultRoomInfo.CheckOutDate) }} 12:00前</text></view>
<view class="orderIforRzNum">{{getDay(orderData.parmResultRoomInfo.CheckInDate.slice(0, 10),orderData.parmResultRoomInfo.CheckOutDate.slice(0, 10))}}</view> </view>
</view> <view class="orderIforRzNum">
<view class="orderIforDiZhi"> {{getDay(orderData.parmResultRoomInfo.CheckInDate.slice(0, 10),orderData.parmResultRoomInfo.CheckOutDate.slice(0, 10))}}
<view class="orderIforDiZhiL">{{ orderData.parmResultRoomInfo.HotelName }}</view> </view>
<view class="orderIforDiZhiR row"> </view>
<view class="orderIforDiZhiRImg"> <view class="orderIforDiZhi">
<img <view class="orderIforDiZhiL">{{ orderData.parmResultRoomInfo.HotelName }}</view>
style="width: 23rpx;height:28rpx;" <view class="orderIforDiZhiR row">
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766148323678002.png"/> <view class="orderIforDiZhiRImg">
</view> <img style="width: 23rpx;height:28rpx;"
<view class="orderIforDiZhiRText"> src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638766148323678002.png" />
酒店地址 </view>
</view> <view class="orderIforDiZhiRText">
</view> 酒店地址
</view> </view>
</view> </view>
<view class="hotel-title" :style="[titleStyle]"> </view>
<view @click="goback"> </view>
<!-- #ifdef MP-WEIXIN --> <view class="hotel-title" :style="[titleStyle]">
<u-icon name="arrow-left" size="44"></u-icon> <view @click="goback">
<!-- #endif --> <!-- #ifdef MP-WEIXIN -->
</view> <u-icon name="arrow-left" size="44"></u-icon>
<view <!-- #endif -->
style="flex: 1; margin-left: 30rpx; text-align: left" </view>
class="name-ali" <view style="flex: 1; margin-left: 30rpx; text-align: left" class="name-ali">
> {{ orderData.parmResultRoomInfo.HotelName }}
{{ orderData.parmResultRoomInfo.HotelName }} </view>
</view </view>
> <view class="ReservationInforBox">
</view> <view class="ReservationInforTitle">预定信息</view>
<view class="ReservationInforBox"> <view class="ResInforText row-sb-n">
<view class="ReservationInforTitle">预定信息</view> <view class="ResInforL">房型</view>
<view class="ResInforText row-sb-n"> <view class="ResInforR">
<view class="ResInforL">房型</view> <text v-for="(items,i) in RatePlanList" :key="i">
<view class="ResInforR"> {{ items.RatePlanName }}
<text v-for="(items,i) in RatePlanList" :key="i"> <template v-if="i!=RatePlanList.length-1">,</template>
{{ items.RatePlanName }} </text>
<template v-if="i!=RatePlanList.length-1">,</template> </view>
</text> </view>
</view> <view class="ResInforText row-sb-n">
</view> <view class="ResInforL">餐型</view>
<view class="ResInforText row-sb-n"> <view class="ResInforR active">
<view class="ResInforL">餐型</view> <view v-if="RatePlanList && RatePlanList.length > 0">
<view class="ResInforR active"> <template v-for="( itemp, indexp ) in RatePlanList[0].PriceList">
<view v-if="RatePlanList && RatePlanList.length > 0"> <template v-if="!indexp">
<template v-for="( itemp, indexp ) in RatePlanList[0].PriceList" > {{getMealtype(itemp.MealType)}}
<template v-if="!indexp"> <template v-if="itemp.MealAmount>0">
{{getMealtype(itemp.MealType)}} ×{{itemp.MealAmount}}
<template v-if="itemp.MealAmount>0"> </template>
×{{itemp.MealAmount}} </template>
</template> </template>
</template> </view>
</template> </view>
</view> </view>
</view> <view class="ResInforText row-sb-n">
</view> <view class="ResInforL">取消政策</view>
<view class="ResInforText row-sb-n"> <view class="ResInforR">
<view class="ResInforL">窗户</view> <text v-if="roomRateDetails&&
<view class="ResInforR">窗户</view>
</view>
<view class="ResInforText row-sb-n">
<view class="ResInforL">人数</view>
<view class="ResInforR">最多入住人数</view>
</view>
<view class="ResInforText row-sb-n">
<view class="ResInforL">面积</view>
<view class="ResInforR">面积㎡</view>
</view>
<view class="ResInforText row-sb-n">
<view class="ResInforL">网络</view>
<view class="ResInforR">是否有WIFI</view>
</view>
<view class="ResInforText row-sb-n">
<view class="ResInforL">楼层数</view>
<view class="ResInforR">楼层数</view>
</view>
<view class="ResInforText row-sb-n">
<view class="ResInforL">取消政策</view>
<view class="ResInforR">
<text v-if="roomRateDetails&&
roomRateDetails.CancellationPolicyList && roomRateDetails.CancellationPolicyList &&
roomRateDetails.CancellationPolicyList.length > 0"> roomRateDetails.CancellationPolicyList.length > 0">
<template v-for="(itemCancella, index1) in roomRateDetails.CancellationPolicyList"> <template v-for="(itemCancella, index1) in roomRateDetails.CancellationPolicyList">
<template <template
v-if="index1==0">{{ getformatDateStr(itemCancella.FromDate) }}之前免费取消</template> v-if="index1==0">{{ getformatDateStr(itemCancella.FromDate) }}之前免费取消</template>
<template v-if="itemCancella.Amount==roomRateDetails.TotalPrice"> <template v-if="itemCancella.Amount==roomRateDetails.TotalPrice">
<template>{{ getformatDateStr(itemCancella.FromDate) }}起不可取消,取消将收取订单全额费用;</template> <template>{{ getformatDateStr(itemCancella.FromDate) }}起不可取消,取消将收取订单全额费用;</template>
</template> </template>
<template v-else> <template v-else>
<template>{{ getformatDateStr(itemCancella.FromDate) }} <template>{{ getformatDateStr(itemCancella.FromDate) }}
<template v-if="index1!=(roomRateDetails.CancellationPolicyList.length-1)">- <template v-if="index1!=(roomRateDetails.CancellationPolicyList.length-1)">-
{{ getformatDateStr(roomRateDetails.CancellationPolicyList[index1+1].FromDate) }} {{ getformatDateStr(roomRateDetails.CancellationPolicyList[index1+1].FromDate) }}
之间</template> 之间</template>
取消,收费 {{DanWei}}{{getPrice(itemCancella.Amount)}};</template> 取消,收费 {{DanWei}}{{getPrice(itemCancella.Amount)}};</template>
</template> </template>
</template> </template>
</text> </text>
</view> </view>
</view> </view>
</view> </view>
<view class="ReservationInforBox"> <view class="ReservationInforBox">
<view class="ReservationInforTitle">订房信息</view> <view class="ReservationInforTitle">订房信息</view>
<view class="ResInforText row-sb-n" v-for="(item,index) in orderData.parmResultRoomInfo.GuestList" <view class="ResInforText row-sb-n" v-for="(item,index) in orderData.parmResultRoomInfo.GuestList"
:key="index"> :key="index">
<view class="ResInforL Lwidth">房间{{ index+1 }}住客</view> <view class="ResInforL Lwidth">房间{{ index+1 }}住客</view>
<view class="ResInforR row"> <view class="ResInforR row">
<view v-for="(items,i) in item.GuestInfo" :key="i">{{ items.LastName }}{{ items.FirstName }} <view v-for="(items,i) in item.GuestInfo" :key="i">{{ items.LastName }}{{ items.FirstName }}
<template v-if="i!=item.GuestInfo.length-1">,</template> <template v-if="i!=item.GuestInfo.length-1">,</template>
</view> </view>
</view> </view>
</view> </view>
<view class="ResInforText row-sb-n"> <view class="ResInforText row-sb-n">
<view class="ResInforL Lwidth">联系姓名</view> <view class="ResInforL Lwidth">联系姓名</view>
<view class="ResInforR">{{ orderData.parmResultRoomInfo.SurName }}{{ orderData.parmResultRoomInfo.Name }}</view> <view class="ResInforR">
</view> {{ orderData.parmResultRoomInfo.SurName }}{{ orderData.parmResultRoomInfo.Name }}</view>
<view class="ResInforText row-sb-n"> </view>
<view class="ResInforL Lwidth">联系电话</view> <view class="ResInforText row-sb-n">
<view class="ResInforR">{{ orderData.parmResultRoomInfo.guestPhoneNumber }}</view> <view class="ResInforL Lwidth">联系电话</view>
</view> <view class="ResInforR">{{ orderData.parmResultRoomInfo.guestPhoneNumber }}</view>
<view class="ResInforText row-sb-n"> </view>
<view class="ResInforL Lwidth">E-mail</view> <view class="ResInforText row-sb-n">
<view class="ResInforR">{{ orderData.parmResultRoomInfo.guestEmail }}</view> <view class="ResInforL Lwidth">E-mail</view>
</view> <view class="ResInforR">{{ orderData.parmResultRoomInfo.guestEmail }}</view>
</view> </view>
<!-- <cancelProgress :datas="orderData"></cancelProgress> --> </view>
<view class="ReservationInforBox"> <!-- <cancelProgress :datas="orderData"></cancelProgress> -->
<view class="big-title"> <view class="ReservationInforBox">
<text>费用明细</text> <view class="big-title">
</view> <text>费用明细</text>
<view class="jz_form"> </view>
<view class="form-items row"> <view class="jz_form">
<view class="label"> 总金额 </view> <view class="form-items row">
<view class="val f14 regular col" style="text-align: right"> <view class="label"> 总金额 </view>
{{ roomNum }} <view class="val f14 regular col" style="text-align: right">
<text>间房</text>/ {{ roomNum }}
{{ peopleNum }} <text>间房</text>/
<text style="margin-right: 30rpx"></text> {{ peopleNum }}
<text class="red">{{DanWei}} {{ orderData.model.TotalPrice }} <text style="margin-right: 30rpx"></text>
</text> <text class="red">{{DanWei}} {{ orderData.model.TotalPrice }}
</view> </text>
</view> </view>
<view class="form-items" style="border-bottom: none;padding: 20rpx 0;"> </view>
<view class="label"> 明细 </view> <view class="form-items" style="border-bottom: none;padding: 20rpx 0;">
</view> <view class="label"> 明细 </view>
<view class="flex f12 grey" style="margin-bottom: 40rpx" </view>
v-for="(item,index) in orderData.parmResultRoomInfo.GuestList" <view class="flex f12 grey" style="margin-bottom: 40rpx"
:key="index"> v-for="(item,index) in orderData.parmResultRoomInfo.GuestList" :key="index">
<view style="flex: 1"> <view style="flex: 1">
<text style="margin-right: 30rpx">房间数</text> <text style="margin-right: 30rpx">房间数</text>
</view> </view>
<view style="text-align: right"> <view style="text-align: right">
1间({{ item.GuestInfo.length }}人) × {{ DanWei }}{{ orderData.model.RoomPrice }} 1间({{ item.GuestInfo.length }}人) × {{ DanWei }}{{ orderData.model.RoomPrice }}
</view> </view>
</view> </view>
<view class="flex f12 grey" style="margin-bottom: 40rpx" <view class="flex f12 grey" style="margin-bottom: 40rpx" :style="{'color':mainColor+' !important'}"
:style="{'color':mainColor+' !important'}" v-if="orderData.model.DiscountMoney&&orderData.model.DiscountMoney>0">
v-if="orderData.model.DiscountMoney&&orderData.model.DiscountMoney>0"> <view style="flex: 1">
<view style="flex: 1"> <text style="margin-right: 30rpx">优惠金额</text>
<text style="margin-right: 30rpx">优惠金额</text> </view>
</view> <view style="text-align: right">
<view style="text-align: right"> -{{ orderData.model.DiscountMoney}} </view>
-{{ orderData.model.DiscountMoney}} </view> </view>
</view> <view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index">
<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index"> <view style="flex: 1">
<view style="flex: 1"> <text style="margin-right: 30rpx">合计应收</text>
<text style="margin-right: 30rpx">合计应收</text> </view>
</view> <view style="text-align: right;color: #ff3166;font-size:32rpx;font-weight: bold;">
<view style="text-align: right;color: #ff3166;font-size:32rpx;font-weight: bold;"> {{ DanWei }}
{{ DanWei }} {{(orderData.model.TotalPrice-orderData.model.DiscountMoney).toFixed(2)}}
{{(orderData.model.TotalPrice-orderData.model.DiscountMoney).toFixed(2)}} </view>
</view> </view>
</view> </view>
</view> </view>
</view>
<view style="height: 36rpx;"></view>
<view style="height: 36rpx;"></view> </scroll-view>
</scroll-view> <!-- <view class="opera-box">
<!-- <view class="opera-box">
<view class="box flex"> <view class="box flex">
<view class="price"> <view class="price">
<text class="f11">¥</text> <text class="f11">¥</text>
...@@ -236,111 +203,108 @@ ...@@ -236,111 +203,108 @@
<u-button :ripple="true" :hair-line="false" :custom-style="btnStyle" @click="buyRoom">立即购买</u-button> <u-button :ripple="true" :hair-line="false" :custom-style="btnStyle" @click="buyRoom">立即购买</u-button>
</view> </view>
</view> --> </view> -->
<view class="jz_orderbox flex" v-if="showPayBtn"> <view class="jz_orderbox flex" v-if="showPayBtn">
<view style="display: flex"> <view style="display: flex">
<!-- #ifdef MP-DI --> <!-- #ifdef MP-DI -->
<button v-if="orderData.model.OrderStatus==1" <button v-if="orderData.model.OrderStatus==1" class="jz_OrderReNow" @click="goCancel"
class="jz_OrderReNow" @click="goCancel" style="background: #fff; color: #111; border: 1px solid #111" :disabled="submitCancel"
style="background: #fff; color: #111; border: 1px solid #111" :loading="submitCancel">
:disabled="submitCancel" 取消
:loading="submitCancel"> </button>
取消 <button v-if="orderData.model.OrderStatus==1" class="jz_OrderReNow" style="margin-left: 20rpx;"
</button> @click="submitGetCodeByOrderNo" :disabled="submit" :loading="submit">
<button v-if="orderData.model.OrderStatus==1" class="jz_OrderReNow" 立即支付
style="margin-left: 20rpx;" </button>
@click="submitGetCodeByOrderNo" :disabled="submit" :loading="submit"> <!-- #endif -->
立即支付 <!-- #ifdef MP-AG -->
</button> <button v-if="orderData.model.OrderStatus==1" class="jz_OrderReNow" @click="goCancel"
<!-- #endif --> style="background: #fff; color: #111; border: 1px solid #111" :disabled="submitCancel"
<!-- #ifdef MP-AG --> :loading="submitCancel">
<button v-if="orderData.model.OrderStatus==1" class="jz_OrderReNow" @click="goCancel" 取消
style="background: #fff; color: #111; border: 1px solid #111" </button>
:disabled="submitCancel" <!-- #endif -->
:loading="submitCancel"> </view>
取消 </view>
</button> </view>
<!-- #endif --> </template>
</view>
</view> <script>
</view> import cancelProgress from '@/components/cancelPrompt/cancelProgress.vue'
</template> export default {
components: {
<script> cancelProgress
import cancelProgress from '@/components/cancelPrompt/cancelProgress.vue' },
export default { data() {
components: { return {
cancelProgress id: 0,
}, boxOption: 0,
data() { titleStyle: {
return { opacity: 0,
id: 0, },
boxOption: 0, mainColor: "",
titleStyle: {
opacity: 0, Up: 0,
}, current: 1,
mainColor: "", scrollTop: 100,
old: {
Up: 0, scrollTop: 0
current: 1, },
scrollTop: 100, orderStatus: {
old:{ text: "待支付",
scrollTop: 0 code: 0,
}, },
orderStatus: { showPayBtn: false,
text: "待支付", btnStyle: {
code: 0, height: "80rpx",
}, lineHeight: "80rpx",
showPayBtn: false, borderRadius: "16rpx",
btnStyle: { background: "#111",
height:"80rpx", color: "#FFF",
lineHeight:"80rpx", fontSize: "28rpx",
borderRadius:"16rpx", fontWeight: "600",
background:"#111", width: '193rpx',
color:"#FFF", },
fontSize:"28rpx", orderData: null,
fontWeight:"600", orderStatus: {
width:'193rpx',
},
orderData: null,
orderStatus: {
code: 0, code: 0,
text: "", text: "",
}, },
showPayBtn: true, showPayBtn: true,
submitCancel: false, submitCancel: false,
submit: false, submit: false,
hotelData: null, hotelData: null,
roomRateDetails: null, roomRateDetails: null,
DanWei: '', DanWei: '',
peopleNum: 0, peopleNum: 0,
roomNum: 0, roomNum: 0,
RatePlanList: null, RatePlanList: null,
HotelMealTypes: [], HotelMealTypes: [],
}; };
}, },
created() { created() {
this.Up = uni.getStorageSync("mall_UserInfo") this.Up = uni.getStorageSync("mall_UserInfo") ?
? uni.getStorageSync("mall_UserInfo").UserPageType uni.getStorageSync("mall_UserInfo").UserPageType :
: 0; 0;
}, },
onLoad(options) { onLoad(options) {
this.id = options.orderId; console.log("options", options);
let that = this; this.id = options.orderId;
uni.getSystemInfo({ let that = this;
success(res) { uni.getSystemInfo({
that.titleStyle = { success(res) {
height: "45px", that.titleStyle = {
paddingTop: `${res.statusBarHeight}px`, height: "45px",
opacity: "0", paddingTop: `${res.statusBarHeight}px`,
}; opacity: "0",
}, };
}); },
this.mainColor = this.$uiConfig.mainColor; });
if(this.id) this.getOrderDetail(this.id); this.mainColor = this.$uiConfig.mainColor;
this.getdidaMealType() if (this.id) this.getOrderDetail(this.id);
}, this.getdidaMealType()
methods: { },
submitGetCodeByOrderNo() { methods: {
submitGetCodeByOrderNo() {
if (this.submit || this.submitCancel) return; if (this.submit || this.submitCancel) return;
this.submit = true this.submit = true
this.apipost("GetCodeByOrderNo_post", { this.apipost("GetCodeByOrderNo_post", {
...@@ -348,189 +312,189 @@ ...@@ -348,189 +312,189 @@
MallBaseId: uni.getStorageSync("mall_UserInfo").MallBaseId MallBaseId: uni.getStorageSync("mall_UserInfo").MallBaseId
}, (res) => { }, (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
this.orderInfo =JSON.parse(res.data.sPayInfo) this.orderInfo = JSON.parse(res.data.sPayInfo)
this.goPayHandler(); this.goPayHandler();
} else { } else {
uni.showToast({ uni.showToast({
title:res.message, title: res.message,
icon:'none', icon: 'none',
duration:3000 duration: 3000
}) })
this.submit = false; this.submit = false;
} }
},e=>{ }, e => {
uni.showToast({ uni.showToast({
title:'无法发起支付,请稍后', title: '无法发起支付,请稍后',
icon:'none', icon: 'none',
duration:3000 duration: 3000
}) })
this.submit=false this.submit = false
}); });
}, },
goCancel() { goCancel() {
if(this.submitCancel) return if (this.submitCancel) return
this.submitCancel = true this.submitCancel = true
this.apipost( this.apipost(
"dmc_post_GetDiDaBookingCancel", { "dmc_post_GetDiDaBookingCancel", {
BookingID: this.orderData.model.OrderID, BookingID: this.orderData.model.OrderID,
}, },
(res) => { (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
uni.showToast({
title: "操作成功",
icon: "success",
});
this.getOrderDetail(this.id)
}
},
(err) => {
uni.showToast({ uni.showToast({
title: err.message, title: "操作成功",
icon: "none", icon: "success",
}); });
this.submitCancel = false this.getOrderDetail(this.id)
} }
);
}, },
//立即购买 (err) => {
buyRoom(){ uni.showToast({
let that = this; title: err.message,
if (that.orderMsg.Consignee == '') { icon: "none",
this.$refs.uToast.show({ });
title: '请输入住客姓名!', this.submitCancel = false
type: 'warning' }
}); );
return; },
} //立即购买
if (that.orderMsg.ConsigneeMobile == '') { buyRoom() {
this.$refs.uToast.show({ let that = this;
title: '请输入联系电话!', if (that.orderMsg.Consignee == '') {
type: 'warning' this.$refs.uToast.show({
}); title: '请输入住客姓名!',
return; type: 'warning'
} });
var tempObj = uni.getStorageSync('basedata').mall.wechatmessage; return;
var tmplIds = []; }
if(tempObj&&tempObj.length>0){ if (that.orderMsg.ConsigneeMobile == '') {
tempObj.forEach(x=>{ this.$refs.uToast.show({
if(x.Name=='下单成功提醒'||x.Name=='订单取消提醒'||x.Name=='订单确认通知'){ title: '请输入联系电话!',
tmplIds.push(x.MessageId) type: 'warning'
} });
}) return;
} }
uni.requestSubscribeMessage({ var tempObj = uni.getStorageSync('basedata').mall.wechatmessage;
tmplIds: tmplIds, var tmplIds = [];
complete(res) { if (tempObj && tempObj.length > 0) {
that.request2({ tempObj.forEach(x => {
url: '/api/Hotel/SetAppletHotelOrder', if (x.Name == '下单成功提醒' || x.Name == '订单取消提醒' || x.Name == '订单确认通知') {
data: that.orderMsg tmplIds.push(x.MessageId)
}, }
res => { })
if (res.resultCode == 1) { }
that.queren(res.data) uni.requestSubscribeMessage({
} tmplIds: tmplIds,
} complete(res) {
); that.request2({
} url: '/api/Hotel/SetAppletHotelOrder',
}) data: that.orderMsg
}, },
formatStatus(status) { res => {
if (res.resultCode == 1) {
that.queren(res.data)
}
}
);
}
})
},
formatStatus(status) {
// #ifdef MP-DI // #ifdef MP-DI
if (status == 4) { if (status == 4) {
this.orderStatus.code = -1; this.orderStatus.code = -1;
this.orderStatus.text = "已取消"; this.orderStatus.text = "已取消";
this.showPayBtn = false; this.showPayBtn = false;
} else if (status == 1) { } else if (status == 1) {
this.orderStatus.code = 0; this.orderStatus.code = 0;
this.orderStatus.text = "待付款"; this.orderStatus.text = "待付款";
this.showPayBtn = true; this.showPayBtn = true;
} else if (status == 3) { } else if (status == 3) {
this.orderStatus.code = 0; this.orderStatus.code = 0;
this.orderStatus.text = "已完成"; this.orderStatus.text = "已完成";
this.showPayBtn = false; this.showPayBtn = false;
}else if (status == 2) { } else if (status == 2) {
this.orderStatus.code = 1; this.orderStatus.code = 1;
this.orderStatus.text = "正常"; this.orderStatus.text = "正常";
this.showPayBtn = false; this.showPayBtn = false;
}else if (status == 5) { } else if (status == 5) {
this.orderStatus.code = 0; this.orderStatus.code = 0;
this.orderStatus.text = "售后"; this.orderStatus.text = "售后";
this.showPayBtn = false; this.showPayBtn = false;
} }
// #endif // #endif
// #ifdef MP-AG // #ifdef MP-AG
if (status == 4) { if (status == 4) {
this.orderStatus.code = -1; this.orderStatus.code = -1;
this.orderStatus.text = "已取消"; this.orderStatus.text = "已取消";
this.showPayBtn = false; this.showPayBtn = false;
} else if (status == 1) { } else if (status == 1) {
this.orderStatus.code = 0; this.orderStatus.code = 0;
this.orderStatus.text = "待付款"; this.orderStatus.text = "待付款";
this.showPayBtn = true; this.showPayBtn = true;
} else if (status == 3) { } else if (status == 3) {
this.orderStatus.code = 0; this.orderStatus.code = 0;
this.orderStatus.text = "已完成"; this.orderStatus.text = "已完成";
this.showPayBtn = false; this.showPayBtn = false;
}else if (status == 2) { } else if (status == 2) {
this.orderStatus.code = 1; this.orderStatus.code = 1;
this.orderStatus.text = "正常"; this.orderStatus.text = "正常";
this.showPayBtn = false; this.showPayBtn = false;
} }
// #endif // #endif
}, },
scroll(e) { scroll(e) {
this.old.scrollTop = e.detail.scrollTop this.old.scrollTop = e.detail.scrollTop
this.boxOption = Math.floor((e.detail.scrollTop - 50) / 1.5); this.boxOption = Math.floor((e.detail.scrollTop - 50) / 1.5);
this.titleStyle.opacity = this.titleStyle.opacity =
e.detail.scrollTop - 100 < 0 e.detail.scrollTop - 100 < 0 ?
? 0 0 :
: Math.floor(e.detail.scrollTop - 100) / 100 > 1 Math.floor(e.detail.scrollTop - 100) / 100 > 1 ?
? 1 1 :
: Math.floor(e.detail.scrollTop - 100) / 100; Math.floor(e.detail.scrollTop - 100) / 100;
this.$forceUpdate(); this.$forceUpdate();
}, },
goback() { goback() {
uni.navigateBack({ uni.navigateBack({
delta: 1, delta: 1,
}); });
}, },
//获取酒店详情 //获取酒店详情
getOrderDetail(id) { getOrderDetail(id) {
uni.showLoading({ uni.showLoading({
title: "加载中", title: "加载中",
}); });
let msg = { let msg = {
orderId: id, orderId: id,
// StartDate: this.dayObj.start, // StartDate: this.dayObj.start,
// EndDate: this.dayObj.end, // EndDate: this.dayObj.end,
}; };
this.apipost("dmc_post_Get_GetJAPAN_OrderDetail", msg, this.apipost("dmc_post_Get_GetJAPAN_OrderDetail", msg,
(res) => { (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
uni.hideLoading(); uni.hideLoading();
this.orderData = res.data this.orderData = res.data
this.RatePlanList = res.data.parmResult.Success.BookingDetails.Hotel.RatePlanList this.RatePlanList = res.data.parmResult.Success.BookingDetails.Hotel.RatePlanList
this.DanWei = res.data.parmResult.Success.BookingDetails.Hotel.RatePlanList[0].Currency this.DanWei = res.data.parmResult.Success.BookingDetails.Hotel.RatePlanList[0].Currency
this.roomRateDetails = res.data.parmResult.Success.BookingDetails.Hotel this.roomRateDetails = res.data.parmResult.Success.BookingDetails.Hotel
res.data.parmResultRoomInfo.GuestList.forEach((item, index) => { res.data.parmResultRoomInfo.GuestList.forEach((item, index) => {
this.roomNum++ this.roomNum++
item.GuestInfo.forEach((items, i) => { item.GuestInfo.forEach((items, i) => {
this.peopleNum++ this.peopleNum++
}) })
}) })
// this.orderData = res.data.BookingDetailsList[0] // this.orderData = res.data.BookingDetailsList[0]
// this.hotelData = res.data.BookingDetailsList[0].Hotel; // this.hotelData = res.data.BookingDetailsList[0].Hotel;
this.formatStatus(res.data.model.OrderStatus); this.formatStatus(res.data.model.OrderStatus);
console.log(res, '订单详情数据'); console.log(res, '订单详情数据');
} }
},err=>{ }, err => {
uni.hideLoading(); uni.hideLoading();
} }
); );
}, },
//日期格式化 //日期格式化
getformatDateStr(value) { getformatDateStr(value) {
var dt = new Date(value); var dt = new Date(value);
let year = dt.getFullYear(); let year = dt.getFullYear();
...@@ -538,599 +502,621 @@ ...@@ -538,599 +502,621 @@
let date = (dt.getDate()).toString().padStart(2, "0"); let date = (dt.getDate()).toString().padStart(2, "0");
return year + "-" + month + "-" + date; return year + "-" + month + "-" + date;
}, },
//计算天数 //计算天数
getDay(date1, date2) { getDay(date1, date2) {
//获得天数 //获得天数
//date1:开始日期,date2结束日期 //date1:开始日期,date2结束日期
var a1 = Date.parse(new Date(date1)); var a1 = Date.parse(new Date(date1));
var a2 = Date.parse(new Date(date2)); var a2 = Date.parse(new Date(date2));
var day = parseInt((a2 - a1) / (1000 * 60 * 60 * 24)); //核心:时间戳相减,然后除以天数 var day = parseInt((a2 - a1) / (1000 * 60 * 60 * 24)); //核心:时间戳相减,然后除以天数
return day; return day;
}, },
getDate(date) { getDate(date) {
date = date.slice(0, 10); date = date.slice(0, 10);
if (date) { if (date) {
let arr = date.split('-'); let arr = date.split('-');
return arr[1] + '月' + arr[2] + '日' return arr[1] + '月' + arr[2] + '日'
} }
}, },
getWeek(date) { getWeek(date) {
var weekArray = new Array("日", "一", "二", "三", "四", "五", "六"); var weekArray = new Array("日", "一", "二", "三", "四", "五", "六");
var week = weekArray[new Date(date).getDay()]; //注意此处必须是先new一个Date var week = weekArray[new Date(date).getDay()]; //注意此处必须是先new一个Date
return "周" + week; return "周" + week;
}, },
//获取道旅餐食类型 //获取道旅餐食类型
getdidaMealType() { getdidaMealType() {
this.apipost('dmc_post_GetDidaMealType', {}, res => { this.apipost('dmc_post_GetDidaMealType', {}, res => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
this.HotelMealTypes = res.data; this.HotelMealTypes = res.data;
} }
}, null) }, null)
}, },
//获取餐型 //获取餐型
getMealtype(mealtypeId) { getMealtype(mealtypeId) {
let mealtypeName = ""; let mealtypeName = "";
if (mealtypeId > 0) { if (mealtypeId > 0) {
this.HotelMealTypes.forEach((item) => { this.HotelMealTypes.forEach((item) => {
if (item.ID == mealtypeId) { if (item.ID == mealtypeId) {
mealtypeName = item.Name_CN; mealtypeName = item.Name_CN;
} }
}); });
} }
return mealtypeName; return mealtypeName;
}, },
}, },
}; };
</script> </script>
<style scoped> <style scoped>
@import url("@/asset/css/flex.css"); @import url("@/asset/css/flex.css");
.hotel-detail {
height: 100vh; .hotel-detail {
overflow: hidden; height: 100vh;
width: 100vw; overflow: hidden;
font-family: "pingfang"; width: 100vw;
background: #F3F3F3; font-family: "pingfang";
display: flex; background: #F3F3F3;
flex-direction: column; display: flex;
} flex-direction: column;
}
.hotel-detail .flex {
display: flex; .hotel-detail .flex {
align-items: center; display: flex;
} align-items: center;
}
.hotel-detail .f12 {
font-size: 24rpx !important; .hotel-detail .f12 {
} font-size: 24rpx !important;
}
.hotel-detail .king {
width: 44rpx; .hotel-detail .king {
height: 44rpx; width: 44rpx;
border-radius: 50%; height: 44rpx;
overflow: hidden; border-radius: 50%;
background: rgba(255, 255, 255, 0.2); overflow: hidden;
display: flex; background: rgba(255, 255, 255, 0.2);
align-items: center; display: flex;
justify-content: center; align-items: center;
position: relative; justify-content: center;
} position: relative;
}
.hotel-detail .regular {
font-weight: 500 !important; .hotel-detail .regular {
} font-weight: 500 !important;
}
.hotel-detail .hotel-content {
position: relative; .hotel-detail .hotel-content {
z-index: 2; position: relative;
top: -110rpx; z-index: 2;
} top: -110rpx;
}
.hotel-detail .hotel-content .date-box {
margin: 30rpx 0; .hotel-detail .hotel-content .date-box {
background: #ecf1f4; margin: 30rpx 0;
border-radius: 16rpx; background: #ecf1f4;
padding: 25rpx; border-radius: 16rpx;
justify-content: space-between; padding: 25rpx;
} justify-content: space-between;
}
.hotel-detail .hotel-content .date-box .hr-line {
width: 24rpx; .hotel-detail .hotel-content .date-box .hr-line {
height: 4rpx; width: 24rpx;
background: #222; height: 4rpx;
margin-right: 24rpx; background: #222;
} margin-right: 24rpx;
}
.hotel-detail .hotel-content .date-box .ver-line {
width: 1px; .hotel-detail .hotel-content .date-box .ver-line {
height: 49rpx; width: 1px;
background: #a8a8a8; height: 49rpx;
opacity: 0.3; background: #a8a8a8;
margin-right: 24rpx; opacity: 0.3;
} margin-right: 24rpx;
}
.hotel-detail .hotel-content .date-box .date {
font-size: 24rpx; .hotel-detail .hotel-content .date-box .date {
font-weight: bold; font-size: 24rpx;
color: #111111; font-weight: bold;
margin-right: 24rpx; color: #111111;
} margin-right: 24rpx;
}
.hotel-detail .hotel-content .date-box .date .date-week {
font-size: 24rpx; .hotel-detail .hotel-content .date-box .date .date-week {
font-weight: 500; font-size: 24rpx;
color: #6e6e6e; font-weight: 500;
margin-left: 18rpx; color: #6e6e6e;
} margin-left: 18rpx;
}
.hotel-detail .hotel-content .hotel-more-info {
width: 140rpx; .hotel-detail .hotel-content .hotel-more-info {
height: 60rpx; width: 140rpx;
line-height: 60rpx; height: 60rpx;
background: #ffffff; line-height: 60rpx;
border: 1px solid #111111; background: #ffffff;
border-radius: 8rpx; border: 1px solid #111111;
margin: 0 auto; border-radius: 8rpx;
font-size: 24rpx; margin: 0 auto;
font-weight: 500; font-size: 24rpx;
color: #1f1f1f; font-weight: 500;
text-align: center; color: #1f1f1f;
} text-align: center;
}
.hotel-detail .empty-block {
height: 20rpx; .hotel-detail .empty-block {
background-color: #ecf1f4; height: 20rpx;
} background-color: #ecf1f4;
}
.hotel-detail .hotel-content .detail-box {
padding: 33rpx 30rpx 0 30rpx; .hotel-detail .hotel-content .detail-box {
} padding: 33rpx 30rpx 0 30rpx;
}
.hotel-detail .hotel-content .detail-box .nearby-type {
padding: 0 16rpx; .hotel-detail .hotel-content .detail-box .nearby-type {
height: 40rpx; padding: 0 16rpx;
line-height: 40rpx; height: 40rpx;
background: #fff; line-height: 40rpx;
border-radius: 20rpx; background: #fff;
margin-right: 10rpx; border-radius: 20rpx;
margin-right: 10rpx;
font-size: 28rpx;
font-weight: 500; font-size: 28rpx;
color: #1f1f1f; font-weight: 500;
} color: #1f1f1f;
}
.hotel-detail .hotel-content .detail-box .nearby-type.active {
color: #dfbe6e; .hotel-detail .hotel-content .detail-box .nearby-type.active {
background: rgba(223, 190, 110, 0.2); color: #dfbe6e;
} background: rgba(223, 190, 110, 0.2);
}
.hotel-detail .hotel-content .title-style-one {
font-weight: 500; .hotel-detail .hotel-content .title-style-one {
font-size: 24rpx; font-weight: 500;
color: #080A09; font-size: 24rpx;
line-height: 43rpx; color: #080A09;
text-indent: 21rpx; line-height: 43rpx;
} text-indent: 21rpx;
.hotel-detail .hotel-content .title-style-one item-title{ }
line-height: 36rpx;
} .hotel-detail .hotel-content .title-style-one item-title {
.hotel-detail .hotel-content .title-style-one .item-content{ line-height: 36rpx;
color: #B99846; }
margin-left: 5rpx;
line-height: 36rpx; .hotel-detail .hotel-content .title-style-one .item-content {
} color: #B99846;
.title-style-one li{ margin-left: 5rpx;
margin-bottom: 5rpx; line-height: 36rpx;
} }
.hotel-detail .hotel-content .big-title {
position: relative; .title-style-one li {
font-size: 32rpx; margin-bottom: 5rpx;
font-weight: bold; }
margin-bottom: 35rpx;
} .hotel-detail .hotel-content .big-title {
position: relative;
.hotel-detail .hotel-content .big-title::before { font-size: 32rpx;
display: block; font-weight: bold;
width: 18rpx; margin-bottom: 35rpx;
height: 18rpx; }
background: #E2C27A;
border-radius: 5rpx; .hotel-detail .hotel-content .big-title::before {
content: " "; display: block;
position: absolute; width: 18rpx;
left: 0; height: 18rpx;
bottom: -4rpx; background: #E2C27A;
z-index: 1; border-radius: 5rpx;
} content: " ";
position: absolute;
.hotel-detail .hotel-content .big-title text { left: 0;
font-size: 34rpx; bottom: -4rpx;
font-weight: bold; z-index: 1;
color: #1f1f1f; }
position: relative;
z-index: 2; .hotel-detail .hotel-content .big-title text {
} font-size: 34rpx;
font-weight: bold;
.hotel-detail .hotel-content .hotel-base .hotel-room .room-type { color: #1f1f1f;
/* padding:10rpx 30rpx; */ position: relative;
display: flex; z-index: 2;
align-items: center; }
overflow-x: auto;
flex-wrap: nowrap; .hotel-detail .hotel-content .hotel-base .hotel-room .room-type {
} /* padding:10rpx 30rpx; */
display: flex;
.hotel-detail .hotel-content .hotel-base .room-list { align-items: center;
padding-top: 40rpx; overflow-x: auto;
} flex-wrap: nowrap;
}
.hotel-detail .hotel-content .hotel-base .hotel-room .room-type .item {
padding: 16rpx 30rpx; .hotel-detail .hotel-content .hotel-base .room-list {
background: #ecf1f4; padding-top: 40rpx;
border-radius: 8rpx; }
margin-right: 26rpx;
font-size: 22rpx; .hotel-detail .hotel-content .hotel-base .hotel-room .room-type .item {
color: #999999; padding: 16rpx 30rpx;
font-weight: 400; background: #ecf1f4;
flex-shrink: 0; border-radius: 8rpx;
} margin-right: 26rpx;
font-size: 22rpx;
.hotel-detail .hotel-content .hotel-base .hotel-room .room-type .item.active { color: #999999;
background: #111111; font-weight: 400;
color: #ffffff; flex-shrink: 0;
} }
.hotel-detail .hotel-detail .hotel-content .hotel-base .hotel-room .room-type .item.active {
.hotel-content background: #111111;
.hotel-base color: #ffffff;
.hotel-room }
.room-type
.item:last-child { .hotel-detail .hotel-content .hotel-base .hotel-room .room-type .item:last-child {
margin-right: 0; margin-right: 0;
} }
.hotel-detail .hotel-content .hotel-base { .hotel-detail .hotel-content .hotel-base {
/* position: relative; /* position: relative;
top: -140rpx; */ top: -140rpx; */
border-top-left-radius: 60rpx; border-top-left-radius: 60rpx;
border-top-right-radius: 60rpx; border-top-right-radius: 60rpx;
background: url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/hoteldetailbj.png) no-repeat #F3F3F3; background: url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/hoteldetailbj.png) no-repeat #F3F3F3;
background-size: 100% auto; background-size: 100% auto;
padding: 39rpx 0 44rpx 0; padding: 39rpx 0 44rpx 0;
} }
.location { .location {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.location .loc-left { .location .loc-left {
width: 1px; width: 1px;
flex: 1; flex: 1;
} }
.location .loc-left .loc-name { .location .loc-left .loc-name {
font-size: 28rpx; font-size: 28rpx;
font-weight: 800; font-weight: 800;
color: #111111; color: #111111;
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.location .loc-left .loc-remark { .location .loc-left .loc-remark {
font-size: 22rpx; font-size: 22rpx;
font-weight: 500; font-weight: 500;
color: #6e6e6e; color: #6e6e6e;
line-height: 34rpx; line-height: 34rpx;
} }
.location .loc-right { .location .loc-right {
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #111111; color: #111111;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.hotel-detail .hotel-content .hotel-base .head { .hotel-detail .hotel-content .hotel-base .head {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 40rpx; margin-bottom: 40rpx;
} }
.hotel-detail .hotel-content .hotel-base .head .hotel-name { .hotel-detail .hotel-content .hotel-base .head .hotel-name {
font-size: 36rpx; font-size: 36rpx;
font-weight: 800; font-weight: 800;
color: #111111; color: #111111;
} }
.hotel-detail .hotel-content .hotel-base .head .hotel-tag { .hotel-detail .hotel-content .hotel-base .head .hotel-tag {
font-size: 22rpx; font-size: 22rpx;
font-weight: 500; font-weight: 500;
color: #6e6e6e; color: #6e6e6e;
} }
.hotel-Opening{
font-weight: 500; .hotel-Opening {
font-size: 24rpx; font-weight: 500;
color: #B99846; font-size: 24rpx;
margin-right: 31rpx; color: #B99846;
margin-bottom: 20rpx; margin-right: 31rpx;
display: inline-block; margin-bottom: 20rpx;
} display: inline-block;
.hotel-tagText{ }
background: #FFFFFF;
border-radius: 4rpx; .hotel-tagText {
border: 1rpx solid #B99846; background: #FFFFFF;
color: #B99846; border-radius: 4rpx;
text-align: center; border: 1rpx solid #B99846;
margin-right: 8rpx; color: #B99846;
margin-bottom: 20rpx; text-align: center;
height: 34rpx; margin-right: 8rpx;
line-height: 26rpx; margin-bottom: 20rpx;
padding: 0 12rpx; height: 34rpx;
display: inline-block; line-height: 26rpx;
} padding: 0 12rpx;
.hotel-detail .hotel-content .hotel-base .head .op-box image { display: inline-block;
width: 58rpx; }
height: 58rpx;
} .hotel-detail .hotel-content .hotel-base .head .op-box image {
width: 58rpx;
.hotel-detail .hotel-content .hotel-base .shebei { height: 58rpx;
padding: 34rpx 0; }
margin-bottom: 34rpx;
border-bottom: 1px solid rgba(0, 0, 0, 0.1); .hotel-detail .hotel-content .hotel-base .shebei {
display: flex; padding: 34rpx 0;
align-items: center; margin-bottom: 34rpx;
} border-bottom: 1px solid rgba(0, 0, 0, 0.1);
display: flex;
.hotel-detail .hotel-content .hotel-base .shebei .sb-left { align-items: center;
width: 1px; }
flex: 1;
/* display: flex; */ .hotel-detail .hotel-content .hotel-base .shebei .sb-left {
align-items: center; width: 1px;
display: -webkit-box; flex: 1;
overflow: auto; /* display: flex; */
margin-right: 20rpx; align-items: center;
} display: -webkit-box;
overflow: auto;
.hotel-detail .hotel-content .hotel-base .shebei .sb-left .sb-item { margin-right: 20rpx;
padding: 7rpx 13rpx; }
background: #ecf1f4;
border-radius: 4rpx; .hotel-detail .hotel-content .hotel-base .shebei .sb-left .sb-item {
font-size: 22rpx; padding: 7rpx 13rpx;
font-weight: 500; background: #ecf1f4;
color: #111111; border-radius: 4rpx;
margin-right: 10rpx; font-size: 22rpx;
} font-weight: 500;
color: #111111;
.hotel-detail .hotel-content .hotel-base .shebei .sb-right { margin-right: 10rpx;
font-size: 24rpx; }
font-weight: 500;
color: #111111; .hotel-detail .hotel-content .hotel-base .shebei .sb-right {
display: flex; font-size: 24rpx;
align-items: center; font-weight: 500;
} color: #111111;
display: flex;
.hotel-detail .hotel-title { align-items: center;
line-height: 45px !important; }
font-size: 16px;
text-align: center; .hotel-detail .hotel-title {
position: fixed; line-height: 45px !important;
left: 0; font-size: 16px;
top: 0; text-align: center;
width: 100%; position: fixed;
color: #111; left: 0;
box-sizing: content-box; top: 0;
z-index: 5; width: 100%;
display: flex; color: #111;
align-items: center; box-sizing: content-box;
background-color: #f6f6f6; z-index: 5;
padding-left: 6rpx; display: flex;
} align-items: center;
background-color: #f6f6f6;
.hotel-detail .media { padding-left: 6rpx;
position: relative; }
z-index: 1;
background: #fff; .hotel-detail .media {
box-shadow: 0rpx 14rpx 40rpx 0rpx rgba(76,76,76,0.06); position: relative;
border-radius: 0rpx 0rpx 40rpx 40rpx; z-index: 1;
overflow: hidden; background: #fff;
} box-shadow: 0rpx 14rpx 40rpx 0rpx rgba(76, 76, 76, 0.06);
border-radius: 0rpx 0rpx 40rpx 40rpx;
.hotel-detail .media .play-btn { overflow: hidden;
position: absolute; }
left: 50%;
top: 50%; .hotel-detail .media .play-btn {
margin-top: -49rpx; position: absolute;
margin-left: -49rpx; left: 50%;
width: 98rpx; top: 50%;
height: 98rpx; margin-top: -49rpx;
border-radius: 20rpx; margin-left: -49rpx;
background-color: rgba(255, 255, 255, 0.4); width: 98rpx;
display: flex; height: 98rpx;
align-items: center; border-radius: 20rpx;
justify-content: center; background-color: rgba(255, 255, 255, 0.4);
} display: flex;
align-items: center;
.hotel-detail .media .video-box { justify-content: center;
background-color: #111; }
height: 545rpx;
position: relative; .hotel-detail .media .video-box {
} background-color: #111;
height: 545rpx;
.hotel-detail .media .type-box { position: relative;
width: 100px; }
height: 50rpx;
position: absolute; .hotel-detail .media .type-box {
background-color: rgba(255, 255, 255, 0.6); width: 100px;
border-radius: 50rpx; height: 50rpx;
left: 50%; position: absolute;
bottom: 80px; background-color: rgba(255, 255, 255, 0.6);
margin-left: -50px; border-radius: 50rpx;
} left: 50%;
bottom: 80px;
.hotel-detail .media .media-info .type-img-box { margin-left: -50px;
background-color: rgba(255, 255, 255, 0.5); }
color: #fff;
display: flex; .hotel-detail .media .media-info .type-img-box {
align-items: center; background-color: rgba(255, 255, 255, 0.5);
height: 96rpx; color: #fff;
width: 96rpx; display: flex;
padding: 8rpx; align-items: center;
border-radius: 12rpx; height: 96rpx;
position: relative; width: 96rpx;
} padding: 8rpx;
border-radius: 12rpx;
.hotel-detail .media .media-info .type-img-box image { position: relative;
height: 80rpx; }
width: 80rpx;
border-radius: 12rpx; .hotel-detail .media .media-info .type-img-box image {
opacity: 0.5; height: 80rpx;
} width: 80rpx;
border-radius: 12rpx;
.hotel-detail .media .media-info .type-img-box .content { opacity: 0.5;
position: absolute; }
left: 0;
top: 0; .hotel-detail .media .media-info .type-img-box .content {
right: 0; position: absolute;
bottom: 0; left: 0;
text-align: center; top: 0;
font-size: 20rpx; right: 0;
color: #fff; bottom: 0;
display: flex; text-align: center;
flex-direction: column; font-size: 20rpx;
align-items: center; color: #fff;
justify-content: center; display: flex;
justify-items: center; flex-direction: column;
} align-items: center;
justify-content: center;
.hotel-detail .media .media-info .type-img-box text { justify-items: center;
font-size: 22rpx; }
font-family: pingfang;
margin-left: 6rpx; .hotel-detail .media .media-info .type-img-box text {
} font-size: 22rpx;
font-family: pingfang;
.hotel-detail .media .media-info { margin-left: 6rpx;
position: absolute; }
background-color: rgba(0, 0, 0, 0.35);
top: 287rpx; .hotel-detail .media .media-info {
bottom: 0; position: absolute;
left: 0; background-color: rgba(0, 0, 0, 0.35);
right: 0; top: 287rpx;
padding: 30rpx 50rpx; bottom: 0;
} left: 0;
right: 0;
.hotel-detail .media .media-info .mi-left { padding: 30rpx 50rpx;
flex: 1; }
}
.detail_ShareBtn { .hotel-detail .media .media-info .mi-left {
width: 100%; flex: 1;
height: 100%; }
position: absolute;
left: 0; .detail_ShareBtn {
top: 0; width: 100%;
opacity: 0; height: 100%;
} position: absolute;
.name-ali { left: 0;
/* #ifdef MP-ALIPAY */ top: 0;
box-sizing: border-box; opacity: 0;
padding-left: 30rpx; }
/* #endif */
} .name-ali {
/* #ifdef MP-ALIPAY */
.orderIforDiZhi{ box-sizing: border-box;
padding: 27rpx 32rpx 41rpx 32rpx; padding-left: 30rpx;
} /* #endif */
.orderIforDiZhiL{ }
font-weight: 800;
font-size: 32rpx; .orderIforDiZhi {
color: #080A09; padding: 27rpx 32rpx 41rpx 32rpx;
padding-bottom: 18rpx; }
}
.orderIforDiZhiRImg{ .orderIforDiZhiL {
width: 23rpx; font-weight: 800;
margin-right: 13rpx; font-size: 32rpx;
} color: #080A09;
.orderIforDiZhiRText{ padding-bottom: 18rpx;
width: 1px; }
flex: 1;
font-weight: 500; .orderIforDiZhiRImg {
font-size: 28rpx; width: 23rpx;
color: #1D1D20; margin-right: 13rpx;
line-height: 38rpx; }
}
.ReservationInforBox{ .orderIforDiZhiRText {
border-radius: 18rpx; width: 1px;
background: #fff; flex: 1;
margin: 28rpx 31rpx 28rpx 31rpx; font-weight: 500;
padding: 37rpx 18rpx 49rpx 18rpx; font-size: 28rpx;
} color: #1D1D20;
.ReservationInforTitle{ line-height: 38rpx;
font-weight: 800; }
font-size: 32rpx;
color: #080A09; .ReservationInforBox {
padding-bottom: 24rpx; border-radius: 18rpx;
} background: #fff;
.ResInforText{ margin: 28rpx 31rpx 28rpx 31rpx;
padding: 21rpx 19rpx; padding: 37rpx 18rpx 49rpx 18rpx;
} }
.ResInforL{
width: 120rpx; .ReservationInforTitle {
text-align: right; font-weight: 800;
margin-right: 57rpx; font-size: 32rpx;
font-weight: 500; color: #080A09;
font-size: 28rpx; padding-bottom: 24rpx;
color: #303133; }
}
.ResInforL.Lwidth{ .ResInforText {
width: 130rpx; padding: 21rpx 19rpx;
} }
.ResInforR{
width: 1px; .ResInforL {
flex: 1; width: 120rpx;
font-weight: bold; text-align: right;
font-size: 28rpx; margin-right: 57rpx;
color: #080A09; font-weight: 500;
} font-size: 28rpx;
.ResInforR.active{ color: #303133;
color: #B99846; }
}
.ResInforTisp{ .ResInforL.Lwidth {
font-weight: 500; width: 130rpx;
font-size: 24rpx; }
color: #1D1D20;
line-height: 42rpx; .ResInforR {
} width: 1px;
.ResInforText.ResInforTtisp{ flex: 1;
padding: 14rpx 19rpx 21rpx 19rpx; font-weight: bold;
} font-size: 28rpx;
color: #080A09;
.orderStatusBox{ }
padding: 200rpx 31rpx 13rpx 31rpx;
} .ResInforR.active {
.orderIforRzBox{ color: #B99846;
margin: 0 31rpx; }
background: #ECF1F4;
border-radius: 18rpx; .ResInforTisp {
align-items: center; font-weight: 500;
padding: 31rpx 38rpx; font-size: 24rpx;
} color: #1D1D20;
.orderIforRzTime{ line-height: 42rpx;
font-weight: 500; }
font-size: 28rpx;
color: #1D1D20; .ResInforText.ResInforTtisp {
margin-left: 16rpx; padding: 14rpx 19rpx 21rpx 19rpx;
} }
.orderIforRzNum{
font-weight: bold; .orderStatusBox {
font-size: 32rpx; padding: 200rpx 31rpx 13rpx 31rpx;
color: #080A09; }
}
.opera-box{ .orderIforRzBox {
margin: 0 31rpx;
background: #ECF1F4;
border-radius: 18rpx;
align-items: center;
padding: 31rpx 38rpx;
}
.orderIforRzTime {
font-weight: 500;
font-size: 28rpx;
color: #1D1D20;
margin-left: 16rpx;
}
.orderIforRzNum {
font-weight: bold;
font-size: 32rpx;
color: #080A09;
}
.opera-box {
background-color: #FFF; background-color: #FFF;
padding: 20rpx 45rpx 40rpx 45rpx; padding: 20rpx 45rpx 40rpx 45rpx;
z-index: 5; z-index: 5;
} }
.opera-box .box{
.opera-box .box {
height: 100rpx; height: 100rpx;
background: #FFFFFF; background: #FFFFFF;
box-shadow: 0px 10rpx 30rpx 0px rgba(36, 36, 36, 0.2); box-shadow: 0px 10rpx 30rpx 0px rgba(36, 36, 36, 0.2);
...@@ -1139,84 +1125,92 @@ ...@@ -1139,84 +1125,92 @@
align-items: center; align-items: center;
padding: 0 10rpx 0 36rpx; padding: 0 10rpx 0 36rpx;
} }
.opera-box .box .price{
.opera-box .box .price {
font-size: 40rpx; font-size: 40rpx;
font-weight: 500; font-weight: 500;
color: #D91818; color: #D91818;
margin-right: 20rpx; margin-right: 20rpx;
} }
.opera-box .box .sum-detail{
.opera-box .box .sum-detail {
font-size: 24rpx; font-size: 24rpx;
flex: 1; flex: 1;
font-weight: 500; font-weight: 500;
color: #6E6E6E; color: #6E6E6E;
} }
.jz_orderbox { .jz_orderbox {
/* position: fixed; */ /* position: fixed; */
background-color: #fff; background-color: #fff;
bottom: 0; bottom: 0;
width: 100vw; width: 100vw;
left: 0; left: 0;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
box-shadow: 0px 0rpx 50rpx 0px rgba(76, 76, 76, 0.13); box-shadow: 0px 0rpx 50rpx 0px rgba(76, 76, 76, 0.13);
z-index: 99; z-index: 99;
justify-content: flex-end; justify-content: flex-end;
padding: 20rpx 30rpx; padding: 20rpx 30rpx;
} }
.jz_OrderDiv {
width: 90%; .jz_OrderDiv {
height: 100rpx; width: 90%;
background-color: #fff; height: 100rpx;
margin: auto; background-color: #fff;
padding: 20rpx; margin: auto;
display: flex; padding: 20rpx;
justify-content: space-between; display: flex;
align-items: center; justify-content: space-between;
box-shadow: 0px 10rpx 30rpx 0px rgba(36, 36, 36, 0.2); align-items: center;
border-radius: 16px; box-shadow: 0px 10rpx 30rpx 0px rgba(36, 36, 36, 0.2);
z-index: 999; border-radius: 16px;
} z-index: 999;
}
.jz_OrderReNow {
width: 170rpx; .jz_OrderReNow {
height: 80rpx; width: 170rpx;
background-color: #111111; height: 80rpx;
text-align: center; background-color: #111111;
line-height: 80rpx; text-align: center;
color: #fff; line-height: 80rpx;
font-weight: 600; color: #fff;
font-size: 28rpx; font-weight: 600;
border-radius: 16rpx; font-size: 28rpx;
} border-radius: 16rpx;
.big-title{ }
font-size: 32rpx;
color: #080A09; .big-title {
padding-bottom: 24rpx; font-size: 32rpx;
font-weight: 800; color: #080A09;
padding-bottom: 24rpx;
} font-weight: 800;
.regular {
font-weight: 500 ; }
}
.label { .regular {
font-size: 28rpx; font-weight: 500;
font-weight: 600; }
margin-right: 60rpx;
flex-shrink: 0; .label {
} font-size: 28rpx;
.grey { font-weight: 600;
color: #6e6e6e; margin-right: 60rpx;
} flex-shrink: 0;
.f12 { }
font-size: 24rpx ;
} .grey {
.form-items:first-child{ color: #6e6e6e;
padding: 0 0 30rpx 0; }
display: flex;
border-bottom: 1px solid #e6e6e6; .f12 {
} font-size: 24rpx;
</style> }
\ No newline at end of file .form-items:first-child {
padding: 0 0 30rpx 0;
display: flex;
border-bottom: 1px solid #e6e6e6;
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment