<wxs src="./detail.wxs" module="filters" />
|
|
<view class="container">
|
<view wx:if="{{loading}}" class="loading-wrapper">
|
<view class="loading"></view>
|
<text>加载中...</text>
|
</view>
|
|
<view wx:elif="{{error}}" class="error-wrapper">
|
<text>{{error}}</text>
|
</view>
|
|
<block wx:else>
|
<!-- 顶部 Banner -->
|
<swiper class="banner-swiper" indicator-dots="{{true}}" autoplay="{{true}}">
|
<swiper-item wx:if="{{activity.coverImage}}">
|
<image class="banner-image" src="{{activity.coverImage.fullUrl}}" mode="aspectFill" />
|
</swiper-item>
|
<swiper-item wx:for="{{activity.images}}" wx:key="index">
|
<image class="banner-image" src="{{item.fullUrl}}" mode="aspectFill" />
|
</swiper-item>
|
</swiper>
|
|
<view class="content-wrapper">
|
<!-- 比赛信息 -->
|
<view class="section-card">
|
<view class="section-title main-title">{{activity.name}}</view>
|
<view class="info-grid">
|
<view class="info-row">
|
<text class="info-label">报名截止时间</text>
|
<text class="info-value">{{filters.formatDateTime(activity.signupDeadline)}}</text>
|
</view>
|
<view class="info-row">
|
<text class="info-label">比赛开始时间</text>
|
<text class="info-value">{{filters.formatDateTime(activity.matchTime)}}</text>
|
</view>
|
</view>
|
</view>
|
|
<!-- 比赛阶段 -->
|
<view class="section-card" wx:if="{{activity.stages && activity.stages.length > 0}}">
|
<view class="section-title">比赛阶段</view>
|
<view class="timeline">
|
<view class="timeline-item" wx:for="{{activity.stages}}" wx:key="id">
|
<view class="timeline-icon">
|
<view class="icon-calendar-bg"></view>
|
</view>
|
<view class="timeline-content">
|
<view class="stage-name">{{item.name}}</view>
|
<view class="stage-date">{{filters.formatDate(item.matchTime)}}</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
|
<!-- 比赛介绍 -->
|
<view class="section-card" wx:if="{{activity.description}}">
|
<view class="section-title">比赛介绍</view>
|
<view class="description-content">
|
<text>{{activity.description}}</text>
|
</view>
|
</view>
|
</view>
|
|
<!-- 底部操作栏 -->
|
<view class="footer-actions">
|
<button class="register-btn" bindtap="handleRegister" disabled="{{buttonDisabled}}">{{buttonText}}</button>
|
</view>
|
</block>
|
</view>
|