Commit 1c65620a authored by 黄奎's avatar 黄奎

11

parent 00eb1e81
...@@ -7,16 +7,14 @@ ...@@ -7,16 +7,14 @@
<div class="hotelDetails-infor"> <div class="hotelDetails-infor">
<div> <div>
<i class="el-icon-location"></i> <i class="el-icon-location"></i>
<p v-if="t.CityList2&&t.CityList2.length>0&&t.CityList2[0]"><span>{{t.CityList2[0].CountryName }}{{t.CityList2[0].CityName}}</span></p> <p v-if="t.CityList2&&t.CityList2.length>0&&t.CityList2[0]">
<span>{{t.CityList2[0].CountryName }}{{t.CityList2[0].CityName}}</span></p>
</div> </div>
</div> </div>
<div class="hotelDetails-ImgMap"> <div class="hotelDetails-ImgMap">
<div class="hotelDetails-Img"> <div class="hotelDetails-Img">
<div style="position: relative;"> <div style="position: relative;">
<el-image <el-image v-if="images.length>0" style="width: 100%; height: 100%" :src="images[0]"
v-if="images.length>0"
style="width: 100%; height: 100%"
:src="images[0]"
:preview-src-list="images" fit="cover"> :preview-src-list="images" fit="cover">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
{{$t('objFill.jiazazhong')}}<span class="dot">...</span> {{$t('objFill.jiazazhong')}}<span class="dot">...</span>
...@@ -28,10 +26,7 @@ ...@@ -28,10 +26,7 @@
</div> </div>
<div v-if="images.length>1"> <div v-if="images.length>1">
<div class="Img-right-box" :style="{'height':images.length==2?'100%':'50%'}"> <div class="Img-right-box" :style="{'height':images.length==2?'100%':'50%'}">
<el-image <el-image style="width: 100%; height: 100%" :src="images[1]" :preview-src-list="images" fit="cover">
style="width: 100%; height: 100%"
:src="images[1]"
:preview-src-list="images" fit="cover">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
{{$t('objFill.jiazazhong')}}<span class="dot">...</span> {{$t('objFill.jiazazhong')}}<span class="dot">...</span>
</div> </div>
...@@ -45,10 +40,8 @@ ...@@ -45,10 +40,8 @@
<span class="fz20 text-weight-bold">+</span> <span class="fz20 text-weight-bold">+</span>
<span class="text-h5 text-weight-bold">{{ images.length - 3 }}</span> <span class="text-h5 text-weight-bold">{{ images.length - 3 }}</span>
</div> </div>
<el-image <el-image style="width: 100%; height: 100%" :src="images[2]" :preview-src-list="images" ref="images"
style="width: 100%; height: 100%" fit="cover">
:src="images[2]"
:preview-src-list="images" ref="images" fit="cover">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
{{$t('objFill.jiazazhong')}}<span class="dot">...</span> {{$t('objFill.jiazazhong')}}<span class="dot">...</span>
</div> </div>
...@@ -69,13 +62,17 @@ ...@@ -69,13 +62,17 @@
<div>{{ t.Description }}</div> <div>{{ t.Description }}</div>
</div> </div>
<div class="hotelDetails-service"> <div class="hotelDetails-service">
<div class="service"><span class="width120">{{$t('objFill.chanpinjiesao')}}</span><div>{{t.Introduce?t.Introduce:'-'}}</div></div> <div class="service"><span class="width120">{{$t('objFill.chanpinjiesao')}}</span>
<div class="service" v-if="t.TravelHours"><span class="width120">{{$t('objFill.baocheshichang')}}</span><div>{{t.TravelHours?t.TravelHours:'-'}}</div></div> <div>{{t.Introduce?t.Introduce:'-'}}</div>
</div>
<div class="service" v-if="t.TravelHours"><span class="width120">{{$t('objFill.baocheshichang')}}</span>
<div>{{t.TravelHours?t.TravelHours:'-'}}</div>
</div>
<div class="service"><span class="width120">{{$t('objFill.feiyongbaohan')}}</span> <div class="service"><span class="width120">{{$t('objFill.feiyongbaohan')}}</span>
<div> <div>
<template v-if="t.PriceIncludeList"> <template v-if="t.PriceIncludeList">
<el-tag v-for="s in t.PriceIncludeList" :key="s" size="mini" <el-tag v-for="s in t.PriceIncludeList" :key="s" size="mini"
style="margin-right: 10px;text-align: center;" >{{s}}</el-tag> style="margin-right: 10px;text-align: center;">{{s}}</el-tag>
</template> </template>
<template v-else>-</template> <template v-else>-</template>
</div> </div>
...@@ -84,13 +81,17 @@ ...@@ -84,13 +81,17 @@
<div> <div>
<template v-if="t.PriceNotIncludeList"> <template v-if="t.PriceNotIncludeList">
<el-tag v-for="s in t.PriceNotIncludeList" :key="s" size="mini" <el-tag v-for="s in t.PriceNotIncludeList" :key="s" size="mini"
style="margin-right: 10px;text-align: center;" >{{s}}</el-tag> style="margin-right: 10px;text-align: center;">{{s}}</el-tag>
</template> </template>
<template v-else>-</template> <template v-else>-</template>
</div> </div>
</div> </div>
<div class="service"><span class="width120">{{$t('objFill.ruheshiyong')}}</span><div>{{t.HowUse?t.HowUse:'-'}}</div></div> <div class="service"><span class="width120">{{$t('objFill.ruheshiyong')}}</span>
<div class="service"><span class="width120">{{$t('objFill.quxiaozhengce')}}</span><div>{{t.CancelPolicy?t.CancelPolicy:'-'}}</div></div> <div>{{t.HowUse?t.HowUse:'-'}}</div>
</div>
<div class="service"><span class="width120">{{$t('objFill.quxiaozhengce')}}</span>
<div>{{t.CancelPolicy?t.CancelPolicy:'-'}}</div>
</div>
</div> </div>
<div class="hotelDetails-prompt prompt"> <div class="hotelDetails-prompt prompt">
<p>{{$t('objFill.yudinxuzhi')}}</p> <p>{{$t('objFill.yudinxuzhi')}}</p>
...@@ -99,12 +100,14 @@ ...@@ -99,12 +100,14 @@
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Map from "../../../public/echoMap.vue"; import Map from "../../../public/echoMap.vue";
export default { export default {
props: ['detailsObj'], props: ['detailsObj'],
components: { Map }, components: {
Map
},
data() { data() {
return { return {
map: null, map: null,
...@@ -112,9 +115,9 @@ ...@@ -112,9 +115,9 @@
t: {}, t: {},
images: [], images: [],
center: null, center: null,
ObjMap:{ ObjMap: {
lng:'', lng: '',
lat:'', lat: '',
Range: '', Range: '',
Address: '' Address: ''
} }
...@@ -128,15 +131,14 @@ ...@@ -128,15 +131,14 @@
deep: true deep: true
}, },
}, },
created() { created() {},
},
mounted() { mounted() {
if(this.detailsObj){ if (this.detailsObj) {
this.getInfo() this.getInfo()
} }
}, },
methods: { methods: {
getInfo(){ getInfo() {
let msg = { let msg = {
ProductId: this.detailsObj.Id, ProductId: this.detailsObj.Id,
}; };
...@@ -147,9 +149,9 @@ ...@@ -147,9 +149,9 @@
this.t = res.data.data this.t = res.data.data
this.images = this.t.ImageList this.images = this.t.ImageList
this.ObjMap = { this.ObjMap = {
lng:this.t.PlaceList[0].Lng, lng: this.t.PlaceList[0].Lng,
lat:this.t.PlaceList[0].Lat, lat: this.t.PlaceList[0].Lat,
Range:Number(this.t.PlaceList[0].Range), Range: Number(this.t.PlaceList[0].Range),
Address: this.t.PlaceList[0].Address Address: this.t.PlaceList[0].Address
} }
// this.initMap(this.t.PlaceList[0].Lng,this.t.PlaceList[0].Lat,this.t.Name) // this.initMap(this.t.PlaceList[0].Lng,this.t.PlaceList[0].Lat,this.t.Name)
...@@ -157,20 +159,23 @@ ...@@ -157,20 +159,23 @@
err => {} err => {}
); );
}, },
initMap(lng,lat,name) { initMap(lng, lat, name) {
if(this.map){ if (this.map) {
this.map.clearOverlays() this.map.clearOverlays()
} }
var that = this; var that = this;
this.map = new BMap.Map(`mapContainer_${this.detailsObj.Id}`, {enableMapClick:false, this.map = new BMap.Map(`mapContainer_${this.detailsObj.Id}`, {
enableMapClick: false,
minZoom: 3, minZoom: 3,
maxZoom: 50, maxZoom: 50,
}) //新建地图实例,enableMapClick:false :禁用地图默认点击弹框 }) //新建地图实例,enableMapClick:false :禁用地图默认点击弹框
var point = new BMap.Point(lng,lat); var point = new BMap.Point(lng, lat);
this.map.centerAndZoom(new BMap.Point(lng, lat),15) this.map.centerAndZoom(new BMap.Point(lng, lat), 15)
this.map.enableScrollWheelZoom(false) this.map.enableScrollWheelZoom(false)
var marker = new BMap.Marker(point); //标记点 var marker = new BMap.Marker(point); //标记点
var label = new BMap.Label(name,{offset:new BMap.Size(0,28)});//标签 var label = new BMap.Label(name, {
offset: new BMap.Size(0, 28)
}); //标签
label.setStyle({ label.setStyle({
color: "#FFF", color: "#FFF",
fontSize: "10px", fontSize: "10px",
...@@ -186,173 +191,206 @@ ...@@ -186,173 +191,206 @@
marker.setLabel(label) marker.setLabel(label)
this.map.addOverlay(marker); this.map.addOverlay(marker);
}, },
showImageHandler(){ showImageHandler() {
this.$refs.images.showViewer = true this.$refs.images.showViewer = true
}, },
} }
}; };
</script> </script>
<style scoped> <style scoped>
.image-slot{ .image-slot {
height: 100%; height: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.hotelDetails-header{
.hotelDetails-header {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.hotelDetails-header span{
.hotelDetails-header span {
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
margin-right: 10px; margin-right: 10px;
color: black; color: black;
} }
.hotelDetails-content{
} .hotelDetails-content {}
.hotelDetails-infor{
.hotelDetails-infor {
padding: 20px 0; padding: 20px 0;
} }
.hotelDetails-infor div{
.hotelDetails-infor div {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.hotelDetails-infor>div:first-child{
.hotelDetails-infor>div:first-child {
margin-bottom: 5px; margin-bottom: 5px;
} }
.hotelDetails-infor div i{
.hotelDetails-infor div i {
color: #BDBDBD; color: #BDBDBD;
margin-right: 5px; margin-right: 5px;
} }
.hotelDetails-infor div p{
.hotelDetails-infor div p {
margin-right: 10px; margin-right: 10px;
} }
.hotelDetails-infor div p span{
.hotelDetails-infor div p span {
font-size: 13px; font-size: 13px;
color: black; color: black;
} }
.hotelDetails-infor div p span:nth-child(2),.hotelDetails-infor div p a{
.hotelDetails-infor div p span:nth-child(2),
.hotelDetails-infor div p a {
color: #2196F3; color: #2196F3;
margin-left: 5px; margin-left: 5px;
} }
.hotelDetails-infor div p a{
.hotelDetails-infor div p a {
cursor: pointer; cursor: pointer;
text-decoration:underline text-decoration: underline
} }
.hotelDetails-ImgMap{
.hotelDetails-ImgMap {
height: 300px; height: 300px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.hotelDetails-Img{
.hotelDetails-Img {
width: 60%; width: 60%;
} }
.hotelDetails-Map{
.hotelDetails-Map {
flex: 1; flex: 1;
flex-shrink: 0; flex-shrink: 0;
} }
.hotelDetails-Map{
.hotelDetails-Map {
margin-left: 10px; margin-left: 10px;
} }
.hotelDetails-Img{
.hotelDetails-Img {
display: flex; display: flex;
/* overflow: hidden; */ /* overflow: hidden; */
} }
.hotelDetails-Img>div:first-child{
.hotelDetails-Img>div:first-child {
flex-grow: 1; flex-grow: 1;
} }
.hotelDetails-Img>div:nth-child(2){
.hotelDetails-Img>div:nth-child(2) {
width: 50%; width: 50%;
margin-left: 10px; margin-left: 10px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.Img-right-box:nth-child(2){
.Img-right-box:nth-child(2) {
margin-top: 8px; margin-top: 8px;
} }
.Img-right-box{
.Img-right-box {
height: 50%; height: 50%;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.Img-right-num{
.Img-right-num {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
background: rgba(23,23,23,.5); background: rgba(23, 23, 23, .5);
z-index: 2; z-index: 2;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
} }
.Img-right-num span{
.Img-right-num span {
color: #ffffff; color: #ffffff;
font-size: 23px; font-size: 23px;
font-weight: bold; font-weight: bold;
} }
.Img-right-num span:first-child{
.Img-right-num span:first-child {
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
margin-right: 10px; margin-right: 10px;
} }
.hotelDetails-prompt{
.hotelDetails-prompt {
margin: 20px 0; margin: 20px 0;
border-radius: 3px; border-radius: 3px;
background: #E1F5FE; background: #E1F5FE;
padding: 10px; padding: 10px;
} }
.hotelDetails-prompt p{
.hotelDetails-prompt p {
font-weight: 500; font-weight: 500;
font-size: 13px; font-size: 13px;
padding: 0 0 10px 0; padding: 0 0 10px 0;
} }
.hotelDetails-prompt div{
.hotelDetails-prompt div {
color: #5E5E5E; color: #5E5E5E;
font-size: 12px; font-size: 12px;
line-height: 25px; line-height: 25px;
} }
.hotelDetails-prompt.prompt{
.hotelDetails-prompt.prompt {
background: #FFF3E0; background: #FFF3E0;
border: 1px dashed #FFA500; border: 1px dashed #FFA500;
} }
.hotelDetails-service{
.hotelDetails-service {
padding: 0 15px; padding: 0 15px;
} }
.service{
.service {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 10px 0; padding: 10px 0;
} }
.service span.width120{
.service span.width120 {
color: #A8ABBC; color: #A8ABBC;
font-size: 12px; font-size: 12px;
width: 120px; width: 120px;
flex-shrink: 0; flex-shrink: 0;
} }
.service div{
.service div {
flex-grow: 1; flex-grow: 1;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
color: black; color: black;
} }
.service div p{
.service div p {
margin-right: 15px; margin-right: 15px;
} }
.service div li{
.service div li {
list-style-type: disc; list-style-type: disc;
list-style-position: outside; list-style-position: outside;
white-space: nowrap; white-space: nowrap;
margin-right: 15px; margin-right: 15px;
} }
.Img-absolute{
.Img-absolute {
position: absolute; position: absolute;
padding: 5px; padding: 5px;
bottom: unset; bottom: unset;
...@@ -363,20 +401,26 @@ ...@@ -363,20 +401,26 @@
font-size: 12px; font-size: 12px;
background: #ffffff; background: #ffffff;
} }
.Img-absolute-box{
.Img-absolute-box {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
overflow: hidden; overflow: hidden;
} }
.Img-absolute-box div:first-child{
padding: 0 4px; font-size: 12px;background: black;color: white;
}
.Img-absolute-box div:last-child{
padding: 0 4px; font-size: 12px; background: #f0bd86;color: black;
}
.Img-absolute-box div:first-child {
padding: 0 4px;
font-size: 12px;
background: black;
color: white;
}
</style> .Img-absolute-box div:last-child {
padding: 0 4px;
font-size: 12px;
background: #f0bd86;
color: black;
}
</style>
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