Commit 39952120 authored by huangyuanyuan's avatar huangyuanyuan

当地美食

parent fd4815ae
...@@ -65,6 +65,7 @@ ...@@ -65,6 +65,7 @@
height: 12px; height: 12px;
position: relative; position: relative;
top: 2px; top: 2px;
cursor: pointer;
} }
.LocalCuisine .pxDiv{ .LocalCuisine .pxDiv{
padding: 15px 0; padding: 15px 0;
......
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
.commonF .f20{ .commonF .f20{
font-size: 20px; font-size: 20px;
} }
.commonF .f32{
font-size:32px;
}
.commonF .pfR{ .commonF .pfR{
font-family: "PingFangR"; font-family: "PingFangR";
} }
......
...@@ -12,3 +12,103 @@ ...@@ -12,3 +12,103 @@
text-align: center; text-align: center;
margin: 45px auto; margin: 45px auto;
} }
.GroupTour .GroupTour_top_bg{
position: relative;
height: 522px;
color:#333;
font-family: "PingFang";
}
.GroupTour .GroupTour_top_bg .bg{
width: 1180px;
margin:0 auto;
min-height: 50px;
z-index: 1000;
position: relative;
}
.GroupTour .GroupTour_top_bg img{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.GroupTour .GroupTour_top_bg .alltype{
width:200px;
height:40px;
background:rgba(240,93,107,1)!important;
color: #fff;
box-sizing: border-box;
font-size:14px;
text-align: center;
line-height: 40px;
padding:0!important;
}
.GroupTour .GroupTour_top_bg .typeLi>li{
padding:10px 30px 10px 35px;
box-sizing: border-box;
background: #ffffff;
position: relative;
width:200px;
border-bottom:1px solid #E9E9E9;
cursor: pointer;
}
.GroupTour .GroupTour_top_bg .typeLi>li:last-child{
border-bottom: none;
}
.GroupTour .GroupTour_top_bg .typeLi>li .jumpHover{
position: absolute;
top: -1px;
left: 200px;
width: 500px;
background: #fff;
padding:10px 20px;
box-sizing: border-box;
border: 1px solid #E9E9E9;
}
.GroupTour .GroupTour_top_bg .typeLi>li .typeTile{
font-family: "PingFangR";
}
.GroupTour .GroupTour_top_bg .typeLi>li .typeAdress{
color:#666666;
font-size: 12px;
margin-top:8px;
}
.GroupTour .GroupTour_top_bg .typeLi>li .typeAdress span{
margin-right: 5px;
}
.GroupTour .GroupTour_top_bg .jumpTitle{
font-family: "PingFangR";
border-bottom:1px solid #E9E9E9;
height: 30px;
line-height: 28px;
}
.GroupTour .GroupTour_top_bg .jumpTitle .jumpTitleSpan{
display: inline-block;
border-bottom: 3px solid #EE4454;
}
.GroupTour .GroupTour_top_bg .jumpHover{
display: none;
transition: all .5s ease;
}
.GroupTour .GroupTour_top_bg .jumpHover li{
color:#888888;
}
.GroupTour .GroupTour_top_bg .typeLi>li .right_border{
position: absolute;
top: 0;
right: -3px;
z-index: 3;
width: 4px;
height: 100%;
background: #fff;
display: none;
}
.GroupTour .GroupTour_top_bg .typeLi>li:hover .jumpHover{
display: block;
}
.GroupTour .GroupTour_top_bg .typeLi>li:hover .right_border{
display: block;
}
\ No newline at end of file
...@@ -40,6 +40,13 @@ ...@@ -40,6 +40,13 @@
margin-bottom: 8px; margin-bottom: 8px;
cursor: pointer; cursor: pointer;
} }
.Home .Home_top .el-radio__input.is-checked .el-radio__inner{
border-color: #FD6473;
background: #FD6473;
}
.Home .Home_top .el-radio__input.is-checked+.el-radio__label{
color: #FD6473;
}
.Home .green_span { .Home .green_span {
display: inline-block; display: inline-block;
width: 3px; width: 3px;
...@@ -56,7 +63,8 @@ ...@@ -56,7 +63,8 @@
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
float: right; float: right;
font-family: "PingFangR" font-family: "PingFangR";
cursor: pointer;
} }
.Home .Home_top .tag_right .el-form-item__label { .Home .Home_top .tag_right .el-form-item__label {
color: #666666; color: #666666;
...@@ -71,7 +79,7 @@ ...@@ -71,7 +79,7 @@
border:1px solid rgba(216,218,220,1); border:1px solid rgba(216,218,220,1);
margin-bottom:10px; margin-bottom:10px;
} }
.Home .Home_top .tag_right .chooseticketul li span:nth-child(1){ .Home .Home_top .tag_right .chooseticketul li>span:nth-child(1){
padding-left: 10px; padding-left: 10px;
color:#666666; color:#666666;
} }
......
...@@ -150,7 +150,7 @@ ...@@ -150,7 +150,7 @@
<div v-if="im==0" v-for="(img,im) in Scen.childItem.imaArray" :key="img.url" style="font-size:14px;margin-top:20px;overflow:auto"> <div v-if="im==0" v-for="(img,im) in Scen.childItem.imaArray" :key="img.url" style="font-size:14px;margin-top:20px;overflow:auto">
<!-- <img :onerror="defaultImg" :src="img.url" style="width:200px;height:133px;float:left;" alt=""> --> <!-- <img :onerror="defaultImg" :src="img.url" style="width:200px;height:133px;float:left;" alt=""> -->
<img v-if="!img.url" src="../../assets/img/default.png" style="width:200px;height:133px;float:left;" alt=""> <img v-if="!img.url" src="../../assets/img/default.png" style="width:200px;height:133px;float:left;" alt="">
<img v-else :src="img.url" style="width:200px;height:133px;float:left;" alt=""> <img v-else :src='compressImg(img.url, "filt", 245, "")' style="width:200px;height:133px;float:left;" alt="">
<div style="float:left;margin-left:20px;width:719px"> <div style="float:left;margin-left:20px;width:719px">
<p><span style="color:#5F95E8;font-size:16px;margin-bottom:13px">{{Scen.childItem.couponsName}}</span></p> <p><span style="color:#5F95E8;font-size:16px;margin-bottom:13px">{{Scen.childItem.couponsName}}</span></p>
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
<p style="font-size:16px;"><span>餐饮</span><span style="color:#5F95E8;margin-left:5px">{{Res.childItem.dinnerName}}</span></p> <p style="font-size:16px;"><span>餐饮</span><span style="color:#5F95E8;margin-left:5px">{{Res.childItem.dinnerName}}</span></p>
<div v-if="im==0" v-for="(img,im) in Res.childItem.imaArray" :key="img.url" style="font-size:14px;margin-top:20px;overflow:auto"> <div v-if="im==0" v-for="(img,im) in Res.childItem.imaArray" :key="img.url" style="font-size:14px;margin-top:20px;overflow:auto">
<img :src="img.url" style="width:200px;height:133px;float:left;" alt=""> <img :src='compressImg(img.url, "filt", 245, "")' style="width:200px;height:133px;float:left;" alt="">
<div v-if="Res.childItem.description" style="float:left;margin-left:20px;width:719px"> <div v-if="Res.childItem.description" style="float:left;margin-left:20px;width:719px">
<p v-html="Res.childItem.description"></p> <p v-html="Res.childItem.description"></p>
</div> </div>
......
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
<div class="content_list" v-if="datalist.length>0"> <div class="content_list" v-if="datalist.length>0">
<el-row class="row_content" v-for="item in datalist" :key="item.id"> <el-row class="row_content" v-for="item in datalist" :key="item.id">
<el-col :span="3"> <el-col :span="3">
<img :src="item.imgCover[0].Url" alt="" :onerror="errorImg"> <img :src='compressImg(item.imgCover[0].Url, "filt", 245, "")' alt="" :onerror="errorImg">
</el-col> </el-col>
<el-col class="div_2" :span="14" style="font-size:12px"> <el-col class="div_2" :span="14" style="font-size:12px">
<p @click="goUrl('detail',item.id,item.tcid)" class="visa_title" style="font-size:16px;color:#000000"> <p @click="goUrl('detail',item.id,item.tcid)" class="visa_title" style="font-size:16px;color:#000000">
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="top_img"> <div class="top_img">
<el-carousel class="carousel" arrow="always" style="height:100%" :interval="10000" trigger="click"> <el-carousel class="carousel" arrow="always" style="height:100%" :interval="10000" trigger="click">
<el-carousel-item v-for="item in slideList" :key="item.url"> <el-carousel-item v-for="item in slideList" :key="item.url">
<img :src='item.url'> <img :src='compressImg(item.url, "filt", 245, "")'>
</el-carousel-item> </el-carousel-item>
</el-carousel> </el-carousel>
<div class="box"> <div class="box">
......
...@@ -5,6 +5,75 @@ ...@@ -5,6 +5,75 @@
<el-row class="GroupTour"> <el-row class="GroupTour">
<!-- 顶部图片 --> <!-- 顶部图片 -->
<el-row class="GroupTour_top_bg"> <el-row class="GroupTour_top_bg">
<div class="bg">
<ul class="typeLi">
<li class="alltype">所有分类</li>
<li>
<span class="right_border"></span>
<p class="typeTile">日本线</p>
<p class="typeAdress">
<span>东京</span>
<span>高雄</span>
<span>北海道</span>
</p>
<div class="jumpHover">
<p class="jumpTitle"><span class="jumpTitleSpan">日本线</span></p>
<ul style="font-size:12px">
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京<span style="padding:0 6px">|</span></span>
<span>高雄<span style="padding:0 6px">|</span></span>
<span>北海道 <span style="padding:0 6px">|</span></span>
<span>东京<span style="padding:0 6px">|</span></span>
</div>
</li>
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京 <span> | </span></span>
<span>高雄 <span> | </span></span>
<span>北海道 <span> | </span></span>
</div>
</li>
</ul>
</div>
</li>
<li>
<span class="right_border"></span>
<p class="typeTile">日本线</p>
<p class="typeAdress">
<span>东京</span>
<span>高雄</span>
<span>北海道</span>
</p>
<div class="jumpHover">
<p class="jumpTitle"><span class="jumpTitleSpan">日本线</span></p>
<ul style="font-size:12px">
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京<span style="padding:0 6px">|</span></span>
<span>高雄<span style="padding:0 6px">|</span></span>
<span>北海道 <span style="padding:0 6px">|</span></span>
<span>东京<span style="padding:0 6px">|</span></span>
</div>
</li>
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京 <span> | </span></span>
<span>高雄 <span> | </span></span>
<span>北海道 <span> | </span></span>
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
<img src="../../assets/img/groupTour/top_bg.png" alt=""> <img src="../../assets/img/groupTour/top_bg.png" alt="">
</el-row> </el-row>
<el-row class="_list" v-loading="loading"> <el-row class="_list" v-loading="loading">
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<p style="margin:6px 0;display: flex;align-items: center;"> <p style="margin:6px 0;display: flex;align-items: center;">
<span class="green_span"></span> 热门推荐 <span class="green_span"></span> 热门推荐
</p> </p>
<li @click="TagGourl(item)" v-for="(item,index) in searchItemVisa.hotCountry" :key="index+350"> <li @click="TagGourl('Visalist',item)" v-for="(item,index) in searchItemVisa.hotCountry" :key="index+350">
{{item.name}} {{item.name}}
</li> </li>
</ul> </ul>
...@@ -110,8 +110,8 @@ ...@@ -110,8 +110,8 @@
<span class="form_btn" style="padding:6px 0">立即搜索</span> <span class="form_btn" style="padding:6px 0">立即搜索</span>
</el-form> --> </el-form> -->
<p style="margin-bottom:5px"> <p style="margin-bottom:5px">
<el-radio v-model="ticket_form.radio" label="1">单程</el-radio> <el-radio v-model="choose_info.ticketType" :label=1>单程</el-radio>
<el-radio v-model="ticket_form.radio" label="2">往返</el-radio> <el-radio v-model="choose_info.ticketType" :label=2>往返</el-radio>
</p> </p>
<div style="margin-top:15px;"> <div style="margin-top:15px;">
<ul class="chooseticketul"> <ul class="chooseticketul">
...@@ -119,47 +119,43 @@ ...@@ -119,47 +119,43 @@
<span>出发地</span> <span>出发地</span>
<span class="iconfont icon-vertical_line"></span> <span class="iconfont icon-vertical_line"></span>
<span> <span>
<el-input size="small" v-model="visa_form.name" placeholder="出发地"></el-input> <el-popover v-model="startcity" :visible-arrow="false"
placement="bottom"
trigger="click">
<div class="citycompent">
<v-city @CityInfo="CityInfo" @CityCompClose="CityCompClose"></v-city>
</div>
<span slot="reference">
<el-input size="small" clearable class="ChooseCity" v-model="choose_info.departure_cityname" placeholder="城市">
</el-input>
</span>
</el-popover>
</span> </span>
</li> </li>
<span style="margin:0 3px;display:inline-block;width:20px;height:20px;background:#15B6A1;border-radius:50%;text-align:center;color:#fff"></span> <span @click="CityChange" style="cursor: pointer;margin:0 3px;display:inline-block;width:20px;height:20px;background:#15B6A1;border-radius:50%;text-align:center;color:#fff"></span>
<li> <li>
<span>目的地</span> <span>目的地</span>
<span class="iconfont icon-vertical_line"></span> <span class="iconfont icon-vertical_line"></span>
<span> <span>
<el-input size="small" v-model="visa_form.name" placeholder="目的地"></el-input> <el-popover v-model="endcity" :visible-arrow="false"
placement="bottom"
trigger="click">
<div v-show="endcity" class="citycompent">
<v-city1 @CityInfo1="CityInfo1" @CityCompClose1="CityCompClose1"></v-city1>
</div>
<span slot="reference">
<el-input size="mini" clearable class="ChooseCity" v-model="choose_info.arrival_cityname" placeholder="城市">
</el-input>
</span> </span>
</li> </el-popover>
<li>
<span>出发日期</span>
<span class="iconfont icon-vertical_line"></span>
<span>
<el-date-picker prefix-icon=" " style="width:100%" size="small"
v-model="visa_form.value1"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期">
</el-date-picker>
</span>
</li>
<li style="margin-left:26px;">
<span>返回日期</span>
<span class="iconfont icon-vertical_line"></span>
<span>
<el-date-picker prefix-icon=" " style="width:100%" size="small"
v-model="visa_form.value1"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期">
</el-date-picker>
</span> </span>
</li> </li>
<li> <li>
<span>成人</span> <span>成人</span>
<span class="iconfont icon-vertical_line"></span> <span class="iconfont icon-vertical_line"></span>
<span> <span>
<el-select size="small" v-model="ticket_form.value" placeholder="请选择"> <el-select size="small" v-model="choose_info.cr" placeholder="请选择">
<el-option <el-option
v-for="item in person" v-for="item in person"
:key="item" :key="item"
...@@ -174,7 +170,7 @@ ...@@ -174,7 +170,7 @@
<span>儿童</span> <span>儿童</span>
<span class="iconfont icon-vertical_line"></span> <span class="iconfont icon-vertical_line"></span>
<span> <span>
<el-select size="small" v-model="ticket_form.value" placeholder="请选择"> <el-select size="small" v-model="choose_info.child" placeholder="请选择">
<el-option <el-option
v-for="item in person" v-for="item in person"
:key="item" :key="item"
...@@ -184,10 +180,37 @@ ...@@ -184,10 +180,37 @@
</el-select> </el-select>
</span> </span>
</li> </li>
<li>
<span>出发日期</span>
<span class="iconfont icon-vertical_line"></span>
<span>
<el-date-picker
size="small" prefix-icon=" " style="width:100%"
value-format="yyyy-MM-dd"
v-model="choose_info.qFlightDateStart"
type="date"
:picker-options="pickerOptions0"
placeholder="选择日期">
</el-date-picker>
</span>
</li>
<!-- <li style="margin-left:26px;">
<span>返回日期</span>
<span class="iconfont icon-vertical_line"></span>
<span>
<el-date-picker prefix-icon=" " style="width:100%" size="small"
v-model="visa_form.value1"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期">
</el-date-picker>
</span>
</li> -->
</ul> </ul>
</div> </div>
<div style="overflow:auto;"> <div style="overflow:auto;">
<span class="form_btn">立即搜索</span> <span @click="SearchTicket" class="form_btn">立即搜索</span>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="国内机票" name="second">国内机票</el-tab-pane> <el-tab-pane label="国内机票" name="second">国内机票</el-tab-pane>
...@@ -287,7 +310,7 @@ ...@@ -287,7 +310,7 @@
<p style="margin:6px 0;display: flex;align-items: center;"> <p style="margin:6px 0;display: flex;align-items: center;">
<span class="green_span"></span> 热门国家 <span class="green_span"></span> 热门国家
</p> </p>
<li v-if="index<4" v-for="(item,index) in searchTicket.hotCountry" :key="index+400"> <li @click="TagGourl('LocalTourList',item,2)" v-if="index<4" v-for="(item,index) in searchTicket.hotCountry" :key="index+400">
{{item.name}} {{item.name}}
</li> </li>
</ul> </ul>
...@@ -295,7 +318,7 @@ ...@@ -295,7 +318,7 @@
<p style="margin:6px 0;display: flex;align-items: center;"> <p style="margin:6px 0;display: flex;align-items: center;">
<span class="green_span"></span> 热门景点 <span class="green_span"></span> 热门景点
</p> </p>
<li class="text1" v-for="(item,index) in searchTicket.hotTicketCoupon" :key="index+450"> <li @click="TagGourl('TicketDetails',item,-1)" class="text1" v-for="(item,index) in searchTicket.hotTicketCoupon" :key="index+450">
<el-tooltip :content="item.name" placement="top"> <el-tooltip :content="item.name" placement="top">
<span>{{item.name}}</span> <span>{{item.name}}</span>
</el-tooltip> </el-tooltip>
...@@ -312,7 +335,7 @@ ...@@ -312,7 +335,7 @@
<!-- 内容 --> <!-- 内容 -->
<div class="home_content" style="width:1180px;box-sizing:border-box;padding:20px 10px;margin:0 auto"> <div class="home_content" style="width:1180px;box-sizing:border-box;padding:20px 10px;margin:0 auto">
<!-- 超值特卖 --> <!-- 超值特卖 -->
<div class="cztm"> <div class="cztm" style="height:199px">
<el-tabs v-model="activecontent1" @tab-click="handleClick"> <el-tabs v-model="activecontent1" @tab-click="handleClick">
<el-tab-pane label="超值特卖" name="first"> <el-tab-pane label="超值特卖" name="first">
<div style="margin-left:-25px"> <div style="margin-left:-25px">
...@@ -701,7 +724,7 @@ ...@@ -701,7 +724,7 @@
<div style="position:absolute"> <div style="position:absolute">
<p style="font-size:14px;font-weight:bold">热门推荐</p> <p style="font-size:14px;font-weight:bold">热门推荐</p>
<ul> <ul>
<li v-if="index<7" v-for="(item,index) in hotRecommend" :key="index+500"> <li @click="GoMore('LocalTourList',item.type)" v-if="index<7" v-for="(item,index) in hotRecommend" :key="index+500">
<span class="button-content">{{index+1}}</span> <span class="button-content">{{index+1}}</span>
{{item.name}} {{item.name}}
</li> </li>
...@@ -710,8 +733,8 @@ ...@@ -710,8 +733,8 @@
</div> </div>
<div v-loading="localload" @click="goLocalDetail(item)" v-for="(item,index) in localPriceList" :key="index+550" class="Localtour_item"> <div v-loading="localload" @click="goLocalDetail(item)" v-for="(item,index) in localPriceList" :key="index+550" class="Localtour_item">
<!-- <img v-if="item.imgCover[0].url" :src='compressImg(item.imgCover[0].url, "filt", 245, "")' alt=""> <img v-if="item.imgCover[0].url" :src='compressImg(item.imgCover[0].url, "filt", 245, "")' alt="">
<img v-else src="../assets/img/home/tour_1.png" alt=""> --> <img v-else src="../assets/img/home/tour_1.png" alt="">
<div style="color:#fff" class="city"> <div style="color:#fff" class="city">
<!-- <p>dongjing</p> --> <!-- <p>dongjing</p> -->
...@@ -805,13 +828,50 @@ ...@@ -805,13 +828,50 @@
</div> </div>
</template> </template>
<script> <script>
import ChooseCity from "@/components/Ticket/ChooseCity.vue";
import ChooseCity1 from "@/components/Ticket/ChooseCity1.vue";
import moment from "moment";
export default { export default {
components: {
"v-city": ChooseCity,
"v-city1": ChooseCity1
},
data() { data() {
return { return {
pickerOptions0: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
}
},
startcity:false,
endcity:false,
choose_info: {
pageIndex: 1,
pageSize: 10,
id: 0,
qFlightDateStart: moment().format("YYYY-MM-DD"),
qFlightDateEnd: "",
flight_number: "",
airLineID: 0,
ticketType: 2,
lineId: 0,
isPayOrder: 0,
departure_city: 0,
departure_cityname: "",
arrival_city: 0,
arrival_cityname: "",
freightSpace: 0,
airTicketScatterNum: 0,
cr: 0,
child: 0,
ye: 0,
lr: 0
},
banner_height: "0px", banner_height: "0px",
visa_form: {}, visa_form: {},
ticket_form: {}, ticket_form: {},
tag: "admticket", tag: "ticket",
activecontent1: "first", activecontent1: "first",
activeName: "first", activeName: "first",
hotel_tab: "gjjd", hotel_tab: "gjjd",
...@@ -879,15 +939,64 @@ export default { ...@@ -879,15 +939,64 @@ export default {
this.InitData(); this.InitData();
}, },
methods: { methods: {
TagGourl(item){ // 交换城市
CityChange(){
let tempcity=this.choose_info.departure_city;
let tempcityname=this.choose_info.departure_cityname;
this.choose_info.departure_city=this.choose_info.arrival_city;
this.choose_info.departure_cityname=this.choose_info.arrival_cityname;
this.choose_info.arrival_city = tempcity;
this.choose_info.arrival_cityname = tempcityname;
},
SearchTicket(){
sessionStorage.setItem("ChooseInfo", JSON.stringify(this.choose_info));
this.$router.push({
path: "TicketList"
});
},
// 出发城市
CityInfo(val) {
this.choose_info.departure_city = val.ID;
this.choose_info.departure_cityname = val.Name;
},
// 出发地关闭子组件
CityCompClose(val) {
this.startcity = false;
},
CityInfo1(val) {
this.choose_info.arrival_city = val.ID;
this.choose_info.arrival_cityname = val.Name;
},
// 目的地关闭子组件
CityCompClose1(val) {
this.endcity = false;
},
TagGourl(path,item,num){
if(num==-1){
this.$router.push({ name:path,
query:{idDes:encodeURIComponent(item.idDes)} })
}
else if(num==2){
this.$router.push({ name: path,
query:{tab:num,id:item.id} })
}else{
let id=item.id; let id=item.id;
this.$router.push({path: `/Visalist?id=${id}`}); this.$router.push({path: `/${path}?id=${id}`});
}
}, },
GoMore(path,num){ GoMore(path,num){
if(num){ if(num==1 || num==2){
this.$router.push({ name: path, this.$router.push({ name: path,
query:{tab:num} }) query:{tab:num} })
}else{ }
else if(num==3){
this.$router.push({name: 'LocalCuisine'});
}
else{
this.$router.push({name: path}); this.$router.push({name: path});
} }
...@@ -992,7 +1101,7 @@ export default { ...@@ -992,7 +1101,7 @@ export default {
InitData(){ InitData(){
this.PageLoad=true; this.PageLoad=true;
this.apiJavaPost('/api/b2b/home/getHomeInitData',{},res=>{ this.apiJavaPost('/api/b2b/home/getHomeInitData',{},res=>{
console.log(res); // console.log(res);
this.PageLoad=false; this.PageLoad=false;
if(res.data.resultCode==1){ if(res.data.resultCode==1){
let data=res.data.data; let data=res.data.data;
...@@ -1046,7 +1155,7 @@ export default { ...@@ -1046,7 +1155,7 @@ export default {
},null) },null)
}, },
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event); // console.log(tab, event);
}, },
ChangeTab(str) { ChangeTab(str) {
this.tag = str; this.tag = str;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div v-for="(item,index) in dataList" :key="index+5000" style="margin-bottom:20px"> <div v-for="(item,index) in dataList" :key="index+5000" style="margin-bottom:20px">
<li> <li>
<div> <div>
<img style="width:143px;height:106px;" :src="item.coverImgs[0]" alt=""> <img style="width:143px;height:106px;" :src='compressImg(item.coverImgs[0], "filt", 245, "")' alt="">
</div> </div>
<div class="secondDiv"> <div class="secondDiv">
<p @click="GoUrl(item)" style="font-size:16px;color:#2A5532;cursor:pointer">{{item.name}}</p> <p @click="GoUrl(item)" style="font-size:16px;color:#2A5532;cursor:pointer">{{item.name}}</p>
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<ul class="hottour_ul"> <ul class="hottour_ul">
<p class="pfR font14" style="margin-bottom:8px">热门景点</p> <p class="pfR font14" style="margin-bottom:8px">热门景点</p>
<li @click="GoUrl(item)" v-for="(item,index) in hotList" :key="index+2000"> <li @click="GoUrl(item)" v-for="(item,index) in hotList" :key="index+2000">
<img :src="item.coverImgs[0]" alt=""> <img :src='compressImg(item.coverImgs[0], "filt", 245, "")' alt="">
<div class="hotcontent"> <div class="hotcontent">
<span style="color:#fff;width:125px;" class="textHidden font12">{{item.name}}</span> <span style="color:#fff;width:125px;" class="textHidden font12">{{item.name}}</span>
<span style="width:75px;color:#FDAC11;text-align:right"> <span style="width:75px;color:#FDAC11;text-align:right">
......
...@@ -11,31 +11,15 @@ ...@@ -11,31 +11,15 @@
<li style="padding-bottom:8px"> <li style="padding-bottom:8px">
<div class="title pfR f14" style="position: absolute;top:18px;">目的地</div> <div class="title pfR f14" style="position: absolute;top:18px;">目的地</div>
<div class="change spanMargin" style="padding-left:80px"> <div class="change spanMargin" style="padding-left:80px">
<span class="ChActive">全部</span> <span @click="SelectCity(0)" :class="msg.cityId==0?'ChActive':''">全部</span>
<span>富士河口湖町</span> <span @click="SelectCity(item.cityId)" :class="msg.cityId==item.cityId?'ChActive':''" v-for="(item,index) in cityList" :key="index">{{item.cityName}}</span>
<span>忍野村</span>
<span>曼谷</span><span>富士河口湖町</span>
<span>忍野村</span>
<span>曼谷</span><span>富士河口湖町</span>
<span>忍野村</span>
<span>曼谷</span><span>富士河口湖町</span>
<span>忍野村</span>
<span>曼谷</span><span>富士河口湖町</span>
<span>忍野村</span>
<span>曼谷</span><span>富士河口湖町</span>
<span>忍野村</span>
<span>曼谷</span><span>富士河口湖町</span>
<span>忍野村</span>
<span>曼谷</span><span>富士河口湖町</span>
<span>忍野村</span>
<span>曼谷</span>
</div> </div>
</li> </li>
<li> <li>
<div class="title pfR f14">游玩日期</div> <div class="title pfR f14">游玩日期</div>
<div class="change"> <div class="change">
<el-date-picker style="width:160px;" <el-date-picker style="width:160px;"
v-model="startDate" v-model="msg.startDate"
type="date" :picker-options="pickerBeginDateBefore" type="date" :picker-options="pickerBeginDateBefore"
placeholder="选择日期" size="mini" placeholder="选择日期" size="mini"
format="yyyy-MM-dd" format="yyyy-MM-dd"
...@@ -43,7 +27,7 @@ ...@@ -43,7 +27,7 @@
</el-date-picker> </el-date-picker>
<span class="pfR" style="margin:0 10px;color:#000000">-</span> <span class="pfR" style="margin:0 10px;color:#000000">-</span>
<el-date-picker style="width:160px;" <el-date-picker style="width:160px;"
v-model="endDate" @change="ChangeDate" v-model="msg.endDate" @change="ChangeDate"
type="date" :picker-options="pickerBeginDateAfter" type="date" :picker-options="pickerBeginDateAfter"
placeholder="选择日期" size="mini" placeholder="选择日期" size="mini"
format="yyyy-MM-dd" format="yyyy-MM-dd"
...@@ -54,33 +38,33 @@ ...@@ -54,33 +38,33 @@
<li> <li>
<div class="title pfR f14">价钱范围</div> <div class="title pfR f14">价钱范围</div>
<div class="change spanPrice"> <div class="change spanPrice">
<span>全部</span> <span :class="priceActive==0?'ChActive':''" @click="SelectPrice(0,200,0)">¥200以下</span>
<span>¥200以下</span> <span :class="priceActive==1?'ChActive':''" @click="SelectPrice(200,500,1)">¥200-¥500</span>
<span>¥200-¥500</span> <span :class="priceActive==2?'ChActive':''" @click="SelectPrice(500,800,2)">¥500-¥800</span>
<span>¥500-¥800</span> <span :class="priceActive==3?'ChActive':''" @click="SelectPrice(800,'',3)">¥800以上</span>
<span>¥800以上</span> <span>自定义价格:
<span>自定义价格: <el-input style="width:100px" size="mini" v-model="minPrice" placeholder="输入价格"></el-input>
<el-input v-model="minPrice" prefix-icon="iconfont icon-qian" placeholder="输入价格" style="width:100px" size="mini"></el-input>
<span class="pfR" style="margin:0 10px;color:#000000">-</span> <span class="pfR" style="margin:0 10px;color:#000000">-</span>
<el-input v-model="maxPrice" prefix-icon="iconfont icon-qian" placeholder="输入价格" style="width:100px" size="mini"></el-input> <el-input style="width:100px" size="mini" v-model="maxPrice" placeholder="输入价格"></el-input>
</span> </span>
</div> </div>
</li> </li>
<div class="pxDiv"> <div class="pxDiv">
<span>印象推荐</span> <span>印象推荐</span>
<span class="px">价格排序 <span class="px">价格排序
<img src="../../assets/img/localtour/pai1.png" alt=""> <img @click="PaiXu('Price',0)" v-if="msg.orderByPrice==0" src="../../assets/img/localtour/pai1.png" alt="">
<!-- <img src="../../assets/img/localtour/pai2.png" alt=""> <img @click="PaiXu('Price',1)" v-if="msg.orderByPrice==1" src="../../assets/img/localtour/pai2.png" alt="">
<img src="../../assets/img/localtour/pai3.png" alt=""> --> <img @click="PaiXu('Price',2)" v-if="msg.orderByPrice==2" src="../../assets/img/localtour/pai3.png" alt="">
</span> </span>
<span class="px">销量 <span class="px">销量
<img src="../../assets/img/localtour/pai1.png" alt=""> <img @click="PaiXu('Sales',0)" v-if="msg.orderBySales==0" src="../../assets/img/localtour/pai1.png" alt="">
<!-- <img src="../../assets/img/localtour/pai2.png" alt=""> <img @click="PaiXu('Sales',1)" v-if="msg.orderBySales==1" src="../../assets/img/localtour/pai2.png" alt="">
<img src="../../assets/img/localtour/pai3.png" alt=""> --> <img @click="PaiXu('Sales',2)" v-if="msg.orderBySales==2" src="../../assets/img/localtour/pai3.png" alt="">
</span> </span>
<span class="f12" style="float:right">为您找到 <span class="f12" style="float:right">为您找到
<b style="color:#FF0101;font-size:16px;">3926</b> <b style="color:#FF0101;font-size:16px;">{{Count}}</b>
份产品 份产品
</span> </span>
</div> </div>
...@@ -110,90 +94,32 @@ ...@@ -110,90 +94,32 @@
</div> </div>
</div> </div>
<div class="dataRight"> <div v-loading="Load" class="dataRight">
<div @click="Gourl" class="rightlist"> <div v-for="(item,index) in dataList" :key="index+50" @click="Gourl(item)" class="rightlist">
<el-row>
<el-col :span="7">
<img style="width:220px;height:125px;" src="../../assets/img/activy.jpg" alt="">
</el-col>
<el-col :span="12">
<p class="f18 pfR text1">香港迪士尼香港迪士尼乐园园内餐券券(三合一/二合一/士尼乐园园内餐券券(</p>
<p style="margin:10px 0" class="f12">
<span style="color:#999999">景点特色</span>
<span style="color:#666666">在香港迪士尼乐园多间特色餐厅尽享各种美食惊喜!</span>
</p>
<p class="f12 zhuti">
<span>主题公园</span>
<span>亲子旅游</span>
<span>当地美食</span>
</p>
<p class="f12">
<span></span>
<span style="color:#999999">景点地址</span>
<span style="color:#666666">香港大屿山香港迪士尼乐园度假区</span>
</p>
</el-col>
<el-col :span="5">
<p class="f12 pfR" style="text-align:right;">
<span style="font-size:22px;color:#FF0101">¥680</span>
</p>
</el-col>
</el-row>
</div>
<div class="rightlist">
<el-row> <el-row>
<el-col :span="7"> <el-col style="height:125px;" :span="7">
<img style="width:220px;height:125px;" src="../../assets/img/activy.jpg" alt="">
</el-col> <img v-if="item.coverImgs[0]" style="width:220px;height:125px;" :src='compressImg(item.coverImgs[0], "filt", 245, "")' alt="">
<el-col :span="12"> <img style="width:220px;height:125px;" v-else src="../../assets/img/activy.jpg" alt="">
<p class="f18 pfR text1">香港迪士尼香港迪士尼乐园园内餐券券(三合一/二合一/士尼乐园园内餐券券(</p>
<p style="margin:10px 0" class="f12">
<span style="color:#999999">景点特色</span>
<span style="color:#666666">在香港迪士尼乐园多间特色餐厅尽享各种美食惊喜!</span>
</p>
<p class="f12 zhuti">
<span>主题公园</span>
<span>亲子旅游</span>
<span>当地美食</span>
</p>
<p class="f12">
<span></span>
<span style="color:#999999">景点地址</span>
<span style="color:#666666">香港大屿山香港迪士尼乐园度假区</span>
</p>
</el-col>
<el-col :span="5">
<p class="f12 pfR" style="text-align:right;">
<span style="font-size:22px;color:#FF0101">¥680</span>
</p>
</el-col>
</el-row>
</div>
<div class="rightlist">
<el-row>
<el-col :span="7">
<img style="width:220px;height:125px;" src="../../assets/img/activy.jpg" alt="">
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<p class="f18 pfR text1">香港迪士尼香港迪士尼乐园园内餐券券(三合一/二合一/士尼乐园园内餐券券(</p> <p class="f18 pfR text1">{{item.name}}</p>
<p style="margin:10px 0" class="f12"> <p style="margin:10px 0" class="f12 text1">
<span style="color:#999999">景点特色</span> <span style="color:#999999">景点特色</span>
<span style="color:#666666">在香港迪士尼乐园多间特色餐厅尽享各种美食惊喜!</span> <span style="color:#666666;margin-left:10px">{{item.feature}}</span>
</p> </p>
<p class="f12 zhuti"> <p class="f12 zhuti">
<span>主题公园</span> <span :key="index+500" v-for="(tag,index) in item.foodTagList">{{tag}}</span>
<span>亲子旅游</span>
<span>当地美食</span>
</p> </p>
<p class="f12"> <p class="f12">
<span></span> <span></span>
<span style="color:#999999">景点地址</span> <span style="color:#999999">景点地址</span>
<span style="color:#666666">香港大屿山香港迪士尼乐园度假区</span> <span style="color:#666666;margin-left:10px">{{item.address}}</span>
</p> </p>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<p class="f12 pfR" style="text-align:right;"> <p class="f12 pfR" style="text-align:right;">
<span style="font-size:22px;color:#FF0101">680</span> <span style="font-size:22px;color:#FF0101">{{item.b2bPrice | NoDesnum}}</span>
</p> </p>
</el-col> </el-col>
</el-row> </el-row>
...@@ -206,7 +132,7 @@ ...@@ -206,7 +132,7 @@
</div> </div>
</div> </div>
<div class="page"> <div v-if="dataList.length>0" class="page">
<div class="_pagination"> <div class="_pagination">
<el-pagination <el-pagination
:current-page.sync="currentPage" :current-page.sync="currentPage"
...@@ -224,20 +150,30 @@ ...@@ -224,20 +150,30 @@
export default { export default {
data(){ data(){
return{ return{
priceActive:-1,
msg:{ msg:{
pageSize:10, pageSize:10,
cityId:0,
pageIndex:1,
startDate:'',
endDate:'',
minPrice:'',
maxPrice:'',
orderByPrice:0,
orderBySales:0,
searchKey:'',
}, },
currentPage: 1, currentPage: 1,
Count:0, Count:0,
minPrice:0, minPrice:"",
maxPrice:0, maxPrice:"",
startDate:"", startDate:"",
endDate:"", endDate:"",
pickerBeginDateBefore: { pickerBeginDateBefore: {
disabledDate: time => { disabledDate: time => {
let endTime = new Date(this.msg.endDate) let endTime = new Date(this.msg.endDate)
return endTime.getTime() < time.getTime() return time.getTime() < Date.now() - 8.64e7
} },
}, },
pickerBeginDateAfter: { pickerBeginDateAfter: {
disabledDate: time => { disabledDate: time => {
...@@ -246,22 +182,113 @@ export default { ...@@ -246,22 +182,113 @@ export default {
} }
}, },
dataList:[], dataList:[],
cityList:[],
Load:false,
} }
}, },
mounted(){}, created(){
this.GetTicketList();
},
mounted(){
this.GetList();
},
methods:{ methods:{
ChangeDate(){ PaiXu(str,num){
if(str=="Price"){
this.msg.orderBySales=0;
if(num==0){
this.msg.orderByPrice=1;
}
if(num==1){
this.msg.orderByPrice=2;
}
if(num==2){
this.msg.orderByPrice=0;
}
}else{
this.msg.orderByPrice=0;
if(num==0){
this.msg.orderBySales=1;
}
if(num==1){
this.msg.orderBySales=2;
}
if(num==2){
this.msg.orderBySales=0;
}
}
this.GetList();
},
SelectCity(num){
this.msg.cityId=num;
this.GetList();
},
GetList(){
if(this.minPrice==""){
this.msg.minPrice=-1;
}else{
this.msg.minPrice=this.minPrice;
}
if(this.maxPrice==""){
this.msg.maxPrice=-1;
}else{
this.msg.maxPrice=this.maxPrice;
}
if(!this.msg.startDate){
this.msg.startDate="";
}
if(!this.msg.endDate){
this.msg.endDate="";
}
this.Load=true;
this.apiJavaPost('/api/b2b/food/getFoodList',this.msg,res=>{
this.Load=false;
if(res.data.resultCode==1){
this.dataList=res.data.data.pageData;
console.log(this.dataList)
this.Count=res.data.data.count;
this.dataList.forEach(item=>{
if(item.foodTag){
item.foodTagList=item.foodTag.split(",");
}
})
}else{
this.Error(res.data.message);
}
},null)
},
SelectPrice(num1,num2,index){
this.minPrice=num1;
this.maxPrice=num2;
this.priceActive=index;
this.GetList();
},
GetTicketList(){
this.apiJavaPost('/api/b2b/food/getFoodCountryCityItem',{},res=>{
if(res.data.resultCode==1){
this.cityList=res.data.data;
}else{
this.Error(res.data.message);
}
},null)
},
ChangeDate(){
this.GetList();
}, },
Gourl(){ Gourl(item){
this.$router.push({ this.$router.push({
path: "LocalCuisineDetails", path: "LocalCuisineDetails",
// query: { path: this.$route.name } query: { idDes:encodeURIComponent(item.idDes)}
}); });
}, },
handleCurrentChange(){ handleCurrentChange(val){
this.msg.pageIndex=val;
this.GetList()
}, },
ChangePrice(){ ChangePrice(){
......
<style> <style>
@import "../../assets/css/common.css"; @import "../../assets/css/common.css";
@import "../../assets/css/LocalCuisine.css"; @import "../../assets/css/LocalCuisine.css";
.LocalCuisineDetails .el-tab-pane{
min-height: 400px;
}
.LocalCuisineDetails .ydDiv .usedate{
display: inline-block;
width: 120px;
height: 26px;
border:1px solid #dcdfe6;
}
</style> </style>
<template> <template>
<div class="LocalCuisine commonF LocalCuisineDetails"> <div class="LocalCuisine commonF LocalCuisineDetails">
<div class="w1200 basefix" style="margin-bottom:20px;"> <div v-loading="load" class="w1200 basefix" style="margin-bottom:20px;">
<p style="margin-top:14px" class="f12 pfR">当地游 > 当地美食 > 详情页</p> <p style="margin-top:14px" class="f12 pfR">当地游 > 当地美食 > 详情页</p>
<div class="Head basefix"> <div class="Head basefix">
<div class="HeadLeft"> <div class="HeadLeft">
<img style="width:457px;height:259px;" src="../../assets/img/activy.jpg" alt=""> <div style="width:457px;height:259px;">
<img style="width:100%;height:100%;" v-if="imgHoverSrc!=''" :src='compressImg(imgHoverSrc, "filt", 245, "")' alt="">
<img style="width:100%;height:100%;" v-else src="../../assets/img/activy.jpg" alt="">
</div>
<ul class="Imglist"> <ul class="Imglist">
<li class="activeLi"> <li @mouseover="LiHover(item,index)" v-if="index<5" :key="index" v-for="(item,index) in datadetails.coverImgs" :class="activeTab==index?'activeLi':''">
<a href="#"> <a href="#">
<img src="../../assets/img/activy.jpg" alt=""> <img v-if="item" :src='compressImg(item, "filt", 245, "")' alt="">
</a> <img v-else src="../../assets/img/activy.jpg" alt="">
</li>
<li>
<a href="">
<img src="../../assets/img/activy.jpg" alt="">
</a>
</li>
<li>
<a href="">
<img src="../../assets/img/activy.jpg" alt="">
</a>
</li>
<li>
<a href="">
<img src="../../assets/img/activy.jpg" alt="">
</a>
</li>
<li>
<a href="">
<img src="../../assets/img/activy.jpg" alt="">
</a> </a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="HeadRight"> <div class="HeadRight">
<p class="f20 pfR">曼谷拜约克摩天塔Baiyoke Sky 彩虹云霄酒店自助餐</p> <p class="f20 pfR">{{datadetails.name}}</p>
<p class="f12" style="color:#888888;padding:12px 0">一览众山小的景观餐厅,沉醉璀璨夜色,尽情感受曼谷的风景人情!</p> <p class="f12 text1" style="color:#888888;margin:12px 0">{{datadetails.about}}</p>
<p class="f12 zhuti" style="padding-top:10px"> <p class="f12 zhuti" style="padding-top:10px">
<span>主题公园</span> <span v-for="(item,index) in datadetails.foodTagList" :key="index+50">{{item}}</span>
<span>亲子旅游</span>
<span>当地美食</span>
</p> </p>
<p class="f12" style="color:#666666;padding-top:20px"> <p class="f12" style="color:#666666;padding-top:20px">
<span>景点地址</span> <span>景点地址</span>
<span style="margin-left:25px;">香港大屿山香港迪士尼乐园度假区</span> <span style="margin-left:25px;">{{datadetails.address}}</span>
</p> </p>
<div class="hr"></div> <div class="hr"></div>
<div class="tcDiv"> <div class="tcDiv">
<span class="tcSpan">套餐</span> <span class="tcSpan">套餐</span>
<div class="tc"> <div class="tc">
<span class="Active">75楼泰式自助午餐</span> <span v-for="(item,index) in datadetails.diningMealList" :key="index+200" class="Active">{{item.mealName}}</span>
<span>18楼水果自助餐(无限榴莲)</span>
<span>18楼水果自助餐(一份榴莲)</span>
<span>75楼泰式自助午餐</span>
<span>18楼水果自助餐(无限榴莲)</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -67,14 +56,29 @@ ...@@ -67,14 +56,29 @@
<el-row class="ydDiv"> <el-row class="ydDiv">
<el-form ref="form" :model="form" label-width="80px"> <el-form ref="form" :model="form" label-width="80px">
<el-col :span="19"> <el-col :span="19">
<el-form-item label="使用日期"> <el-form-item style="position:relative;top:5px" label="使用日期">
<el-date-picker style="width:160px;" <el-popover popper-class="calendarPopover"
v-model="startDate" placement="bottom"
type="date" trigger="click">
placeholder="选择日期" size="mini" <div ref="otherdate" class="otherdate" style="width:400px">
format="yyyy-MM-dd" <div style="font-size:16px;padding:10px;text-align:center">
value-format="yyyy-MM-dd"> <el-col :span="8"><span @click="ChangeMonth(1)" class="month_circle">
</el-date-picker> <i class="iconfont icon-xiangzuo"></i>
</span> </el-col>
<el-col :span="8">{{tomonth}}</el-col>
<el-col :span="8"><span @click="ChangeMonth(2)" class="month_circle">
<i class="iconfont icon-arrowright1"></i>
</span></el-col>
</div>
<div style="margin-top:22px">
<v-calendar ref="child" v-for="(item,index) in classArray" :key="index" v-bind:dateData="classArray" :day ="tomonth" v-on:SelectChild="SelectChild">
</v-calendar>
</div>
</div>
<span @click="Click()" class="usedate" slot="reference" style="cursor:pointer;position:relative;top:5px"></span>
</el-popover>
</el-form-item> </el-form-item>
<el-form-item label="成人"> <el-form-item label="成人">
<el-input-number v-model="msg.num" size="mini" :min="1" :max="10" label="描述文字"></el-input-number> <el-input-number v-model="msg.num" size="mini" :min="1" :max="10" label="描述文字"></el-input-number>
...@@ -122,8 +126,31 @@ ...@@ -122,8 +126,31 @@
</div> </div>
<div class="dataRight"> <div class="dataRight">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="图文详情" name="first">图文详情</el-tab-pane> <el-tab-pane label="图文详情" name="first">
<el-tab-pane label="购买须知" name="second">购买须知</el-tab-pane> <div style="padding:0 25px">
<div v-if="datadetails.openingHours">
<p style="text-align:center" class="pfR f32">营业时间</p>
<p style="margin:10px 0">{{datadetails.openingHours}}</p>
<p v-if="datadetails.dieLine">提前预定天数:{{datadetails.dieLine}}</p>
</div>
<div v-if="datadetails.feature">
<p style="text-align:center" class="pfR f32">特色</p>
<p style="margin:10px 0">{{datadetails.feature}}</p>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="购买须知" name="second">
<div style="padding:0 25px">
<div v-if="datadetails.bookingInfo">
<p style="text-align:center" class="pfR f32">预定须知</p>
<p style="margin:10px 0">{{datadetails.bookingInfo}}</p>
</div>
</div>
</el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
...@@ -132,7 +159,12 @@ ...@@ -132,7 +159,12 @@
</div> </div>
</template> </template>
<script> <script>
import moment from "moment"
import calendar from "@/components/mall/newcalendar.vue";
export default { export default {
components: {
"v-calendar": calendar
},
data(){ data(){
return{ return{
activeName:'first', activeName:'first',
...@@ -140,11 +172,127 @@ export default { ...@@ -140,11 +172,127 @@ export default {
}, },
startDate:"", startDate:"",
idDes:"",
form:{},
datadetails:{},
load:false,
activeTab:0,
imgHoverSrc:"",
classArray:[],
tomonth:moment().format("YYYY-MM")
} }
}, },
mounted(){}, created(){
this.idDes=decodeURIComponent(this.$route.query.idDes);
},
mounted(){
this.GetIds();
this.Click();
},
methods:{ methods:{
ChangeMonth(){},
SelectChild(){
},
Click(){
this.apiJavaPost('/api/b2b/food/getFoodMealPriceList',{idDes:this.idDes},res=>{
console.log("价格",res);
if(res.data.resultCode==1){
}else{
this.Error(res.data.message);
}
},null)
// this.creatCalendar(list);
},
creatCalendar(list) {
// 创建日历
let dateList = [];
if (list && list.length > 0) {
list.forEach((x, index) => {
// if(parseFloat(999) > 0){
let msg = {
dateStr: x.timeStr,
cDate: x.timeStr.replace("-", "年").replace("-", "月"),
price: x.price,
b2BMemberPrice: x.price,
b2BPrice: x.price,
b2CMemberPrice: x.price,
id: index,
dateStrS: x.timeStr.substring(0, x.timeStr.length - 3)
};
dateList.push(msg);
// }
});
}
let monthArray = [];
for (var i in dateList) {
var data = dateList[i];
var dateDict = {
mounth: data.dateStr.substring(0, data.dateStr.length - 3)
};
monthArray.push(dateDict);
}
console.log("monthArray",monthArray)
//数组去重,获取有几个月
var hash = {};
monthArray = monthArray.reduce(function(item, next) {
hash[next.mounth] ? "" : (hash[next.mounth] = true && item.push(next));
return item;
}, []);
//数据分组
let classArray = [];
for (var j in monthArray) {
var newArray = new Array();
for (var i in dateList) {
var data = dateList[i];
if (
data.dateStr.substring(0, data.dateStr.length - 3) ==
monthArray[j].mounth
) {
newArray.push(data);
}
}
classArray.push(newArray);
}
this.classArray = classArray;
var hash = {};
dateList = dateList.reduce(function(item, next) {
hash[next.dateStrS]
? ""
: (hash[next.dateStrS] = true && item.push(next));
return item;
}, []);
this.calendarTit = dateList;
this.$nextTick(() => {
this.$refs.child[0].getYearMonthDay(this.classArray);
});
},
LiHover(item,index){
this.activeTab=index;
this.imgHoverSrc=item;
},
GetIds(){
this.load=true;
this.apiJavaPost('/api/b2b/food/getFoodInfo',{idDes:this.idDes},res=>{
this.load=false;
if(res.data.resultCode==1){
this.datadetails=res.data.data;
this.imgHoverSrc=this.datadetails.coverImgs[0];
if(this.datadetails.foodTag){
datadetails.foodTagList=item.foodTag.split(",");
}
}else{
this.Error(res.data.message);
}
},null)
},
handleClick(){}, handleClick(){},
}, },
} }
......
...@@ -283,6 +283,9 @@ export default { ...@@ -283,6 +283,9 @@ export default {
} }
} }
if(this.$route.query.id){
this.msg.countryId=Number(this.$route.query.id);
}
}, },
mounted() { mounted() {
......
...@@ -20,7 +20,9 @@ ...@@ -20,7 +20,9 @@
<div class="sidenav_right"> <div class="sidenav_right">
<el-carousel class="carousel" arrow="always" style="height:100%" :interval="10000" trigger="click"> <el-carousel class="carousel" arrow="always" style="height:100%" :interval="10000" trigger="click">
<el-carousel-item v-for="item in slideList" :key="item.url"> <el-carousel-item v-for="item in slideList" :key="item.url">
<img :src='item.url'> <!-- <img :src='item.url'> -->
<img :src='compressImg(item.url, "filt", 245, "")' alt="">
</el-carousel-item> </el-carousel-item>
</el-carousel> </el-carousel>
</div> </div>
...@@ -71,10 +73,10 @@ ...@@ -71,10 +73,10 @@
</div> </div>
</div> </div>
</div> </div>
<div class="basefix dayContent" style="margin-top:17px"> <div v-loading="dayLoad" class="basefix dayContent" style="margin-top:17px">
<div class="dayConDiv1"> <div class="dayConDiv1">
<div @click="goOneDayDetail(item)" v-if="index<2" v-for="(item,index) in abroadList" :key="index+300"> <div @click="goOneDayDetail(item)" v-if="index<2" v-for="(item,index) in abroadList" :key="index+300">
<img v-if="index==0" :key="img.url" v-for="(img,index) in item.imgCover" :src="img.url" alt=""> <img v-if="index==0" :key="img.url" v-for="(img,index) in item.imgCover" :src='compressImg(img.url, "filt", 245, "")' alt="">
<span class="daydes">{{item.title}}</span> <span class="daydes">{{item.title}}</span>
<span class="price"><span class="pfR font18">{{item.b2BPrice}}</span></span> <span class="price"><span class="pfR font18">{{item.b2BPrice}}</span></span>
</div> </div>
...@@ -83,7 +85,7 @@ ...@@ -83,7 +85,7 @@
<ul> <ul>
<li @click="goOneDayDetail(item)" v-if="index>1" v-for="(item,index) in abroadList" :key="index+200"> <li @click="goOneDayDetail(item)" v-if="index>1" v-for="(item,index) in abroadList" :key="index+200">
<div class="imgDiv"> <div class="imgDiv">
<img v-if="index==0" :key="img.url" v-for="(img,index) in item.imgCover" :src="img.url" alt=""> <img v-if="index==0" :key="img.url" v-for="(img,index) in item.imgCover" :src='compressImg(img.url, "filt", 245, "")' alt="">
<span class="country">{{item.lineShortName}}</span> <span class="country">{{item.lineShortName}}</span>
<p class="price"> <p class="price">
<span><span class="font18 pfR">{{item.b2BPrice}}</span></span> <span><span class="font18 pfR">{{item.b2BPrice}}</span></span>
...@@ -104,7 +106,7 @@ ...@@ -104,7 +106,7 @@
</div> </div>
<ul class="hottour_ul"> <ul class="hottour_ul">
<li @click="goOneDayDetail(item)" v-for="(item,index) in abroadhotList" :key="index+100"> <li @click="goOneDayDetail(item)" v-for="(item,index) in abroadhotList" :key="index+100">
<img v-if="index==0" :key="img.url" v-for="(img,index) in item.imgCover" :src="img.url" alt=""> <img v-if="index==0" :key="img.url" v-for="(img,index) in item.imgCover" :src='compressImg(img.url, "filt", 245, "")' alt="">
<div class="hotcontent"> <div class="hotcontent">
<span class="textHidden font12">{{item.title}}</span> <span class="textHidden font12">{{item.title}}</span>
<p class="font12" style="color:#FDAC11;text-align:right;padding-top:4px;padding-right:6px"><span class="pfR font14">{{item.b2BPrice}}</span></p> <p class="font12" style="color:#FDAC11;text-align:right;padding-top:4px;padding-right:6px"><span class="pfR font14">{{item.b2BPrice}}</span></p>
...@@ -140,9 +142,10 @@ ...@@ -140,9 +142,10 @@
<span>大阪环球影城</span> <span>大阪环球影城</span>
</div> </div>
</div> </div>
<ul class="ticketRight basefix"> <ul v-loading="ticketLoad" class="ticketRight basefix">
<li @click="GoTicket(item)" v-for="item in ticketList" :key="item.id"> <li @click="GoTicket(item)" v-for="item in ticketList" :key="item.id">
<img :src="item.coverImgs[0]" alt=""> <!-- <img :src="item.coverImgs[0]" alt=""> -->
<img :src='compressImg(item.coverImgs[0], "filt", 245, "")' alt="">
<!-- <div class="title"> <!-- <div class="title">
<img src="../../assets/img/localtour/ticket1.png" alt=""> <img src="../../assets/img/localtour/ticket1.png" alt="">
<p style="margin-top:3px;">电影</p> <p style="margin-top:3px;">电影</p>
...@@ -289,7 +292,7 @@ ...@@ -289,7 +292,7 @@
</div> </div>
<div class="outone_top_right"> <div class="outone_top_right">
<div class="content"> <div class="content">
<span @click="SelectCountry(item.countryId)" :class="ticketmsg.countryId==item.countryId?'outone_active':''" v-for="item in countryticketList" :key="item.countryId"> <span @click="SelectFood(item.countryId)" :class="foodmsg.countryId==item.countryId?'outone_active':''" v-for="item in foodcountryList" :key="item.countryId">
{{item.countryName}}</span> {{item.countryName}}</span>
<a @click="GoCuisine()">更多美食</a> <a @click="GoCuisine()">更多美食</a>
...@@ -300,9 +303,10 @@ ...@@ -300,9 +303,10 @@
<div class="ticketLeft"> <div class="ticketLeft">
<img style="width:100%;height:100%" src="../../assets/img/localtour/meishi.png" alt=""> <img style="width:100%;height:100%" src="../../assets/img/localtour/meishi.png" alt="">
</div> </div>
<ul class="ticketRight basefix"> <ul v-loading="foodLoad" class="ticketRight basefix">
<li @click="GoTicket(item)" v-for="item in ticketList" :key="item.id"> <li @click="GoTicket(item)" v-for="item in foodList" :key="item.id">
<img :src="item.coverImgs[0]" alt=""> <!-- <img :src="item.coverImgs[0]" alt=""> -->
<img :src='compressImg(item.coverImgs[0], "filt", 245, "")' alt="">
<div class="bottom"> <div class="bottom">
<span>{{item.name}}</span> <span>{{item.name}}</span>
<span class="font12 textHidden1">¥<a class="font14">{{item.b2bPrice | NoDesnum}}</a>起/人</span> <span class="font12 textHidden1">¥<a class="font14">{{item.b2bPrice | NoDesnum}}</a>起/人</span>
...@@ -345,6 +349,17 @@ export default { ...@@ -345,6 +349,17 @@ export default {
countryId:-1, countryId:-1,
}, },
ticketList:[], ticketList:[],
foodcountryList:[],
foodmsg:{
countryId:0,
pageIndex:1,
pageSize:8,
},
foodList:[],
foodLoad:false,
dayLoad:false,
ticketLoad:false,
} }
}, },
mounted() { mounted() {
...@@ -353,8 +368,39 @@ export default { ...@@ -353,8 +368,39 @@ export default {
this.GetAbroad(); this.GetAbroad();
this.GetHotAbroad(); this.GetHotAbroad();
this.GetCuntryTicket(); this.GetCuntryTicket();
this.getFoodCountryItem();
}, },
methods: { methods: {
SelectFood(countryId){
this.foodmsg.countryId=countryId;
this.FoodCountryList();
},
FoodCountryList(){
this.foodLoad=true;
this.apiJavaPost('/api/b2b/food/getHomeFoodList',this.foodmsg,res=>{
this.foodLoad=false;
if(res.data.resultCode==1){
this.foodList=res.data.data.pageData;
}else{
this.Error(res.data.message);
}
},null)
},
getFoodCountryItem(){
this.apiJavaPost('/api/b2b/food/getFoodCountryItem',{},res=>{
// console.log(res);
if(res.data.resultCode==1){
this.foodcountryList=res.data.data;
if(this.foodcountryList.length>0){
this.foodmsg.countryId= this.foodcountryList[0].countryId;
this.FoodCountryList();
}
}else{
this.Error(res.data.message);
}
},null)
},
GoCuisine(){ GoCuisine(){
this.$router.push({ path:'/LocalCuisine'}) this.$router.push({ path:'/LocalCuisine'})
}, },
...@@ -379,7 +425,9 @@ export default { ...@@ -379,7 +425,9 @@ export default {
}, },
// 门票列表 // 门票列表
GetTicketList(){ GetTicketList(){
this.ticketLoad=true;
this.apiJavaPost('/api/b2b/scenic/getHomeTicketList',this.ticketmsg,res=>{ this.apiJavaPost('/api/b2b/scenic/getHomeTicketList',this.ticketmsg,res=>{
this.ticketLoad=false;
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.ticketList=res.data.data.pageData; this.ticketList=res.data.data.pageData;
}else{ }else{
...@@ -423,7 +471,9 @@ export default { ...@@ -423,7 +471,9 @@ export default {
}, },
// 获取境外一日游推荐产品 // 获取境外一日游推荐产品
GetAbroad(){ GetAbroad(){
this.dayLoad=true;
this.apiJavaPost('/api/b2b/dayTrip/getHomeRecommendProduct',this.abroadMsg,res=>{ this.apiJavaPost('/api/b2b/dayTrip/getHomeRecommendProduct',this.abroadMsg,res=>{
this.dayLoad=false;
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.abroadList=res.data.data.pageData; this.abroadList=res.data.data.pageData;
// console.log("this.abroadList",this.abroadList); // console.log("this.abroadList",this.abroadList);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<ul class="oneList"> <ul class="oneList">
<li @click="goOneDayDetail(item)" v-for="(item,index) in dataList" :key="index+200"> <li @click="goOneDayDetail(item)" v-for="(item,index) in dataList" :key="index+200">
<div> <div>
<img style="width:199px;height:148px;" :src="item.imgCover[0].url" alt=""> <img style="width:199px;height:148px;" :src='compressImg(item.imgCover[0].url, "filt", 245, "")' alt="">
</div> </div>
<div class="secondDiv"> <div class="secondDiv">
<p style="font-size:16px;color:#2A5532;cursor:pointer">{{item.title}}</p> <p style="font-size:16px;color:#2A5532;cursor:pointer">{{item.title}}</p>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<ul class="hottour_ul"> <ul class="hottour_ul">
<p class="pfR font14" style="margin-bottom:8px">历史浏览</p> <p class="pfR font14" style="margin-bottom:8px">历史浏览</p>
<li @click="goOneDayDetail(item)" v-for="(item,index) in Historylist" :key="index+2000"> <li @click="goOneDayDetail(item)" v-for="(item,index) in Historylist" :key="index+2000">
<img :src="item.imgCover[0].url" alt=""> <img :src='compressImg(item.imgCover[0].url, "filt", 245, "")' alt="">
<div class="hotcontent"> <div class="hotcontent">
<span class="textHidden font12">{{item.title}}</span> <span class="textHidden font12">{{item.title}}</span>
<p class="font12" style="color:#FDAC11;text-align:right;padding-top:4px;padding-right:6px"><span class="pfR font14">{{item.b2BPrice | NoDesnum}}</span></p> <p class="font12" style="color:#FDAC11;text-align:right;padding-top:4px;padding-right:6px"><span class="pfR font14">{{item.b2BPrice | NoDesnum}}</span></p>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!-- 头部 --> <!-- 头部 -->
<div class="TicketHead"> <div class="TicketHead">
<div class="TicketHeadLeft"> <div class="TicketHeadLeft">
<img style="width:499px;height:281px;display:inline-block" :src="imgHoverSrc" alt=""> <img style="width:499px;height:281px;display:inline-block" :src='compressImg(imgHoverSrc, "filt", 245, "")' alt="">
<div class="block"> <div class="block">
<i @click="ImgBefore" :class="ImgIndex==0?'green':''" class="ChangeImgTab" style="margin-left:0"> <i @click="ImgBefore" :class="ImgIndex==0?'green':''" class="ChangeImgTab" style="margin-left:0">
<span class="iconfont icon-xiangzuo"></span> <span class="iconfont icon-xiangzuo"></span>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<li v-if="index<10" @mouseover="LiHover(item,index)" :class="imgHover==index?'liActive':''" v-for="(item,index) in dataDes.coverImgs" :key="index" > <li v-if="index<10" @mouseover="LiHover(item,index)" :class="imgHover==index?'liActive':''" v-for="(item,index) in dataDes.coverImgs" :key="index" >
<a href="#"> <a href="#">
<img :src="item" :onerror="defaultImg" alt=""> <img :src='compressImg(item, "filt", 245, "")' :onerror="defaultImg" alt="">
</a> </a>
</li> </li>
......
...@@ -396,7 +396,6 @@ export default { ...@@ -396,7 +396,6 @@ export default {
} else { } else {
this.endcity = true; this.endcity = true;
} }
console
}, },
// 出发地城市信息 // 出发地城市信息
CityInfo(val) { CityInfo(val) {
......
...@@ -13,14 +13,14 @@ ...@@ -13,14 +13,14 @@
<el-form class="choose_form" ref="form" :model="choose_info" label-width="100px"> <el-form class="choose_form" ref="form" :model="choose_info" label-width="100px">
<el-form-item class="form_big" label="出发地"> <el-form-item class="form_big" label="出发地">
<el-popover <el-popover v-model="startcity" :visible-arrow="false"
placement="bottom" placement="bottom"
trigger="click"> trigger="click">
<div v-show="startcity" class="citycompent"> <div class="citycompent">
<v-city @CityInfo="CityInfo" @CityCompClose="CityCompClose"></v-city> <v-city @CityInfo="CityInfo" @CityCompClose="CityCompClose"></v-city>
</div> </div>
<span slot="reference"> <span slot="reference">
<el-input size="small" clearable @focus="CityCompStatus('start')" class="ChooseCity" v-model="choose_info.departure_cityname" placeholder="城市"> <el-input size="small" clearable class="ChooseCity" v-model="choose_info.departure_cityname" placeholder="城市">
</el-input> </el-input>
</span> </span>
</el-popover> </el-popover>
...@@ -48,14 +48,14 @@ ...@@ -48,14 +48,14 @@
<el-input-number size="mini" v-model="choose_info.lr" :min="0" :max="10" label="描述文字"></el-input-number> <el-input-number size="mini" v-model="choose_info.lr" :min="0" :max="10" label="描述文字"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item class="form_big" label="目的地"> <el-form-item class="form_big" label="目的地">
<el-popover <el-popover v-model="endcity" :visible-arrow="false"
placement="bottom" placement="bottom"
trigger="click"> trigger="click">
<div v-show="endcity" class="citycompent"> <div class="citycompent">
<v-city1 @CityInfo1="CityInfo1" @CityCompClose1="CityCompClose1"></v-city1> <v-city1 @CityInfo1="CityInfo1" @CityCompClose1="CityCompClose1"></v-city1>
</div> </div>
<span slot="reference"> <span slot="reference">
<el-input size="mini" clearable @focus="CityCompStatus('end')" class="ChooseCity" v-model="choose_info.arrival_cityname" placeholder="城市"> <el-input size="mini" clearable class="ChooseCity" v-model="choose_info.arrival_cityname" placeholder="城市">
</el-input> </el-input>
</span> </span>
</el-popover> </el-popover>
......
...@@ -138,7 +138,13 @@ ...@@ -138,7 +138,13 @@
<span class="__splice">|</span> <span class="__splice">|</span>
</div> </div>
</li> </li>
<li :class="{_active: navActive === 1}" class="__tour"> <li :class="{_active: navActive ===1}">
<div @click="handleSelect('/heel', 1), navActive = 1">
<span>跟团游</span>
<span class="__splice">|</span>
</div>
</li>
<!-- <li :class="{_active: navActive === 1}" class="__tour">
<el-menu class="el-menu-demo" mode="horizontal"> <el-menu class="el-menu-demo" mode="horizontal">
<el-submenu index="2" popper-class="new_header_nav_three_select"> <el-submenu index="2" popper-class="new_header_nav_three_select">
<template slot="title" ><span @click="handleSelect('/heel', 1), navActive = 1">跟团游</span></template> <template slot="title" ><span @click="handleSelect('/heel', 1), navActive = 1">跟团游</span></template>
...@@ -184,24 +190,7 @@ ...@@ -184,24 +190,7 @@
</el-submenu> </el-submenu>
</el-menu> </el-menu>
<span class="__splice">|</span> <span class="__splice">|</span>
<!-- <div @click="handleSelect('/heel', 1), navActive = 1"> </li> -->
<span>跟团游</span>
<span class="__splice">|</span>
</div> -->
<!-- <div>
<el-dropdown trigger="click" placement="bottom-start">
<span class="el-dropdown-link">
<span class="__cp">跟团游<i class="iconfont icon-xia"></i></span>
</span>
<el-dropdown-menu class="changelanguage" slot="dropdown">
<el-dropdown-item @click.native="handleSelect('/heel',1)">跟团游</el-dropdown-item>
<el-dropdown-item @click.native="">跟团游2</el-dropdown-item>
<el-dropdown-item @click.native="">跟团游3</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<span class="__splice">|</span>
</div> -->
</li>
<!-- 自由行 --> <!-- 自由行 -->
<li :class="{_active: navActive === 2}"> <li :class="{_active: navActive === 2}">
<div @click="handleSelect('/IndependentTravel', 2), navActive = 2"> <div @click="handleSelect('/IndependentTravel', 2), navActive = 2">
...@@ -223,21 +212,6 @@ ...@@ -223,21 +212,6 @@
</li> </li>
<!-- <li :class="{_active: navActive === 3}" class="__tour">
<el-menu class="el-menu-demo" mode="horizontal">
<el-submenu index="2" popper-class="new_header_nav_three_select">
<template slot="title" ><span @click="handleSelect('/Localtourhome', 3), navActive = 3">当地游</span></template>
<el-menu-item index="2-1">
<p @click="handleSelect('/LocalCuisine', 3), navActive = 3" style="padding:6px 0">当地美食</p>
</el-menu-item>
</el-submenu>
</el-menu>
<span class="__splice">|</span>
</li> -->
<!-- 当地游 --> <!-- 当地游 -->
<li :class="{_active: navActive === 3}"> <li :class="{_active: navActive === 3}">
<div @click="handleSelect('/Localtourhome', 3), navActive = 3"> <div @click="handleSelect('/Localtourhome', 3), navActive = 3">
......
...@@ -118,7 +118,7 @@ Vue.filter('priceFormat', function (value) { ...@@ -118,7 +118,7 @@ Vue.filter('priceFormat', function (value) {
if (value == null) { if (value == null) {
return 0.00; return 0.00;
} }
let nStr = value.toFixed(0)+".00" let nStr = value.toFixed(0)
nStr += ''; nStr += '';
let x = nStr.split('.'); let x = nStr.split('.');
let x1 = x[0]; let x1 = x[0];
......
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