Browse Source

提交

master
jiazhipeng 1 year ago
parent
commit
b6336ef76d
  1. 13
      subPackages/hotelHomestay/order.vue
  2. 110
      subPackages/ticketBooking/detail.vue
  3. 2
      subPackages/travelGuide/detail.vue
  4. 25
      subPackages/travelGuide/travelGuide.vue

13
subPackages/hotelHomestay/order.vue

@ -183,10 +183,17 @@
},1000)
}
this.skuInfo = data.skuInfo
this.selectDate = data.selectDate
this.buyNum = 1
this.roomUser = [{name: ''}]
try {
this.phone = JSON.parse(uni.getStorageSync('userInfo')).mobile
} catch(e) {
this.phone = ''
}
},
//
@ -213,9 +220,9 @@
order () {
this.roomUser.forEach(v=>v.name = v.name.trim())
//
if (!this.isTel(this.phone)){
if (!this.IsTel(this.phone)){
uni.showToast({
title: '请输入自提人手机号',
title: '手机号格式校验失败',
icon: 'none'
});
return;
@ -241,7 +248,7 @@
specifications_id: this.skuInfo.id,
start_date: this.selectDate.startDay,
end_date: this.selectDate.endDay,
customer_name: this.roomUser.map(v=>v.name).join(''),
customer_name: this.roomUser.map(v=>v.name).join(','),
// reserve_mobile: this.phone,
}
goods.push(goodsItem)

110
subPackages/ticketBooking/detail.vue

@ -38,33 +38,34 @@
{{info.address}}
</view>
</view>
<view>
<view @click="goMap">
<img style="width: 30rpx;height: 30rpx;" :src="showImg('/uploads/20240827/5b19517f2a630f3a766ea03ac621a3be.png')">
</view>
</view>
</view>
<view class="box-title" v-if="sku.length>0">门票预定</view>
<view class="common-container" v-if="sku.length>0">
<view class="w-full" v-if="sku.length>0">
<view class="scenic-list" v-for="(item, index) in sku" :key="index">
<view class="list-title text-overflow">{{ item.title }}</view>
<view class="scenic-item com-flex-tao" v-for="(itemSku, indexSku) in item.specifications" :key="indexSku">
<view class="w-1rpx flex-1">
<view class="scenic-item " v-for="(itemSku, indexSku) in item.specifications" :key="indexSku">
<view class="w-1rpx flex-1 item-left">
<view class="title text-overflow">{{ itemSku.title }}</view>
<view>
<view class="tags-box">
<view class="tags text-overflow" v-if="itemSku.specifications_new_tag">
<view v-for="(tagSku,tagSkuIndex) in itemSku.specifications_new_tag.split(',').slice(0, 2)"
:key="tagSkuIndex">{{ tagSku }}</view>
</view>
</view>
<view class="bottom com-flex-tao ">
<view class="notice" @click="showSkuInfo(item, itemSku)">
预订须知 >
</view>
<view></view>
</view>
</view>
<view class="item-right com-flex-tao flex-shrink-0">
<view class="item-right flex-shrink-0">
<view class="price">
{{showNoPriceNew(itemSku.price)}}
</view>
@ -84,16 +85,16 @@
<!-- 预订须知的弹窗 -->
<uni-popup ref="popupRule" type="bottom" :safe-area="false">
<view class="popup-content-date" >
<view class="popup-content-title flex">
<view class="popup-content-date flex-column flex" >
<view class="popup-content-title flex flex-shrink-0">
<view class="flex-1 w-1rpx text-overflow">
{{skuInfo.title}}
</view>
<img src="https://static.ticket.sz-trip.com/taizhou/images/cha.png" @click="closePopupRule"
style="width: 31rpx;height: 31rpx;" class="flex-shrink-0">
</view>
<view class="content">
<view class="detail-content" v-html="skuInfo.info"></view>
<view class="content flex-1 h-1rpx no-scrollbar">
<view class="detail-content" v-html="formateRichText(skuInfo.reserve_content)"></view>
</view>
</view>
</uni-popup>
@ -227,6 +228,17 @@
});
},
goMap () {
uni.openLocation({
latitude: Number(this.info.lat),
longitude: Number(this.info.lon),
name: this.info.title,
address: this.info.address,
success: function () {
console.log('success');
}
});
},
showSkuInfo (itemSku,goods) {
this.skuInfo = itemSku
@ -509,11 +521,11 @@
}
.box-title {
margin: 52rpx 0 26rpx 12rpx;
font-family: PingFang;
font-weight: bold;
margin: 60rpx 12rpx 28rpx;
font-size: 37rpx;
color: #000000;
font-family: PingFang SC;
font-weight: bold;
}
.address-icon{
@ -523,31 +535,40 @@
}
.scenic-list{
.list-title {
padding-bottom: 20rpx;
}
.scenic-item {
/* border-top: 1px solid #d9d9d9; */
padding: 20rpx;
text-align: left;
background: rgba(11, 137, 142, .06);
border-radius: 20rpx;
width: 100%;
height: 187rpx;
background: #FFFFFF;
border-radius: 13rpx;
margin-bottom: 20rpx;
padding: 26rpx;
display: flex;
font-family: PingFang SC;
font-weight: 500;
font-size: 23rpx;
color: #666666;
.item-left{
display: flex;
flex-direction: column;
justify-content: space-between;
padding-left: 20rpx;
}
.title {
font-weight: bold;
color: #333333;
width: 100%;
font-family: PingFang SC;
font-weight: bold;
font-size: 31rpx;
color: #000000;
}
.tags-box {
overflow: hidden;
padding-bottom: 6rpx;
.tags {
display: flex;
flex-wrap: nowrap;
flex: 1;
font-weight: 400;
color: #666666;
}
.tags view::after {
content: '丨'
@ -557,35 +578,38 @@
}
}
.item-right {
width: 100rpx;
width: 133rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
justify-content: flex-end;
}
.price {
font-size: 30rpx;
font-weight: 400;
color: #8d8d8d;
font-family: PingFangSC;
font-weight: 500;
color: #d62828;
font-size: 36rpx;
color: #EE3E3B;
}
.price::before {
display: inline-block;
content: "¥";
font-size: 24rpx;
font-weight: 400;
color: #d62828;
font-weight: 500;
color: #EE3E3B;
}
.btn {
width: 100rpx;
height: 60rpx;
background: #0B898E;
border-radius: 20rpx;
margin-top: 20rpx;
width: 133rpx;
height: 53rpx;
background: linear-gradient(270deg, #FD6F34, #F4A61F);
border-radius: 27rpx;
text-align: center;
line-height: 58rpx;
line-height: 53rpx;
font-weight: 500;
font-family: PingFang SC;
font-weight: bold;
font-size: 31rpx;
color: #FFFFFF;
}
}
@ -601,11 +625,15 @@
.popup-content-date {
background-color: white;
padding: 0rpx 39rpx 51rpx 39rpx;
height: auto;
height: 70vh;
border-radius: 20rpx 20rpx 0 0 ;
.popup-content-title{
padding: 20rpx 0;
}
//
.content{
overflow-y: auto;
}
.dateMore{
width: 120rpx;

2
subPackages/travelGuide/detail.vue

@ -35,7 +35,7 @@
<!-- <view class="text-overflow" v-if="info.start_time && info.end_time">时间{{info.start_time}} - {{info.end_time}}</view> -->
</view>
<view class="common-container detail-container">
<view class="" id="cpts" v-html="formateRichText(info.detail)"></view>
<view class="" id="cpts" v-html="formateRichText(info.content)"></view>
</view>

25
subPackages/travelGuide/travelGuide.vue

@ -8,8 +8,8 @@
</view>
<view class="tag-container no-scrollbar">
<view :class="['tag', type_id==0?'active':'']" @click="setTag(0)">全部</view>
<view :class="['tag', type_id==1?'active':'']" v-for="(item,i) in 10" :key="i" @click="setTag(i)">景点</view>
<view :class="['tag', type_id==42?'active':'']" @click="setTag({id: 42})">全部</view>
<view :class="['tag', type_id==item.id?'active':'']" v-for="(item,i) in types" :key="item.id" @click="setTag(item)">{{item.name}}</view>
</view>
<view class="strategy-box box">
@ -50,16 +50,19 @@
},
list: [],
types: [],
showMore: true,
headImg:"https://tongli.sz-trip.com/uploads/20240902/55c5cbe137790323cc719b5c83d5e2e9.png",
type_id: 0,//id
type_id: 42,//id
}
},
onShow() {
this.showMore = true
},
onReady() {
this.type_id = 42
this.getArticleType()
this.getArticleByType()
},
onLoad(options) {
@ -79,19 +82,27 @@
methods: {
setTag (item) {
this.type_id = item
// this.getArticleByType()
this.type_id = item.id
this.list = []
this.getArticleByType()
},
//
getArticleType () {
this.Post({
type_id: this.type_id,
},'/api/article/getType').then(res => {
this.types = res.data || []
})
},
//
getArticleByType() {
this.Post({
type_id: 41,
type_id: this.type_id,
offset: this.list.length,
limit: 10
},'/api/Article/getArticleByType').then(res => {
this.list = [...this.list, ...res.data]
if(res.data.length < 10) this.showMore = false
})
},

Loading…
Cancel
Save