Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
FlashMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
华国豪
FlashMan
Commits
66b8cbde
Commit
66b8cbde
authored
Jul 04, 2019
by
huangyuanyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
跟团游
parent
391157bc
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
1613 additions
and
568 deletions
+1613
-568
Common.wxss
Common.wxss
+13
-0
app.js
app.js
+2
-3
app.json
app.json
+9
-5
search.js
component/Search/search.js
+1
-0
search.wxml
component/Search/search.wxml
+0
-30
search.wxss
component/Search/search.wxss
+0
-52
amount.js
component/amount/amount.js
+62
-5
amount.wxml
component/amount/amount.wxml
+1
-1
amount.wxss
component/amount/amount.wxss
+2
-5
calendar.js
component/calendar/calendar.js
+36
-5
calendar.wxml
component/calendar/calendar.wxml
+3
-3
calendar.wxss
component/calendar/calendar.wxss
+4
-0
ChDateNum.js
pages/GroupTour/ChDateNum/ChDateNum.js
+389
-19
ChDateNum.wxml
pages/GroupTour/ChDateNum/ChDateNum.wxml
+46
-51
ChDateNum.wxss
pages/GroupTour/ChDateNum/ChDateNum.wxss
+4
-2
FillOrder.js
pages/GroupTour/FillOrder/FillOrder.js
+111
-11
FillOrder.wxml
pages/GroupTour/FillOrder/FillOrder.wxml
+10
-9
FillOrder.wxss
pages/GroupTour/FillOrder/FillOrder.wxss
+1
-1
GroupDetails.js
pages/GroupTour/GroupDetails/GroupDetails.js
+124
-11
GroupDetails.wxml
pages/GroupTour/GroupDetails/GroupDetails.wxml
+91
-151
GroupDetails.wxss
pages/GroupTour/GroupDetails/GroupDetails.wxss
+26
-4
GroupList.js
pages/GroupTour/GroupList/GroupList.js
+5
-0
GroupTour.js
pages/GroupTour/GroupTour.js
+164
-65
GroupTour.wxml
pages/GroupTour/GroupTour.wxml
+53
-67
GroupTour.wxss
pages/GroupTour/GroupTour.wxss
+17
-3
SearchPage.js
pages/SearchPage/SearchPage.js
+66
-0
SearchPage.json
pages/SearchPage/SearchPage.json
+3
-0
SearchPage.wxml
pages/SearchPage/SearchPage.wxml
+38
-0
SearchPage.wxss
pages/SearchPage/SearchPage.wxss
+80
-0
freeList.js
pages/freeTravel/freeList/freeList.js
+165
-16
freeList.json
pages/freeTravel/freeList/freeList.json
+1
-1
freeList.wxml
pages/freeTravel/freeList/freeList.wxml
+45
-46
freeList.wxss
pages/freeTravel/freeList/freeList.wxss
+13
-2
localhome.js
pages/local/localhome.js
+8
-0
project.config.json
project.config.json
+2
-0
sitemap.json
sitemap.json
+7
-0
util.js
utils/util.js
+11
-0
No files found.
Common.wxss
View file @
66b8cbde
...
...
@@ -25,6 +25,10 @@
.commonF .f24{
font-size: 24rpx;
}
.num_wrap .btn[disabled] {
border: 1px solid #888888;
color: #888888;
}
.commonF .f26{
font-size: 26rpx;
}
...
...
@@ -155,6 +159,7 @@ image{
height:90rpx;
background:rgba(245,245,245,1);
padding: 0 26rpx;
position: relative;
}
.commonF .FlTitleView .text{
font-size:20rpx;font-weight:700;
...
...
@@ -166,4 +171,12 @@ image{
width: 100%;
background: #F4F4F4;
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
app.js
View file @
66b8cbde
...
...
@@ -52,7 +52,6 @@ App({
let
sign
=
md5
(
'cmd='
+
url
+
'&'
+
'msg='
+
encodeURIComponent
(
data
).
toLowerCase
()
+
'&'
+
'timestamp='
+
timestamp
+
'&'
+
'token='
+
getApp
().
state
.
admin
.
token
+
'&'
+
'key='
+
''
)
wx
.
request
({
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: ' http://test.viitto.com/api/common/post',
...
...
@@ -98,9 +97,9 @@ App({
let
timestamp
=
(
new
Date
()).
valueOf
()
let
sign
=
md5
(
'msg='
+
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
()
+
'&'
+
'timestamp='
+
timestamp
+
'&'
+
'token='
+
token
+
'&'
+
'key='
+
secretKey
)
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://192.168.2.215:9000/'+ url,
url
:
'http://192.168.2.215:9000/'
+
url
,
method
:
'POST'
,
data
:
{
...
...
app.json
View file @
66b8cbde
{
"pages"
:
[
"pages/freeTravel/freeList/freeList"
,
"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/freeTravel/free"
,
"pages/Home/home"
,
"pages/login/login"
,
"pages/GroupTour/Pay/Pay"
,
"pages/GroupTour/FillOrder/FillOrder"
,
"pages/GroupTour/ChDateNum/ChDateNum"
,
"pages/GroupTour/GroupDetails/GroupDetails"
,
"pages/GroupTour/GroupList/GroupList"
,
"pages/product/product"
,
"pages/member/member"
,
"pages/member/memberCenter/memberCenter"
,
"pages/member/memberInfo/memberInfo"
,
...
...
component/Search/search.js
View file @
66b8cbde
...
...
@@ -34,6 +34,7 @@ Component({
this
.
setData
({
cityList
:
res
})
console
.
log
(
this
.
data
.
cityList
)
}).
catch
(
err
=>
{})
},
SetCity
(
e
)
{
...
...
component/Search/search.wxml
View file @
66b8cbde
...
...
@@ -19,36 +19,6 @@
</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 style="background:#fff;padding:15rpx 0">
...
...
component/Search/search.wxss
View file @
66b8cbde
...
...
@@ -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{
background:rgba(17,17,17,0.5);
...
...
component/amount/amount.js
View file @
66b8cbde
// components/amount/index.js
Component
({
options
:
{
addGlobalClass
:
true
,
},
/**
* 组件的属性列表
*/
...
...
@@ -7,7 +10,13 @@ Component({
count
:
{
// 商品数量
type
:
Number
,
value
:
1
}
},
type
:{
// 商品数量
type
:
String
,
},
chosenObj
:{
type
:
Object
,
},
},
/**
...
...
@@ -22,6 +31,8 @@ Component({
*/
methods
:
{
inputChangeHandle
:
function
(
event
)
{
let
that
=
this
;
let
type
=
that
.
data
.
type
;
var
val
=
event
.
detail
.
value
;
//通过这个传递数据
var
myEventDetail
=
{
val
:
val
...
...
@@ -30,6 +41,16 @@ Component({
this
.
triggerEvent
(
'myevent'
,
myEventDetail
)
},
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
;
count
>
0
?
count
--
:
0
this
.
setData
({
...
...
@@ -38,10 +59,33 @@ Component({
var
myEventDetail
=
{
val
:
count
}
this
.
triggerEvent
(
'myevent'
,
myEventDetail
)
this
.
triggerEvent
(
'subevent'
)
if
(
type
==
"cr"
)
{
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
()
{
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
;
this
.
setData
({
count
:
++
count
...
...
@@ -49,8 +93,21 @@ Component({
var
myEventDetail
=
{
val
:
count
}
this
.
triggerEvent
(
'myevent'
,
myEventDetail
)
this
.
triggerEvent
(
'addevent'
)
if
(
type
==
"cr"
){
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
)
}
}
}
})
component/amount/amount.wxml
View file @
66b8cbde
<view class='num_wrap'>
<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>
</view>
component/amount/amount.wxss
View file @
66b8cbde
...
...
@@ -19,14 +19,11 @@
color: #EE4454;
}
.num_wrap .btn[disabled] {
border: 1px solid #888888;
color: #888888;
}
.btn::after{
border: none;
}
.num_wrap input{
.num_wrap
.
input{
width: 90rpx;
height: 60rpx;
color: #333;
...
...
component/calendar/calendar.js
View file @
66b8cbde
...
...
@@ -11,6 +11,12 @@ Component({
priceData
:
{
type
:
Array
},
isLogin
:
{
type
:
Number
},
selectIndex
:
{
type
:
Number
},
},
/**
...
...
@@ -26,12 +32,29 @@ Component({
* 组件的方法列表
*/
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
()
{
let
that
=
this
;
let
currentYear
=
that
.
data
.
currentDay
.
substring
(
0
,
4
);
//当前年份
let
currentMonth
=
that
.
data
.
currentDay
.
substring
(
5
,
7
);
//当前月份
that
.
setData
({
daysData
:
that
.
data
.
priceData
})
let
date
=
new
Date
();
let
strDate
=
date
.
getDate
();
...
...
@@ -49,6 +72,7 @@ Component({
for
(
var
i
=
0
;
i
<
Number
(
monthDay
);
i
++
)
{
var
priceDict
=
{
"ymd"
:
`
${
currentYear
}
-
${
currentMonth
}
-
${
i
+
1
}
`
,
"ym"
:
`
${
currentYear
}
-
${
currentMonth
}
`
,
'day'
:
String
(
i
+
1
),
'price'
:
0
,
'dis'
:
false
...
...
@@ -64,9 +88,12 @@ Component({
var
firstDay
=
dateObject
.
getDay
();
//得到每个月1号是周几
for
(
var
i
in
that
.
data
.
priceData
)
{
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
];
// 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
)
{
dayDict
.
price
=
''
;
}
...
...
@@ -76,6 +103,7 @@ Component({
for
(
var
i
=
0
;
i
<
firstDay
;
i
++
)
{
var
dict
=
{
"ymd"
:
`
${
currentYear
}
-
${
currentMonth
}
-
${
i
+
1
}
`
,
"ym"
:
`
${
currentYear
}
-
${
currentMonth
}
`
,
'day'
:
' '
,
price
:
''
,
'dis'
:
true
...
...
@@ -98,6 +126,9 @@ Component({
let
Arr
=
that
.
data
.
daysData
;
let
today
=
new
Date
().
toLocaleDateString
().
split
(
'/'
).
join
(
'-'
);
Arr
.
forEach
(
item
=>
{
if
(
Number
(
item
.
day
<
10
)){
item
.
day
=
"0"
+
item
.
day
;
}
item
.
color
=
false
;
if
(
!
util
.
CompareDate
(
today
,
item
.
ymd
)){
item
.
color
=
true
;
...
...
@@ -106,7 +137,7 @@ Component({
that
.
setData
({
daysData
:
Arr
})
// console.log("
that.daysData",
that.data.daysData)
// console.log("
daysData",
that.data.daysData)
},
isleapYears
(
year
)
{
if
(((
year
%
4
)
==
0
)
&&
((
year
%
100
)
!=
0
)
||
((
year
%
400
)
==
0
))
{
...
...
component/calendar/calendar.wxml
View file @
66b8cbde
...
...
@@ -3,9 +3,9 @@
<text wx:for="{{week}}" wx:key="index">{{item}}</text>
</view>
<view class="dayView">
<view
class="{{item.color?'black':'grey
'}}" wx:for="{{daysData}}" wx:key="index">
<view>{{item.day}}</view>
<view hidden="
!{{item.price!=''||item.price!
=0}}" class="price">¥{{item.price}}</view>
<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
hidden="{{item.day=='0 '}}"
>{{item.day}}</view>
<view hidden="
{{item.price==''||item.price=
=0}}" class="price">¥{{item.price}}</view>
</view>
</view>
...
...
component/calendar/calendar.wxss
View file @
66b8cbde
...
...
@@ -6,6 +6,10 @@
text-align: center;
font-size: 30rpx;
}
.Active{
background: #ff4646;
color: #fff!important;
}
.dayView>view{
width: 107rpx;
height: 80rpx;
...
...
pages/GroupTour/ChDateNum/ChDateNum.js
View file @
66b8cbde
This diff is collapsed.
Click to expand it.
pages/GroupTour/ChDateNum/ChDateNum.wxml
View file @
66b8cbde
...
...
@@ -3,39 +3,15 @@
<text class="f30 bold">选择出行时间</text>
</view>
<scroll-view scroll-x class="scroll-header">
<view class="ScrollActive 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 class="scroll-view-item">
<view>6月</view>
<view>¥488起</view>
<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>{{item.date}}</view>
<view wx:if="{{index<1}}" wx:key="index2" wx:for="{{item.datalist}}" wx:for-item="pre">¥{{pre.b2BPrice}}起</view>
</view>
</scroll-view>
<!-- 日历 -->
<view>
<calendar
currentDay="{{currentDay}}" :
priceData="{{priceData}}" id="calendar"></calendar>
<view
style="padding-bottom:10rpx"
>
<calendar
bind:childrenEvent="childrenEvent" selectIndex="{{selectIndex}}" isLogin="{{isLogin}}" currentDay="{{currentDay}}"
priceData="{{priceData}}" id="calendar"></calendar>
</view>
<view class="Gray30"></view>
<view>
...
...
@@ -43,7 +19,7 @@
<view class="personItem">
<view>成人</view>
<view>
<amount c
ount='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='
addCount'></amount>
<amount c
hosenObj="{{chosenObj}}" type="cr" count='{{chosenObj.crCount}}' data-index='{{index}}' bind:cRsubevent='cRsubevent' bind:cRaddCount='cR
addCount'></amount>
</view>
</view>
<view class="personItem">
...
...
@@ -51,7 +27,7 @@
<text class='c88'>2-12周岁(不含)</text>
</view>
<view>
<amount c
ount='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='
addCount'></amount>
<amount c
hosenObj="{{chosenObj}}" type="etz" count='{{chosenObj.etzc}}' data-index='{{index}}' bind:etZsubevent='etZsubevent' bind:etZaddCount='etZ
addCount'></amount>
</view>
</view>
<view class="personItem">
...
...
@@ -59,7 +35,7 @@
<text class='c88'>2-12周岁(不含)</text>
</view>
<view>
<amount c
ount='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='
addCount'></amount>
<amount c
hosenObj="{{chosenObj}}" type="etbz" count='{{chosenObj.etbzcCount}}' data-index='{{index}}' bind:etbZsubevent='etbZsubevent' bind:etbZaddCount='etbZ
addCount'></amount>
</view>
</view>
<view class="personItem">
...
...
@@ -67,7 +43,7 @@
<text class='c88'>0-2周岁(不含)</text>
</view>
<view>
<amount c
ount='{{numer}}' data-index='{{index}}' bind:myevent="onGetCount" bind:subevent='subCount' bind:addevent='
addCount'></amount>
<amount c
hosenObj="{{chosenObj}}" type="ye" count='{{chosenObj.yeCount}}' data-index='{{index}}' bind:yEsubevent='yEsubevent' bind:yEaddCount='yE
addCount'></amount>
</view>
</view>
</view>
...
...
@@ -75,29 +51,27 @@
<view>
<view class="personItem f30">
<view>航班信息</view>
<view class="f24 c88">退改签及购票说明
<
!-- <
view class="f24 c88">退改签及购票说明
<image style="width:12rpx;height:24rpx" src="/images/group/chakn.png"></image>
</view>
</view>
-->
</view>
</view>
<view class="Gray30"></view>
<view class="p30_4">
<view class="HbanItem">
<view class="HbanItemDes">
<text>成都</text>
<image src="/images/group/hangban.png"></image>
<text>香港(中转)</text>
<view wx:for="{{FlightList}}" wx:key="index" class="HbanItem">
<view class="HbanItemDes">
<text>{{item.departureAirPortName}}</text>
<image src="/images/group/hangban.png"></image>
<text>
香港
</text>
<text>
{{item.arrivalAirPortName}}
</text>
</view>
<view style="padding:10rpx 0" class="f22 c88">
06:-26 07:30 至 06-26 20:05
</view>
<view class="f22 c88">
香港航空HX453
</view>
<view style="padding:10rpx 0" class="f22 c88">
{{item.startDate}}{{item.departureTime}} 至 {{item.arriveDate}}{{item.arrivalTime}}
</view>
<view class="f22 c88">
{{item.alName}} {{item.flightNumber}}
</view>
</view>
</view>
<view class="{{GoodsView?'payFixed PayView':'PayView'}}">
<view style="width:
31
0rpx;">
<view style="width:
40
0rpx;">
<text class="f20">总价:¥</text>
<text class="f46 cee">
999
</text>
<text class="f46 cee">
{{price}}
</text>
<text class="f20 c88">/人起</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>
...
...
@@ -114,17 +88,38 @@
<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>
</view>
<view class="flexbe f26 c11">
<view>基本团费</view>
<view>¥1990</view>
</view>
<view class="flexbe f26 c33">
<view>成人</view>
<view>¥
1990
</view>
<view>¥
{{adultPrice}}
</view>
</view>
<view class="flexbe f26 c33">
<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>
...
...
pages/GroupTour/ChDateNum/ChDateNum.wxss
View file @
66b8cbde
...
...
@@ -2,6 +2,7 @@
display: flex;
white-space: nowrap;
background: #e5efff;
/* height: 95rpx; */
}
.DateNum .scroll-header .scroll-view-item {
...
...
@@ -9,9 +10,10 @@
font-size: 24rpx;
color: #111;
width: 166rpx;
height:
90
rpx;
height:
82
rpx;
align-items: center;
flex-direction: column;
position: relative;
}
.DateNum .scroll-header .ScrollActive {
...
...
@@ -74,7 +76,7 @@
align-items: center;
}
.startPay{
width:
341
rpx;
width:
250
rpx;
background:rgba(238,68,84,1);
color: #fff;
font-size: 30rpx;
...
...
pages/GroupTour/FillOrder/FillOrder.js
View file @
66b8cbde
// pages/GroupTour/FillOrder/FillOrder.js
let
app
=
getApp
();
Page
({
/**
* 页面的初始数据
*/
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
()
{
wx
.
navigateTo
({
url
:
'/pages/GroupTour/Pay/Pay'
,
let
that
=
this
;
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
pages/GroupTour/FillOrder/FillOrder.wxml
View file @
66b8cbde
<view class="FillOrder commonF">
<view class="OrderDes">
<view class="title f36">
希尔顿假期系列6日5晚跟团游
{{data.ltName}}{{data.dayNum}}天{{data.nightNum}}
</view>
<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">
<text>2成人 , </text>
<text>1儿童</text>
<text> | 1房间</text>
<text>{{payInfo.ManNum}}成人 , </text>
<text>{{payInfo.ChirdNeedBedNum}}儿童 , </text>
<text>{{payInfo.BabyNum}}婴儿</text>
<!-- <text> | 1房间</text> -->
</view>
</view>
...
...
@@ -18,11 +19,11 @@
<view class="FormMsg f30" style="padding-left: 30rpx;">联系人信息</view>
<view class="FormMsg">
<view>联系人</view>
<view><input
placeholder='请输入联系人名称'
></input></view>
<view><input
bindinput="Name" placeholder='请输入联系人名称' value="{{contact.ContactName}}"
></input></view>
</view>
<view class="FormMsg">
<view>手机号码</view>
<view><input placeholder='请输入手机号码'></input></view>
<view><input
type="number" maxlength="11" bindinput="Mobile" value="{{contact.ContactMobile}}"
placeholder='请输入手机号码'></input></view>
</view>
<view class="FormMsg">
<view>电子邮件</view>
...
...
@@ -30,9 +31,9 @@
</view>
</view>
<view class="PayView">
<view style="width:
31
0rpx;">
<view style="width:
40
0rpx;">
<text class="f20">总价:¥</text>
<text class="f46 cee">
999
</text>
<text class="f46 cee">
{{payInfo.PreferPrice}}
</text>
<text class="f20 c88">/人起</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>
...
...
pages/GroupTour/FillOrder/FillOrder.wxss
View file @
66b8cbde
...
...
@@ -70,7 +70,7 @@
align-items: center;
}
.startPay{
width:
341
rpx;
width:
260
rpx;
background:rgba(238,68,84,1);
color: #fff;
font-size: 30rpx;
...
...
pages/GroupTour/GroupDetails/GroupDetails.js
View file @
66b8cbde
// pages/GroupTour/GroupDetails/GroupDetails.js
let
app
=
getApp
();
var
WxParse
=
require
(
'../../wxParse/wxParse.js'
);
Page
({
/**
* 页面的初始数据
*/
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
({
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
pages/GroupTour/GroupDetails/GroupDetails.wxml
View file @
66b8cbde
This diff is collapsed.
Click to expand it.
pages/GroupTour/GroupDetails/GroupDetails.wxss
View file @
66b8cbde
...
...
@@ -111,10 +111,8 @@
align-items: center;
justify-content: center;
}
.HbanView{
margin-top:30rpx;
}
.HbanView .HbanItem{
margin-top:15rpx;
border-bottom:1rpx solid #E9E9E9;
padding-bottom:15rpx;
}
...
...
@@ -224,6 +222,7 @@
margin-left:15rpx;
padding-left:40rpx;
margin-top:6rpx;
min-height: 100rpx;
}
.dayList{
padding-bottom:30rpx;
...
...
@@ -259,4 +258,27 @@
background:rgba(238,68,84,1);
color: #fff;
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;
}
pages/GroupTour/GroupList/GroupList.js
View file @
66b8cbde
...
...
@@ -72,6 +72,11 @@ Page({
bindDateChange
(
e
){
console
.
log
(
'picker发送选择改变,携带值为'
,
e
.
detail
.
value
)
let
listmsg
=
this
.
data
.
listmsg
;
listmsg
.
endDate
=
e
.
detail
.
value
;
this
.
setData
({
listmsg
:
listmsg
})
},
ScreenOpen
(){
this
.
setData
({
...
...
pages/GroupTour/GroupTour.js
View file @
66b8cbde
...
...
@@ -6,50 +6,6 @@ Page({
* 页面的初始数据
*/
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
,
vertical
:
false
,
autoplay
:
false
,
...
...
@@ -58,86 +14,229 @@ Page({
duration
:
500
,
previousMargin
:
0
,
nextMargin
:
0
,
companyId
:
app
.
state
.
companyId
,
cityId
:
app
.
state
.
cityId
,
tiaoshui
:[],
tiaoshui
:
[],
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
.
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
()
{
let
that
=
this
;
let
that
=
this
;
let
msg
=
{
pageIndex
:
1
,
pageSize
:
12
,
pageSize
:
4
,
groupRecommendType
:
1
,
companyId
:
that
.
data
.
companyId
,
cityId
:
that
.
data
.
cityId
companyId
:
that
.
data
.
site
.
companyId
,
cityId
:
that
.
data
.
site
.
cityId
}
app
.
$apiJavaNew
(
'/api/b2b/group/getHomeRecommendPrice'
,
msg
).
then
(
res
=>
{
that
.
setData
({
tiaoshui
:
res
.
pageData
})
console
.
log
(
that
.
data
.
tiaoshui
)
}).
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
pages/GroupTour/GroupTour.wxml
View file @
66b8cbde
<view class="group commonF">
<search></search>
<view class="page-section page-section-spacing">
<search
id="CityComp" bind:ChangeSite="ChangeSite"
></search>
<
!-- <
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}}">
<block wx:for="{{background}}" wx:key="*this">
<swiper-item>
...
...
@@ -16,7 +16,20 @@
</swiper-item>
</block>
</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="height:180rpx">
<image src="http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190627093227533.png"></image>
...
...
@@ -27,7 +40,7 @@
<view class="tsView">
<view class="f30" style="margin-top:10rpx;padding-left:30rpx">跳水特价</view>
<view class="inlineBlock">
<view c
lass="ViewItem" wx:for="{{tiaoshui}}" wx-if="{{index<4
}}" wx:key="index">
<view c
atchtap="Godetail" data-item="{{item}}" class="ViewItem" wx:for="{{tiaoshui
}}" wx:key="index">
<image wx-if="{{item.imgCover.length}}" src="{{item.imgCover[0].url}}"></image>
<view class="itemDes">
<view class="f28 text1" style="color:#fff;padding-top:20rpx">{{item.title}}</view>
...
...
@@ -37,75 +50,48 @@
</view>
</view>
</view>
</view>
</view>
<!-- 印象精选 -->
<view>
<view class="f30" style="margin-top:10rpx;padding-left:30rpx">印象精选</view>
<scroll-view scroll-x class="scroll-header">
<view class="ScrollActive scroll-view-item">日本线</view>
<view class="scroll-view-item">东南亚线</view>
<view class="scroll-view-item">韩国线</view>
<view class="scroll-view-item">日本线</view>
<view class="scroll-view-item">东南亚线</view>
<view class="scroll-view-item">韩国线</view>
<view class="scroll-view-item">日本线</view>
<view class="scroll-view-item">东南亚线</view>
<view class="scroll-view-item">韩国线</view>
<scroll-view scroll-x class="{{fixedNav ? 'scroll-header NavFixed':'scroll-header'}}">
<view wx:for="{{lineList}}" wx:key="index" data-index="{{'view'+index}}" bindtap="Scrolltap" class="{{toView=='view'+index?'ScrollActive':''}}">{{item.lineShortName}}
</view>
</scroll-view>
<scroll-view id="scrollView" scroll-y style="height:{{scrollHeight}}" scroll-into-view="{{toView}}">
<block wx:for="{{dataList}}" wx:key="index">
<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>
</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>
\ No newline at end of file
pages/GroupTour/GroupTour.wxss
View file @
66b8cbde
...
...
@@ -5,8 +5,12 @@
.swiper {
height: 220rpx;
}
.scroll-banner{
display: flex;
white-space: nowrap;
.group .Item {
}
.scroll-banner .scroll-view-item{
display: inline-block;
width: 187rpx;
height: 174rpx;
...
...
@@ -14,8 +18,18 @@
padding-top: 50rpx;
box-sizing: border-box;
}
.group .Item>view {
.scroll-banner .scroll-view-item .Item{
width: 100%;
height: 100%;
}
.NavFixed{
position: fixed;
top: 0;
left: 0;
background: #ffffff;
z-index:1000;
}
.scroll-banner .Item>view {
width: 100%;
text-align: center;
}
...
...
pages/SearchPage/SearchPage.js
0 → 100644
View file @
66b8cbde
// 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
pages/SearchPage/SearchPage.json
0 → 100644
View file @
66b8cbde
{
"usingComponents"
:
{}
}
\ No newline at end of file
pages/SearchPage/SearchPage.wxml
0 → 100644
View file @
66b8cbde
<!-- 点击输入框 -->
<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
pages/SearchPage/SearchPage.wxss
0 → 100644
View file @
66b8cbde
.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
View file @
66b8cbde
// pages/freeTravel/freeList/freeList.js
let
app
=
getApp
();
let
app
=
getApp
();
Page
({
/**
...
...
@@ -58,12 +58,24 @@ Page({
cityId
:
app
.
state
.
cityId
,
startDate
:
''
,
endDate
:
''
,
minPrice
:
''
,
maxPrice
:
''
,
minPrice
:
-
1
,
maxPrice
:
-
1
,
companyId
:
app
.
state
.
companyId
,
priceOrderByField
:
0
,
searchKey
:
''
,
orderByDate
:
0
,
orderByPrice
:
0
,
},
datalist
:[],
noData
:
false
,
orderindex
:
1
,
ordertype
:
0
,
lineTeam
:[],
startCity
:[],
tripDay
:[],
dates
:[],
},
/**
...
...
@@ -71,9 +83,87 @@ Page({
*/
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'
);
City
.
getCityList
();
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
)
{
console
.
log
(
val
.
detail
);
...
...
@@ -97,13 +187,12 @@ Page({
},
// 获取主题标签
getThemeTag
()
{
let
tagmsg
=
{
let
tagmsg
=
{
name
:
'theme'
,
code
:
1
,
}
let
that
=
this
;
app
.
$api
(
'travel_get_GetTravelPriceTag'
,
tagmsg
).
then
(
res
=>
{
console
.
log
(
res
);
let
ThemeTagList
=
res
;
ThemeTagList
.
forEach
(
item
=>
{
item
.
show
=
0
;
...
...
@@ -113,19 +202,47 @@ Page({
})
}).
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
);
let
listmsg
=
that
.
data
.
listmsg
;
let
tag
=
e
.
target
.
dataset
.
tag
;
let
index
=
e
.
target
.
dataset
.
index
;
let
priceTag
=
that
.
data
.
listmsg
.
priceTag
;
let
ThemeTagList
=
that
.
data
.
ThemeTagList
;
priceTag
=
[];
priceTag
=
[];
that
.
setData
({
listmsg
:
listmsg
})
ThemeTagList
.
forEach
(
item
=>
{
item
.
SNO
=
0
;
})
...
...
@@ -133,7 +250,7 @@ Page({
priceTag
.
push
(
tag
.
ID
);
that
.
data
.
listmsg
.
priceTag
=
priceTag
;
priceTag
.
forEach
(
tag
=>
{
ThemeTagList
.
forEach
(
item
=>
{
ThemeTagList
.
forEach
(
item
=>
{
if
(
tag
==
item
.
ID
)
{
item
.
SNO
=
-
1
;
}
...
...
@@ -143,13 +260,33 @@ Page({
ThemeTagList
:
ThemeTagList
,
listmsg
:
listmsg
})
console
.
log
(
"listmsg"
,
listmsg
);
}
th
is
.
GetList
();
th
at
.
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({
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh
:
function
()
{
wx
.
stopPullDownRefresh
();
},
/**
* 页面上拉触底事件的处理函数
*/
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
();
},
/**
...
...
pages/freeTravel/freeList/freeList.json
View file @
66b8cbde
{
"navigationBarTitleText"
:
"
首页
"
,
"navigationBarTitleText"
:
"
自由行
"
,
"usingComponents"
:
{
"search"
:
"/component/Search/search"
}
...
...
pages/freeTravel/freeList/freeList.wxml
View file @
66b8cbde
...
...
@@ -2,17 +2,22 @@
<search id="CityComp" bind:ChangeSite="ChangeSite"></search>
<view class="ListView">
<view class="PxView">
<view class="jView"
bindtap='PXClick
'>
综合
排序
<view class="jView"
data-type="{{0}}" bindtap='changeOrderType
'>
综合
<!-- <image src="/images/group/bx.png"></image> -->
</view>
<view class="jView">
时间
<image src="/images/group/bx.png"></image>
<view class="jView" data-type="{{1}}" bindtap='changeOrderType'>
团期
<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 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 bindtap='ScreenOpen' class="SView">
筛选
...
...
@@ -20,36 +25,36 @@
</view>
</view>
<scroll-view 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="{{1}}" data-tag="{{item}}" wx:key="index" wx:for="{{ThemeTagList}}" class="
ScrollActive scroll-view-item
">{{item.Content}}</view>
<scroll-view
wx:if="{{ThemeTagList.length>0}}"
scroll-x class="scroll-header">
<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="
{{item.SNO==-1?'ScrollActive scroll-view-item':'scroll-view-item'}}
">{{item.Content}}</view>
</scroll-view>
<!-- 列表数据 -->
<view class="ListItem">
<view class="ListItem"
wx:for="{{datalist}}" wx:key="index"
>
<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 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 class="f22" style="color:#888888;padding:15rpx 0">
<image style="width:18rpx;height:22rpx" src="/images/group/adress.png"></image>
出发地:成都
<image style="width:22rpx;height:22rpx" src="/images/group/tuan.png"></image>
最近团期:2019-08-90
出发地:{{item.startCityName}}
</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 class="f22" style="color:#888888;padding-top:15rpx">
<image style="width:22rpx;height:22rpx" src="/images/group/p.png"></image>
<text>余位:充足</text>
<text class="cee f40" style="float:right;position:relative;top:-20rpx">¥1900</text>
<view class="f22" style="color:#888888;padding-top:15rpx;text-align:right">
<text class="cee f40" style="position:relative;top:-20rpx">¥{{isLogin!=1 ? item.b2CPrice : item.b2BPrice}}</text>
</view>
</view>
</view>
<view class='Nodataview' wx:if='{{noData}}'>
<text>没有更多数据</text>
</view>
</view>
<!-- 筛选条件 -->
<view bindtap='ClosePXView' data-target="self" class="Condition" hidden="{{!StopResh}}">
...
...
@@ -60,52 +65,46 @@
<view>销量从高到低</view>
</view>
</view>
<!-- 筛选多条件 -->
<view bindtap='CloseScreen' data-target="self" class="screen"
hidden="{{!ScreenStatus}}"
>
<!-- 筛选多条件
hidden="{{!ScreenStatus}}"
-->
<view bindtap='CloseScreen' data-target="self" class="screen" >
<view>
<view class="title">
系列
</view>
<view class="title">
线路
</view>
<view class="xl">
<text>本州 147升级版</text>
<text>希尔顿假期系列</text>
<text>希尔顿假期系列</text>
<text>小王子x列</text>
<text bindtap="ChangeLine" data-id="{{0}}" class="{{listmsg.lineTeamId==0?'Msgactive':''}}">不限</text>
<text bindtap="ChangeLine" data-id="{{item.id}}" class="{{listmsg.lineTeamId==item.id?'Msgactive':''}}" wx:key="index" wx:for="{{lineTeam}}">{{item.name}}</text>
</view>
<view class="title">出发日期</view>
<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">
{{listmsg.startDate}}
</view>
</picker>
<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">
{{listmsg.endDate}}
</view>
</picker>
</view>
<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 class="title">出发城市</view>
<view class='MonthList' style="margin-top:25rpx">
<text>成都</text>
<text>成都</text>
<text>成都</text>
<text>成都</text>
<text>成都</text>
<text>成都</text>
<text>不限</text>
<text wx:key="index" wx:for="{{startCity}}">{{item.startCityName}}</text>
</view>
<view class="title">行程天数</view>
<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 class="title">价格区间</view>
<
!-- <
view class="title">价格区间</view>
<view class="PriceView">
<input placeholder="
2000" placeholder-style="text-align:center"
/>
<input placeholder="
最低价" style="text-align:center"
/>
<text style="padding:0 15rpx">-</text>
<input placeholder="最高价"
placeholder-
style="text-align:center" />
</view>
<input placeholder="最高价" style="text-align:center" />
</view>
-->
<view class="btnView">
<view>重置</view>
<view style="background:#EE4454;color:#fff;border:none">确定</view>
...
...
pages/freeTravel/freeList/freeList.wxss
View file @
66b8cbde
.PxView .jView image {
width: 16rpx;
height: 8rpx;
position: relative;
top: -5rpx;
}
.Msgactive{
background: #EE4454!important;
color: #fff;
}
.PxView>view {
display: inline-block;
font-size: 28rpx;
...
...
@@ -16,6 +22,7 @@
.PxView .SView image {
width: 22rpx;
height: 22rpx;
}
.scroll-header {
...
...
@@ -124,18 +131,22 @@
margin-right: 30rpx;
}
.screen .picker{
width:
296rpx
;
width:
100%
;
height:54rpx;
line-height:54rpx;
background:rgba(242,242,242,1);
border-radius:27rpx;
display: inline-block;
font-size: 22rpx;
text-align: center;
}
.screen .DatePicker{
display: flex;
/* display: flex; */
margin-top:15rpx;
}
.screen .pcikerView{
display: inline-block;
width: 280rpx;
}
.MonthList{
...
...
pages/local/localhome.js
View file @
66b8cbde
...
...
@@ -26,11 +26,19 @@ Page({
toView
:
color
})
},
ChangeSite
(
val
)
{
console
.
log
(
val
.
detail
);
this
.
setData
({
site
:
val
.
detail
})
this
.
onLoad
();
},
onLoad
:
function
(
options
)
{
let
City
=
this
.
selectComponent
(
'#CityComp'
);
City
.
getCityList
();
this
.
GetLine
();
},
ChangeSite
(
val
)
{
this
.
setData
({
site
:
val
.
detail
...
...
project.config.json
View file @
66b8cbde
...
...
@@ -19,6 +19,8 @@
"hidedInDevtools"
:
[]
},
"isGameTourist"
:
false
,
"simulatorType"
:
"wechat"
,
"simulatorPluginLibVersion"
:
{},
"condition"
:
{
"search"
:
{
"current"
:
-1
,
...
...
sitemap.json
0 → 100644
View file @
66b8cbde
{
"desc"
:
"关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html"
,
"rules"
:
[{
"action"
:
"allow"
,
"page"
:
"*"
}]
}
\ No newline at end of file
utils/util.js
View file @
66b8cbde
...
...
@@ -8,6 +8,16 @@ const formatTime = date => {
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
)
=>
{
var
oDate1
=
new
Date
(
date1
);
var
oDate2
=
new
Date
(
date2
);
...
...
@@ -26,4 +36,5 @@ const formatNumber = n => {
module
.
exports
=
{
formatTime
:
formatTime
,
CompareDate
:
CompareDate
,
YYMMDD
:
YYMMDD
,
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment