Commit 37e7e47f authored by youjie's avatar youjie

酒店

parent 903ea686
<template> <template>
<view class="hotel-list-item" <view class="hotel-list-item"
:class="[isMap?'hotel-mapList':'']" @click="goHotelDetail(item.HotelId)"> :class="[isMap?'hotel-mapList':'']" @click="goHotelDetail(item.hotelid)">
<view class="img-box"> <view class="img-box">
<image :src="item.coverimg" mode="aspectFill"></image> <image :src="item.coverimg" mode="aspectFill"></image>
</view> </view>
......
...@@ -3,34 +3,19 @@ ...@@ -3,34 +3,19 @@
<view class="big-title"> <view class="big-title">
<text>设施服务</text> <text>设施服务</text>
</view> </view>
<view class="big-titleAssis">休闲健身</view> <!-- <view class="big-titleAssis">休闲健身</view> -->
<ul class="title-style-two row"> <ul class="title-style-two row" >
<li> <template v-for="item in dataList.facilities">
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763470948443226.png"/> <li v-if="item.description">
<text class="item-title">
提供早餐(收费)
</text>
</li>
<li>
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763470948443226.png"/>
<text class="item-title">
提供早餐(收费)
</text>
</li>
<li>
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763470948443226.png"/> <img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763470948443226.png"/>
<text class="item-title"> <text class="item-title">
提供早餐(收费) {{ item.description }}
</text> </text>
</li> </li>
<li> </template>
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763470948443226.png"/>
<text class="item-title">
提供早餐(收费)
</text>
</li>
</ul> </ul>
<view class="big-titleAssis2">生活服务</view> <!-- <view class="big-titleAssis2">生活服务</view>
<ul class="title-style-two row"> <ul class="title-style-two row">
<li> <li>
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763470948443226.png"/> <img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763470948443226.png"/>
...@@ -121,7 +106,10 @@ ...@@ -121,7 +106,10 @@
提供早餐(收费) 提供早餐(收费)
</text> </text>
</li> </li>
</ul> </ul> -->
<view class="big-titleAssis2">客房信息
<view class="hotelSheShitisp">酒店全部客房设施信息仅供参考,可能与您入住的房型略有差异,请知晓</view>
</view>
</view> </view>
</template> </template>
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<view class="hotelFacilitiesXinXi"> <view class="hotelFacilitiesXinXi">
<!--:style="{background: `url(${dataList.HotelImg[0].Path}) no-repeat`}"--> <!--:style="{background: `url(${dataList.HotelImg[0].Path}) no-repeat`}"-->
<view class="hotelInforBox"> <view class="hotelInforBox">
<image class="hotelInforBoxBj" mode="scaleToFill" :src="dataList.HotelImg[0].Path" /> <image class="hotelInforBoxBj" mode="scaleToFill" :src="dataList.rooms[0].url" />
<view class="hotelInforCenterBox"> <view class="hotelInforCenterBox">
<view class="hotelInforTitle">上海淳大万丽酒店</view> <view class="hotelInforTitle">{{ dataList.name }}</view>
<view class="hotelInforCenter column"> <view class="hotelInforCenter column">
<view class="hotelInforCB row-sb-n"> <view class="hotelInforCB row-sb-n">
<view class="hotelInforCBL">开业时间:<text>2015年</text></view> <view class="hotelInforCBL">开业时间:<text>2015年</text></view>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<view class="hotelInforCB row-sb-n"> <view class="hotelInforCB row-sb-n">
<view class="hotelInforCBL">酒店等级: <view class="hotelInforCBL">酒店等级:
<img class="hotelInforStar" <img class="hotelInforStar"
v-for="(item,index) in dataList.Star" v-for="(item,index) in dataList.starRating"
:key="index" :key="index"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638762795578682801.png"/> src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638762795578682801.png"/>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<view class="hotelInforCB"> <view class="hotelInforCB">
联系电话: 联系电话:
<text> <text>
021-68888888 {{dataList.telephone}}
<img <img
class="hotelInforPhone" class="hotelInforPhone"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763341462574374.png"/> src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638763341462574374.png"/>
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<view class="row hotelInforCAddress"> <view class="row hotelInforCAddress">
<view>详细地址:</view> <view>详细地址:</view>
<view class="hotelInforCAddressL"> <view class="hotelInforCAddressL">
首尔龙山美爵大使酒店及公寓坐落于首尔中心地段,步行前往龙山电子市场只需 8 分钟、前往新罗爱宝客购物中心需 12 分钟。 此娱乐场酒店距离韩国战争纪念馆 1.7 英里(2.8 公里)。 {{ dataList.location.address }}
</view> </view>
</view> </view>
</view> </view>
......
...@@ -6,24 +6,36 @@ ...@@ -6,24 +6,36 @@
<view class="big-titleAssis">入住和离店</view> <view class="big-titleAssis">入住和离店</view>
<ul class="title-style-one"> <ul class="title-style-one">
<li> <li>
<text class="item-title"> <rich-text class="item-title" :nodes="dataList.policy.description"></rich-text>
可自行办理入住手续的最低年龄 <text class="item-content">
</text> </text>
</li>
<!-- <li>
<text class="item-title">入住时间开始于</text>
<text class="item-content"> <text class="item-content">
19 {{ dataList.policy.checkinFrom }}
</text> </text>
</li> </li>
</ul>
<view class="big-titleAssis2">费用</view>
<ul class="title-style-one">
<li> <li>
<text class="item-title"> <text class="item-title">退房时间结束于</text>
自助式早餐费用:
</text>
<text class="item-content"> <text class="item-content">
成人约为 KRW 55000,儿童约为 KRW 27500 {{ dataList.policy.checkoutTo }}
</text> </text>
</li> </li> -->
</ul>
<view class="big-titleAssis2">费用</view>
<ul class="title-style-one">
<template v-for="item in dataList.policy.extraInfoList">
<li v-if="item.value">
<text class="item-title" v-if="item.description">
{{item.description}}:
</text>
<text class="item-content">
{{item.value}}
</text>
</li>
</template>
<li class="hotelZCtisp">上面所列内容可能并不完整。这些费用和押金可能不包括税款,并且可能会随时发生变化。</li> <li class="hotelZCtisp">上面所列内容可能并不完整。这些费用和押金可能不包括税款,并且可能会随时发生变化。</li>
</ul> </ul>
</view> </view>
...@@ -51,6 +63,12 @@ ...@@ -51,6 +63,12 @@
<style scoped> <style scoped>
@import url("@/asset/css/flex.css"); @import url("@/asset/css/flex.css");
.hotelZhenCe rich-text {
font-size: 12px;
font-weight: normal;
line-height: 1.8;
color: #666;
}
.hotelZhenCe{ .hotelZhenCe{
padding: 0 6rpx 33rpx 6rpx; padding: 0 6rpx 33rpx 6rpx;
border-bottom: 1rpx solid #E9E9E9; border-bottom: 1rpx solid #E9E9E9;
......
...@@ -65,28 +65,31 @@ ...@@ -65,28 +65,31 @@
</u-dropdown-item> </u-dropdown-item>
</u-dropdown> </u-dropdown>
<view style="padding: 0 31rpx;"> <view style="padding: 0 31rpx;">
<view class="hotelDetailBox activeTag"> <view class="hotelDetailBox activeTag"
v-for="(item,index) in RoomList" :key="index">
<view class="hotelDetailTag"> <view class="hotelDetailTag">
热门房型 热门房型
</view> </view>
<view class="hotelDetail row"> <view class="hotelDetail row">
<view class="hotelDetailL"> <view class="hotelDetailL">
<image mode="aspectFit" /> <image mode="scaleToFill" :src="item.url"/>
<view class="hotelDetailLImgs"> <view class="hotelDetailLImgs" v-if="item.images.length>1">
5 {{ item.images.length }}
</view> </view>
</view> </view>
<view class="hotelDetailR column"> <view class="hotelDetailR column">
<view class="hotelDetailRTitle row items-center"> <view class="hotelDetailRTitle row items-center">
<view> <view>
豪华双床房 {{ item.roomName }}
</view> </view>
<img :src="openImg[0]" /> <!--
<img :src="openImg[0]" />-->
</view> </view>
<view class="hotelDetailRRoom"> <view class="hotelDetailRRoom">
Deluxe Double Room(2 beds) <!--
Deluxe Double Room(2 beds)-->
</view> </view>
<view class="hotelDetailRCheckin">2人入住 24㎡ 1-3</view> <view class="hotelDetailRCheckin">{{item.maxOccupancy}}人入住 {{item.size}}{{item.floor}}</view>
<view class="hotelDetailREat"> <view class="hotelDetailREat">
不含早餐 不含早餐
<text>入住当天18:00前可免费取消</text> <text>入住当天18:00前可免费取消</text>
...@@ -153,7 +156,7 @@ ...@@ -153,7 +156,7 @@
<script> <script>
export default { export default {
props: ['dataList','search','RoomList'], props: ['dataList','search','rooms'],
components: {}, components: {},
data() { data() {
return { return {
...@@ -191,6 +194,17 @@ ...@@ -191,6 +194,17 @@
parameters: {}, parameters: {},
}; };
}, },
watch:{
rooms: {
handler (val, oldval) {
if(val){
this.RoomList = val
console.log(this.RoomList,'rooms');
}
},
deep: true,
},
},
onLoad(options) { onLoad(options) {
}, },
...@@ -210,7 +224,7 @@ ...@@ -210,7 +224,7 @@
this.threeLevelList.forEach((x) => { this.threeLevelList.forEach((x) => {
if (x.isCheck == 1) { if (x.isCheck == 1) {
num++; num++;
this.dataList.RoomList.forEach((y) => { this.dataList.rooms.forEach((y) => {
if (x.id == 1 && y.BedType == 1) { if (x.id == 1 && y.BedType == 1) {
this.RoomList.push(y); this.RoomList.push(y);
} }
...@@ -235,7 +249,7 @@ ...@@ -235,7 +249,7 @@
this.isShowAll = false; this.isShowAll = false;
} }
if (num == 0) { if (num == 0) {
this.RoomList = this.dataList.RoomList; this.RoomList = this.dataList.rooms;
} }
}, },
open(index) { open(index) {
...@@ -844,10 +858,10 @@ ...@@ -844,10 +858,10 @@
overflow: hidden; overflow: hidden;
position: relative; position: relative;
border-radius: 15rpx; border-radius: 15rpx;
// border: 2px solid #FFFFFF;
background: #FFFFFF; background: #FFFFFF;
overflow: hidden; overflow: hidden;
box-shadow: 0rpx 10rpx 30rpx 0rpx rgba(36,36,36,0.2); box-shadow: 0rpx 10rpx 30rpx 0rpx rgba(36,36,36,0.2);
margin-bottom: 31rpx;
} }
.hotelDetailTag{ .hotelDetailTag{
position: absolute; position: absolute;
......
...@@ -75,17 +75,6 @@ ...@@ -75,17 +75,6 @@
@change="FilterArea"></u-search> @change="FilterArea"></u-search>
</view> </view>
<view class="row" style="height: 1px;flex: 1;"> <view class="row" style="height: 1px;flex: 1;">
<!--<view class="hotelRegionL">
<scroll-view :scroll-y="true" style="height: 100%;">
<view class="hotelRegionLText row items-center justify-center"
:class="[parameters.CityCode2==item.CityCode?'active':'']"
v-for="(item,index) in cityList" :key="index"
@click="confirmCity(item)">
<view class="hotelPopular"></view>
<text>{{ item.CityName }}</text>
</view>
</scroll-view>
</view>-->
<view class="hotelRegionR"> <view class="hotelRegionR">
<scroll-view :scroll-y="true" style="height: 100%;"> <scroll-view :scroll-y="true" style="height: 100%;">
<template v-if="regionList.length>0"> <template v-if="regionList.length>0">
...@@ -245,64 +234,7 @@ ...@@ -245,64 +234,7 @@
<u-popup v-model="showTimePopup" <u-popup v-model="showTimePopup"
mode="bottom" border-radius="20" length="75%" :safe-area-inset-bottom="true"> mode="bottom" border-radius="20" length="75%" :safe-area-inset-bottom="true">
<view style=" <CheckDate :msg="parameters" @chosenDateResult="chosenDateResult"></CheckDate>
width: 100%;
height: 100%;
display: flex;
flex-direction: column;">
<view style="flex: 1; width: 100%; height: 1rpx">
<canlendar @finish="chosenDateResult" title="日期和人数"></canlendar>
</view>
<view style="background: #ecf1f4; padding: 20rpx 0;margin-bottom: 80rpx;">
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">房间</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
"></text>
<u-number-box size="28" :min="1" :max="100000" @change="crChange" v-model="parameters.rooms"></u-number-box>
</view>
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">成人</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">18周岁以上</text>
<u-number-box size="28" :min="1"
:max="100000"
v-model="parameters.adultsNumber"
@change="crChange"></u-number-box>
</view>
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">儿童(占床)</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">2-18周岁(不含)</text>
<u-number-box size="28" :min="0" :max="100000"
v-model="parameters.childrenNumberZC"
@change="etChange"
></u-number-box>
</view>
<!--
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">儿童(不占床)</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">2-18周岁(不含)</text>
<u-number-box size="28" :min="0" :max="100000" v-model="parameters.childrenNumberBZC"></u-number-box>
</view>-->
</view>
</view>
</u-popup> </u-popup>
<u-popup v-model="showSearchCity" mode="Right" length="100%"> <u-popup v-model="showSearchCity" mode="Right" length="100%">
...@@ -318,13 +250,15 @@ ...@@ -318,13 +250,15 @@
import hotelGood from "./hotel-good.vue"; import hotelGood from "./hotel-good.vue";
import destination from "./address/index.vue"; import destination from "./address/index.vue";
import searchCity from "./address/searchCity.vue"; import searchCity from "./address/searchCity.vue";
import CheckDate from "./time/date.vue";
export default { export default {
components: { components: {
rangeSlider, rangeSlider,
canlendar, canlendar,
hotelGood, hotelGood,
destination, destination,
searchCity searchCity,
CheckDate
}, },
props:['isMap','msg'], props:['isMap','msg'],
data() { data() {
...@@ -345,6 +279,7 @@ ...@@ -345,6 +279,7 @@
CityName: '',//目的地 CityName: '',//目的地
CityCode2: '',//目的地代码 CityCode2: '',//目的地代码
regionCode: '',//区域 regionCode: '',//区域
CityName_CN: '',
// QStartDate: "",//开始日期 // QStartDate: "",//开始日期
// QEndDate: "",//结束日期 // QEndDate: "",//结束日期
...@@ -480,6 +415,7 @@ ...@@ -480,6 +415,7 @@
this.searchClose() this.searchClose()
this.research() this.research()
}, },
// 关键字搜索弹出层
clickSearchCity(type){ clickSearchCity(type){
this.SearchCityType = type?type:null this.SearchCityType = type?type:null
this.showSearchCity = true this.showSearchCity = true
...@@ -506,18 +442,6 @@ ...@@ -506,18 +442,6 @@
this.research() this.research()
} }
}, },
etChange(e){
this.parameters.childrenNumberZC = e.value;
this.peopleChange()
},
crChange(e){
this.parameters.adultsNumber = e.value;
this.peopleChange()
},
peopleChange(){
this.parameters.peoples = this.parameters.adultsNumber + this.parameters.childrenNumberZC
console.log(this.parameters.peoples,'人数')
},
// 筛选排序 // 筛选排序
sureFilter(){ sureFilter(){
this.$forceUpdate(); this.$forceUpdate();
...@@ -530,6 +454,7 @@ ...@@ -530,6 +454,7 @@
}, },
// 位置排序 // 位置排序
sureRegion(){ sureRegion(){
this.optionsTitle[1] = this.parameters.CityName_CN
this.$forceUpdate(); this.$forceUpdate();
this.closeDropdown(); this.closeDropdown();
this.city = this.parameters.CityName this.city = this.parameters.CityName
...@@ -537,6 +462,7 @@ ...@@ -537,6 +462,7 @@
this.research(); this.research();
}, },
resetRegion(){ resetRegion(){
this.optionsTitle[1] = '位置区域'
this.closeDropdown() this.closeDropdown()
this.parameters.regionCode = '' this.parameters.regionCode = ''
if(this.parameters.CityCode!=this.parameters.CityCode2){ if(this.parameters.CityCode!=this.parameters.CityCode2){
...@@ -547,19 +473,18 @@ ...@@ -547,19 +473,18 @@
showCity() { showCity() {
this.showCityList = true; this.showCityList = true;
}, },
confirmCity(val) {
this.City = this.parameters.CityName = val.CityName;
if(this.parameters.CityCode2!= val.CityCode){
this.parameters.CityCode2 = val.CityCode;
this.getRegion()
}
},
changeDistrict(item) { changeDistrict(item) {
this.parameters.regionCode = item.CityCode this.parameters.regionCode = item.CityCode
this.parameters.CityName_CN = item.CityName_CN
}, },
// 价格排序 // 价格排序
surePrice() { surePrice() {
this.parameters.QStarRating = this.tempRateAndPrice.rate this.parameters.QStarRating = this.tempRateAndPrice.rate
let num = 0
console.log(this.parameters.QStarRating.length>0,this.tempRateAndPrice.price)
if(this.parameters.QStarRating.length>0) num++
if(this.tempRateAndPrice.priceId>0) num++
if(num) this.optionsTitle[2] = `价格/星级 ${num}`;
this.closeDropdown(); this.closeDropdown();
this.research(); this.research();
}, },
...@@ -586,7 +511,7 @@ ...@@ -586,7 +511,7 @@
this.closeDropdown(); this.closeDropdown();
this.research(); this.research();
}, },
rangechange(e,option,type) { rangechange(e) {
this.parameters.StartPrice = e.minValue this.parameters.StartPrice = e.minValue
this.parameters.EndPrice = e.maxValue this.parameters.EndPrice = e.maxValue
this.tempRateAndPrice.priceText = `¥${e.minValue}~${e.maxValue}`; this.tempRateAndPrice.priceText = `¥${e.minValue}~${e.maxValue}`;
...@@ -620,21 +545,17 @@ ...@@ -620,21 +545,17 @@
chosenDate() { chosenDate() {
this.showTimePopup = true; this.showTimePopup = true;
}, },
chosenDateResult(obj) { chosenDateResult(parameters,obj) {
// this.parameters.QStartDate = obj.start; this.parameters = parameters
// this.parameters.QEndDate = obj.end;
this.startDay = obj.startDay; this.startDay = obj.startDay;
this.endDay = obj.endDay; this.endDay = obj.endDay;
this.day = obj.day; this.day = obj.day;
this.dayObj = obj; this.dayObj = obj;
this.showTimePopup = false; this.showTimePopup = false;
this.research();
}, },
closeDropdown() { closeDropdown() {
this.$refs.uDropdown.close(); this.$refs.uDropdown.close();
}, },
research() { research() {
this.$emit('change',this.parameters); this.$emit('change',this.parameters);
}, },
......
<template>
<view style="
width: 100%;
height: 100%;
display: flex;
flex-direction: column;">
<view style="flex: 1; width: 100%; height: 1rpx">
<canlendar @finish="chosenDateResult" title="日期和人数"></canlendar>
</view>
<view style="background: #ecf1f4; padding: 20rpx 0 50rpx 0;">
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">房间</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
"></text>
<u-number-box size="28" :min="1" :max="100000" v-model="parameters.rooms"
@change="getRooms"></u-number-box>
</view>
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">成人</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">18周岁以上</text>
<u-number-box size="28" :min="1"
:max="100000"
v-model="parameters.adultsNumber"
@change="crChange"></u-number-box>
</view>
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">儿童(占床)</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">2-18周岁(不含)</text>
<u-number-box size="28" :min="0" :max="100000"
v-model="parameters.childrenNumberZC"
@change="etChange"
></u-number-box>
</view>
<!--
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">儿童(不占床)</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">2-18周岁(不含)</text>
<u-number-box size="28" :min="0" :max="100000" v-model="parameters.childrenNumberBZC"></u-number-box>
</view>-->
</view>
</view>
</template>
<script>
import canlendar from "./index";
export default {
props:['msg'],
components: {
canlendar
},
data() {
return {
parameters: {
rooms: 1,
adultsNumber:2,
childrenNumberZC:0,
childrenNumberBZC:0,
peoples: 2,
}
}
},
watch:{
msg: {
handler (val, oldval) {
if(val){
this.parameters = val
}
},
deep: true,
},
},
methods: {
getRooms(e){
this.parameters.rooms = e.value;
},
etChange(e){
this.parameters.childrenNumberZC = e.value;
this.peopleChange()
},
crChange(e){
this.parameters.adultsNumber = e.value;
this.peopleChange()
},
peopleChange(){
this.parameters.peoples = Number(this.parameters.adultsNumber) + Number(this.parameters.childrenNumberZC)
},
chosenDateResult(obj) {
this.showTimePopup = false;
this.$emit('chosenDateResult',this.parameters,obj)
},
}
}
</script>
<style lang="scss" scoped>
@import url("@/asset/css/flex.css");
</style>
\ No newline at end of file
...@@ -13,12 +13,12 @@ ...@@ -13,12 +13,12 @@
@click="openPicture" @click="openPicture"
> >
<u-swiper <u-swiper
:list="dataList.HotelImg" :list="dataList.images"
:effect3d="false" :effect3d="false"
:height="545" :height="545"
:interval="5000" :interval="5000"
:border-radius="0" :border-radius="0"
name="Path" name="url"
v-if="active == 1" v-if="active == 1"
></u-swiper> ></u-swiper>
<view class="video-box" v-if="active == 0"> <view class="video-box" v-if="active == 0">
...@@ -47,17 +47,17 @@ ...@@ -47,17 +47,17 @@
:bold="false" height="50" duration="0" font-size="24" :activeFontSize="24" :typeStyle="2"> :bold="false" height="50" duration="0" font-size="24" :activeFontSize="24" :typeStyle="2">
</u-tabs> </u-tabs>
</view> --> </view> -->
<view class="media-info"> <view class="media-info" v-if="dataList.images">
<view class="flex"> <view class="flex">
<view class="mi-left"> <view class="mi-left">
<view v-if="dataList.HotelImg.length > 0" class="type-img-box"> <view v-if="dataList.images.length > 0" class="type-img-box">
<image <image
:src="dataList.HotelImg[0].Path" :src="dataList.images[0].url"
mode="aspectFill" mode="aspectFill"
></image> ></image>
<view class="content"> <view class="content">
<!-- <u-icon name="photo" size="26" color="#FFF"></u-icon> --> <!-- <u-icon name="photo" size="26" color="#FFF"></u-icon> -->
<text>{{ dataList.HotelImg.length }}</text> <text>{{ dataList.images.length }}</text>
</view> </view>
</view> </view>
</view> </view>
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
style="flex: 1; margin-left: 30rpx; text-align: left" style="flex: 1; margin-left: 30rpx; text-align: left"
class="name-ali" class="name-ali"
> >
{{ dataList.HotelName }} {{ dataList.name }}
</view </view
> >
</view> </view>
...@@ -106,12 +106,13 @@ ...@@ -106,12 +106,13 @@
<view style="flex: 1"> <view style="flex: 1">
<view class="hotel-name"> <view class="hotel-name">
<img class="hotel-Sub" <img class="hotel-Sub"
:class="[dataList.Star==3?'hotel-Sub3':dataList.Star==4?'hotel-Sub4':'']" v-if="dataList.Star>=3&&dataList.Star<6" style="" :class="[dataList.starRating==3?'hotel-Sub3':dataList.starRating==4?'hotel-Sub4':'']"
:src="dataList.Star==3?StarImgs[0]:dataList.Star==4?StarImgs[1]:StarImgs[2]" /> v-if="dataList.starRating>=3&&dataList.starRating<6" style=""
:src="dataList.starRating==3?StarImgs[0]:dataList.starRating==4?StarImgs[1]:StarImgs[2]" />
<text v-else class="hotel-Economy">经济型</text> <text v-else class="hotel-Economy">经济型</text>
{{ dataList.HotelName }}</view> {{ dataList.name }}</view>
<view class="hotel-brand"> <view class="hotel-brand">
Renaissance Shanghai Pudong Hotel {{ dataList.brandname?dataList.brandname:'' }}
</view> </view>
<view class="hotel-tag"> <view class="hotel-tag">
<text class="hotel-Opening" v-if="dataList.HotelInfo.OpenTime"> <text class="hotel-Opening" v-if="dataList.HotelInfo.OpenTime">
...@@ -129,7 +130,7 @@ ...@@ -129,7 +130,7 @@
<view>{{dataList.Address}}</view> <view>{{dataList.Address}}</view>
<view>{{dataList.AddressDes}}</view> <view>{{dataList.AddressDes}}</view>
</view> </view>
<view class="hotelMapIcon column" @click="goMap(dataList.Address, dataList.Lng, dataList.Lat)"> <view class="hotelMapIcon column" @click="goMap(dataList.location.address, dataList.location.coordinate.longitude, dataList.location.coordinate.latitude)">
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638759918587378741.png" <img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638759918587378741.png"
style="width: 45rpx;height: 36rpx;"/> style="width: 45rpx;height: 36rpx;"/>
<text>地图</text> <text>地图</text>
...@@ -180,7 +181,7 @@ ...@@ -180,7 +181,7 @@
</view> </view>
</view> </view>
<hotelRoom :dataList="dataList" :RoomList="RoomList" :search="searchObj"></hotelRoom> <hotelRoom :dataList="dataList" :rooms="RoomList" :search="searchObj"></hotelRoom>
</view> </view>
<view style="border-radius: 15rpx 15rpx 0 0;background: #fff;overflow: hidden;"> <view style="border-radius: 15rpx 15rpx 0 0;background: #fff;overflow: hidden;">
<view class="hotelFacilitiesBox"> <view class="hotelFacilitiesBox">
...@@ -215,53 +216,7 @@ ...@@ -215,53 +216,7 @@
length="85%" length="85%"
:safe-area-inset-bottom="true" :safe-area-inset-bottom="true"
> >
<view style=" <CheckDate :msg="searchObj" @chosenDateResult="chosenDateResult"></CheckDate>
width: 100%;
height: 100%;
display: flex;
flex-direction: column;">
<view style="flex: 1; width: 100%; height: 1rpx">
<canlendar @finish="chosenDateResult" title="日期和人数"></canlendar>
</view>
<view style="background: #ecf1f4; padding: 20rpx 0;margin-bottom: 80rpx;">
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">房间</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
"></text>
<u-number-box size="28" :min="1" :max="100000" v-model="searchObj.rooms"></u-number-box>
</view>
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">成人</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">18周岁以上</text>
<u-number-box size="28" :min="1"
:max="100000"
v-model="searchObj.adultsNumber"
@change="crChange"></u-number-box>
</view>
<view class="row line-flex" style="padding: 30rpx; background: #fff">
<text style="font-size: 28rpx; color: #111; font-weight: 500">儿童(占床)</text>
<text style="
font-size: 22rpx;
color: #999;
margin-left: 30rpx;
flex: 1;
">2-18周岁(不含)</text>
<u-number-box size="28" :min="0" :max="100000"
v-model="searchObj.childrenNumberZC"
@change="etChange"
></u-number-box>
</view>
</view>
</view>
</u-popup> </u-popup>
</view> </view>
</template> </template>
...@@ -275,6 +230,7 @@ import hotelRoom from "./components/hotelRoom.vue"; ...@@ -275,6 +230,7 @@ import hotelRoom from "./components/hotelRoom.vue";
import hotelInfor from "./components/hotelInfor.vue"; import hotelInfor from "./components/hotelInfor.vue";
import hotelPolicy from "./components/hotelPolicy.vue"; import hotelPolicy from "./components/hotelPolicy.vue";
import hotelFacilities from "./components/hotelFacilities.vue"; import hotelFacilities from "./components/hotelFacilities.vue";
import CheckDate from "./components/time/date.vue";
export default { export default {
components: { components: {
roomGood, roomGood,
...@@ -285,6 +241,7 @@ export default { ...@@ -285,6 +241,7 @@ export default {
hotelPolicy, hotelPolicy,
hotelFacilities, hotelFacilities,
hotelRoom, hotelRoom,
CheckDate,
}, },
data() { data() {
return { return {
...@@ -315,7 +272,7 @@ export default { ...@@ -315,7 +272,7 @@ export default {
date: {}, date: {},
}, },
roomMsg: { roomMsg: {
HotelId: 0, hotelid: 0,
StartDate: "", StartDate: "",
EndDate: "", EndDate: "",
}, },
...@@ -386,7 +343,7 @@ export default { ...@@ -386,7 +343,7 @@ export default {
}, },
onLoad(options) { onLoad(options) {
this.id = options.id; this.id = options.id;
this.roomMsg.HotelId = options.id; this.roomMsg.hotelid = options.id;
let that = this; let that = this;
uni.getSystemInfo({ uni.getSystemInfo({
success(res) { success(res) {
...@@ -456,21 +413,9 @@ export default { ...@@ -456,21 +413,9 @@ export default {
openTime() { openTime() {
this.showTimePopup = true; this.showTimePopup = true;
}, },
etChange(e){
this.searchObj.childrenNumberZC = e.value;
this.peopleChange()
},
crChange(e){
this.searchObj.adultsNumber = e.value;
this.peopleChange()
},
peopleChange(){
this.searchObj.peoples = this.searchObj.adultsNumber + this.searchObj.childrenNumberZC
console.log(this.searchObj.peoples,'人数')
},
//获取推荐酒店 //获取推荐酒店
getRecomHotel() { getRecomHotel() {
this.searchObj.HotelId = this.id; this.searchObj.hotelid = this.id;
this.request2( this.request2(
{ {
url: "/api/Hotel/AppGetHotelPage", url: "/api/Hotel/AppGetHotelPage",
...@@ -520,7 +465,8 @@ export default { ...@@ -520,7 +465,8 @@ export default {
"/pages/hotel/description?hotelObj=" + encodeURIComponent(hotelObj), "/pages/hotel/description?hotelObj=" + encodeURIComponent(hotelObj),
}); });
}, },
chosenDateResult(obj) { chosenDateResult(parameters,obj) {
this.searchObj = parameters
this.roomMsg.StartDate = obj.start; this.roomMsg.StartDate = obj.start;
this.roomMsg.EndDate = obj.end; this.roomMsg.EndDate = obj.end;
this.startDay = obj.startDay; this.startDay = obj.startDay;
...@@ -673,35 +619,68 @@ export default { ...@@ -673,35 +619,68 @@ export default {
}, },
//获取酒店详情 //获取酒店详情
getHotelDetail(id) { getHotelDetail(id) {
let msg = { this.apipost('dmc_post_GetDidaHotelInfo',{
HotelId: id, hotelid: id
StartDate: this.dayObj.start, },res=>{
EndDate: this.dayObj.end, if(res.resultCode == 1){
}; this.RoomList = []
this.request2( let arrList = function(list){
{ list.forEach(x=>{
url: "/api/Hotel/GetHotelInfo", x.url = ''
data: msg, })
}, }
(res) => { arrList(res.data.rooms)
if (res.resultCode == 1) {
// console.log(res, '详情数据');
this.dataList = res.data; this.dataList = res.data;
this.RoomList = this.dataList.RoomList; for(let i=0;i<res.data.rooms.length;i++){
this.hotelData.HotelId = this.dataList.HotelId; let list = res.data.rooms[i].images.filter(x=>{
this.hotelData.HotelName = this.dataList.HotelName; return x.isDefault
this.hotelData.Booking = this.dataList.Booking; })
if(list.length>0) res.data.rooms[i].url = list[0].url
else res.data.rooms[i].url = res.data.rooms[i].images.length>0&&res.data.rooms[i].images[0].url?res.data.rooms[i].images[0].url:''
this.RoomList.push(res.data.rooms[i])
}
this.hotelData.hotelid = this.dataList.hotelid;
this.hotelData.name = this.dataList.name;
// this.hotelData.Booking = this.dataList.Booking;
setTimeout(() => { setTimeout(() => {
this.hotelFacilities.forEach((x)=>{ this.hotelFacilities.forEach((x)=>{
const query = uni.createSelectorQuery().select(`#${x.val}`); const query = uni.createSelectorQuery().select(`#${x.val}`);
query.boundingClientRect((rect) => { query.boundingClientRect((rect) => {
x.top = rect.top+250; x.top = rect.top;
}).exec(); }).exec();
}) })
}, 1000); }, 1000);
}
} }
); })
// let msg = {
// hotelid: id,
// StartDate: this.dayObj.start,
// EndDate: this.dayObj.end,
// };
// this.request2(
// {
// url: "/api/Hotel/GetHotelInfo",
// data: msg,
// },
// (res) => {
// if (res.resultCode == 1) {
// // console.log(res, '详情数据');
// this.dataList = res.data;
// this.RoomList = this.dataList.RoomList;
// this.hotelData.hotelid = this.dataList.hotelid;
// this.hotelData.name = this.dataList.name;
// this.hotelData.Booking = this.dataList.Booking;
// setTimeout(() => {
// this.hotelFacilities.forEach((x)=>{
// const query = uni.createSelectorQuery().select(`#${x.val}`);
// query.boundingClientRect((rect) => {
// x.top = rect.top+250;
// }).exec();
// })
// }, 1000);
// }
// }
// );
}, },
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
//分享朋友圈 //分享朋友圈
...@@ -721,7 +700,7 @@ export default { ...@@ -721,7 +700,7 @@ export default {
? uni.getStorageSync("mall_UserInfo").UserSmallShopId ? uni.getStorageSync("mall_UserInfo").UserSmallShopId
: 0; : 0;
} }
let title = this.dataList.HotelName ? this.dataList.HotelName : "帖子"; let title = this.dataList.name ? this.dataList.name : "帖子";
let imageUrl = let imageUrl =
this.dataList.HotelImg && this.dataList.HotelImg.length > 0 this.dataList.HotelImg && this.dataList.HotelImg.length > 0
? this.dataList.HotelImg[0] ? this.dataList.HotelImg[0]
...@@ -760,7 +739,7 @@ export default { ...@@ -760,7 +739,7 @@ export default {
SmallShopId = u.UserSmallShopId ? u.UserSmallShopId : 0; SmallShopId = u.UserSmallShopId ? u.UserSmallShopId : 0;
} }
return { return {
title: this.dataList.HotelName ? this.dataList.HotelName : "帖子", title: this.dataList.name ? this.dataList.name : "帖子",
path: path:
"/pages/index/index?id=" + "/pages/index/index?id=" +
this.id + this.id +
......
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