修改活动报名按钮状态,报修添加小区参数;访客返回数据
This commit is contained in:
@@ -119,10 +119,11 @@
|
||||
<view class="record-user">
|
||||
<view class="user-avatar">
|
||||
<uni-icons type="person" size="20" color="#999"></uni-icons>
|
||||
<!-- <image :src="record.userAvatar" mode="aspectFill"></image> -->
|
||||
</view>
|
||||
<view class="user-info">
|
||||
<view class="user-name">微信用户</view>
|
||||
<view class="record-time">{{ record.time }}</view>
|
||||
<view class="user-name">{{record.userNickname || '微信用户'}}</view>
|
||||
<view class="record-time">{{ record.createTime }}</view>
|
||||
<view class="record-content">{{ record.content }}</view>
|
||||
<!-- 图片展示 -->
|
||||
<view v-if="record.images && record.images.length > 0" class="record-images">
|
||||
@@ -149,9 +150,18 @@
|
||||
|
||||
<!-- 底部操作栏 -->
|
||||
<view class="bottom-bar">
|
||||
<!-- 活动已结束且未报名,显示不可点击的结束按钮 -->
|
||||
<button
|
||||
v-if="isActivityEnded && !hasSigned && activeTab === 'detail'"
|
||||
class="action-btn ended-btn"
|
||||
disabled
|
||||
>
|
||||
报名已结束
|
||||
</button>
|
||||
|
||||
<!-- 未报名状态显示报名按钮 -->
|
||||
<button
|
||||
v-if="!hasSigned && activeTab === 'detail'"
|
||||
v-if="!isActivityEnded && !hasSigned && activeTab === 'detail'"
|
||||
class="action-btn signup-btn"
|
||||
@tap="handleSignup"
|
||||
>
|
||||
@@ -209,7 +219,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted } from 'vue'
|
||||
import { ref, onMounted, computed } from 'vue'
|
||||
import {onLoad,onUnload} from '@dcloudio/uni-app'
|
||||
import moment from 'moment'
|
||||
import {getActivityDetails,confirmResident,cancelActivity,getActivityLive} from '../api/api.js'
|
||||
@@ -226,6 +236,15 @@ const navTitle = ref('')
|
||||
const curActivityId = ref('') // 当前活动的id
|
||||
const activityConent = ref({}) // 获取详情数据
|
||||
|
||||
// 判断活动是否已结束
|
||||
const isActivityEnded = computed(() => {
|
||||
// 优先使用后端返回的状态字段(status: '2' 或 statusText: '已结束')
|
||||
if (activityConent.value.status === '2' || activityConent.value.statusText === '已结束') return true
|
||||
// 备选:通过 endTime 时间判断
|
||||
if (!activityConent.value.applyDeadline) return false
|
||||
return moment().isAfter(moment(activityConent.value.applyDeadline))
|
||||
})
|
||||
|
||||
// 实况记录数据
|
||||
const liveRecords = ref([
|
||||
// {
|
||||
@@ -262,13 +281,13 @@ onLoad((option) =>{
|
||||
// 2. 初始化数据
|
||||
if (curActivityId.value) {
|
||||
getActivityDetailsData(curActivityId.value) // 获取活动详情
|
||||
getLiveActivityList() // 获取实况列表
|
||||
// getLiveActivityList() // 获取实况列表
|
||||
}
|
||||
|
||||
// 3. 监听实况列表刷新事件
|
||||
uni.$on('refreshLiveList', () => {
|
||||
getLiveActivityList()
|
||||
})
|
||||
// uni.$on('refreshLiveList', () => {
|
||||
// getLiveActivityList()
|
||||
// })
|
||||
})
|
||||
|
||||
// 获取列表详情
|
||||
@@ -294,9 +313,13 @@ const getActivityDetailsData = async (id) =>{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 切换选项卡
|
||||
const switchTab = (tab) => {
|
||||
activeTab.value = tab
|
||||
if (tab === 'status') {
|
||||
getLiveActivityList()
|
||||
}
|
||||
}
|
||||
|
||||
// 返回上一页
|
||||
@@ -434,7 +457,7 @@ const liveClick = () =>{
|
||||
|
||||
// ---------
|
||||
onUnload(() => {
|
||||
uni.$off('refreshLiveList')
|
||||
// uni.$off('refreshLiveList')
|
||||
})
|
||||
|
||||
// 显示提示信息
|
||||
@@ -759,6 +782,12 @@ const showToastMessage = (message) => {
|
||||
box-shadow: 0 4rpx 20rpx rgba(0, 122, 255, 0.2);
|
||||
}
|
||||
|
||||
.ended-btn {
|
||||
background: linear-gradient(135deg, #ccc 0%, #999 100%);
|
||||
color: #fff;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
/* 模态框 */
|
||||
.modal {
|
||||
display: none;
|
||||
|
||||
Reference in New Issue
Block a user