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 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) { viewDetail (item) {
this.goOtherDetail(item)
uni.navigateTo({ uni.navigateTo({
url:'/subPackages/eventCalendar/detail?id='+item.id url:'/subPackages/eventCalendar/detail?id='+item.id
}) })

37
subPackages/search/searchList.vue

@ -7,7 +7,7 @@
<div class="btn" @click="search()">搜索</div> <div class="btn" @click="search()">搜索</div>
</div> </div>
<div class="search-list"> <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"> <p class="search-title">
{{item.title}} {{item.title}}
</p> </p>
@ -34,8 +34,9 @@
ajaxFlag: true, ajaxFlag: true,
types: { types: {
'goods': "商品", 'goods': "商品",
'scenic': "景点", // 'scenic': "",
'article': "文章" 'article': "文章",
'activity':'活动'
}, },
options: {} options: {}
} }
@ -59,34 +60,10 @@
uni.setStorageSync('tz_trip_keyowrds',JSON.stringify(history)) uni.setStorageSync('tz_trip_keyowrds',JSON.stringify(history))
}, },
gotoDetail(item) { gotoDetail(item) {
if (!item) return if (item.type!=='goods') {
// 7 8 9+ 10 11 12 item.search_data.genre = item.type
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;
} }
uni.navigateTo({ this.goDetailByType(item.search_data)
url: url
});
}, },
getList() { getList() {
this.Post({ this.Post({

1
subPackages/techan/techanList.vue

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

11
subPackages/ticketBooking/ticketBooking.vue

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

1
subPackages/travelGuide/travelGuide.vue

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

Loading…
Cancel
Save