Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jz_Travel
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
zhengke
jz_Travel
Commits
65847ca0
Commit
65847ca0
authored
May 31, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/zk123/jz_travel
parents
64bac0a3
6c3b510f
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
850 additions
and
677 deletions
+850
-677
style1.vue
components/goods/style1.vue
+27
-3
style2.vue
components/goods/style2.vue
+26
-3
style3.vue
components/goods/style3.vue
+25
-2
style4.vue
components/goods/style4.vue
+25
-2
style5.vue
components/goods/style5.vue
+27
-4
style6.vue
components/goods/style6.vue
+165
-133
style7.vue
components/goods/style7.vue
+25
-6
hotel-good.vue
pages/hotel/components/hotel-good.vue
+77
-46
range-slider.vue
pages/hotel/components/range-slider.vue
+6
-0
room-good.vue
pages/hotel/components/room-good.vue
+63
-40
detail.vue
pages/hotel/detail.vue
+162
-134
list.vue
pages/hotel/list.vue
+200
-193
picture.vue
pages/hotel/picture.vue
+22
-111
No files found.
components/goods/style1.vue
View file @
65847ca0
...
...
@@ -34,10 +34,11 @@
:src=
"item.picUrl"
/>
<div
class=
"good-info"
>
<div
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</div>
<div
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
1
</div>
<view
class=
"good-sub-name"
>
{{
item
.
subname
}}
</view>
<div
class=
"good-price-info"
>
<span
class=
"price"
:style=
"
{ color: mainColor }">
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
price
)
:
''
}}
<
span
style=
'text-decoration: line-through;margin-left: 10px;font-size: 10px;color: gray;font-family: aa;'
>
原价:
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
OriginalPrice
)
:
''
}}
</span
>
<
!--
<span
style=
'text-decoration: line-through;margin-left: 10px;font-size: 10px;color: gray;font-family: aa;'
>
原价:
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
OriginalPrice
)
:
''
}}
</span>
--
>
</span>
<span
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
...
...
@@ -92,7 +93,30 @@ export default {
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
//线路
if
(
item
.
goodType
==
4
)
{
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_LineDetail?tcid="
+
item
.
id
+
'&configId='
+
item
.
subid
});
}
//酒店
else
if
(
item
.
goodType
==
1
)
{
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
item
.
id
});
}
//餐食
else
if
(
item
.
goodType
==
2
)
{
uni
.
navigateTo
({
url
:
'/pages/restaurant/detail?id='
+
item
.
id
});
}
//景点
else
if
(
item
.
goodType
==
3
)
{
uni
.
navigateTo
({
url
:
'/pages/ticketCoupons/detail?id='
+
item
.
id
});
}
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
...
...
components/goods/style2.vue
View file @
65847ca0
...
...
@@ -32,8 +32,8 @@
</view>
</view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-sub-name"
>
这里的小文字介绍一点特色...
</view>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
2
</view>
<view
class=
"good-sub-name"
>
{{
item
.
subname
}}
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
>
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
price
)
:
''
}}
...
...
@@ -92,7 +92,30 @@ export default {
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
//线路
if
(
item
.
goodType
==
4
)
{
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_LineDetail?tcid="
+
item
.
id
+
'&configId='
+
item
.
subid
});
}
//酒店
else
if
(
item
.
goodType
==
1
)
{
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
item
.
id
});
}
//餐食
else
if
(
item
.
goodType
==
2
)
{
uni
.
navigateTo
({
url
:
'/pages/restaurant/detail?id='
+
item
.
id
});
}
//景点
else
if
(
item
.
goodType
==
3
)
{
uni
.
navigateTo
({
url
:
'/pages/ticketCoupons/detail?id='
+
item
.
id
});
}
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
...
...
components/goods/style3.vue
View file @
65847ca0
...
...
@@ -32,7 +32,7 @@
</div>
</div>
<div
class=
"good-info"
>
<div
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</div>
<div
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
3
</div>
<div
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
<span>
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
price
)
:
''
}}
</span>
...
...
@@ -92,7 +92,30 @@ export default {
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
//线路
if
(
item
.
goodType
==
4
)
{
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_LineDetail?tcid="
+
item
.
id
+
'&configId='
+
item
.
subid
});
}
//酒店
else
if
(
item
.
goodType
==
1
)
{
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
item
.
id
});
}
//餐食
else
if
(
item
.
goodType
==
2
)
{
uni
.
navigateTo
({
url
:
'/pages/restaurant/detail?id='
+
item
.
id
});
}
//景点
else
if
(
item
.
goodType
==
3
)
{
uni
.
navigateTo
({
url
:
'/pages/ticketCoupons/detail?id='
+
item
.
id
});
}
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
...
...
components/goods/style4.vue
View file @
65847ca0
...
...
@@ -20,7 +20,7 @@
<view
class=
"tips"
v-if=
"goodsInfo.showGoodsTag"
><image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width: 100%;"
/></view>
<view
class=
"img-box"
><image
style=
"width: 100%; height: 100%;"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/></view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
4
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
price
)
:
''
}}
</view>
<view
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
...
...
@@ -73,7 +73,30 @@ export default {
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
//线路
if
(
item
.
goodType
==
4
)
{
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_LineDetail?tcid="
+
item
.
id
+
'&configId='
+
item
.
subid
});
}
//酒店
else
if
(
item
.
goodType
==
1
)
{
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
item
.
id
});
}
//餐食
else
if
(
item
.
goodType
==
2
)
{
uni
.
navigateTo
({
url
:
'/pages/restaurant/detail?id='
+
item
.
id
});
}
//景点
else
if
(
item
.
goodType
==
3
)
{
uni
.
navigateTo
({
url
:
'/pages/ticketCoupons/detail?id='
+
item
.
id
});
}
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
...
...
components/goods/style5.vue
View file @
65847ca0
...
...
@@ -24,11 +24,11 @@
</view>
</view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-sub-name"
>
这里的小文字介绍一点特色一类...
</view>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
5
</view>
<view
class=
"good-sub-name"
>
{{
item
.
subname
}}
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
<view
class=
"good-sub-name"
style=
"flex:1;"
>
1天·共3个观光点
</view>
<view
class=
"good-sub-name"
style=
"flex:1;"
>
{{
item
.
thirdname
}}
</view>
<span
style=
"color: #111;"
>
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
price
)
:
''
}}
</span>
...
...
@@ -83,7 +83,30 @@ export default {
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
//线路
if
(
item
.
goodType
==
4
)
{
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_LineDetail?tcid="
+
item
.
id
+
'&configId='
+
item
.
subid
});
}
//酒店
else
if
(
item
.
goodType
==
1
)
{
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
item
.
id
});
}
//餐食
else
if
(
item
.
goodType
==
2
)
{
uni
.
navigateTo
({
url
:
'/pages/restaurant/detail?id='
+
item
.
id
});
}
//景点
else
if
(
item
.
goodType
==
3
)
{
uni
.
navigateTo
({
url
:
'/pages/ticketCoupons/detail?id='
+
item
.
id
});
}
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
...
...
components/goods/style6.vue
View file @
65847ca0
<
template
>
<view
style=
"padding: 12px; padding-bottom: 0;width:100%;"
:style=
"
{
<view
style=
"padding: 12px; padding-bottom: 0;width:100%;"
:style=
"
{
'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}"
>
<view
class=
"good-four"
v-for=
"(item, gli) in goodList"
:key=
"gli"
@
click=
"openGood(item)"
:style=
"
{
}">
<view
class=
"good-four"
v-for=
"(item, gli) in goodList"
:key=
"gli"
@
click=
"openGood(item)"
:style=
"
{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
}"
>
<view
class=
"tips"
v-if=
"goodsInfo.showGoodsTag"
><image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width: 100%;"
/></view>
<view
class=
"img-box"
><image
style=
"width: 100%; height: 100%;"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/></view>
}">
<view
class=
"tips"
v-if=
"goodsInfo.showGoodsTag"
>
<image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width: 100%;"
/>
</view>
<view
class=
"img-box"
>
<image
style=
"width: 100%; height: 100%;"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/>
</view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
6
</view>
<view
class=
"good-sub-name"
>
{{
item
.
subname
}}
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
price
)
:
''
}}
<
span
style=
'text-decoration: line-through;margin-left: 10px;font-size: 10px;color: gray;font-family: aa;'
>
原价:
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
OriginalPrice
)
:
''
}}
</span
>
<
!--
<span
style=
'text-decoration: line-through;margin-left: 10px;font-size: 10px;color: gray;font-family: aa;'
>
原价:
{{
goodsInfo
.
showGoodsPrice
?
getPrice
(
item
.
OriginalPrice
)
:
''
}}
</span>
--
>
</view>
<view
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
<u-icon
name=
"add-o"
size=
"40"
:color=
"mainColor"
v-else-if=
"goodsInfo.buyBtn == 'add'"
/>
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"
`backgroundColor:$
{goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else
>
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4" :shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else>
{{
goodsInfo
.
buyBtnText
}}
</u-button>
</view>
...
...
@@ -52,9 +41,9 @@
</
template
>
<
script
>
import
goodSku
from
'../goods/goodsku'
;
import
auth
from
'@/components/auth/index.vue'
;
export
default
{
import
goodSku
from
'../goods/goodsku'
;
import
auth
from
'@/components/auth/index.vue'
;
export
default
{
components
:
{
goodSku
,
auth
...
...
@@ -75,7 +64,30 @@ export default {
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
//线路
if
(
item
.
goodType
==
4
)
{
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_LineDetail?tcid="
+
item
.
id
+
'&configId='
+
item
.
subid
});
}
//酒店
else
if
(
item
.
goodType
==
1
)
{
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
item
.
id
});
}
//餐食
else
if
(
item
.
goodType
==
2
)
{
uni
.
navigateTo
({
url
:
'/pages/restaurant/detail?id='
+
item
.
id
});
}
//景点
else
if
(
item
.
goodType
==
3
)
{
uni
.
navigateTo
({
url
:
'/pages/ticketCoupons/detail?id='
+
item
.
id
});
}
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
...
...
@@ -99,11 +111,11 @@ export default {
this
.
showAuth
=
false
;
}
}
};
};
</
script
>
<
style
>
.good-four
{
.good-four
{
position
:
relative
;
margin-bottom
:
14px
;
display
:
flex
;
...
...
@@ -113,20 +125,23 @@ export default {
box-sizing
:
border-box
;
padding
:
0
1px
1px
0
;
overflow
:
hidden
;
}
.good-four
.tips
{
}
.good-four
.tips
{
width
:
64
rpx
;
height
:
64
rpx
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
4
;
}
.good-four
.img-box
{
}
.good-four
.img-box
{
width
:
100px
;
height
:
100px
;
}
.good-four
.good-info
{
}
.good-four
.good-info
{
padding
:
12px
;
flex
:
1
;
width
:
1
rpx
;
...
...
@@ -135,8 +150,9 @@ export default {
display
:
flex
;
flex-direction
:
column
;
/* width:20%; */
}
.good-four
.good-info
.good-name
{
}
.good-four
.good-info
.good-name
{
font-size
:
13px
;
height
:
34px
;
overflow
:
hidden
;
...
...
@@ -144,25 +160,41 @@ export default {
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
}
.good-four
.good-info
.good-price-info
{
}
.good-four
.good-info
.good-price-info
{
display
:
flex
;
justify-items
:
center
;
align-items
:
flex-end
;
height
:
22px
;
flex
:
1
;
padding-bottom
:
10
rpx
;
}
.good-four
.good-info
.good-price-info
.price
{
}
.good-four
.good-info
.good-price-info
.price
{
color
:
#ff4544
;
flex
:
1
;
font-size
:
14px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.good-four
.good-info
.good-price-info
.buy
{
}
.good-four
.good-info
.good-price-info
.buy
{
width
:
24px
;
text-align
:
right
;
}
}
.
.good-four
.good-info
.good-sub-name
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
/* -webkit-line-clamp: 2;
-webkit-box-orient: vertical; */
white-space
:
nowrap
;
margin-bottom
:
10
rpx
;
font-size
:
22
rpx
;
color
:
#999999
;
/* height: 37px; */
}
</
style
>
components/goods/style7.vue
View file @
65847ca0
...
...
@@ -24,8 +24,8 @@
<image
class=
"img-2"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/>
</view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"sencond-title"
>
这里的小文字介绍一点特色一类...
</view>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
7
</view>
<view
class=
"sencond-title"
>
{{
item
.
subname
}}
</view>
<view
class=
"good-price-info"
>
<view>
<u-rate
...
...
@@ -96,10 +96,29 @@ export default {
},
methods
:
{
openGood
(
item
)
{
if
(
this
.
IsEducation
==
1
){
uni
.
navigateTo
({
url
:
'/pages/school/courseInfo?GoodsId='
+
item
.
id
});
}
else
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
//线路
if
(
item
.
goodType
==
4
)
{
uni
.
navigateTo
({
url
:
"/pages/jiuzhai/jz_LineDetail?tcid="
+
item
.
id
+
'&configId='
+
item
.
subid
});
}
//酒店
else
if
(
item
.
goodType
==
1
)
{
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
item
.
id
});
}
//餐食
else
if
(
item
.
goodType
==
2
)
{
uni
.
navigateTo
({
url
:
'/pages/restaurant/detail?id='
+
item
.
id
});
}
//景点
else
if
(
item
.
goodType
==
3
)
{
uni
.
navigateTo
({
url
:
'/pages/ticketCoupons/detail?id='
+
item
.
id
});
}
},
showSkuHandler
(
g
)
{
...
...
pages/hotel/components/hotel-good.vue
View file @
65847ca0
<
template
>
<view
class=
"hotel-list-item"
>
<view>
<view
class=
"hotel-list-item"
v-for=
"(item,index) in HotelList"
:key=
"index"
@
click=
"goHotelDetail(item.HotelId)"
>
<view
class=
"img-box"
>
<image
src=
"http://imgfile.oytour.com/Upload/DMC/202105251114114560000000058.pn
g"
mode=
"aspectFill"
></image>
<image
:src=
"item.CoverIm
g"
mode=
"aspectFill"
></image>
</view>
<view
class=
"hotel-info"
>
<view
class=
"hotel-name"
>
乐山禅驿·嘉定院子酒店
</view>
<view
class=
"hotel-name"
>
{{
item
.
HotelName
}}
</view>
<view
class=
"hotel-start"
>
<!-- TODO:判定是否为星级酒店,如果是显示星级,不是,显示另外一种方式 -->
<view
class=
"rate"
v-if=
"hotelType==0
"
>
<u-rate
active-color=
"#FEB969"
inactive-color=
"#FFF"
current=
"4
"
active-icon=
"star"
inactive-icon=
"star"
disabled
></u-rate>
<text
style=
"margin-left: 20rpx;vertical-align: top;"
>
四星
</text>
<view
class=
"rate"
v-if=
"item.Star>=1&&item.Star
<
=
5
"
>
<u-rate
active-color=
"#FEB969"
inactive-color=
"#FFF"
:current=
"item.Star
"
active-icon=
"star"
inactive-icon=
"star"
disabled
></u-rate>
<text
style=
"margin-left: 20rpx;vertical-align: top;"
>
{{
item
.
StarName
}}
</text>
</view>
<view
class=
"other-rate"
v-if=
"hotelType==1
"
>
<view
class=
"other-rate"
v-if=
"item.Star==9
"
>
<text>
温泉酒店
</text>
<span
class=
"line"
></span>
</view>
<view
class=
"other-rate"
v-if=
"hotelType==2
"
>
<view
class=
"other-rate"
v-if=
"item.Star==8
"
>
<text>
精选民宿
</text>
<span
class=
"line"
></span>
</view>
</view>
<view
class=
"localtion"
>
距该酒店直线4.1公里·近九寨千古情景区·沟口
</view>
<view
class=
"localtion"
>
{{
item
.
Address
}}
</view>
<view>
<u-tag
text=
"亲子设施"
bg-color=
"#FFF"
border-color=
"#DFBE6E"
color=
"#DFBE6E"
size=
"mini"
></u-tag>
<u-tag
v-for=
"(subItem,subIndex) in item.TagList"
:key=
"subIndex"
style=
"margin-right:10rpx;"
:text=
"subItem"
bg-color=
"#FFF"
border-color=
"#DFBE6E"
color=
"#DFBE6E"
size=
"mini"
></u-tag>
</view>
<view
class=
"price"
>
<text>
¥
</text>
<text
class=
"money"
>
599
</text>
<text
class=
"money"
>
{{
item
.
B2BPrice
}}
</text>
<text>
起
</text>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:{
hotelType
:{
type
:
Number
,
default
:
0
props
:
{
HotelList
:
{
type
:
Array
,
default
:
null
},
dayObj
:{
type
:
Object
,
default
:
null
}
},
data
()
{
...
...
@@ -46,32 +53,47 @@
key
:
value
}
},
created
()
{
console
.
log
(
this
.
HotelList
,
'hotel'
);
},
methods
:{
goHotelDetail
(
id
){
let
myDayObj
=
JSON
.
stringify
(
this
.
dayObj
);
uni
.
navigateTo
({
url
:
"/pages/hotel/detail?id="
+
id
+
'&dayObj='
+
myDayObj
});
}
}
}
</
script
>
<
style
>
.hotel-list-item
{
.hotel-list-item
{
margin
:
30
rpx
30
rpx
0
30
rpx
;
padding-bottom
:
30
rpx
;
border-bottom
:
1
rpx
solid
#E2E2E2
;
display
:
flex
;
align-items
:
center
;
}
.hotel-list-item
.img-box
{
.hotel-list-item
.img-box
{
width
:
220
rpx
;
height
:
280
rpx
;
border-radius
:
20
rpx
;
overflow
:
hidden
;
margin-right
:
30
rpx
;
}
.hotel-list-item
.img-box
image
{
.hotel-list-item
.img-box
image
{
width
:
100%
;
}
.hotel-list-item
.hotel-info
{
.hotel-list-item
.hotel-info
{
width
:
1px
;
flex
:
1
;
}
.hotel-list-item
.hotel-info
.hotel-name
{
.hotel-list-item
.hotel-info
.hotel-name
{
font-weight
:
500
;
color
:
#111111
;
line-height
:
30
rpx
;
...
...
@@ -80,27 +102,33 @@
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.hotel-list-item
.hotel-info
.hotel-start
{
margin
:
10
rpx
0
;
.hotel-list-item
.hotel-info
.hotel-start
{
margin
:
20
rpx
0
;
}
.hotel-list-item
.hotel-info
.hotel-start
.rate
{
.hotel-list-item
.hotel-info
.hotel-start
.rate
{
font-size
:
30
rpx
;
font-weight
:
500
;
color
:
#999999
;
line-height
:
30
rpx
;
}
.hotel-list-item
.hotel-info
.hotel-start
.other-rate
{
.hotel-list-item
.hotel-info
.hotel-start
.other-rate
{
display
:
inline-block
;
position
:
relative
;
}
.hotel-list-item
.hotel-info
.hotel-start
.other-rate
text
{
position
:
relative
;
z-index
:
2
;
.hotel-list-item
.hotel-info
.hotel-start
.other-rate
text
{
position
:
relative
;
z-index
:
2
;
font-size
:
30
rpx
;
line-height
:
30
rpx
;
font-weight
:
500
;
color
:
#111
;
}
.hotel-list-item
.hotel-info
.hotel-start
.other-rate
.line
{
.hotel-list-item
.hotel-info
.hotel-start
.other-rate
.line
{
background-color
:
#DFBE6E
;
height
:
6px
;
bottom
:
2px
;
...
...
@@ -109,7 +137,8 @@
position
:
absolute
;
z-index
:
1
;
}
.hotel-list-item
.hotel-info
.localtion
{
.hotel-list-item
.hotel-info
.localtion
{
font-size
:
24
rpx
;
font-weight
:
400
;
color
:
#999999
;
...
...
@@ -123,14 +152,16 @@
-webkit-box-orient
:
vertical
;
margin-bottom
:
10
rpx
;
}
.hotel-list-item
.hotel-info
.price
{
.hotel-list-item
.hotel-info
.price
{
margin-top
:
10
rpx
;
font-weight
:
500
;
color
:
#FF3166
;
font-size
:
20
rpx
;
text-align
:
right
;
}
.hotel-list-item
.hotel-info
.price
.money
{
.hotel-list-item
.hotel-info
.price
.money
{
font-size
:
36
rpx
;
}
</
style
>
pages/hotel/components/range-slider.vue
View file @
65847ca0
...
...
@@ -309,6 +309,12 @@ export default {
that
.
minBlockLeft
=
minBlockLeft
;
that
.
maxBlockLeft
=
maxBlockLeft
;
},
_getMaxLength
()
{
var
that
=
this
;
var
MAX_LENGTH
=
that
.
width
-
that
.
blockSize
;
return
MAX_LENGTH
;
},
/**
* 刷新整个视图
*/
...
...
pages/hotel/components/room-good.vue
View file @
65847ca0
<
template
>
<view
class=
"room-good"
>
<view>
<view
class=
"room-good"
v-for=
"(item,index) in RoomList"
>
<view
class=
"rm-left"
>
<image
src=
"https://ak-d.tripcdn.com/images/0206l120008hti7x86A59_R_1080_808_R5_D.jpg"
mode=
"aspectFill"
>
</image>
<view
class=
"mark"
>
12
</view>
</view>
<view
class=
"rm-right"
>
<view
class=
"room-name"
>
藏韵高级双床房
</view>
<view
class=
"room-name"
>
{{
item
.
RoomName
}}
</view>
<view
class=
"f11"
>
<text
class=
"king"
style=
"margin-right: 14rpx;"
>
含早餐
</text>
<text>
1.5m大床 2人入住 24㎡ 有窗
</text>
<text
class=
"king"
style=
"margin-right: 14rpx;"
>
{{
item
.
BreakfastTypeStr
}}
</text>
<text>
{{
item
.
BedTypeStr
}}
{{
item
.
ServiceNumber
}}
人入住
{{
item
.
RoomSize
}}
㎡
{{
item
.
HasWindowStr
}}
</text>
</view>
<viwe
class=
"give f11
"
>
免费专辑接机 + 送沟口 + 1张情景演出票
<viwe
class=
"give f11"
v-if=
"item.Description
"
>
{{
item
.
Description
}}
</viwe>
<view
class=
"f11 king"
style=
"margin-top:15rpx;"
>
入住当天18:00前可免费取消
</view>
<view
class=
"f11 king"
style=
"margin-top:15rpx;"
>
{{
item
.
IsCancelStr
}}
</view>
<view
class=
"price"
>
<text
class=
"f11"
style=
"margin-right: 10rpx;"
>
¥
</text>
<text>
889
</text>
<text>
{{
item
.
B2BPrice
}}
</text>
</view>
</view>
<view
class=
"rm-opera
"
>
<view
class=
"rm-opera"
v-if=
"item.Inventory>0&&item.Inventory
<5
"
>
<!-- 如果库存少于5显示 -->
<view
class=
"warm-count"
>
剩2
间
</view>
<view
class=
"warm-count"
>
剩
{{
item
.
Inventory
}}
间
</view>
<view
class=
"buy"
@
click=
"previewOrder"
>
<view
class=
"buy-content"
>
抢
</view>
<view
class=
"buy-tips"
>
在线订
</view>
</view>
</view>
<view
class=
"rm-opera"
v-if=
"item.Inventory==0"
>
<view
class=
"buy disabled"
>
<view
class=
"buy-content"
>
抢
</view>
<view
class=
"buy-tips"
>
已抢完
</view>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:
{
RoomList
:
{
type
:
Array
,
default
:
null
}
},
methods
:
{
previewOrder
(){
previewOrder
()
{
uni
.
navigateTo
({
url
:
"/pages/hotel/order"
url
:
"/pages/hotel/order"
})
},
},
...
...
@@ -63,7 +77,8 @@
width
:
1px
;
flex
:
1
;
}
.room-good
.rm-opera
{
.room-good
.rm-opera
{
margin-left
:
10
rpx
;
display
:
flex
;
flex-direction
:
column
;
...
...
@@ -71,14 +86,16 @@
justify-items
:
center
;
align-items
:
center
;
}
.room-good
.rm-opera
.warm-count
{
.room-good
.rm-opera
.warm-count
{
text-align
:
center
;
font-size
:
18
rpx
;
font-weight
:
500
;
color
:
#111111
;
margin-bottom
:
10
rpx
;
}
.room-good
.rm-opera
.buy
{
.room-good
.rm-opera
.buy
{
width
:
70
rpx
;
height
:
81
rpx
;
background
:
#FFFFFF
;
...
...
@@ -87,26 +104,31 @@
display
:
flex
;
flex-direction
:
column
;
}
.room-good
.rm-opera
.buy.disabled
{
.room-good
.rm-opera
.buy.disabled
{
background
:
#EBEBEB
;
border
:
2
rpx
solid
#DCDCDC
;
}
.room-good
.rm-opera
.buy.disabled
.buy-tips
{
.room-good
.rm-opera
.buy.disabled
.buy-tips
{
background
:
#A09E9E
;
color
:
#fff
;
}
.room-good
.rm-opera
.buy.disabled
.buy-content
{
.room-good
.rm-opera
.buy.disabled
.buy-content
{
color
:
#A09E9E
;
}
.room-good
.rm-opera
.buy
.buy-tips
{
.room-good
.rm-opera
.buy
.buy-tips
{
height
:
27
rpx
;
background
:
#000000
;
text-align
:
center
;
color
:
#DFBE6E
;
color
:
#DFBE6E
;
font-size
:
18
rpx
;
line-height
:
27
rpx
;
}
.room-good
.rm-opera
.buy
.buy-content
{
.room-good
.rm-opera
.buy
.buy-content
{
height
:
1px
;
flex
:
1
;
text-align
:
center
;
...
...
@@ -117,6 +139,7 @@
font-weight
:
800
;
color
:
#111111
;
}
.room-good
.rm-right
.room-name
{
font-size
:
30
rpx
;
font-weight
:
800
;
...
...
@@ -139,13 +162,13 @@
-webkit-line-clamp
:
2
;
line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
margin-top
:
15
rpx
;
margin-top
:
15
rpx
;
}
.room-good
.rm-right
.price
{
.room-good
.rm-right
.price
{
font-weight
:
800
;
font-size
:
40
rpx
;
color
:
#111
;
color
:
#111
;
}
.room-good
.rm-left
{
...
...
pages/hotel/detail.vue
View file @
65847ca0
This diff is collapsed.
Click to expand it.
pages/hotel/list.vue
View file @
65847ca0
This diff is collapsed.
Click to expand it.
pages/hotel/picture.vue
View file @
65847ca0
...
...
@@ -3,13 +3,13 @@
<scroll-view
scroll-y=
"true"
class=
"hotel-pic"
>
<view
class=
"content"
>
<view
class=
"left"
>
<view
v-for=
"(x,i) in jiList"
:key=
"i"
class=
"image-box"
@
click=
"previewImage(x.
picUrl
)"
>
<image
:src=
"x.
picUrl
"
mode=
"widthFix"
></image>
<view
v-for=
"(x,i) in jiList"
:key=
"i"
class=
"image-box"
@
click=
"previewImage(x.
Path
)"
>
<image
:src=
"x.
Path
"
mode=
"widthFix"
></image>
</view>
</view>
<view
class=
"right"
>
<view
v-for=
"(x,i) in ouList"
:key=
"i"
class=
"image-box"
@
click=
"previewImage(x.
picUrl
)"
>
<image
:src=
"x.
picUrl
"
mode=
"widthFix"
></image>
<view
v-for=
"(x,i) in ouList"
:key=
"i"
class=
"image-box"
@
click=
"previewImage(x.
Path
)"
>
<image
:src=
"x.
Path
"
mode=
"widthFix"
></image>
</view>
</view>
</view>
...
...
@@ -21,126 +21,37 @@
export
default
{
data
()
{
return
{
imageList
:[
{
picUrl
:
"https://ak-d.tripcdn.com/images/200j13000000v60wjE77D_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/t1/hotel/533000/532930/3fcc6398b3c44c08bb1b57aef579793e_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/20010r000000hmqk32EF2_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/200v0f0000007d6wgBCD6_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"http://imgfile.oytour.com/Upload/DMC/202105251114114560000000058.png"
,
type
:
"酒店"
},
{
picUrl
:
"https://dimg07.c-ctrip.com/images/01066120008jk5bcc94AC_C_1600_1200.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/200j13000000v60wjE77D_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/t1/hotel/533000/532930/3fcc6398b3c44c08bb1b57aef579793e_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/20010r000000hmqk32EF2_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/200v0f0000007d6wgBCD6_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"http://imgfile.oytour.com/Upload/DMC/202105251114114560000000058.png"
,
type
:
"酒店"
},
{
picUrl
:
"https://dimg07.c-ctrip.com/images/01066120008jk5bcc94AC_C_1600_1200.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/200j13000000v60wjE77D_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/t1/hotel/533000/532930/3fcc6398b3c44c08bb1b57aef579793e_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/20010r000000hmqk32EF2_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/200v0f0000007d6wgBCD6_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"http://imgfile.oytour.com/Upload/DMC/202105251114114560000000058.png"
,
type
:
"酒店"
},
{
picUrl
:
"https://dimg07.c-ctrip.com/images/01066120008jk5bcc94AC_C_1600_1200.jpg"
,
type
:
"酒店"
},{
picUrl
:
"https://ak-d.tripcdn.com/images/200j13000000v60wjE77D_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/t1/hotel/533000/532930/3fcc6398b3c44c08bb1b57aef579793e_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/20010r000000hmqk32EF2_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"https://ak-d.tripcdn.com/images/200v0f0000007d6wgBCD6_R_1080_808_R5_D.jpg"
,
type
:
"酒店"
},
{
picUrl
:
"http://imgfile.oytour.com/Upload/DMC/202105251114114560000000058.png"
,
type
:
"酒店"
},
{
picUrl
:
"https://dimg07.c-ctrip.com/images/01066120008jk5bcc94AC_C_1600_1200.jpg"
,
type
:
"酒店"
}
],
imageList
:[],
jiList
:[],
ouList
:[],
allImageSrc
:[]
}
},
onLoad
(
options
)
{
if
(
options
.
imgObj
){
this
.
imageList
=
JSON
.
parse
(
options
.
imgObj
);
this
.
getSeperate
();
}
},
created
()
{
uni
.
setNavigationBarTitle
({
title
:
"酒店图片"
,
});
},
mounted
()
{
},
methods
:
{
getSeperate
(){
this
.
imageList
.
forEach
((
x
,
i
)
=>
{
this
.
allImageSrc
.
push
(
x
.
picUrl
)
this
.
allImageSrc
.
push
(
x
.
Path
)
if
(
i
%
2
==
0
){
this
.
jiList
.
push
(
x
)
}
else
{
this
.
ouList
.
push
(
x
)
}
})
console
.
log
(
this
.
jiList
,
this
.
ouList
)
},
mounted
()
{
},
methods
:
{
previewImage
(
src
)
{
uni
.
previewImage
({
urls
:
this
.
allImageSrc
,
...
...
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