Browse Source

更新

master
zheng_hb 2 months ago
parent
commit
f6caa72f86
8 changed files with 174 additions and 68 deletions
  1. +25
    -1
      api/model/index.js
  2. +6
    -6
      components/active/active-item.vue
  3. +0
    -7
      pages/index/cart.vue
  4. +28
    -22
      pages/index/index.vue
  5. +40
    -14
      pages_my/collection.vue
  6. +33
    -6
      pages_my/travelList.vue
  7. +25
    -8
      pages_order/huodong-detail.vue
  8. +17
    -4
      pages_order/lvyou-detail.vue

+ 25
- 1
api/model/index.js View File

@ -8,7 +8,31 @@ const api = {
url: '/index_common/getBanner', url: '/index_common/getBanner',
method: 'GET', method: 'GET',
}, },
// 获取首页活动列表带分页
activityPageList: {
url: '/index_common/getActivityPageList',
method: 'GET',
},
// 活动详情
activityInfo: {
url: '/index_common/getActivityInfo',
method: 'GET',
},
// 我的收藏
collectPageList: {
url: '/index_common/getCollectPageList',
method: 'GET',
},
// 旅行列表
travelPageList: {
url: '/index_common/getTravelPageList',
method: 'GET',
},
// 旅行详情
travelInfo: {
url: '/index_common/getTravelInfo',
method: 'GET',
},
} }
export default api export default api

+ 6
- 6
components/active/active-item.vue View File

