Browse Source

feat(activity): activity/activity-detail 报名同步增强 - formatDate / 付费不退费 / paying 状态

User 2 months ago
parent
commit
13ebde0704
1 changed files with 13 additions and 4 deletions
  1. 13 4
      cfc-frontend/pages/activity/activity-detail/activity-detail.vue

+ 13 - 4
cfc-frontend/pages/activity/activity-detail/activity-detail.vue

@@ -36,7 +36,7 @@
         <view class="meta-list">
           <view class="meta-item" v-if="activity.startTime">
             <text class="meta-icon">🕐</text>
-            <text class="meta-text">{{ activity.startTime }}{{ activity.endTime ? ' ~ ' + activity.endTime : '' }}</text>
+            <text class="meta-text">{{ formatDate(activity.startTime) }}{{ activity.endTime ? ' ~ ' + formatDate(activity.endTime) : '' }}</text>
           </view>
           <view class="meta-item" v-if="activity.location">
             <text class="meta-icon">📍</text>
@@ -57,6 +57,12 @@
           <text class="section-title">活动介绍</text>
           <text class="desc-text">{{ activity.description }}</text>
         </view>
+
+        <!-- 付费不退费说明 -->
+        <view class="refund-notice" v-if="activity.price > 0">
+          <text class="refund-notice-icon">⚠️</text>
+          <text class="refund-notice-text">本活动为付费活动,报名成功后不支持退费</text>
+        </view>
       </view>
 
       <!-- 底部操作栏 -->
@@ -70,14 +76,16 @@
           <button
             v-if="activity.requireRegistration === 1 && !registrationStatus"
             class="btn-register"
-            :class="{ 'btn-register-loading': registrationLoading }"
-            :disabled="registrationLoading"
+            :class="{ 'btn-register-loading': registrationLoading || paying }"
+            :disabled="registrationLoading || paying"
             @click="onRegister"
           >
             <text v-if="registrationLoading">报名中...</text>
+            <text v-else-if="paying">支付中...</text>
+            <text v-else-if="activity.price > 0">¥{{ activity.price }} 立即报名</text>
             <text v-else>立即报名</text>
           </button>
-          
+
           <!-- 已报名待审核 -->
           <button
             v-if="activity.requireRegistration === 1 && registrationStatus === 'pending'"
@@ -144,6 +152,7 @@ export default {
       checkinPoints: 0,
       registrationStatus: null,
       registrationLoading: false,
+      paying: false,
       showPenaltyModal: false,
       penaltyAmount: 0
     }