对接活动列表接口

This commit is contained in:
zhouyanli
2026-04-25 07:57:49 +08:00
parent d569bbc8e1
commit 06a391a668
7 changed files with 293 additions and 237 deletions

View File

@@ -36,51 +36,51 @@
<view class="info-section">
<view class="info-item">
<view class="info-label">报名截止时间</view>
<view class="info-value">2023-08-08 23:00</view>
<view class="info-value">{{activityConent.applyDeadline}}</view>
</view>
<view class="info-item">
<view class="info-label">活动时间</view>
<view class="info-value">
<text>2023-08-09 10:00 2023-08-20 16:00</text>
<text>{{activityConent.startTime}} {{activityConent.endTime}}</text>
</view>
</view>
<view class="info-item">
<view class="info-label">签到时间</view>
<view class="info-value">
<text>2023-08-09 10:00 2023-08-10 16:00</text>
<text>{{activityConent.signinStartTime}} {{activityConent.signinEndTime}}</text>
</view>
</view>
<view class="info-item">
<view class="info-label">活动地点</view>
<view class="info-value">山东省日照市高新区高新管委会大厦前高新公园</view>
<view class="info-value">{{activityConent.address}}</view>
</view>
<view class="info-item">
<view class="info-label">活动名额</view>
<view class="info-value">10</view>
<view class="info-value">{{activityConent.quota}}</view>
</view>
<view class="info-item">
<view class="info-label">主办方</view>
<view class="info-value">山海天社区</view>
<view class="info-value">{{activityConent.organizer}}</view>
</view>
<view class="info-item">
<view class="info-label">联系人</view>
<view class="info-value">赵璐</view>
<view class="info-value">{{activityConent.contactName}}</view>
</view>
<view class="info-item">
<view class="info-label">联系电话</view>
<view class="info-value">15799999999</view>
<view class="info-value">{{activityConent.contactPhone}}</view>
</view>
<view class="info-item">
<view class="info-label">积分奖励</view>
<view class="info-value">100</view>
<view class="info-value">{{activityConent.pointsReward}}</view>
</view>
</view>
@@ -88,7 +88,7 @@
<view class="section">
<view class="section-title">招募要求</view>
<view class="section-content">
要求就是要求就是要求就是
{{activityConent.requirements}}
</view>
</view>
@@ -96,8 +96,8 @@
<view class="section" style="margin-bottom: 40rpx;">
<view class="section-title">活动详情</view>
<view class="section-content">
<view>1这就是活动详情zhejiushihuodongxiangqing这就是活动详情zhejiushihuodongxiangqing</view>
<view>2活动详情zhejiushuodongxiangqing</view>
<view>{{activityConent.content}}</view>
<view></view>
</view>
</view>
</view>
@@ -182,7 +182,7 @@
<view class="modal-content">
<view class="modal-header">报名确认</view>
<view class="modal-body">
<view>确定要报名参加"社区'小槐花课堂'开课了"</view>
<view>{{navTitle}}</view>
<view class="modal-tip">报名后请按时参加活动</view>
</view>
<view class="modal-footer">
@@ -197,7 +197,7 @@
<view class="modal-content">
<view class="modal-header">取消报名</view>
<view class="modal-body">
<view>确定要取消报名"社区'小槐花课堂'开课了"</view>
<view>{{navTitle}}</view>
<view class="modal-tip">取消后如需参加需重新报名</view>
</view>
<view class="modal-footer">
@@ -218,6 +218,7 @@
import { ref, onMounted } from 'vue'
import {onLoad} from '@dcloudio/uni-app'
import moment from 'moment'
import {getActivityDetails} from '../api/api.js'
// 响应式数据
const activeTab = ref('detail') // 'detail' 或 'status'
@@ -230,6 +231,8 @@ const toastMessage = ref('')
const newStatusContent = ref('')
// const newStatusImages = ref([])
const navTitle = ref('')
const curActivityId = ref('') // 当前活动的id
const activityConent = ref({}) // 获取详情数据
// 实况记录数据
const liveRecords = ref([
@@ -251,9 +254,33 @@ const liveRecords = ref([
// 接受参数
onLoad((option) =>{
// console.log('dsdsds',option)
navTitle.value = option.title
navTitle.value = option?.title
curActivityId.value = option?.id
// console.log('navTitle',navTitle.value,curActivityId.value)
getActivityDetailsData(curActivityId.value)
})
// 获取列表详情
const getActivityDetailsData = async (id) =>{
try{
const res = await getActivityDetails(id)
if(res.code === 200){
activityConent.value = res.data || {}
}else{
activityConent.value = {}
uni.showToast({
title: res.msg ||"详情获取失败",
icon:"error"
})
}
}catch{
uni.showToast({
title: res.msg ||"网络异常",
icon:"none"
})
}
}
// 切换选项卡
const switchTab = (tab) => {
activeTab.value = tab
@@ -337,7 +364,7 @@ onMounted(() => {
})
</script>
<style>
<style scoped>
/* 页面容器 */
.container {
min-height: 100vh;
@@ -386,7 +413,14 @@ onMounted(() => {
/* 内容区域 */
.content {
flex: 1;
box-sizing: border-box;
margin-bottom: 120rpx;
position: absolute; /* 关键让scroll-view独立滚动 */
top: 0;
left: 0;
right: 0;
bottom: 0;
padding-top: 136px;
}
.status_bar {
height: 46px;
@@ -440,7 +474,7 @@ onMounted(() => {
.info-section {
/* background-color: #fff; */
border-radius: 16rpx;
padding: 30rpx;
padding: 30rpx 40rpx;
/* margin-bottom: 30rpx; */
/* box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05); */
}
@@ -471,13 +505,14 @@ onMounted(() => {
color: #222;
font-weight: 500;
line-height: 1.4;
text-align: right;
}
/* 区块样式 */
.section {
/* background-color: #fff; */
border-radius: 16rpx;
padding: 30rpx;
padding: 30rpx 40rpx;
/* margin-bottom: 30rpx; */
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05);
}