jiazhipeng 1 year ago
parent
commit
5bcf1cf397
  1. 5
      package-lock.json
  2. 1
      package.json
  3. 12
      pages.json
  4. 33
      pages/index/index.vue
  5. 13
      pages/mall/mall.vue
  6. 9
      static/js/CommonFunction.js
  7. 2
      store/modules/user.js
  8. 3
      subPackages/food/foodOrder.vue
  9. 54
      subPackages/hotelHomestay/detail.vue
  10. 16
      subPackages/hotelHomestay/order.vue
  11. 77
      subPackages/hotelHomestay/selectCalendar.vue
  12. 295
      subPackages/order/detail.vue

5
package-lock.json

@ -2,6 +2,11 @@
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"mobile-calendar-simple": {
"version": "2.4.0",
"resolved": "https://registry.npmmirror.com/mobile-calendar-simple/-/mobile-calendar-simple-2.4.0.tgz",
"integrity": "sha512-67Dg/pxQ7EK2uxGrjv4tLOBx+upIErxdtTC27o+luGFmhBtZ3+k1C2DGIzzJYhAF/YsMG9zkSl9XZY0TEt/HOg=="
},
"ydui-district": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/ydui-district/-/ydui-district-1.1.0.tgz",

1
package.json

@ -1,5 +1,6 @@
{
"dependencies": {
"mobile-calendar-simple": "^2.4.0",
"ydui-district": "^1.1.0"
}
}

12
pages.json

@ -176,16 +176,14 @@
},
{
"path": "travelGuide/travelGuide",
"style" :
{
"style": {
"navigationBarTitleText": "游记攻略",
"navigationStyle": "custom"
}
},
{
"path": "travelGuide/detail",
"style" :
{
"style": {
"navigationBarTitleText": "攻略详情"
}
},
@ -289,6 +287,12 @@
"navigationBarTitleText": "搜索结果",
"enablePullDownRefresh": false
}
},
{
"path": "hotelHomestay/selectCalendar",
"style": {
"navigationBarTitleText": "选择日期"
}
}
]
}],

33
pages/index/index.vue

