Browse Source

公共跳转

master
jiazhipeng 1 year ago
parent
commit
1f6b80a822
  1. 26
      static/js/CommonFunction.js
  2. 1
      subPackages/eventCalendar/eventCalendar.vue
  3. 37
      subPackages/search/searchList.vue
  4. 1
      subPackages/techan/techanList.vue
  5. 11
      subPackages/ticketBooking/ticketBooking.vue
  6. 1
      subPackages/travelGuide/travelGuide.vue

26
static/js/CommonFunction.js

@ -256,3 +256,29 @@ Vue.prototype.goOtherDetail = (item,type) => {
return
}
}
// 根据类型判断详情页
Vue.prototype.goDetailByType=(item)=>{
let urlData = [
{name:'景区门票', url: '/subPackages/ticketBooking/detail',genre:'ticket'},
{name:'酒店民宿',url:'/subPackages/hotelHomestay/detail',genre:'hotel'},
{name:'餐饮美食',url:'/subPackages/food/foodDetail',genre:'food'},
{name:'文创特产',url:'/subPackages/techan/detail',genre:'pgoods'},
{name:'线路推荐',url:'/subPackages/line/detail',genre:'line'},
{name:'游记攻略',url:'/subPackages/travelGuide/detail',genre:'article'},
// {name:'游玩公告',url:'/subPackages/notice/noticeDetail'},
{name:'活动日历',url:'/subPackages/eventCalendar/detail',genre:'activity'}
]
let detailData = urlData.find(v=>v.genre == item.genre)
if (detailData) {
let param = ""
uni.navigateTo({
url: `${detailData.url}?id=${(['ticket','hotel'].includes(detailData.genre)?item.scenic_id:item.id)}`
})
}
}

1
subPackages/eventCalendar/eventCalendar.vue

@ -357,6 +357,7 @@
}
},
viewDetail (item) {
this.goOtherDetail(item)
uni.navigateTo({
url:'/subPackages/eventCalendar/detail?id='+item.id
})

37
subPackages/search/searchList.vue

@ -7,7 +7,7 @@
<div class="btn" @click="search()">搜索</div>
</div>
<div class="search-list">
<div @click="gotoDetail(item.search_data)" v-for="(item, key) in list" :key="item.id" class="search-item">
<div @click="gotoDetail(item)" v-for="(item, key) in list" :key="item.id" class="search-item">
<p class="search-title">
{{item.title}}
</p>
@ -34,8 +34,9 @@
ajaxFlag: true,
types: {
'goods': "商品",
'scenic': "景点",
'article': "文章"
// 'scenic': "",
'article': "文章",
'activity':'活动'
},
options: {}
}
@ -59,34 +60,10 @@
uni.setStorageSync('tz_trip_keyowrds',JSON.stringify(history))
},
gotoDetail(item) {
if (!item) return
// 7 8 9+ 10 11 12
let url = ''
switch (item.type_id){
case 8:
url = '/subPackages/venue/venueDetail?id=' + item.scenic_id
break;
case 11:
url = '/subPackages/line/lineDetail?id=' + item.id
break;
case 9:
url = '/subPackages/oneplus/oneplusDetails?id=' + item.id
break;
case 10:
url = '/subPackages/ticket/ticketDetails?id=' + item.id
break;
case 7:
url = '/subPackages/store/storeInfo?id=' + item.id
break;
case 12:
url = '/subPackages/store/storeInfo?id=' + item.id
break;
default:
break;
if (item.type!=='goods') {
item.search_data.genre = item.type
}
uni.navigateTo({
url: url
});
this.goDetailByType(item.search_data)
},
getList() {
this.Post({

1
subPackages/techan/techanList.vue

@ -47,6 +47,7 @@
})
},
viewDetail(item) {
this.goOtherDetail(item)
uni.navigateTo({
url: '/subPackages/techan/detail?id=' + item.id
})

11
subPackages/ticketBooking/ticketBooking.vue

@ -9,7 +9,7 @@
<view class="goodBox">
<navigator :url="'/subPackages/ticketBooking/detail?id='+item.id" class="goodItem" v-for="(item,index) in list" :key="index">
<view @click="viewDetail(item)" class="goodItem" v-for="(item,index) in list" :key="index">
<image class="left-image" :src="showImg(item.image||'')" mode="aspectFill"></image>
<view class="contentBox flex-column flex-1 w-1rpx">
<view class="title text-overflowRows">{{item.title}}</view>
@ -26,7 +26,7 @@
</view>
</view>
</view>
</navigator>
</view>
</view>
<!-- <view class="finished-text" v-if="finished">没有更多数据了</view> -->
</view>
@ -99,6 +99,13 @@
}
})
},
viewDetail (item) {
this.goOtherDetail(item)
uni.navigateTo({
url:'/subPackages/ticketBooking/detail?id='+item.id
})
},
},
onReachBottom() {
setTimeout(() => {

1
subPackages/travelGuide/travelGuide.vue

@ -111,6 +111,7 @@
this.getArticleByType()
},
viewDetail (item) {
this.goOtherDetail(item)
uni.navigateTo({
url:'/subPackages/travelGuide/detail?id='+item.id
})

Loading…
Cancel
Save