修复bug
This commit is contained in:
@@ -94,10 +94,13 @@
|
||||
</view>
|
||||
|
||||
<view class="action-buttons">
|
||||
<button v-if="activeTab === 'list' && activity.applied === false && activity.statusText !== '已结束'" class="action-btn signup-btn"
|
||||
<button v-if="activeTab === 'list' && activity.applied === false && activity.statusText !== '已结束' && !isDeadlinePassed(activity) && !isQuotaFull(activity)" class="action-btn signup-btn"
|
||||
@tap.stop="signupActivity(activity)">
|
||||
立即报名
|
||||
</button>
|
||||
<view v-if="activeTab === 'list' && activity.applied === false && activity.statusText !== '已结束' && getDisabledText(activity)" class="action-btn disabled-btn">
|
||||
{{ getDisabledText(activity) }}
|
||||
</view>
|
||||
<button v-if="activeTab === 'list' && activity.applied === true && activity.statusText !== '已结束'" class="action-btn signup-btn"
|
||||
@tap.stop="cancelActivity(activity)">
|
||||
取消报名
|
||||
@@ -316,6 +319,37 @@ const formatDate = (date) => {
|
||||
return moment(date).format('YYYY-MM-DD HH:mm')
|
||||
}
|
||||
|
||||
/**
|
||||
* 报名是否已截止(applyDeadline 已过)
|
||||
* @param {object} activity - 活动对象
|
||||
* @returns {boolean}
|
||||
*/
|
||||
const isDeadlinePassed = (activity) => {
|
||||
if (!activity.applyDeadline) return false
|
||||
return moment().isAfter(moment(activity.applyDeadline))
|
||||
}
|
||||
|
||||
/**
|
||||
* 报名名额是否已满(quota 为 0 表示不限名额)
|
||||
* @param {object} activity - 活动对象
|
||||
* @returns {boolean}
|
||||
*/
|
||||
const isQuotaFull = (activity) => {
|
||||
if (!activity.quota) return false
|
||||
return (Number(activity.appliedCount) || 0) >= Number(activity.quota)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取报名不可用时的置灰文案
|
||||
* @param {object} activity - 活动对象
|
||||
* @returns {string} 截止返回“报名已结束”,已满返回“名额已满”,否则空字符串
|
||||
*/
|
||||
const getDisabledText = (activity) => {
|
||||
if (isDeadlinePassed(activity)) return '报名已结束'
|
||||
if (isQuotaFull(activity)) return '名额已满'
|
||||
return ''
|
||||
}
|
||||
|
||||
/**
|
||||
* 报名活动(跳转详情页)
|
||||
* @param {object} activity - 活动对象
|
||||
@@ -633,6 +667,12 @@ watch(() => myFilter.value, () => {
|
||||
background-color: #0056cc;
|
||||
}
|
||||
|
||||
.disabled-btn {
|
||||
background-color: #f2f3f5;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* 加载更多 */
|
||||
.load-more-container {
|
||||
display: flex;
|
||||
|
||||
Reference in New Issue
Block a user