@ -79,7 +79,7 @@
<view @click="gotoPath('/subPackages/line/lineList')">更多 ></view>
</view>
<view class="box">
<view v-for="(item,index) in lineList" :key="index" class="line-item">
<view v-for="(item,index) in lineList" :key="index" class="line-item" @click="goCalendarDetail(item.goods,1)">
<view class="hot flex-center" v-if="item.goods.image_tag">{{item.goods.image_tag}}</view>
<image :src="showImg(item.goods.image)" mode="aspectFill" class="line-img"></image>
@ -121,7 +121,7 @@
<view class="strategy-box box">
<view v-for="(num,nums) in 2" :key="nums">
<view v-for="(item,index) in strategyList" :key="index" class="strategy-item" v-if="index % 2 === nums" @click="goDetail(item)">
<view v-for="(item,index) in strategyList" :key="index" class="strategy-item" v-if="index % 2 === nums" @click="goCalendarDetail(item)">
<view class="title-tag" v-if="item.image_tag">{{item.image_tag}}</view>
<image class="strategy-image" :src="showImg(item.image)" mode="widthFix"></image>
<view class="strategy-content">
@ -279,6 +279,35 @@
break;
}
},
// 线
goCalendarDetail(item,type) {
switch (item.link_type) {
case 0:
//
if(type == 1) {
// 线
}else {
uni.navigateTo({
url:'/subPackages/travelGuide/detail?id='+item.id
})
}
break;
case 1:
//
uni.navigateToMiniProgram({
shortLink: item.ext_link
})
break;
case 2:
// h5
uni.navigateTo({
url: '/subPackages/webPage/webPage?url=' + item.ext_link
});
break;
default:
break;
}
},
//
getWeather() {
this.Post({},'/api/index/weather').then(res => {

13
pages/mall/mall.vue

@ -1,7 +1,20 @@
<template>
<view></view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
uni.navigateTo({
url: '/subPackages/techan/techanList'
});
}
}
</script>
<style>

9
static/js/CommonFunction.js

@ -130,6 +130,15 @@ Vue.prototype.gotoPath = path => {
// 返回上一页
Vue.prototype.goBack = () => {
console.log(getCurrentPages())
var pages = getCurrentPages();
var page = pages[pages.length - 1];
if(page.route == 'subPackages/techan/techanList') {
uni.switchTab({
url: '/pages/index/index'
})
return;
}
getCurrentPages().length > 1 ? uni.navigateBack({}) : uni.switchTab({
url: '/pages/index/index'
})

2
store/modules/user.js

@ -23,7 +23,7 @@ export default {
url: '/pages/login/login'
})
},
// 线路下单
// 美食下单
changeFoodInfo(state, data){
state.foodInfo = data
},

3
subPackages/food/foodOrder.vue

@ -42,7 +42,7 @@
<view class="left-text">
手机号
</view>
<input type="number" v-model="reserve_phone" maxlength="11" />
<input type="number" v-model="reserve_phone" placeholder="请输入联系手机号" maxlength="11" />
</view>
<image class="cha" @click="cha" v-if="reserve_phone!= ''" :src="showImg('/uploads/20240827/5e5970926e92a2109da55bfe32a47e4b.png')" mode=""></image>
</view>
@ -92,6 +92,7 @@
uni.navigateBack();
}
console.log(this.info);
this.reserve_phone = JSON.parse(uni.getStorageSync('userInfo')).mobile
this.total()
},
methods: {

54
subPackages/hotelHomestay/detail.vue

@ -89,8 +89,8 @@
</view>
</view>
<view class="price-container">
<view class="price">{{item.price/100}}</view>
<view class="btn" @click="goOrder(item)">预订</view>
<view class="price">{{item.money/100}}</view>
<view :class="['btn', {'noBuy': item.store == 0}]" @click="goOrder(item)">预订</view>
</view>
</view>
</view>
@ -169,14 +169,20 @@
</view>
</uni-popup>
<uni-calendar ref="calendar" class="uni-calendar--hook" :clear-date="false"
:insert="false" :range="true" :startDate="calendarParam.startDate"
:endDate="calendarParam.endDate" @confirm="confirmCalendar"/>
<uni-popup ref="calendarPopup" type="bottom">
<view style="width: 100vw;height: 60vh;">
<SelectCalendar :startDate="new Date(selectDate.startDay).Format('yyyy-MM-dd')" :endDate="new Date(selectDate.endDay).Format('yyyy-MM-dd')"></SelectCalendar>
</view>
</uni-popup>
</view>
</template>
<script>
import SelectCalendar from './selectCalendar';
export default {
components: {
SelectCalendar
},
data() {
return {
headImg: "https://tongli.sz-trip.com/uploads/20240826/8653c32761e01ee683505eddba1ae22b.png",
@ -202,12 +208,20 @@
}
},
onShow(options) {
},
onLoad(options) {
this.id = options.id;
this.getInfo();
this.getGoodsList()
uni.$on('changeHotelDate', data => {
if(data) {
this.selectDate = data
this.getGoodsList()
}
this.$refs.calendarPopup.close();
})
},
onUnload() {
uni.$off('changeHotelDate')
},
methods: {
swiperChange (e) {
@ -268,7 +282,9 @@
// id
getGoodsList(){
this.Post({
scenic_id: this.id
scenic_id: this.id,
start_date: this.selectDate.startDay,
end_date: this.selectDate.endDay
},'/api/scenic/getGoodsByScenicId').then(res => {
let result = res.data || []
let data = []
@ -312,18 +328,7 @@
return days;
},
openCalendar () {
this.calendarParam = {
startDate: this.minSeldDate,
endDate: this.maxSeldDate,
// selected: this.allSeldDate.filter(v=>v.store>0).map(v=>{
// return {
// date: v.date,
// info: ''+this.showNoPriceNew(v.money),
// notNeedDot:true,
// }
// })
}
this.$refs.calendar.open();
this.$refs.calendarPopup.open();
},
confirmCalendar (val) {
if (val.range.data.length<2) {
@ -348,9 +353,9 @@
//
goOrder (item) {
// if (item.xx) {
// return
// }
if (item.store == 0) {
return
}
let param = {
skuInfo: item,
@ -692,6 +697,9 @@
align-items: center;
justify-content: center;
}
.noBuy {
background: #ccc;
}
}
}

16
subPackages/hotelHomestay/order.vue

@ -214,7 +214,7 @@
},
total () {
return this.skuInfo.price/100 * this.buyNum || 0
return this.skuInfo.money/100 * this.buyNum || 0
},
order () {
@ -227,14 +227,18 @@
});
return;
}
if (this.roomUser.some(v=>v.name.length<0)) {
if (this.roomUser.some(v=>{return v.name.length==0})) {
uni.showToast({
title: '请输入住客姓名',
icon: 'none'
});
return;
}
if (this.roomUser.length != new Set(this.roomUser).length) {
let roomNames = []
this.roomUser.forEach(item => { roomNames.push(item.name) })
if (roomNames.length != Array.from(new Set(roomNames)).length) {
uni.showToast({
title: '住客姓名不能相同',
icon: 'none'
@ -248,17 +252,15 @@
specifications_id: this.skuInfo.id,
start_date: this.selectDate.startDay,
end_date: this.selectDate.endDay,
customer_name: this.roomUser.map(v=>v.name).join(','),
// reserve_mobile: this.phone,
}
goods.push(goodsItem)
let data = {
goods: goods,
reserve_phone: this.phone,
reserve_name: roomNames.toString(),
reserve_phone: this.phone
}
return
this.Post({
method: 'POST',
data: JSON.stringify(data)

77
subPackages/hotelHomestay/selectCalendar.vue

@ -0,0 +1,77 @@
<template>
<div>
<!--如果需要solt-->
<!--用法二当mode=23的模式下分别为酒店\往返的离开日期-->
<Calendar @click="tip" :is-show="true" :start-date="startDate" :end-date="endDate" mode="2" :title="'日期选择'"
@callback="getDate" :transition="'slide'" :theme-color="'#71B580'" />
<div class="btn" @click="determine()">
确定
</div>
</div>
</template>
<script>
import Calendar from 'mobile-calendar-simple'
export default {
props: ['startDate', 'endDate'],
data() {
return { //yyyy-mm-ddyyyy/mm/dd
betweenStart: '',
betweenEnd: '',
calendarShow: true,
date: 'init', //
}
},
methods: {
determine() {
if (this.date == 'delete') {
uni.showToast({
title: "请选择日期",
icon: "none"
})
} else if (this.date == 'init') {
//
uni.$emit('changeHotelDate',null)
} else {
let date = this.date
let data = {
startDay: date.startStr.dateStr,
endDay: date.endStr.dateStr,
differDays: date.dayCount
}
uni.$emit('changeHotelDate',data)
}
},
//
getDate(date) {
this.date = date
},
tip() {
console.log(1);
}
},
components: {
Calendar
}
}
</script>
<style scoped>
.btn {
width: 697rpx;
height: 80rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491);
border-radius: 40rpx;
line-height: 80rpx;
font-size: 36rpx;
font-family: PingFang SC;
font-weight: 500;
color: #000000;
text-align: center;
position: fixed;
bottom: 30rpx;
z-index: 999;
text-align: center;
left: 50%;
transform: translate(-348.5rpx, 0);
}
</style>

295
subPackages/order/detail.vue

@ -15,8 +15,8 @@
<view v-if="isQrcode" style="margin-top: -66rpx;">
<view class="qrcode-remain">还剩<span>{{remainNum}}</span>张未核销</view>
<swiper class="qrcode-box" :circular="false" previous-margin="120rpx" next-margin="120rpx"
:duration="800" :current="current" @change="swiperChange">
<swiper class="qrcode-box" :circular="false" previous-margin="120rpx" next-margin="120rpx" :duration="800"
:current="current" @change="swiperChange">
<swiper-item v-for="(item, index) in info.order_child" :key="index" class="flex-center">
<view class="qrcode-item flex-column">
<view class="qrcode-title">{{item.specifications_name}}</view>
@ -25,7 +25,8 @@
style="width:150px;height:150px;z-index: -20;bottom: -500px;position: absolute;"></canvas>
<view class="qrcode-subtitle">核销码:{{item.child_id}}</view>
<view class="complete-text flex-center" v-if="['WAIT_REFUND','REFUND_SUCCESS','WAIT_COMMENT','COMPLETE'].includes(item.status)">
<view class="complete-text flex-center"
v-if="['WAIT_REFUND','REFUND_SUCCESS','WAIT_COMMENT','COMPLETE'].includes(item.status)">
<view class="flex-center" v-if="item.status == 'WAIT_COMMENT'">
已核销
</view>
@ -39,7 +40,8 @@
<!-- 指示点 -->
<view class="swiper-point flex-center">
<view v-for="(item,index) in info.order_child" :key="index" :class="[{'swiper-points': index == current}]"></view>
<view v-for="(item,index) in info.order_child" :key="index"
:class="[{'swiper-points': index == current}]"></view>
</view>
<!-- 提示语 -->
@ -68,7 +70,8 @@
<!-- 子订单规格 -->
<view>
<view v-for="(item,index) in info.order_child" :key="index" class="specifications-item flex-between">
<view v-for="(item,index) in info.order_child" :key="index"
class="specifications-item flex-between">
<view>{{item.specifications_name}}</view>
<view class="flex-between" style="width: 150rpx;">
<view>{{item.pay_money / 100}}</view>
@ -146,12 +149,14 @@
<view class="pickup-box" v-if="info.order_child[0].contact_id && info.order_child[0].extract_id">
自提信息
<view class="pickup-user">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/user.png" class="picker-img"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/user.png" class="picker-img">
</image>
<view>{{info.order_child[0].contact.name}}</view>
<view>{{info.order_child[0].contact.tel}}</view>
</view>
<view class="pickup-address">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/location.png" class="picker-img" style="margin-top: 6rpx;"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/location.png"
class="picker-img" style="margin-top: 6rpx;"></image>
<view>
<view class="picker-shopName">{{info.order_child[0].extract.extract_name}}</view>
@ -160,11 +165,14 @@
<view class="pickup-icon flex-center">
<view @click="clickPhone(info.order_child[0].extract.mobile)">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/phone.png" mode=""></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/phone.png" mode="">
</image>
电话
</view>
<view @click="openLocation(info.order_child[0].extract.lat,info.order_child[0].extract.lon)">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/navigation.png" mode=""></image>
<view
@click="openLocation(info.order_child[0].extract.lat,info.order_child[0].extract.lon)">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/navigation.png"
mode=""></image>
导航
</view>
</view>
@ -182,7 +190,8 @@
<view class="product-title">{{foodInfo.title}}</view>
<view class="product-subtitle flex-between">
<view class="product-tags" v-if="foodInfo.specifications_new_tag">
<view v-for="(item,index) in foodInfo.specifications_new_tag.split(',').slice(0,3)" :key="index">{{item}}</view>
<view v-for="(item,index) in foodInfo.specifications_new_tag.split(',').slice(0,3)"
:key="index">{{item}}</view>
</view>
<span>x{{info.order_child[0].num}}</span>
</view>
@ -209,7 +218,8 @@
<view class="shop-info">
<view>
<view style="margin-top: 23rpx; display: flex;">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/time.png" class="shop-time"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/time.png"
class="shop-time"></image>
<view>
<view class="shop-title">营业时间</view>
<view class="shop-subtitle">{{merchantInfo.open_time}}</view>
@ -220,20 +230,88 @@
<view>
<view class="flex-center" style="margin-top: 23rpx;">
<view style="display: flex;">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/location.png" class="shop-time"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/location.png"
class="shop-time"></image>
<view style="width: 420rpx;">
<view class="shop-title">{{merchantInfo.province_name}}{{merchantInfo.city_name}}{{merchantInfo.district_name}}{{merchantInfo.detail_addr}}</view>
<view class="shop-subtitle" v-if="merchantInfo.juli">距您约{{merchantInfo.juli}}</view>
<view class="shop-title text-overflow">
{{merchantInfo.province_name}}{{merchantInfo.city_name}}{{merchantInfo.district_name}}{{merchantInfo.detail_addr}}
</view>
<view class="shop-subtitle" v-if="merchantInfo.juli">距您约{{merchantInfo.juli}}
</view>
</view>
</view>
<view class="shop-icon">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/phone.png" @click="clickPhone(merchantInfo.mobile)"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/navigation.png" @click="openLocation(merchantInfo.lat,merchantInfo.lon)"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/phone.png"
@click="clickPhone(merchantInfo.mobile)"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/order/navigations.png"
@click="openLocation(merchantInfo.lat,merchantInfo.lon)"></image>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 酒店 -->
<view v-if="info.order_child[0].goods_genre == 'hotel'">
<view class="hotel-detail">
入住信息
<view class="hotel-title">{{info.order_child[0].goods_title}}</view>
<view class="hotel-date">
<view>
{{(info.order_child[0].start_date).slice(5)}}
<span>{{ShowDateDay(new Date(info.order_child[0].start_date).getDay())}}入住</span>
</view>
<view class="hotel-days">{{calDate(info.order_child[0].start_date, info.order_child[0].end_date)}}</view>
<view class="use-date">
{{info.order_child[0].end_date.slice(5)}}
<span>{{ShowDateDay(new Date(info.order_child[0].end_date).getDay())}}离店</span>
</view>
</view>
<view class="flex-between" style="margin-top: 30rpx;">
<view class="hotel-address flex-between">
<view class="address text-overflowRows">地址地址地址地址地址地址地址地 址地址地址地址地址地址</view>
<view class="address-image">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/navigation.png"></image>
<view>地图</view>
</view>
</view>
<view class="hotel-phone flex-center">
<image src="https://static.ticket.sz-trip.com/yandu/images/order/hotelPhone.png"></image>
<view>电话</view>
</view>
</view>
<view class="hotel-skuName flex-between">
<view class="text-overflow">{{info.order_child[0].specifications_name}}</view>
<view class="flex-between">
<view>{{info.order_child[0].pay_money / 100}}</view>
<view>x{{info.order_child[0].num}}</view>
</view>
</view>
<!-- 商品价格 -->
<view class="public-price">
<view class="flex-between">
商品总额<span>{{info.money / 100}}</span>
</view>
<view class="flex-between" v-if="info.discounts">
优惠券<span>-{{info.discounts / 100}}</span>
</view>
<view class="flex-between">
实付金额<span style="font-size: 35rpx;color: #EE3E3B;">{{info.pay_money / 100}}</span>
</view>
</view>
</view>
<view class="hotel-information">
预订信息
<view><span>房间数</span>{{info.order_child[0].num}}</view>
<view><span>入住姓名</span>{{info.reserve_name}}</view>
<view><span>联系电话</span>{{info.reserve_phone}}</view>
</view>
</view>
</view>
@ -277,7 +355,9 @@
关闭订单
</view>
<view class="btn" v-if="['WAIT_REFUND','REFUND_SUCCESS','WAIT_COMMENT','COMPLETE','CLOSED'].includes(info.status)" @click="gotoDetail">
<view class="btn"
v-if="['WAIT_REFUND','REFUND_SUCCESS','WAIT_COMMENT','COMPLETE','CLOSED'].includes(info.status)"
@click="gotoDetail">
再次购买
</view>
@ -311,6 +391,14 @@
},
methods: {
//
calDate(startDate, endDate) {
var start = new Date(startDate);
var end = new Date(endDate);
var diff = end - start;
var days = Math.floor(diff / (1000 * 60 * 60 * 24)); //
return days;
},
//
getDetail() {
this.Post({
@ -324,7 +412,8 @@
goods_id: this.info.order_child[0].goods_id
}, '/api/goods/getSpecificationsByGoodsId').then(res => {
res.data.forEach(item => {
if(item.id == this.info.order_child[0].specifications_id) this.foodInfo = item
if (item.id == this.info.order_child[0].specifications_id) this
.foodInfo = item
})
})
@ -340,7 +429,8 @@
//
if (['ticket', 'food'].includes(this.info.order_child[0].goods_genre)) {
if (['PAYMENT_SUCCESSFULLY','WAIT_REFUND','REFUND_SUCCESS','WAIT_COMMENT','COMPLETED'].includes(this.info.status)) {
if (['PAYMENT_SUCCESSFULLY', 'WAIT_REFUND', 'REFUND_SUCCESS', 'WAIT_COMMENT', 'COMPLETED']
.includes(this.info.status)) {
this.isQrcode = true
for (let i = 0; i < this.info.order_child.length; i++) {
this.getCodeImg(this.info.order_child[i].child_id, i);
@ -385,7 +475,10 @@
},
//
swiperChange(e) {
let { current, source } = e.detail;
let {
current,
source
} = e.detail;
//current
if (source === 'autoplay' || source === 'touch') {
this.current = current;
@ -447,7 +540,10 @@
icon: 'success'
});
this.getDetail()
uni.$emit("updateDataByConnect", {msgType:'updateOrderTrades',data:{}})
uni.$emit("updateDataByConnect", {
msgType: 'updateOrderTrades',
data: {}
})
}
});
}
@ -471,7 +567,10 @@
icon: 'success'
});
that.getDetail();
uni.$emit("updateDataByConnect", {msgType:'updateOrderTrades',data:{}})
uni.$emit("updateDataByConnect", {
msgType: 'updateOrderTrades',
data: {}
})
}
});
}
@ -496,7 +595,10 @@
timeStamp: res.data.timeStamp,
success: () => {
that.getDetail();
uni.$emit("updateDataByConnect", {msgType:'updateOrderTrades',data:{}})
uni.$emit("updateDataByConnect", {
msgType: 'updateOrderTrades',
data: {}
})
}
});
}
@ -564,6 +666,7 @@
display: inline-block;
}
}
.qrcode-box {
height: 456rpx;
display: flex;
@ -622,6 +725,7 @@
}
}
}
.swiper-point {
height: 63rpx;
@ -631,6 +735,7 @@
background: #CCCCCC;
border-radius: 50%;
}
view:not(:first-child) {
margin-left: 13rpx;
}
@ -639,6 +744,7 @@
background: #71B580;
}
}
.swiper-prompt {
font-weight: 500;
font-size: 29rpx;
@ -728,6 +834,7 @@
}
}
}
.novice-item:nth-child(n+2) {
border-top: 1rpx solid #D8D8D8;
}
@ -887,6 +994,7 @@
&>view {
text-align: center;
}
&>view:last-child {
margin-left: 40rpx;
}
@ -939,6 +1047,7 @@
color: #666666;
margin-top: 23rpx;
}
.shop-icon {
margin-left: auto;
@ -946,6 +1055,7 @@
width: 56rpx;
height: 56rpx;
}
image:first-child {
margin-right: 40rpx;
}
@ -953,6 +1063,140 @@
}
}
//
.hotel-detail {
width: 697rpx;
height: auto;
background: #FFFFFF;
border-radius: 20rpx;
padding: 33rpx 26rpx;
font-weight: bold;
font-size: 36rpx;
color: #000000;
margin: auto;
.hotel-title {
font-size: 31rpx;
color: #222222;
margin-top: 30rpx;
}
.hotel-date {
font-weight: bold;
font-size: 31rpx;
color: #000000;
display: flex;
margin-top: 30rpx;
span {
font-weight: 500;
font-size: 24rpx;
color: #666666;
margin-left: 20rpx;
}
}
.hotel-days {
width: 113rpx;
line-height: 37rpx;
background: #E8F6EB;
border-radius: 18rpx;
text-align: center;
margin: 0 20rpx;
font-weight: 500;
font-size: 24rpx;
color: #000000;
}
.hotel-address {
width: 533rpx;
height: 107rpx;
background: url('https://static.ticket.sz-trip.com/yandu/images/order/addreeBg.png') no-repeat right;
background-size: auto 100%;
background-color: #E8F6EB;
border-radius: 20rpx;
padding: 22rpx 18rpx;
.address {
width: 398rpx;
font-weight: 500;
font-size: 27rpx;
color: #000000;
}
.address-image {
font-weight: 500;
font-size: 24rpx;
color: #333333;
text-align: center;
image {
width: 30.67rpx;
height: 30.67rpx;
}
}
}
.hotel-phone {
width: 93rpx;
height: 107rpx;
background: #E8F6EB;
border-radius: 20rpx;
font-weight: 500;
font-size: 24rpx;
color: #333333;
flex-direction: column;
image {
width: 30.67rpx;
height: 30.67rpx;
margin-bottom: 8rpx;
}
}
.hotel-skuName {
font-weight: 500;
font-size: 27rpx;
color: #000000;
height: 94rpx;
border-top: 1rpx solid #D8D8D8;
border-bottom: 1rpx solid #D8D8D8;
margin-top: 34rpx;
&>view:first-child {
width: 400rpx;
}
&>view:last-child {
width: 140rpx;
}
}
}
.hotel-information {
width: 697rpx;
height: auto;
background: #FFFFFF;
border-radius: 20rpx;
padding: 26rpx;
margin: 20rpx auto;
font-weight: bold;
font-size: 36rpx;
color: #000000;
view {
font-weight: 500;
font-size: 27rpx;
margin-top: 30rpx;
}
span {
display: inline-block;
width: 140rpx;
color: #666666;
}
}
//
.public-price {
@ -1055,11 +1299,13 @@
font-size: 48rpx;
color: #EE3E3B;
}
span::before {
content: '¥';
font-size: 27rpx;
}
}
.btn-box {
margin-left: auto;
display: flex;
@ -1075,6 +1321,7 @@
font-size: 31rpx;
color: #000000;
}
.btn:last-of-type {
margin-right: 0;
}

Loading…
Cancel
Save