@ -3,17 +3,17 @@
<view class="container" v-for="(item, index) in cardListData" :key="index"> <view class="container" v-for="(item, index) in cardListData" :key="index">
<view class="content" :class="['U','S'].includes(item.state) ? 'content_border' : ''"> <view class="content" :class="['U','S'].includes(item.state) ? 'content_border' : ''">
<view class="left"> <view class="left">
<img :src="item.imgUrl" alt="">
<img :src="item.image" alt="">
</view> </view>
<view class="right"> <view class="right">
<view class="detailed"> <view class="detailed">
<view class="title">{{item.title}}</view> <view class="title">{{item.title}}</view>
<view class="date">{{item.time}}</view>
<view class="date">{{item.startTime}}</view>
<view class="address">{{item.address}}</view> <view class="address">{{item.address}}</view>
</view> </view>
<view class="price"> <view class="price">
<view class="num-box">20/40</view> <view class="num-box">20/40</view>
<view class="btn-box" @click="toDetail">立即报名</view>
<view class="btn-box" @click="toDetail(item)">立即报名</view>
</view> </view>
</view> </view>
</view> </view>
@ -51,9 +51,9 @@
url: '/pages_order/orderDetails' url: '/pages_order/orderDetails'
}) })
}, },
toDetail() {
toDetail({ id }) {
uni.navigateTo({ uni.navigateTo({
url:'/pages_order/huodong-detail'
url:`/pages_order/huodong-detail?activityId=${id}`
}) })
} }
} }
@ -137,10 +137,10 @@
} }
.price { .price {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding-top: 25rpx;
.num-box { .num-box {
font-size: 27rpx; font-size: 27rpx;
color: #fff; color: #fff;


+ 0
- 7
pages/index/cart.vue View File

@ -10,8 +10,6 @@
:inactiveStyle="{color: '#999', transform: 'scale(1)'}" :inactiveStyle="{color: '#999', transform: 'scale(1)'}"
itemStyle="padding-left: 15px; padding-right: 15px; height: 44px;"></uv-tabs> itemStyle="padding-left: 15px; padding-right: 15px; height: 44px;"></uv-tabs>
<!-- </uv-sticky> --> <!-- </uv-sticky> -->
<!-- <button class="mini-btn" size="mini" @click="travelList">旅行列表</button> -->
<!-- <button class="mini-btn" size="mini" @click="activeList">活动列表</button> -->
<cardList :cardListData="cardListData" @btnClick="btnClick" @toOrderDetails="toOrderDetails" /> <cardList :cardListData="cardListData" @btnClick="btnClick" @toOrderDetails="toOrderDetails" />
</view> </view>
<tabber select="cart" /> <tabber select="cart" />
@ -114,11 +112,6 @@
} }
}, },
methods: { methods: {
travelList() {
uni.navigateTo({
url: '/pages_my/travelList'
})
},
activeList() { activeList() {
uni.navigateTo({ uni.navigateTo({
url: '/pages_my/activeList' url: '/pages_my/activeList'


+ 28
- 22
pages/index/index.vue View File

@ -40,7 +40,7 @@
</view> </view>
<image class="hdqd-img" src="@/static/image/home/hd-img.png" mode="widthFix"></image> <image class="hdqd-img" src="@/static/image/home/hd-img.png" mode="widthFix"></image>
</view> </view>
<view class="hd-box lx-box">
<view class="hd-box lx-box" @click="travelList">
<view class="left-box"> <view class="left-box">
<view class="title-box"> <view class="title-box">
旅行 旅行
@ -92,6 +92,12 @@
}, },
data() { data() {
return { return {
params:{
title:'',
pageNo:1,
pageSize:10
},
totalPage:0,
bgColor:'transparent', bgColor:'transparent',
navTitle:'', navTitle:'',
keyword:'', keyword:'',
@ -101,26 +107,7 @@
{ id: 1, name: '往期活动' }, { id: 1, name: '往期活动' },
], ],
lineBg: require('@/static/image/cart/tabIcon.png'), lineBg: require('@/static/image/cart/tabIcon.png'),
cardListData: [
{
imgUrl: 'https://up.zhuoku.org/22/a4/60/50/fc3bd0b4e656911fccdde4383637c1cd.jpg',
orderTime: '2024.08.23 12:00',
state: 'U',
stateText: '待参加',
title: '夏日去撒野旅游计划~',
time: '2024.10.28 10:00',
address: '成都市东丽湖露营地32号',
},
{
imgUrl: 'https://up.zhuoku.org/22/a4/60/50/fc3bd0b4e656911fccdde4383637c1cd.jpg',
orderTime: '2024.08.23 12:00',
state: 'S',
stateText: '已完成',
title: '夏日去撒野旅游计划~',
time: '2024.10.28 10:00',
address: '成都市东丽湖露营地32号',
},
]
cardListData: []
} }
}, },
onPageScroll(e) { onPageScroll(e) {
@ -132,10 +119,24 @@
this.navTitle = '' this.navTitle = ''
} }
}, },
onReachBottom() {
if(this.params.pageNo >= this.totalPage) return
this.params.pageNo ++
this.getActivityPageList()
},
onLoad() { onLoad() {
this.getBanner() this.getBanner()
this.getActivityPageList()
}, },
methods:{ methods:{
getActivityPageList() {
this.$api('activityPageList',this.params,res=>{
if(res.code == 200) {
this.totalPage = res.result.pages
this.cardListData = [...this.cardListData,...res.result.records]
}
})
},
getBanner() { getBanner() {
this.$api('banner',res=>{ this.$api('banner',res=>{
if(res.code == 200) { if(res.code == 200) {
@ -145,7 +146,12 @@
}, },
tabs(val) { tabs(val) {
console.log(val); console.log(val);
}
},
travelList() {
uni.navigateTo({
url: '/pages_my/travelList'
})
},
} }
} }
</script> </script>


+ 40
- 14
pages_my/collection.vue View File

@ -1,26 +1,26 @@
<template> <template>
<view class="invoiceIssuance"> <view class="invoiceIssuance">
<view class="head-box"></view> <view class="head-box"></view>
<Navbar title="订单详情" :autoBack="true" :bgColor="bgColor" leftIconSize="18px" height="100rpx" :leftIconColor="leftIconColor" :titleStyle="{color:fontColor}" />
<Navbar title="我的收藏" :autoBack="true" :bgColor="bgColor" leftIconSize="18px" height="100rpx" :leftIconColor="leftIconColor" :titleStyle="{color:fontColor}" />
<view class="content contentPosition_"> <view class="content contentPosition_">
<view class="info cardStyle_">
<view class="info cardStyle_" v-for="(item, index) in cardListData" :key="index">
<view class="left"> <view class="left">
<image src="https://img0.baidu.com/it/u=4274003247,920124130&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1031" alt="">
<image :src="item.image" alt="">
</view> </view>
<view class="right"> <view class="right">
<view class="detailed"> <view class="detailed">
<view class="title">夏日去撒野旅游计划</view>
<view class="date">2024.10.28 10:00</view>
<view class="address">成都市东丽湖露营地32号</view>
<view class="title">{{item.title}}</view>
<view class="date">{{item.startTime}}</view>
<view class="address">{{item.address}}</view>
</view> </view>
<view class="data"> <view class="data">
<view>12/30</view> <view>12/30</view>
<button class="mini-btn" size="mini">立即报名</button>
<button class="mini-btn" size="mini" @click="toDetail(item)">立即报名</button>
</view> </view>
</view> </view>
<i class="icon"></i> <i class="icon"></i>
</view> </view>
<view class="info cardStyle_">
<!-- <view class="info cardStyle_">
<view class="left"> <view class="left">
<image src="https://img0.baidu.com/it/u=4274003247,920124130&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1031" alt=""> <image src="https://img0.baidu.com/it/u=4274003247,920124130&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1031" alt="">
</view> </view>
@ -32,11 +32,11 @@
</view> </view>
<view class="data"> <view class="data">
<view>12/30</view> <view>12/30</view>
<button class="mini-btn" size="mini">立即报名</button>
<button class="mini-btn" size="mini" @click="toDetail(item)">立即报名</button>
</view> </view>
</view> </view>
<i class="icon"></i> <i class="icon"></i>
</view>
</view> -->
</view> </view>
</view> </view>
</template> </template>
@ -59,16 +59,41 @@
}, },
data() { data() {
return { return {
params:{
pageNo:1,
pageSize:10
},
totalPage: '',
cardListData: []
} }
}, },
onReachBottom() {
if(this.params.pageNo >= this.totalPage) return
this.params.pageNo ++
this.collectPageList()
},
onLoad() {
this.collectPageList()
},
methods: { methods: {
collectPageList() {
this.$api('collectPageList',this.params, res=> {
if(res.code == 200) {
this.totalPage = res.result.pages
this.cardListData = [...this.cardListData,...res.result.records]
}
})
},
toDetail({ id }) {
uni.navigateTo({
url:`/pages_order/huodong-detail?activityId=${id}`
})
}
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.invoiceIssuance { .invoiceIssuance {
// margin-bottom: 500rpx;
.content { .content {
.info { .info {
position: relative; position: relative;
@ -91,14 +116,15 @@
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.mini-btn { .mini-btn {
display: flex;
align-items: center;
margin: 0; margin: 0;
background: linear-gradient(to right, #FE5E5E, #E41522); background: linear-gradient(to right, #FE5E5E, #E41522);
height: 45rpx; height: 45rpx;
line-height: 45rpx;
width: 181rpx; width: 181rpx;
color:#fff; color:#fff;
border-radius: 60rpx; border-radius: 60rpx;
padding-bottom: 5rpx;
padding-bottom: 10rpx;
} }
} }
} }


+ 33
- 6
pages_my/travelList.vue View File

@ -38,18 +38,18 @@
@popupChange="change" @popupChange="change"
></uv-drop-down-popup> ></uv-drop-down-popup>
</view> </view>
<view class="info cardStyle_">
<view class="info cardStyle_" v-for="(item, index) in cardListData" :key="index" @click="toDetail(item)">
<view class="left"> <view class="left">
<image src="https://img0.baidu.com/it/u=4274003247,920124130&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1031" alt="">
<image :src="item.image" alt="">
</view> </view>
<view class="right"> <view class="right">
<view class="detailed"> <view class="detailed">
<view class="title">夏日去撒野旅游计划</view>
<view class="date">2024.10.28 10:00</view>
<view class="address">成都市东丽湖露营地32号</view>
<view class="title">{{item.title}}</view>
<view class="date">{{item.startTime}}</view>
<view class="address">{{item.address}}</view>
</view> </view>
<view class="data"> <view class="data">
<text>¥233.00</text>
<text>¥{{item.price}}</text>
<text>11/40</text> <text>11/40</text>
<text class="btn">已开票</text> <text class="btn">已开票</text>
</view> </view>
@ -93,6 +93,12 @@
}, },
data() { data() {
return { return {
params:{
pageNo:1,
pageSize:10
},
totalPage: '',
cardListData: [],
// value // value
defaultValue: [0, 'all', '0'], defaultValue: [0, 'all', '0'],
// //
@ -138,7 +144,28 @@
} }
} }
}, },
onReachBottom() {
if(this.params.pageNo >= this.totalPage) return
this.params.pageNo ++
this.travelPageList()
},
onLoad() {
this.travelPageList()
},
methods: { methods: {
travelPageList() {
this.$api('travelPageList',this.params, res=> {
if(res.code == 200) {
this.totalPage = res.result.pages
this.cardListData = [...this.cardListData,...res.result.records]
}
})
},
toDetail({ id }) {
uni.navigateTo({
url:`/pages_order/lvyou-detail?travelId=${id}`
})
},
change(e) { change(e) {
console.log('弹窗打开状态:',e); console.log('弹窗打开状态:',e);
}, },


+ 25
- 8
pages_order/huodong-detail.vue View File

@ -5,12 +5,12 @@
<view class="content"> <view class="content">
<view class="content-head"> <view class="content-head">
<image class="image-box" src="https://cdn.uviewui.com/uview/swiper/swiper3.png" mode=""></image>
<image class="image-box" :src="activityDetails.image" mode=""></image>
<view class="msg-box"> <view class="msg-box">
<view class="msg-box-title">泰酷辣-清迈治愈之旅</view>
<view class="msg-box-time">开始时间2024.12.28 10:00</view>
<view class="msg-box-title">{{activityDetails.title}}</view>
<view class="msg-box-time">开始时间{{activityDetails.startTime}}</view>
<view class="msg-box-address"> <view class="msg-box-address">
<view class="msg-box-address-text">活动地址黄金海岸草场浴池中心广场</view>
<view class="msg-box-address-text">活动地址{{activityDetails.address}}</view>
<view class="address-icon"> <view class="address-icon">
<image src="@/static/image/home/address-icon-2.png" mode=""></image> <image src="@/static/image/home/address-icon-2.png" mode=""></image>
<view>导航</view> <view>导航</view>
@ -33,11 +33,17 @@
</view> </view>
<view class="lv-miaoshu"> <view class="lv-miaoshu">
<view class="title-box">活动描述</view> <view class="title-box">活动描述</view>
<view class="value-box">
<view class="value-box">
<view class="uv-content lv-msg-box">
<uv-parse :content="activityDetails.details"></uv-parse>
</view>
</view>
<!-- <view class="value-box">
<view class="lv-msg-box"> <view class="lv-msg-box">
当金黄的落叶轻柔地铺满了小城的每个角落我们知道最温柔的季节已悄然而至在这个收获的季节里我们诚挚邀请您加入我们的秋日私旅 当金黄的落叶轻柔地铺满了小城的每个角落我们知道最温柔的季节已悄然而至在这个收获的季节里我们诚挚邀请您加入我们的秋日私旅
</view> </view>
</view>
</view> -->
<view class="title-box">注意事项</view> <view class="title-box">注意事项</view>
<view class="value-box"> <view class="value-box">
<view class="lv-msg-box"> <view class="lv-msg-box">
@ -48,7 +54,7 @@
</view> </view>
<view class="bottom-box"> <view class="bottom-box">
<view class="price-box"> <view class="price-box">
<view class="peice-val"><text></text>3000</view>
<view class="peice-val"><text></text>{{activityDetails.price}}</view>
<view>报名费用</view> <view>报名费用</view>
</view> </view>
<view class="caozuo-box"> <view class="caozuo-box">
@ -93,6 +99,7 @@
export default{ export default{
data() { data() {
return { return {
activityDetails:null,
btnCustomStyle:{ btnCustomStyle:{
color:'#FF5858' color:'#FF5858'
}, },
@ -123,7 +130,17 @@
this.bgColor = 'transparent' this.bgColor = 'transparent'
} }
}, },
onLoad({activityId}) {
this.activityInfo(activityId)
},
methods:{ methods:{
activityInfo(activityId) {
this.$api('activityInfo',{activityId},res=> {
if(res.code==200) {
this.activityDetails = res.result
}
})
},
toBaoming() { toBaoming() {
this.$refs.popup.open(); this.$refs.popup.open();
}, },
@ -286,7 +303,7 @@
padding: 20rpx 40rpx; padding: 20rpx 40rpx;
font-weight: 400; font-weight: 400;
font-size: 27rpx; font-size: 27rpx;
color: #E6E6E6;
color: #fff;
line-height: 41rpx; line-height: 41rpx;
} }
} }


+ 17
- 4
pages_order/lvyou-detail.vue View File

@ -5,10 +5,10 @@
<view class="content"> <view class="content">
<view class="content-head"> <view class="content-head">
<image class="image-box" src="https://cdn.uviewui.com/uview/swiper/swiper3.png" mode=""></image>
<image class="image-box" :src="travelDetails.image" mode=""></image>
<view class="msg-box"> <view class="msg-box">
<view class="msg-box-title">泰酷辣-清迈治愈之旅</view>
<view class="msg-box-time">开始时间2024.12.28 10:00</view>
<view class="msg-box-title">{{travelDetails.title}}</view>
<view class="msg-box-time">开始时间{{travelDetails.startTime}}</view>
<view class="lingdui-box"> <view class="lingdui-box">
<image class="use-img" src="@/static/image/center/3.png" mode=""></image> <image class="use-img" src="@/static/image/center/3.png" mode=""></image>
<view class="lingdui-msg"> <view class="lingdui-msg">
@ -38,7 +38,7 @@
</view> </view>
<view class="bottom-box"> <view class="bottom-box">
<view class="price-box"> <view class="price-box">
<view class="peice-val"><text></text>3000</view>
<view class="peice-val"><text></text>{{travelDetails.price}}</view>
<view>报名费用</view> <view>报名费用</view>
</view> </view>
<view class="caozuo-box"> <view class="caozuo-box">
@ -60,6 +60,7 @@
export default{ export default{
data() { data() {
return { return {
travelDetails: null,
bgColor:'transparent', bgColor:'transparent',
count:5, count:5,
value:3, value:3,
@ -89,6 +90,18 @@
this.bgColor = 'transparent' this.bgColor = 'transparent'
} }
}, },
onLoad({travelId}) {
this.travelInfo(travelId)
},
methods:{
travelInfo(travelId) {
this.$api('travelInfo',{travelId},res=> {
if(res.code==200) {
this.travelDetails = res.result
}
})
}
}
} }
</script> </script>


Loading…
Cancel
Save