Commit 66b8cbde authored by huangyuanyuan's avatar huangyuanyuan

跟团游

parent 391157bc
...@@ -25,6 +25,10 @@ ...@@ -25,6 +25,10 @@
.commonF .f24{ .commonF .f24{
font-size: 24rpx; font-size: 24rpx;
} }
.num_wrap .btn[disabled] {
border: 1px solid #888888;
color: #888888;
}
.commonF .f26{ .commonF .f26{
font-size: 26rpx; font-size: 26rpx;
} }
...@@ -155,6 +159,7 @@ image{ ...@@ -155,6 +159,7 @@ image{
height:90rpx; height:90rpx;
background:rgba(245,245,245,1); background:rgba(245,245,245,1);
padding: 0 26rpx; padding: 0 26rpx;
position: relative;
} }
.commonF .FlTitleView .text{ .commonF .FlTitleView .text{
font-size:20rpx;font-weight:700; font-size:20rpx;font-weight:700;
...@@ -166,4 +171,12 @@ image{ ...@@ -166,4 +171,12 @@ image{
width: 100%; width: 100%;
background: #F4F4F4; background: #F4F4F4;
height: 30rpx; height: 30rpx;
}
.commonF .Nodataview{
width: 100%;
box-sizing: border-box;
padding: 30rpx;
text-align: center;
font-size: 24rpx;
color: #999;
} }
\ No newline at end of file
...@@ -52,7 +52,6 @@ App({ ...@@ -52,7 +52,6 @@ App({
let sign = md5('cmd=' + url + '&' + 'msg=' + encodeURIComponent(data).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + getApp().state.admin.token + '&' + 'key=' + '') let sign = md5('cmd=' + url + '&' + 'msg=' + encodeURIComponent(data).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + getApp().state.admin.token + '&' + 'key=' + '')
wx.request({ wx.request({
url: 'http://192.168.2.214:8082/api/Common/Post', url: 'http://192.168.2.214:8082/api/Common/Post',
// url: 'http://192.168.2.65:8025/api/Common/Post', //春姐
// url: 'https://reborn.oytour.com/api/common/post', //线上 // url: 'https://reborn.oytour.com/api/common/post', //线上
// url: ' http://test.viitto.com/api/common/post', // url: ' http://test.viitto.com/api/common/post',
...@@ -98,9 +97,9 @@ App({ ...@@ -98,9 +97,9 @@ App({
let timestamp = (new Date()).valueOf() let timestamp = (new Date()).valueOf()
let sign = md5('msg=' + encodeURIComponent(JSON.stringify(msg)).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + token + '&' + 'key=' + secretKey) let sign = md5('msg=' + encodeURIComponent(JSON.stringify(msg)).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + token + '&' + 'key=' + secretKey)
wx.request({ wx.request({
url: 'https://reborn.oytour.com/api/common/post'+ url, //线上 // url: 'https://reborn.oytour.com/api/common/post'+ url, //线上
// url: 'http://47.96.12.235:9001/' + url, //测试 // url: 'http://47.96.12.235:9001/' + url, //测试
// url: 'http://192.168.2.215:9000/'+ url, url: 'http://192.168.2.215:9000/'+ url,
method: 'POST', method: 'POST',
data: { data: {
......
{ {
"pages": [ "pages": [
"pages/freeTravel/freeList/freeList",
"pages/GroupTour/GroupTour", "pages/GroupTour/GroupTour",
"pages/SearchPage/SearchPage",
"pages/GroupTour/FillOrder/FillOrder",
"pages/GroupTour/ChDateNum/ChDateNum",
"pages/GroupTour/GroupDetails/GroupDetails",
"pages/product/product",
"pages/freeTravel/freeList/freeList",
"pages/local/localhome", "pages/local/localhome",
"pages/freeTravel/free", "pages/freeTravel/free",
"pages/Home/home", "pages/Home/home",
"pages/login/login", "pages/login/login",
"pages/GroupTour/Pay/Pay", "pages/GroupTour/Pay/Pay",
"pages/GroupTour/FillOrder/FillOrder",
"pages/GroupTour/ChDateNum/ChDateNum",
"pages/GroupTour/GroupDetails/GroupDetails",
"pages/GroupTour/GroupList/GroupList", "pages/GroupTour/GroupList/GroupList",
"pages/product/product",
"pages/member/member", "pages/member/member",
"pages/member/memberCenter/memberCenter", "pages/member/memberCenter/memberCenter",
"pages/member/memberInfo/memberInfo", "pages/member/memberInfo/memberInfo",
......
...@@ -34,6 +34,7 @@ Component({ ...@@ -34,6 +34,7 @@ Component({
this.setData({ this.setData({
cityList: res cityList: res
}) })
console.log(this.data.cityList)
}).catch(err => {}) }).catch(err => {})
}, },
SetCity(e) { SetCity(e) {
......
...@@ -19,36 +19,6 @@ ...@@ -19,36 +19,6 @@
</view> </view>
<!-- 点击输入框 -->
<view class="Inputfocus" hidden="{{!InputFous}}">
<view class="head3" style="width:600rpx">
<image src="../../images/home/search.png"></image>
<input style="width:550rpx;display:inline-block" placeholder="搜索目的地/交通/景点/酒店"/>
</view>
<text class='Seach'>搜索</text>
<view>
<view class="hotTitle">热门推荐</view>
<view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>日本一日游</text>
</view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>美食</text>
</view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>日本一日游</text>
</view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>签证</text>
</view>
</view>
</view>
</view>
<!-- 站点显示隐藏 --> <!-- 站点显示隐藏 -->
<!-- <view class="Site" catchtouchmove="true"> <!-- <view class="Site" catchtouchmove="true">
<view style="background:#fff;padding:15rpx 0"> <view style="background:#fff;padding:15rpx 0">
......
...@@ -43,59 +43,7 @@ ...@@ -43,59 +43,7 @@
/* */ /* */
.Inputfocus {
position: fixed;
width: 100%;
height: 100%;
background: #fff;
z-index: 100;
padding: 0 30rpx;
}
.Inputfocus .head3 image {
width: 26rpx;
height: 26rpx;
margin-right: 6rpx;
}
.Inputfocus .head3 {
display: inline-flex;
align-items: center;
color: #888;
background: #f2f2f2;
font-size: 26rpx;
padding-left: 30rpx;
height: 60rpx;
border-radius: 30rpx;
}
.Inputfocus .Seach {
font-size: 30rpx;
font-weight: 500;
color: rgba(238, 68, 84, 1);
margin-left:20rpx;
}
.Inputfocus .hotTitle{
font-size:30rpx;
margin-top:40rpx;
}
.HotItem image{
width: 18rpx;
height: 22rpx;
margin-right:20rpx;
}
.HotItem{
height: 60rpx;
line-height: 60rpx;
padding: 0 25rpx;
background:rgba(242,242,242,1);
border-radius:30rpx;
color: #333333;
font-size: 24rpx;
display: inline-block;
margin-top:30rpx;
margin-right:30rpx;
}
.cityChange{ .cityChange{
background:rgba(17,17,17,0.5); background:rgba(17,17,17,0.5);
......
// components/amount/index.js // components/amount/index.js
Component({ Component({
options: {
addGlobalClass: true,
},
/** /**
* 组件的属性列表 * 组件的属性列表
*/ */
...@@ -7,7 +10,13 @@ Component({ ...@@ -7,7 +10,13 @@ Component({
count: { // 商品数量 count: { // 商品数量
type: Number, type: Number,
value: 1 value: 1
} },
type:{ // 商品数量
type: String,
},
chosenObj:{
type: Object,
},
}, },
/** /**
...@@ -22,6 +31,8 @@ Component({ ...@@ -22,6 +31,8 @@ Component({
*/ */
methods: { methods: {
inputChangeHandle: function (event) { inputChangeHandle: function (event) {
let that = this;
let type = that.data.type;
var val = event.detail.value; //通过这个传递数据 var val = event.detail.value; //通过这个传递数据
var myEventDetail = { var myEventDetail = {
val: val val: val
...@@ -30,6 +41,16 @@ Component({ ...@@ -30,6 +41,16 @@ Component({
this.triggerEvent('myevent', myEventDetail) this.triggerEvent('myevent', myEventDetail)
}, },
subtract: function () { subtract: function () {
let that=this;
let type = that.data.type;
if (this.data.chosenObj.startDate == "") {
wx.showToast({
title: "请先选择日期",
icon: 'none',
duration: 1000
})
return;
}
var count = this.data.count; var count = this.data.count;
count > 0 ? count-- : 0 count > 0 ? count-- : 0
this.setData({ this.setData({
...@@ -38,10 +59,33 @@ Component({ ...@@ -38,10 +59,33 @@ Component({
var myEventDetail = { var myEventDetail = {
val: count val: count
} }
this.triggerEvent('myevent', myEventDetail) if (type == "cr") {
this.triggerEvent('subevent') this.triggerEvent('cRsubevent', myEventDetail)
}
if (type == "etz") {
this.triggerEvent('etZsubevent', myEventDetail)
}
// 不占床
if (type == "etbz") {
this.triggerEvent('etbZsubevent', myEventDetail)
}
if (type == "ye") {
this.triggerEvent('yEsubevent', myEventDetail)
}
}, },
add: function () { add: function () {
let that=this;
if (this.data.chosenObj.startDate==""){
wx.showToast({
title:"请先选择日期",
icon: 'none',
duration: 1000
})
return;
}
let type = that.data.type;
var count = this.data.count; var count = this.data.count;
this.setData({ this.setData({
count: ++count count: ++count
...@@ -49,8 +93,21 @@ Component({ ...@@ -49,8 +93,21 @@ Component({
var myEventDetail = { var myEventDetail = {
val: count val: count
} }
this.triggerEvent('myevent', myEventDetail) if (type=="cr"){
this.triggerEvent('addevent') this.triggerEvent('cRaddCount', myEventDetail)
}
if (type == "etz") {
this.triggerEvent('etZaddCount', myEventDetail)
}
// 不占床
if (type == "etbz") {
this.triggerEvent('etbZaddCount', myEventDetail)
}
if (type == "ye") {
this.triggerEvent('yEaddCount', myEventDetail)
}
} }
} }
}) })
<view class='num_wrap'> <view class='num_wrap'>
<button class='btn' catchtap='subtract' disabled='{{count<=0}}'>-</button> <button class='btn' catchtap='subtract' disabled='{{count<=0}}'>-</button>
<input type='number' value='{{count}}' bindinput='inputChangeHandle'></input> <input class="input" type='number' value='{{count}}' bindinput='inputChangeHandle'></input>
<button class='btn' catchtap='add'>+</button> <button class='btn' catchtap='add'>+</button>
</view> </view>
...@@ -19,14 +19,11 @@ ...@@ -19,14 +19,11 @@
color: #EE4454; color: #EE4454;
} }
.num_wrap .btn[disabled] {
border: 1px solid #888888;
color: #888888;
}
.btn::after{ .btn::after{
border: none; border: none;
} }
.num_wrap input{ .num_wrap .input{
width: 90rpx; width: 90rpx;
height: 60rpx; height: 60rpx;
color: #333; color: #333;
......
...@@ -11,6 +11,12 @@ Component({ ...@@ -11,6 +11,12 @@ Component({
priceData: { priceData: {
type: Array type: Array
}, },
isLogin: {
type: Number
},
selectIndex: {
type: Number
},
}, },
/** /**
...@@ -26,12 +32,29 @@ Component({ ...@@ -26,12 +32,29 @@ Component({
* 组件的方法列表 * 组件的方法列表
*/ */
methods: { methods: {
selectDate(e){
let item = e.currentTarget.dataset.item;
let index = e.currentTarget.dataset.index;
if(item.price==0 || item.price==""){
return;
}
let msg={
configId: item.configId,
tcid: item.tcid,
selectIndex:index,
ymd: `${item.ym}-${item.day}`
};
this.triggerEvent('childrenEvent', msg);
},
getYearMonthDay() { getYearMonthDay() {
let that = this; let that = this;
let currentYear = that.data.currentDay.substring(0, 4); //当前年份 let currentYear = that.data.currentDay.substring(0, 4); //当前年份
let currentMonth = that.data.currentDay.substring(5, 7); //当前月份 let currentMonth = that.data.currentDay.substring(5, 7); //当前月份
that.setData({
daysData: that.data.priceData
})
let date = new Date(); let date = new Date();
let strDate = date.getDate(); let strDate = date.getDate();
...@@ -49,6 +72,7 @@ Component({ ...@@ -49,6 +72,7 @@ Component({
for (var i = 0; i < Number(monthDay); i++) { for (var i = 0; i < Number(monthDay); i++) {
var priceDict = { var priceDict = {
"ymd": `${currentYear}-${currentMonth}-${i+1}`, "ymd": `${currentYear}-${currentMonth}-${i+1}`,
"ym": `${currentYear}-${currentMonth}`,
'day': String(i + 1), 'day': String(i + 1),
'price': 0, 'price': 0,
'dis': false 'dis': false
...@@ -64,9 +88,12 @@ Component({ ...@@ -64,9 +88,12 @@ Component({
var firstDay = dateObject.getDay(); //得到每个月1号是周几 var firstDay = dateObject.getDay(); //得到每个月1号是周几
for (var i in that.data.priceData) { for (var i in that.data.priceData) {
var price = that.data.priceData[i]; var price = that.data.priceData[i];
var dayIndex = price.dateStr.substring(price.dateStr.length - 2, price.dateStr.length); var dayIndex = price.startDate.substring(price.startDate.length - 2, price.startDate.length);
var dayDict = daysData[Number(dayIndex) - 1]; var dayDict = daysData[Number(dayIndex) - 1];
// dayDict.price = that.isLogin !== 1 ? price.price : price.b2BPrice; dayDict.price = that.isLogin !== 1 ? price.b2CPrice : price.b2BPrice;
dayDict.configId = price.configIDDes;
dayDict.tcid = price.tcid;
if (dayIndex < strDate && strMonth == currentMonth) { if (dayIndex < strDate && strMonth == currentMonth) {
dayDict.price = ''; dayDict.price = '';
} }
...@@ -76,6 +103,7 @@ Component({ ...@@ -76,6 +103,7 @@ Component({
for (var i = 0; i < firstDay; i++) { for (var i = 0; i < firstDay; i++) {
var dict = { var dict = {
"ymd": `${currentYear}-${currentMonth}-${i + 1}`, "ymd": `${currentYear}-${currentMonth}-${i + 1}`,
"ym": `${currentYear}-${currentMonth}`,
'day': ' ', 'day': ' ',
price: '', price: '',
'dis': true 'dis': true
...@@ -98,6 +126,9 @@ Component({ ...@@ -98,6 +126,9 @@ Component({
let Arr = that.data.daysData; let Arr = that.data.daysData;
let today = new Date().toLocaleDateString().split('/').join('-'); let today = new Date().toLocaleDateString().split('/').join('-');
Arr.forEach(item=>{ Arr.forEach(item=>{
if(Number(item.day<10)){
item.day="0"+item.day;
}
item.color =false; item.color =false;
if (!util.CompareDate(today, item.ymd)){ if (!util.CompareDate(today, item.ymd)){
item.color=true; item.color=true;
...@@ -106,7 +137,7 @@ Component({ ...@@ -106,7 +137,7 @@ Component({
that.setData({ that.setData({
daysData: Arr daysData: Arr
}) })
// console.log("that.daysData", that.data.daysData) // console.log("daysData",that.data.daysData)
}, },
isleapYears(year) { isleapYears(year) {
if (((year % 4) == 0) && ((year % 100) != 0) || ((year % 400) == 0)) { if (((year % 4) == 0) && ((year % 100) != 0) || ((year % 400) == 0)) {
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<text wx:for="{{week}}" wx:key="index">{{item}}</text> <text wx:for="{{week}}" wx:key="index">{{item}}</text>
</view> </view>
<view class="dayView"> <view class="dayView">
<view class="{{item.color?'black':'grey'}}" wx:for="{{daysData}}" wx:key="index"> <view bindtap="selectDate" data-item="{{item}}" data-index="{{index}}" class="{{item.color ?' black':'grey'}} {{selectIndex==index ? 'Active' :''}} {{(item.price==''||item.price==0)?'grey':'black'}}" wx:for="{{daysData}}" wx:key="index">
<view>{{item.day}}</view> <view hidden="{{item.day=='0 '}}">{{item.day}}</view>
<view hidden="!{{item.price!=''||item.price!=0}}" class="price">¥{{item.price}}</view> <view hidden="{{item.price==''||item.price==0}}" class="price">¥{{item.price}}</view>
</view> </view>
</view> </view>
......
...@@ -6,6 +6,10 @@ ...@@ -6,6 +6,10 @@
text-align: center; text-align: center;
font-size: 30rpx; font-size: 30rpx;
} }
.Active{
background: #ff4646;
color: #fff!important;
}
.dayView>view{ .dayView>view{
width: 107rpx; width: 107rpx;
height: 80rpx; height: 80rpx;
......
This diff is collapsed.
...@@ -3,39 +3,15 @@ ...@@ -3,39 +3,15 @@
<text class="f30 bold">选择出行时间</text> <text class="f30 bold">选择出行时间</text>
</view> </view>
<scroll-view scroll-x class="scroll-header"> <scroll-view scroll-x class="scroll-header">
<view class="ScrollActive scroll-view-item"> <view bindtap="selectMonth" data-item="{{item}}" data-index="{{index}}" wx:for="{{monthList}}" wx:key="index" class="{{activeTab==index?'ScrollActive scroll-view-item':'scroll-view-item'}}">
<view>6月</view> <view>{{item.date}}</view>
<view>¥488起</view> <view wx:if="{{index<1}}" wx:key="index2" wx:for="{{item.datalist}}" wx:for-item="pre">¥{{pre.b2BPrice}}起</view>
</view>
<view class="scroll-view-item">
<view>6月</view>
<view>¥488起</view>
</view>
<view class="scroll-view-item">
<view>6月</view>
<view>¥488起</view>
</view>
<view class="scroll-view-item">
<view>6月</view>
<view>¥488起</view>
</view>
<view class="scroll-view-item">
<view>6月</view>
<view>¥488起</view>
</view>
<view class="scroll-view-item">
<view>6月</view>
<view>¥488起</view>
</view>
<view class="scroll-view-item">
<view>6月</view>
<view>¥488起</view>
</view> </view>
</scroll-view> </scroll-view>
<!-- 日历 --> <!-- 日历 -->
<view> <view style="padding-bottom:10rpx">
<calendar currentDay="{{currentDay}}" :priceData="{{priceData}}" id="calendar"></calendar> <calendar bind:childrenEvent="childrenEvent" selectIndex="{{selectIndex}}" isLogin="{{isLogin}}" currentDay="{{currentDay}}" priceData="{{priceData}}" id="calendar"></calendar>
</view> </view>
<view class="Gray30"></view> <view class="Gray30"></view>
<view> <view>
...@@ -43,7 +19,7 @@ ...@@ -43,7 +19,7 @@
<view class="personItem"> <view class="personItem">
<view>成人</view> <view>成人</view>
<view> <view>
<amount count='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='addCount'></amount> <amount chosenObj="{{chosenObj}}" type="cr" count='{{chosenObj.crCount}}' data-index='{{index}}' bind:cRsubevent='cRsubevent' bind:cRaddCount='cRaddCount'></amount>
</view> </view>
</view> </view>
<view class="personItem"> <view class="personItem">
...@@ -51,7 +27,7 @@ ...@@ -51,7 +27,7 @@
<text class='c88'>2-12周岁(不含)</text> <text class='c88'>2-12周岁(不含)</text>
</view> </view>
<view> <view>
<amount count='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='addCount'></amount> <amount chosenObj="{{chosenObj}}" type="etz" count='{{chosenObj.etzc}}' data-index='{{index}}' bind:etZsubevent='etZsubevent' bind:etZaddCount='etZaddCount'></amount>
</view> </view>
</view> </view>
<view class="personItem"> <view class="personItem">
...@@ -59,7 +35,7 @@ ...@@ -59,7 +35,7 @@
<text class='c88'>2-12周岁(不含)</text> <text class='c88'>2-12周岁(不含)</text>
</view> </view>
<view> <view>
<amount count='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='addCount'></amount> <amount chosenObj="{{chosenObj}}" type="etbz" count='{{chosenObj.etbzcCount}}' data-index='{{index}}' bind:etbZsubevent='etbZsubevent' bind:etbZaddCount='etbZaddCount'></amount>
</view> </view>
</view> </view>
<view class="personItem"> <view class="personItem">
...@@ -67,7 +43,7 @@ ...@@ -67,7 +43,7 @@
<text class='c88'>0-2周岁(不含)</text> <text class='c88'>0-2周岁(不含)</text>
</view> </view>
<view> <view>
<amount count='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='addCount'></amount> <amount chosenObj="{{chosenObj}}" type="ye" count='{{chosenObj.yeCount}}' data-index='{{index}}' bind:yEsubevent='yEsubevent' bind:yEaddCount='yEaddCount'></amount>
</view> </view>
</view> </view>
</view> </view>
...@@ -75,29 +51,27 @@ ...@@ -75,29 +51,27 @@
<view> <view>
<view class="personItem f30"> <view class="personItem f30">
<view>航班信息</view> <view>航班信息</view>
<view class="f24 c88">退改签及购票说明 <!-- <view class="f24 c88">退改签及购票说明
<image style="width:12rpx;height:24rpx" src="/images/group/chakn.png"></image> <image style="width:12rpx;height:24rpx" src="/images/group/chakn.png"></image>
</view> </view> -->
</view> </view>
</view> </view>
<view class="Gray30"></view> <view class="Gray30"></view>
<view class="p30_4"> <view class="p30_4">
<view class="HbanItem"> <view wx:for="{{FlightList}}" wx:key="index" class="HbanItem">
<view class="HbanItemDes"> <view class="HbanItemDes">
<text>成都</text> <text>{{item.departureAirPortName}}</text>
<image src="/images/group/hangban.png"></image>
<text>香港(中转)</text>
<image src="/images/group/hangban.png"></image> <image src="/images/group/hangban.png"></image>
<text>香港</text> <text>{{item.arrivalAirPortName}}</text>
</view> </view>
<view style="padding:10rpx 0" class="f22 c88">06:-26 07:30 至 06-26 20:05</view> <view style="padding:10rpx 0" class="f22 c88">{{item.startDate}}{{item.departureTime}} 至 {{item.arriveDate}}{{item.arrivalTime}}</view>
<view class="f22 c88">香港航空HX453</view> <view class="f22 c88">{{item.alName}} {{item.flightNumber}}</view>
</view> </view>
</view> </view>
<view class="{{GoodsView?'payFixed PayView':'PayView'}}"> <view class="{{GoodsView?'payFixed PayView':'PayView'}}">
<view style="width:310rpx;"> <view style="width:400rpx;">
<text class="f20">总价:¥</text> <text class="f20">总价:¥</text>
<text class="f46 cee">999</text> <text class="f46 cee">{{price}}</text>
<text class="f20 c88">/人起</text> <text class="f20 c88">/人起</text>
<text bindtap='OpenGoodsView' style="padding-left:10rpx" class="f22 c55">明细</text> <text bindtap='OpenGoodsView' style="padding-left:10rpx" class="f22 c55">明细</text>
<image bindtap='OpenGoodsView' style="width:18rpx;height:8rpx" src="/images/group/mx1.png"></image> <image bindtap='OpenGoodsView' style="width:18rpx;height:8rpx" src="/images/group/mx1.png"></image>
...@@ -114,17 +88,38 @@ ...@@ -114,17 +88,38 @@
<view class="f30 bold" style="padding-top:15rpx">费用明细 <view class="f30 bold" style="padding-top:15rpx">费用明细
<image bindtap='CloseGoodsView' data-target="self" style="width:30rpx;height:30rpx;float:right;margin:15rpx 15rpx 0 0" src="/images/group/close.png"></image> <image bindtap='CloseGoodsView' data-target="self" style="width:30rpx;height:30rpx;float:right;margin:15rpx 15rpx 0 0" src="/images/group/close.png"></image>
</view> </view>
<view class="flexbe f26 c11">
<view>基本团费</view>
<view>¥1990</view>
</view>
<view class="flexbe f26 c33"> <view class="flexbe f26 c33">
<view>成人</view> <view>成人</view>
<view>¥1990</view> <view>¥{{adultPrice}}</view>
</view> </view>
<view class="flexbe f26 c33"> <view class="flexbe f26 c33">
<view>儿童</view> <view>儿童</view>
<view>¥1990</view> <view>¥{{childrenPrice}}</view>
</view>
<view class="flexbe f26 c11">
<view>婴儿</view>
<view>¥{{babyPrice}}</view>
</view>
<view class="flexbe f26 c11">
<view>杂费</view>
<view>¥{{zf}}</view>
</view>
<view class="flexbe f26 c11">
<view>儿童占床费</view>
<view>¥{{zcf}}</view>
</view>
<view class="flexbe f26 c11">
<view>儿童不占床费</view>
<view>¥{{bzcf}}</view>
</view>
<view class="flexbe f26 c11">
<view>签证费用</view>
<view>¥{{qzPrice}}</view>
</view>
<view class="flexbe f26 c11">
<view>退签费用</view>
<view>¥{{backVisaPrice}}</view>
</view> </view>
</view> </view>
</view> </view>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
display: flex; display: flex;
white-space: nowrap; white-space: nowrap;
background: #e5efff; background: #e5efff;
/* height: 95rpx; */
} }
.DateNum .scroll-header .scroll-view-item { .DateNum .scroll-header .scroll-view-item {
...@@ -9,9 +10,10 @@ ...@@ -9,9 +10,10 @@
font-size: 24rpx; font-size: 24rpx;
color: #111; color: #111;
width: 166rpx; width: 166rpx;
height: 90rpx; height: 82rpx;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
position: relative;
} }
.DateNum .scroll-header .ScrollActive { .DateNum .scroll-header .ScrollActive {
...@@ -74,7 +76,7 @@ ...@@ -74,7 +76,7 @@
align-items: center; align-items: center;
} }
.startPay{ .startPay{
width:341rpx; width:250rpx;
background:rgba(238,68,84,1); background:rgba(238,68,84,1);
color: #fff; color: #fff;
font-size: 30rpx; font-size: 30rpx;
......
// pages/GroupTour/FillOrder/FillOrder.js // pages/GroupTour/FillOrder/FillOrder.js
let app = getApp();
Page({ Page({
/** /**
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
payInfo: {},
data: {
teamType:0,
},
contact: {
ContactMobile: "",
ContactName: "",
},
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function(options) {
let payInfo = wx.getStorageSync('payInfo');
this.setData({
payInfo: payInfo
})
let that = this;
let msg = {};
if (options) {
// console.log("options", options)
msg.configId = decodeURIComponent(options.idDes);
msg.tcid = options.tcid;
if (options.teamType) {
msg.teamType = options.teamType;
that.data.teamType = options.teamType;
}
that.data.teamType = options.teamType;
cityId: that.data.cityId,
that.setData({
msg: msg
})
this.getData(msg);
}
},
getData(msg) {
let that = this;
app.$api('b2b_get_GetB2BTravelInfoV1', msg).then(res => {
let data = res;
that.setData({
data: res,
})
}).catch(err => {
})
}, },
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */
onReady: function () { onReady: function() {
}, },
/** /**
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function () { onShow: function() {
},
Name(e) {
this.data.payInfo.ContactName = e.detail.value;
this.setData({
payInfo: this.data.payInfo
})
},
Mobile(e) {
let that = this;
let phoneNumber = e.detail.value;
that.data.payInfo.ContactMobile = e.detail.value;
if (phoneNumber.length==11){
let checkedNum = that.checkPhoneNum(phoneNumber);
}
that.data.payInfo.ContactMobile = phoneNumber;
that.setData({
payInfo: that.data.payInfo
})
},
checkPhoneNum(phoneNumber) {
let str = /^1\d{10}$/;
if (str.test(phoneNumber)) {
return true
} else {
wx.showToast({
title: '手机号不正确',
duration: 500,
icon: 'none',
})
return false
}
}, },
StartYd() { StartYd() {
wx.navigateTo({ let that = this;
url: '/pages/GroupTour/Pay/Pay', if (that.data.payInfo.ContactMobile == "" || !that.data.payInfo.ContactMobile || that.data.payInfo.ContactMobile.length<11) {
wx.showToast({
title: "请输入正确的手机号",
icon: 'none',
duration: 1000
})
return;
}
if (that.data.payInfo.ContactName == "" || !that.data.payInfo.ContactName) {
wx.showToast({
title: "请输入联系人姓名",
icon: 'none',
duration: 1000
})
return;
}
app.$api('sellorder_post_SetOrderInfoForB2B', that.data.payInfo).then(res => {
let data = res;
if (res.resultCode == 1) {
wx.navigateTo({
url: '/pages/GroupTour/Pay/Pay',
})
}
}).catch(err => {
}) })
}, },
/** /**
* 生命周期函数--监听页面隐藏 * 生命周期函数--监听页面隐藏
*/ */
onHide: function () { onHide: function() {
}, },
/** /**
* 生命周期函数--监听页面卸载 * 生命周期函数--监听页面卸载
*/ */
onUnload: function () { onUnload: function() {
}, },
/** /**
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */
onPullDownRefresh: function () { onPullDownRefresh: function() {
}, },
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom: function () { onReachBottom: function() {
}, },
/** /**
* 用户点击右上角分享 * 用户点击右上角分享
*/ */
onShareAppMessage: function () { onShareAppMessage: function() {
} }
}) })
\ No newline at end of file
<view class="FillOrder commonF"> <view class="FillOrder commonF">
<view class="OrderDes"> <view class="OrderDes">
<view class="title f36"> <view class="title f36">
希尔顿假期系列6日5晚跟团游 {{data.ltName}}{{data.dayNum}}天{{data.nightNum}}
</view> </view>
<view class="body"> <view class="body">
<view class="c66 f26">成都出发 2019-06-05出发2019-06-25返程</view> <view class="c66 f26">{{data.startCityName}}出发</view>
<view class="c66 f26"> <view class="c66 f26">
<text>2成人 , </text> <text>{{payInfo.ManNum}}成人 , </text>
<text>1儿童</text> <text>{{payInfo.ChirdNeedBedNum}}儿童 , </text>
<text> | 1房间</text> <text>{{payInfo.BabyNum}}婴儿</text>
<!-- <text> | 1房间</text> -->
</view> </view>
</view> </view>
...@@ -18,11 +19,11 @@ ...@@ -18,11 +19,11 @@
<view class="FormMsg f30" style="padding-left: 30rpx;">联系人信息</view> <view class="FormMsg f30" style="padding-left: 30rpx;">联系人信息</view>
<view class="FormMsg"> <view class="FormMsg">
<view>联系人</view> <view>联系人</view>
<view><input placeholder='请输入联系人名称'></input></view> <view><input bindinput="Name" placeholder='请输入联系人名称' value="{{contact.ContactName}}"></input></view>
</view> </view>
<view class="FormMsg"> <view class="FormMsg">
<view>手机号码</view> <view>手机号码</view>
<view><input placeholder='请输入手机号码'></input></view> <view><input type="number" maxlength="11" bindinput="Mobile" value="{{contact.ContactMobile}}" placeholder='请输入手机号码'></input></view>
</view> </view>
<view class="FormMsg"> <view class="FormMsg">
<view>电子邮件</view> <view>电子邮件</view>
...@@ -30,9 +31,9 @@ ...@@ -30,9 +31,9 @@
</view> </view>
</view> </view>
<view class="PayView"> <view class="PayView">
<view style="width:310rpx;"> <view style="width:400rpx;">
<text class="f20">总价:¥</text> <text class="f20">总价:¥</text>
<text class="f46 cee">999</text> <text class="f46 cee">{{payInfo.PreferPrice}}</text>
<text class="f20 c88">/人起</text> <text class="f20 c88">/人起</text>
<text bindtap='OpenGoodsView' style="padding-left:10rpx" class="f22 c55">明细</text> <text bindtap='OpenGoodsView' style="padding-left:10rpx" class="f22 c55">明细</text>
<image bindtap='OpenGoodsView' style="width:18rpx;height:8rpx" src="/images/group/mx1.png"></image> <image bindtap='OpenGoodsView' style="width:18rpx;height:8rpx" src="/images/group/mx1.png"></image>
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
align-items: center; align-items: center;
} }
.startPay{ .startPay{
width:341rpx; width:260rpx;
background:rgba(238,68,84,1); background:rgba(238,68,84,1);
color: #fff; color: #fff;
font-size: 30rpx; font-size: 30rpx;
......
// pages/GroupTour/GroupDetails/GroupDetails.js // pages/GroupTour/GroupDetails/GroupDetails.js
let app = getApp();
var WxParse = require('../../wxParse/wxParse.js');
Page({ Page({
/** /**
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
background: ["http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png", "http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190627100255196.jpg", "http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png", "http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png","http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png"] msg: {
teamType: 0,
idDes: "",
tcid: "",
},
imgCover: [],
dataList: {},
isLogin: app.isLogin,
toDayObj: {},
priceList: [],
FlightList: [],
feature: {},
dayList: [],
serve:false,
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function(options) {
let that = this;
let msg = {
teamType: 0,
idDes: "",
tcid: "",
cityId: app.state.cityId,
}
if (options) {
msg.configId = decodeURIComponent(options.idDes);
msg.tcid = options.tcid;
// msg.configId = options.idDes = decodeURIComponent("5aEwngdTBnM%3D%0A");
// msg.tcid = options.tcid = "3458";
if (options.teamType){
msg.teamType = options.teamType;
}
that.setData({
msg: msg
})
console.log("msg", that.data.msg)
this.getData();
}
}, },
getData() {
let that = this;
app.$api('b2b_get_GetB2BTravelInfoV1', that.data.msg).then(res => {
console.log(res);
let data = res;
data.priceList.forEach(item => {
item.date = item.startDate.split("-")[1] + "/" + item.startDate.split("-")[2];
})
let FlightList = "";
FlightList = data.currentPriceInfo && data.currentPriceInfo.priceFlight ? data.currentPriceInfo.priceFlight : '';
data.dayList.forEach(dayitem => {
dayitem.trafficList = [];
dayitem.ScenicList = [];
dayitem.HotelList = [];
dayitem.RestaList = [];
dayitem.tipList = [];
dayitem.title = {};
dayitem.dayArray.forEach(typeitem => {
if (typeitem.type == 1) {
dayitem.trafficList.push(typeitem);
}
if (typeitem.type == 2) {
dayitem.ScenicList.push(typeitem);
}
if (typeitem.type == 3) {
dayitem.HotelList.push(typeitem);
}
if (typeitem.type == 4) {
dayitem.RestaList.push(typeitem);
}
if (typeitem.type == 6) {
dayitem.tipList.push(typeitem);
}
if (typeitem.type == 6) {
dayitem.title = typeitem;
}
})
});
that.setData({
imgCover: JSON.parse(res.imgCover),
dataList: res,
toDayObj: data.currentPriceInfo,
priceList: data.priceList,
FlightList: FlightList,
feature: data.feature.tripImageList,
dayList: data.dayList,
})
console.log("dayList", that.data.dayList)
WxParse.wxParse('feeInclude', 'html', res.feature.feeInclude, that, 0);
WxParse.wxParse('warmTip', 'html', res.feature.warmTip, that, 0);
WxParse.wxParse('visaRemark', 'html', res.feature.warmTip, that, 0);
WxParse.wxParse('b2BRemark', 'html', res.feature.warmTip, that, 0);
}).catch(err => {})
},
closeServe(e){
let self=e.target.dataset.self;
if(self=="self"){
this.setData({
serve:false
})
}
},
oPenServe(){
this.setData({
serve: true
})
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */
onReady: function () { onReady: function() {
}, },
/** /**
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function () { onShow: function() {
}, },
StartYd(){ StartYd() {
console.log(this.data.msg);
let msg = this.data.msg;
wx.navigateTo({ wx.navigateTo({
url: '/pages/GroupTour/ChDateNum/ChDateNum', url: '/pages/GroupTour/ChDateNum/ChDateNum?idDes=' + encodeURIComponent(msg.configId) + "&tcid=" + msg.tcid + "&teamType=" + msg.teamType,
}) })
},
serveView(){
}, },
/** /**
* 生命周期函数--监听页面隐藏 * 生命周期函数--监听页面隐藏
*/ */
onHide: function () { onHide: function() {
}, },
/** /**
* 生命周期函数--监听页面卸载 * 生命周期函数--监听页面卸载
*/ */
onUnload: function () { onUnload: function() {
}, },
/** /**
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */
onPullDownRefresh: function () { onPullDownRefresh: function() {
}, },
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom: function () { onReachBottom: function() {
}, },
/** /**
* 用户点击右上角分享 * 用户点击右上角分享
*/ */
onShareAppMessage: function () { onShareAppMessage: function() {
} }
}) })
\ No newline at end of file
...@@ -111,10 +111,8 @@ ...@@ -111,10 +111,8 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.HbanView{
margin-top:30rpx;
}
.HbanView .HbanItem{ .HbanView .HbanItem{
margin-top:15rpx;
border-bottom:1rpx solid #E9E9E9; border-bottom:1rpx solid #E9E9E9;
padding-bottom:15rpx; padding-bottom:15rpx;
} }
...@@ -224,6 +222,7 @@ ...@@ -224,6 +222,7 @@
margin-left:15rpx; margin-left:15rpx;
padding-left:40rpx; padding-left:40rpx;
margin-top:6rpx; margin-top:6rpx;
min-height: 100rpx;
} }
.dayList{ .dayList{
padding-bottom:30rpx; padding-bottom:30rpx;
...@@ -259,4 +258,27 @@ ...@@ -259,4 +258,27 @@
background:rgba(238,68,84,1); background:rgba(238,68,84,1);
color: #fff; color: #fff;
font-size: 30rpx; font-size: 30rpx;
} }
\ No newline at end of file .serve{
position: fixed;
width: 100%;
height: 100%;
top: 0;
background:rgba(0,0,0,0.5);
}
.serve>view{
position: absolute;
bottom: 0;
padding: 30rpx 40rpx;
box-sizing: border-box;
background: #fff;
width: 100%;
}
.serve>view>view{
padding:15rpx 0;
}
.serve>view image{
width: 24rpx;
height: 24rpx;
}
...@@ -72,6 +72,11 @@ Page({ ...@@ -72,6 +72,11 @@ Page({
bindDateChange(e){ bindDateChange(e){
console.log('picker发送选择改变,携带值为', e.detail.value) console.log('picker发送选择改变,携带值为', e.detail.value)
let listmsg = this.data.listmsg;
listmsg.endDate = e.detail.value;
this.setData({
listmsg: listmsg
})
}, },
ScreenOpen(){ ScreenOpen(){
this.setData({ this.setData({
......
...@@ -6,50 +6,6 @@ Page({ ...@@ -6,50 +6,6 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
background: [
{
title: 1,
list: [
{
name: '南压线',
id: 1,
},
{
name: '中南办',
id: 1,
},
{
name: '中东办',
id: 1,
},
{
name: '韩国线',
id: 1,
}
],
},
{
title: 1,
list: [
{
name: '南压线2',
id: 1,
},
{
name: '中南办2',
id: 1,
},
{
name: '中东办2',
id: 1,
},
{
name: '韩国线2',
id: 1,
}
],
}
],
indicatorDots: true, indicatorDots: true,
vertical: false, vertical: false,
autoplay: false, autoplay: false,
...@@ -58,86 +14,229 @@ Page({ ...@@ -58,86 +14,229 @@ Page({
duration: 500, duration: 500,
previousMargin: 0, previousMargin: 0,
nextMargin: 0, nextMargin: 0,
companyId: app.state.companyId,
cityId: app.state.cityId, tiaoshui: [],
tiaoshui:[],
isLogin: app.isLogin, isLogin: app.isLogin,
site: {
companyId: app.state.companyId,
cityId: app.state.cityId,
siteName: app.state.siteName,
},
lineList: [],
toView: '',
dataList: [],
arrlist: [],
windowHeight: 100 +'px',
scrollHeight: 'auto',
fixedNav:false,
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function(options) {
let that = this;
let City = this.selectComponent('#CityComp');
City.getCityList();
wx.getSystemInfo({
success: function(res) {
that.setData({
windowHeight: res.windowHeight+'px'
});
}
});
this.loadTiaoshui(); this.loadTiaoshui();
this.LineTeam();
},
Godetail(e){
let item = e.currentTarget.dataset.item;
wx.navigateTo({
url: '/pages/GroupTour/GroupDetails/GroupDetails?idDes=' + encodeURIComponent(item.idDes) + "&tcid=" + item.tcid,
})
},
GodetailList(e){
let item = e.currentTarget.dataset.item;
console.log(item)
wx.navigateTo({
url: '/pages/GroupTour/GroupDetails/GroupDetails?idDes=' + encodeURIComponent(item.id) + "&tcid=" + item.tcid,
})
},
Gourl(e) {
let item = e.currentTarget.dataset.item;
wx.navigateTo({
url: '/pages/GroupTour/GroupList/GroupList?lineId=' + item.lineId,
})
},
ChangeSite(val) {
console.log(val.detail);
this.setData({
site: val.detail
})
this.onLoad();
},
Scrolltap(e) {
let color = e.target.dataset.index;
this.setData({
scrollHeight: this.data.windowHeight,
})
this.setData({
toView: color,
})
},
// 获取线路系列列表数据
GetLoadList(sno) {
let that = this;
if (sno < that.data.lineList.length) {
let msg = {
pageIndex: 1,
pageSize: 4,
companyId: that.data.site.companyId,
lineId: that.data.lineList[sno].lineId,
lineTeamId: 0
}
app.$api('b2b_get_GetB2BHomeLineTravelPageList', msg).then(res => {
let obj = {
lineName: that.data.lineList[sno].lineName,
lineId: that.data.lineList[sno].lineId,
LineList: [],
}
obj.LineList.push(res.pageData);
that.data.dataList.push(obj);
that.setData({
dataList: that.data.dataList
})
this.GetLoadList(sno + 1)
}).catch(err => {})
} else {
let dataList = that.data.dataList;
dataList.forEach(item => {
item.LineList[0].forEach(line => {
if (line.imgCover) {
line.imgCover = JSON.parse(line.imgCover);
}
})
})
that.setData({
dataList: dataList
})
}
},
LineTeam() {
let that = this;
let msg = {
companyId: that.data.site.companyId,
cityId: that.data.site.cityId
}
app.$apiJavaNew('/api/b2b/group/getHomeLineSort', msg).then(res => {
that.setData({
lineList: res,
dataList: [],
arrList: []
})
console.log("lineList", that.data.lineList)
this.GetLoadList(0);
}).catch(err => {
})
}, },
loadTiaoshui() { loadTiaoshui() {
let that=this; let that = this;
let msg = { let msg = {
pageIndex: 1, pageIndex: 1,
pageSize: 12, pageSize: 4,
groupRecommendType: 1, groupRecommendType: 1,
companyId: that.data.companyId, companyId: that.data.site.companyId,
cityId: that.data.cityId cityId: that.data.site.cityId
} }
app.$apiJavaNew('/api/b2b/group/getHomeRecommendPrice', msg).then(res => { app.$apiJavaNew('/api/b2b/group/getHomeRecommendPrice', msg).then(res => {
that.setData({ that.setData({
tiaoshui: res.pageData tiaoshui: res.pageData
}) })
console.log(that.data.tiaoshui)
}).catch(err => { }).catch(err => {
wx.showToast({
title: err.message, })
icon: 'none', },
duration: 1000 onPageScroll: function(e) {
}) let that=this;
// console.log(e);//{scrollTop:99}
let query = wx.createSelectorQuery();
//选择id
query.select('#scrollView').boundingClientRect()
query.exec(function(res) {
if (res[0].top<30){
that.setData({
fixedNav: true,
scrollHeight:that.data.windowHeight
})
}else{
that.setData({
fixedNav: false,
scrollHeight:"auto"
})
}
}) })
}, },
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */
onReady: function () { onReady: function() {
}, },
/** /**
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function () { onShow: function() {
}, },
/** /**
* 生命周期函数--监听页面隐藏 * 生命周期函数--监听页面隐藏
*/ */
onHide: function () { onHide: function() {
}, },
/** /**
* 生命周期函数--监听页面卸载 * 生命周期函数--监听页面卸载
*/ */
onUnload: function () { onUnload: function() {
}, },
/** /**
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */
onPullDownRefresh: function () { onPullDownRefresh: function() {
}, },
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom: function () { onReachBottom: function() {
}, },
/** /**
* 用户点击右上角分享 * 用户点击右上角分享
*/ */
onShareAppMessage: function () { onShareAppMessage: function() {
} }
}) })
\ No newline at end of file
<view class="group commonF"> <view class="group commonF">
<search></search> <search id="CityComp" bind:ChangeSite="ChangeSite"></search>
<view class="page-section page-section-spacing"> <!-- <view class="page-section page-section-spacing">
<swiper class="swiper" indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" circular="{{circular}}" vertical="{{vertical}}" indicator-color="rgba(242,242,242,1);" indicator-active-color="rgba(238,68,84,1)" interval="{{interval}}" duration="{{duration}}"> <swiper class="swiper" indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" circular="{{circular}}" vertical="{{vertical}}" indicator-color="rgba(242,242,242,1);" indicator-active-color="rgba(238,68,84,1)" interval="{{interval}}" duration="{{duration}}">
<block wx:for="{{background}}" wx:key="*this"> <block wx:for="{{background}}" wx:key="*this">
<swiper-item> <swiper-item>
...@@ -16,7 +16,20 @@ ...@@ -16,7 +16,20 @@
</swiper-item> </swiper-item>
</block> </block>
</swiper> </swiper>
</view> </view> -->
<scroll-view scroll-x class="scroll-banner">
<view wx:for="{{lineList}}" wx:key="index" class="scroll-view-item">
<view bindtap="Gourl" data-item="{{item}}" class="Item">
<view>
<image style="width:42rpx;height:48rpx" src="{{item.appLineIcon}}"></image>
</view>
<text class="f22">{{item.lineShortName}}</text>
</view>
</view>
</scroll-view>
<view style="padding:30rpx"> <view style="padding:30rpx">
<view style="height:180rpx"> <view style="height:180rpx">
<image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190627093227533.png"></image> <image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190627093227533.png"></image>
...@@ -27,7 +40,7 @@ ...@@ -27,7 +40,7 @@
<view class="tsView"> <view class="tsView">
<view class="f30" style="margin-top:10rpx;padding-left:30rpx">跳水特价</view> <view class="f30" style="margin-top:10rpx;padding-left:30rpx">跳水特价</view>
<view class="inlineBlock"> <view class="inlineBlock">
<view class="ViewItem" wx:for="{{tiaoshui}}" wx-if="{{index<4}}" wx:key="index"> <view catchtap="Godetail" data-item="{{item}}" class="ViewItem" wx:for="{{tiaoshui}}" wx:key="index">
<image wx-if="{{item.imgCover.length}}" src="{{item.imgCover[0].url}}"></image> <image wx-if="{{item.imgCover.length}}" src="{{item.imgCover[0].url}}"></image>
<view class="itemDes"> <view class="itemDes">
<view class="f28 text1" style="color:#fff;padding-top:20rpx">{{item.title}}</view> <view class="f28 text1" style="color:#fff;padding-top:20rpx">{{item.title}}</view>
...@@ -37,75 +50,48 @@ ...@@ -37,75 +50,48 @@
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<!-- 印象精选 --> <!-- 印象精选 -->
<view> <view>
<view class="f30" style="margin-top:10rpx;padding-left:30rpx">印象精选</view> <view class="f30" style="margin-top:10rpx;padding-left:30rpx">印象精选</view>
<scroll-view scroll-x class="scroll-header"> <scroll-view scroll-x class="{{fixedNav ? 'scroll-header NavFixed':'scroll-header'}}">
<view class="ScrollActive scroll-view-item">日本线</view> <view wx:for="{{lineList}}" wx:key="index" data-index="{{'view'+index}}" bindtap="Scrolltap" class="{{toView=='view'+index?'ScrollActive':''}}">{{item.lineShortName}}
<view class="scroll-view-item">东南亚线</view>
<view class="scroll-view-item">韩国线</view> </view>
<view class="scroll-view-item">日本线</view>
<view class="scroll-view-item">东南亚线</view>
<view class="scroll-view-item">韩国线</view> </scroll-view>
<view class="scroll-view-item">日本线</view> <scroll-view id="scrollView" scroll-y style="height:{{scrollHeight}}" scroll-into-view="{{toView}}">
<view class="scroll-view-item">东南亚线</view> <block wx:for="{{dataList}}" wx:key="index">
<view class="scroll-view-item">韩国线</view> <view id="{{'view'+index}}">
<!-- 跟团游 -->
<view class="FlTitleView">
<text class="text" style="color:#61DCD4"> \ \ \ </text>
<text style="font-size:30rpx;color:#000000;font-weight:600;margin:0 12rpx">{{item.lineName}} </text>
<text class="text" style="color:#61DCD4"> \ \ \</text>
<text bindtap="Gourl" data-item="{{item}}" style="position: absolute;right:30rpx" class="f24 c88">查看更多</text>
</view>
<view class="Gtour CommonList">
<view bindtap="GodetailList" data-item="{{line}}" wx:for-item="line" wx:for="{{item.LineList[0]}}" wx:key="index2">
<view class="imgView">
<text class="country">日本</text>
<image wx:if="line.imgCover.length" src="{{line.imgCover[0].Url}}"></image>
</view>
<view class='pad title text1'>{{line.title}}</view>
<view class="pad">
<!-- <text class="xl">销量432份</text> -->
<text class="price">¥{{isLogin!==1 ? line.b2CPrice : line.b2BPrice}}起</text>
</view>
</view>
</view>
</view>
</block>
</scroll-view> </scroll-view>
</view> </view>
<!-- 跟团游 -->
<view class="FlTitleView">
<text class="text" style="color:#61DCD4"> \ \ \ </text>
<text style="font-size:30rpx;color:#000000;font-weight:600;margin:0 12rpx"> 跟团游 </text>
<text class="text" style="color:#61DCD4"> \ \ \</text>
</view>
<view class="Gtour CommonList">
<view>
<view class="imgView">
<text class="country">日本</text>
<image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png"></image>
</view>
<view class='pad title'>日本东京大阪</view>
<view class="pad">
<text class="xl">销量432份</text>
<text class="price">¥1990.00起</text>
</view>
</view>
<view>
<view class="imgView">
<text class="country">日本</text>
<image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png"></image>
</view>
<view class='pad title'>日本东京大阪</view>
<view class="pad">
<text class="xl">销量432份</text>
<text class="price">¥1990.00起</text>
</view>
</view>
<view>
<view class="imgView">
<text class="country">日本</text>
<image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png"></image>
</view>
<view class='pad title'>日本东京大阪</view>
<view class="pad">
<text class="xl">销量432份</text>
<text class="price">¥1990.00起</text>
</view>
</view>
<view>
<view class="imgView">
<text class="country">日本</text>
<image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png"></image>
</view>
<view class='pad title'>日本东京大阪</view>
<view class="pad">
<text class="xl">销量432份</text>
<text class="price">¥1990.00起</text>
</view>
</view>
</view>
</view> </view>
\ No newline at end of file
...@@ -5,8 +5,12 @@ ...@@ -5,8 +5,12 @@
.swiper { .swiper {
height: 220rpx; height: 220rpx;
} }
.scroll-banner{
display: flex;
white-space: nowrap;
.group .Item { }
.scroll-banner .scroll-view-item{
display: inline-block; display: inline-block;
width: 187rpx; width: 187rpx;
height: 174rpx; height: 174rpx;
...@@ -14,8 +18,18 @@ ...@@ -14,8 +18,18 @@
padding-top: 50rpx; padding-top: 50rpx;
box-sizing: border-box; box-sizing: border-box;
} }
.scroll-banner .scroll-view-item .Item{
.group .Item>view { width: 100%;
height: 100%;
}
.NavFixed{
position: fixed;
top: 0;
left: 0;
background: #ffffff;
z-index:1000;
}
.scroll-banner .Item>view {
width: 100%; width: 100%;
text-align: center; text-align: center;
} }
......
// pages/SearchPage/SearchPage.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"usingComponents": {}
}
\ No newline at end of file
<!-- 点击输入框 -->
<view class="Inputfocus">
<view class="head3" style="width:600rpx">
<view class="typeView">跟团游
<image src="/images/group/mx2.png"></image>
</view>
<!-- <view style="width:26rpx;height:26rpx;"><image src="../../images/home/search.png"></image></view> -->
<input style="width:520rpx;display:inline-block" placeholder="搜索目的地/交通/景点/酒店" />
<view class="TypeList">
<view>跟团游</view>
<view>自由行</view>
<view>签证</view>
<view>当地游</view>
</view>
</view>
<text class='Seach'>搜索</text>
<view>
<view class="hotTitle">热门推荐</view>
<view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>日本一日游</text>
</view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>美食</text>
</view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>日本一日游</text>
</view>
<view class="HotItem">
<image src="../../images/visa/hot.png"></image>
<text>签证</text>
</view>
</view>
</view>
</view>
\ No newline at end of file
.Inputfocus {
position: absolute;
width: 100%;
height: 100%;
background: #fff;
padding: 0 30rpx;
}
.typeView{
display: inline-block;
width: 200rpx;
position: relative;
}
.typeView image{
width: 20rpx!important;
height: 15rpx!important;
position: absolute;
right: 6rpx;
top: 15rpx;
}
.Inputfocus .head3 image {
width: 26rpx;
height: 26rpx;
margin-right: 6rpx;
}
.Inputfocus .head3 {
display: inline-flex;
align-items: center;
color: #888;
background: #f2f2f2;
font-size: 26rpx;
padding-left: 30rpx;
height: 60rpx;
border-radius: 30rpx;
position: relative;
}
.TypeList{
position: absolute;
left: 0;
top: 60rpx;
background: #fff;
width: 200rpx;
border: 1px solid #f5f5f5;
box-shadow: 0 0 0 5rpx #f5f5f5;
z-index: 100;
transition: all linear 0.5s;
padding:15rpx 30rpx;
}
.TypeList>view{
padding: 10rpx 0;
}
.Inputfocus .Seach {
font-size: 30rpx;
font-weight: 500;
color: rgba(238, 68, 84, 1);
margin-left:20rpx;
}
.Inputfocus .hotTitle{
font-size:30rpx;
margin-top:40rpx;
}
.HotItem image{
width: 18rpx;
height: 22rpx;
margin-right:20rpx;
}
.HotItem{
height: 60rpx;
line-height: 60rpx;
padding: 0 25rpx;
background:rgba(242,242,242,1);
border-radius:30rpx;
color: #333333;
font-size: 24rpx;
display: inline-block;
margin-top:30rpx;
margin-right:30rpx;
}
\ No newline at end of file
// pages/freeTravel/freeList/freeList.js // pages/freeTravel/freeList/freeList.js
let app=getApp(); let app = getApp();
Page({ Page({
/** /**
...@@ -58,12 +58,24 @@ Page({ ...@@ -58,12 +58,24 @@ Page({
cityId: app.state.cityId, cityId: app.state.cityId,
startDate: '', startDate: '',
endDate: '', endDate: '',
minPrice: '', minPrice: -1,
maxPrice: '', maxPrice: -1,
companyId: app.state.companyId, companyId: app.state.companyId,
priceOrderByField: 0, priceOrderByField: 0,
searchKey: '', searchKey: '',
orderByDate:0,
orderByPrice:0,
}, },
datalist:[],
noData: false,
orderindex:1,
ordertype: 0,
lineTeam:[],
startCity:[],
tripDay:[],
dates:[],
}, },
/** /**
...@@ -71,9 +83,87 @@ Page({ ...@@ -71,9 +83,87 @@ Page({
*/ */
onLoad: function (options) { onLoad: function (options) {
let listmsg= this.data.listmsg;
if (this.data.isLogin == 1) {
listmsg.priceOrderByField = 2;
} else {
listmsg.priceOrderByField = 4;
}
this.setData({
listmsg: listmsg
})
let City = this.selectComponent('#CityComp'); let City = this.selectComponent('#CityComp');
City.getCityList(); City.getCityList();
this.getThemeTag(); this.getThemeTag();
this.loadRecoItems();
this.loadDates();
this.GetList();
},
ChangeLine(e){
let that = this;
that.data.listmsg.lineTeamId = e.target.dataset.id;
that.setData({
listmsg: that.data.listmsg
})
},
GetMonth(e){
let that = this;
let month = e.target.dataset.month;
console.log("month", month);
let num = new Date(month.year, month.id, 0);
console.log(num.getDate());
that.data.listmsg.startDate = month.year + "-" + month.month+"-"+"01";
that.data.listmsg.endDate = month.year + "-" + month.month + "-" + num.getDate();
that.setData({
listmsg: that.data.listmsg
})
console.log("that.data.listmsg",that.data.listmsg)
},
// 获取线路
loadRecoItems() {
let that = this;
app.$api('b2b_get_GetFreeSearchItem', { companyId:that.data.site.companyId}).then(res => {
console.log(res);
that.setData({
lineTeam:res.lineTeam,
startCity: res.startCity,
tripDay: res.tripDay
})
console.log("startCity", this.data.startCity);
}).catch(err => { })
},
// 最近3个月
loadDates() {
let dates = [];
let d = new Date().getMonth();
let y = new Date().getFullYear();
for (let i = 0; i < 3; i++) {
d++;
d = d > 12 ? d - 12 : d;
let month = d < 10 ? "0"+d : d;
let obj = {
year:y,
id: d,
month: month,
name: d + "月"
}
dates.push(obj);
}
this.setData({
dates: dates
})
},
bindDateChange(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
let listmsg = this.data.listmsg;
listmsg.endDate = e.detail.value;
this.setData({
listmsg: listmsg
})
}, },
ChangeSite(val) { ChangeSite(val) {
console.log(val.detail); console.log(val.detail);
...@@ -97,13 +187,12 @@ Page({ ...@@ -97,13 +187,12 @@ Page({
}, },
// 获取主题标签 // 获取主题标签
getThemeTag() { getThemeTag() {
let tagmsg={ let tagmsg = {
name: 'theme', name: 'theme',
code: 1, code: 1,
} }
let that = this; let that = this;
app.$api('travel_get_GetTravelPriceTag', tagmsg).then(res => { app.$api('travel_get_GetTravelPriceTag', tagmsg).then(res => {
console.log(res);
let ThemeTagList = res; let ThemeTagList = res;
ThemeTagList.forEach(item => { ThemeTagList.forEach(item => {
item.show = 0; item.show = 0;
...@@ -113,19 +202,47 @@ Page({ ...@@ -113,19 +202,47 @@ Page({
}) })
}).catch(err => { }) }).catch(err => { })
}, },
PriceTag(e){ // 列表数据
let that=this; GetList() {
let that = this;
const datalist = that.data.datalist;
app.$api('b2b_get_GetB2BFreePageList', that.data.listmsg).then(res => {
if (res.pageData.length == 0) {
that.setData({
noData: true
})
}else{
res.pageData.forEach(item => {
item.imgCover = JSON.parse(item.imgCover);
if (item.priceTags) {
item.priceTags = item.priceTags.split(",");
}
datalist.push(item)
})
that.setData({
datalist: datalist
})
}
wx.hideNavigationBarLoading()
}).catch(err => { })
},
PriceTag(e) {
let that = this;
console.log(e.target.dataset.tag); console.log(e.target.dataset.tag);
let listmsg = that.data.listmsg; let listmsg = that.data.listmsg;
let tag = e.target.dataset.tag; let tag = e.target.dataset.tag;
let index = e.target.dataset.index; let index = e.target.dataset.index;
let priceTag = that.data.listmsg.priceTag; let priceTag = that.data.listmsg.priceTag;
let ThemeTagList = that.data.ThemeTagList; let ThemeTagList = that.data.ThemeTagList;
priceTag=[]; priceTag = [];
that.setData({ that.setData({
listmsg: listmsg listmsg: listmsg
}) })
ThemeTagList.forEach(item => { ThemeTagList.forEach(item => {
item.SNO = 0; item.SNO = 0;
}) })
...@@ -133,7 +250,7 @@ Page({ ...@@ -133,7 +250,7 @@ Page({
priceTag.push(tag.ID); priceTag.push(tag.ID);
that.data.listmsg.priceTag = priceTag; that.data.listmsg.priceTag = priceTag;
priceTag.forEach(tag => { priceTag.forEach(tag => {
ThemeTagList.forEach(item => { ThemeTagList.forEach(item => {
if (tag == item.ID) { if (tag == item.ID) {
item.SNO = -1; item.SNO = -1;
} }
...@@ -143,13 +260,33 @@ Page({ ...@@ -143,13 +260,33 @@ Page({
ThemeTagList: ThemeTagList, ThemeTagList: ThemeTagList,
listmsg: listmsg listmsg: listmsg
}) })
console.log("listmsg", listmsg);
} }
this.GetList(); that.GetList();
}, },
GetList(){ changeOrderType(e) {
let type=e.target.dataset.type;
let orderindex = this.data.orderindex;
let ordertype = this.data.ordertype;
let listmsg = this.data.listmsg;
let orderByDate = this.data.listmsg.orderByDate;
let orderByPrice = this.data.listmsg.orderByPrice;
if (orderindex == type) {
orderindex = ordertype == 0 ? 1 : 0
} else {
orderindex = type
ordertype = 0
}
this.data.listmsg.orderByDate= orderindex == 1 ? (ordertype == 0 ? 2 : 1) : 0;
this.data.listmsg.orderByPrice = orderindex == 2 ? (ordertype == 0 ? 2 : 1) : 0;
this.setData({
orderindex: orderindex,
ordertype: ordertype,
listmsg: listmsg
})
this.GetList()
}, },
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */
...@@ -182,14 +319,26 @@ Page({ ...@@ -182,14 +319,26 @@ Page({
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */
onPullDownRefresh: function () { onPullDownRefresh: function () {
wx.stopPullDownRefresh();
}, },
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom: function () { onReachBottom: function () {
let that=this;
if (that.data.noData) return;
wx.showNavigationBarLoading();
let listmsg = that.data.listmsg;
let pageIndex = that.data.listmsg.pageIndex;
// 每次下拉 page+1
pageIndex = pageIndex+1;
that.data.listmsg.pageIndex = pageIndex;
this.setData({
listmsg: listmsg
})
console.log("listmsg", that.data.listmsg)
this.GetList();
}, },
/** /**
......
{ {
"navigationBarTitleText": "首页", "navigationBarTitleText": "自由行",
"usingComponents": { "usingComponents": {
"search": "/component/Search/search" "search": "/component/Search/search"
} }
......
...@@ -2,17 +2,22 @@ ...@@ -2,17 +2,22 @@
<search id="CityComp" bind:ChangeSite="ChangeSite"></search> <search id="CityComp" bind:ChangeSite="ChangeSite"></search>
<view class="ListView"> <view class="ListView">
<view class="PxView"> <view class="PxView">
<view class="jView" bindtap='PXClick'> <view class="jView" data-type="{{0}}" bindtap='changeOrderType'>
综合排序 综合
<!-- <image src="/images/group/bx.png"></image> --> <!-- <image src="/images/group/bx.png"></image> -->
</view> </view>
<view class="jView"> <view class="jView" data-type="{{1}}" bindtap='changeOrderType'>
时间 团期
<image src="/images/group/bx.png"></image> <image wx:if="{{listmsg.orderByDate==0}}" src="/images/group/bx.png"></image>
<image wx:if="{{listmsg.orderByDate==1}}" src="/images/group/rx.png"></image>
<image wx:if="{{listmsg.orderByDate==2}}" src="/images/group/rs.png"></image>
</view> </view>
<view class="jView"> <view class="jView" data-type="{{2}}" bindtap='changeOrderType'>
价格 价格
<image src="/images/group/bx.png"></image> <image wx:if="{{listmsg.orderByPrice==0}}" src="/images/group/bx.png"></image>
<image wx:if="{{listmsg.orderByPrice==1}}" src="/images/group/rx.png"></image>
<image wx:if="{{listmsg.orderByPrice==2}}" src="/images/group/rs.png"></image>
</view> </view>
<view bindtap='ScreenOpen' class="SView"> <view bindtap='ScreenOpen' class="SView">
筛选 筛选
...@@ -20,36 +25,36 @@ ...@@ -20,36 +25,36 @@
</view> </view>
</view> </view>
<scroll-view scroll-x class="scroll-header"> <scroll-view wx:if="{{ThemeTagList.length>0}}" scroll-x class="scroll-header">
<view bindtap='PriceTag' data-index="{{0}}" data-tag="{{item}}" class="ScrollActive scroll-view-item">不限</view> <view bindtap='PriceTag' data-index="{{0}}" data-tag="{{item}}" class="listmsg.priceTag.length==0?'ScrollActive scroll-view-item':'scroll-view-item'">不限</view>
<view bindtap='PriceTag' data-index="{{1}}" data-tag="{{item}}" wx:key="index" wx:for="{{ThemeTagList}}" class="ScrollActive scroll-view-item">{{item.Content}}</view> <view bindtap='PriceTag' data-index="{{1}}" data-tag="{{item}}" wx:key="index" wx:for="{{ThemeTagList}}" class="{{item.SNO==-1?'ScrollActive scroll-view-item':'scroll-view-item'}}">{{item.Content}}</view>
</scroll-view> </scroll-view>
<!-- 列表数据 --> <!-- 列表数据 -->
<view class="ListItem"> <view class="ListItem" wx:for="{{datalist}}" wx:key="index">
<view class="imgView"> <view class="imgView">
<image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png"></image> <image wx:if="{{item.imgCover.length}}" src="{{item.imgCover[0].Url}}"></image>
</view> </view>
<view class="ItemRight" style="width:460rpx;padding-left:15rpx"> <view class="ItemRight" style="width:460rpx;padding-left:15rpx">
<view class="text2 f26">日本本州~精品假期~免费升级:2晚东京 市中心*东京曼迪酒店+1晚特色机票 <view class="text2 f26">{{item.lineName}}+{{item.ltName}}+{{item.productRecommend}}
</view> </view>
<view class="f22" style="color:#888888;padding:15rpx 0"> <view class="f22" style="color:#888888;padding:15rpx 0">
<image style="width:18rpx;height:22rpx" src="/images/group/adress.png"></image> <image style="width:18rpx;height:22rpx" src="/images/group/adress.png"></image>
出发地:成都 出发地:{{item.startCityName}}
<image style="width:22rpx;height:22rpx" src="/images/group/tuan.png"></image>
最近团期:2019-08-90
</view> </view>
<view class="f20" style="color:#5597FF"> <view class="f22" style="color:#888888;padding:15rpx 0">
精品添加 <image style="width:22rpx;height:22rpx" src="/images/group/tuan.png"></image>
出发日期:最早{{item.startDate}}出发
</view> </view>
<view class="f22" style="color:#888888;padding-top:15rpx"> <view class="f22" style="color:#888888;padding-top:15rpx;text-align:right">
<image style="width:22rpx;height:22rpx" src="/images/group/p.png"></image> <text class="cee f40" style="position:relative;top:-20rpx">¥{{isLogin!=1 ? item.b2CPrice : item.b2BPrice}}</text>
<text>余位:充足</text>
<text class="cee f40" style="float:right;position:relative;top:-20rpx">¥1900</text>
</view> </view>
</view> </view>
</view> </view>
<view class='Nodataview' wx:if='{{noData}}'>
<text>没有更多数据</text>
</view>
</view> </view>
<!-- 筛选条件 --> <!-- 筛选条件 -->
<view bindtap='ClosePXView' data-target="self" class="Condition" hidden="{{!StopResh}}"> <view bindtap='ClosePXView' data-target="self" class="Condition" hidden="{{!StopResh}}">
...@@ -60,52 +65,46 @@ ...@@ -60,52 +65,46 @@
<view>销量从高到低</view> <view>销量从高到低</view>
</view> </view>
</view> </view>
<!-- 筛选多条件 --> <!-- 筛选多条件 hidden="{{!ScreenStatus}}" -->
<view bindtap='CloseScreen' data-target="self" class="screen" hidden="{{!ScreenStatus}}"> <view bindtap='CloseScreen' data-target="self" class="screen" >
<view> <view>
<view class="title">系列</view> <view class="title">线路</view>
<view class="xl"> <view class="xl">
<text>本州 147升级版</text> <text bindtap="ChangeLine" data-id="{{0}}" class="{{listmsg.lineTeamId==0?'Msgactive':''}}">不限</text>
<text>希尔顿假期系列</text> <text bindtap="ChangeLine" data-id="{{item.id}}" class="{{listmsg.lineTeamId==item.id?'Msgactive':''}}" wx:key="index" wx:for="{{lineTeam}}">{{item.name}}</text>
<text>希尔顿假期系列</text>
<text>小王子x列</text>
</view> </view>
<view class="title">出发日期</view> <view class="title">出发日期</view>
<view class="DatePicker"> <view class="DatePicker">
<picker class="pcikerView" mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange"> <picker class="pcikerView" mode="date" value="{{listmsg.startDate}}" >
<view class="picker"> <view class="picker">
{{listmsg.startDate}}
</view> </view>
</picker> </picker>
<text style="margin:0 15rpx"> - </text> <text style="margin:0 15rpx"> - </text>
<picker class="pcikerView" mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange"> <picker class="pcikerView" mode="date" value="{{listmsg.endDate}}" bindchange="bindDateChange" >
<view class="picker"> <view class="picker">
{{listmsg.endDate}}
</view> </view>
</picker> </picker>
</view> </view>
<view class='MonthList'> <view class='MonthList'>
<text wx:for="{{dates}}" wx:key="index">{{item.name}}</text> <text bindtap="GetMonth" data-month="{{item}}" wx:for="{{dates}}" wx:key="index">{{item.name}}</text>
</view> </view>
<view class="title">出发城市</view> <view class="title">出发城市</view>
<view class='MonthList' style="margin-top:25rpx"> <view class='MonthList' style="margin-top:25rpx">
<text>成都</text> <text>不限</text>
<text>成都</text> <text wx:key="index" wx:for="{{startCity}}">{{item.startCityName}}</text>
<text>成都</text>
<text>成都</text>
<text>成都</text>
<text>成都</text>
</view> </view>
<view class="title">行程天数</view> <view class="title">行程天数</view>
<view class='MonthList' style="margin-top:25rpx"> <view class='MonthList' style="margin-top:25rpx">
<text wx:for="{{datecount}}" wx:key="index">{{item.name}}</text> <text wx:for="{{tripDay}}" wx:key="index">{{item.name}}</text>
</view> </view>
<view class="title">价格区间</view> <!-- <view class="title">价格区间</view>
<view class="PriceView"> <view class="PriceView">
<input placeholder="2000" placeholder-style="text-align:center" /> <input placeholder="最低价" style="text-align:center" />
<text style="padding:0 15rpx">-</text> <text style="padding:0 15rpx">-</text>
<input placeholder="最高价" placeholder-style="text-align:center" /> <input placeholder="最高价" style="text-align:center" />
</view> </view> -->
<view class="btnView"> <view class="btnView">
<view>重置</view> <view>重置</view>
<view style="background:#EE4454;color:#fff;border:none">确定</view> <view style="background:#EE4454;color:#fff;border:none">确定</view>
......
.PxView .jView image { .PxView .jView image {
width: 16rpx; width: 16rpx;
height: 8rpx; height: 8rpx;
position: relative;
top: -5rpx;
} }
.Msgactive{
background: #EE4454!important;
color: #fff;
}
.PxView>view { .PxView>view {
display: inline-block; display: inline-block;
font-size: 28rpx; font-size: 28rpx;
...@@ -16,6 +22,7 @@ ...@@ -16,6 +22,7 @@
.PxView .SView image { .PxView .SView image {
width: 22rpx; width: 22rpx;
height: 22rpx; height: 22rpx;
} }
.scroll-header { .scroll-header {
...@@ -124,18 +131,22 @@ ...@@ -124,18 +131,22 @@
margin-right: 30rpx; margin-right: 30rpx;
} }
.screen .picker{ .screen .picker{
width:296rpx; width:100%;
height:54rpx; height:54rpx;
line-height:54rpx;
background:rgba(242,242,242,1); background:rgba(242,242,242,1);
border-radius:27rpx; border-radius:27rpx;
display: inline-block; display: inline-block;
font-size: 22rpx;
text-align: center;
} }
.screen .DatePicker{ .screen .DatePicker{
display: flex; /* display: flex; */
margin-top:15rpx; margin-top:15rpx;
} }
.screen .pcikerView{ .screen .pcikerView{
display: inline-block; display: inline-block;
width: 280rpx;
} }
.MonthList{ .MonthList{
......
...@@ -26,11 +26,19 @@ Page({ ...@@ -26,11 +26,19 @@ Page({
toView: color toView: color
}) })
}, },
ChangeSite(val) {
console.log(val.detail);
this.setData({
site: val.detail
})
this.onLoad();
},
onLoad: function (options) { onLoad: function (options) {
let City = this.selectComponent('#CityComp'); let City = this.selectComponent('#CityComp');
City.getCityList(); City.getCityList();
this.GetLine(); this.GetLine();
}, },
ChangeSite(val) { ChangeSite(val) {
this.setData({ this.setData({
site: val.detail site: val.detail
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
"hidedInDevtools": [] "hidedInDevtools": []
}, },
"isGameTourist": false, "isGameTourist": false,
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": { "condition": {
"search": { "search": {
"current": -1, "current": -1,
......
{
"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
"rules": [{
"action": "allow",
"page": "*"
}]
}
\ No newline at end of file
...@@ -8,6 +8,16 @@ const formatTime = date => { ...@@ -8,6 +8,16 @@ const formatTime = date => {
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
} }
const YYMMDD = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('-')
}
const CompareDate=(date1, date2)=> { const CompareDate=(date1, date2)=> {
var oDate1 = new Date(date1); var oDate1 = new Date(date1);
var oDate2 = new Date(date2); var oDate2 = new Date(date2);
...@@ -26,4 +36,5 @@ const formatNumber = n => { ...@@ -26,4 +36,5 @@ const formatNumber = n => {
module.exports = { module.exports = {
formatTime: formatTime, formatTime: formatTime,
CompareDate: CompareDate, CompareDate: CompareDate,
YYMMDD: YYMMDD,
} }
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