|
|
@@ -23,64 +23,65 @@
|
|
|
<div class="detail-label">报名时间 : {{ formatTime(detail.createdTime) }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
- <div class="result-section" v-if="detail.achievementList">
|
|
|
- <div class="result-title">成果展示</div>
|
|
|
- <div class="detail-list">
|
|
|
- <div class="detail-item">
|
|
|
- <div class="detail-label">更新时间 : {{ formatTime(detail.achievementList[0].updatedTime) }}</div>
|
|
|
- </div>
|
|
|
- <div class="detail-item">
|
|
|
- <div class="detail-label">成果描述 : {{ detail.achievementList[0].achievementDesc || "-" }}</div>
|
|
|
- </div>
|
|
|
- <div class="detail-item" v-if="mediaList.length > 0">
|
|
|
- <div class="detail-label">图片与视频 :</div>
|
|
|
- <div class="media-grid">
|
|
|
- <template v-for="(item, index) in mediaList" :key="index">
|
|
|
- <div v-if="item.type === 'video'" class="media-item video-item" @click="playVideo(item.url)">
|
|
|
- <el-image v-if="item.coverUrl" :src="item.coverUrl" fit="cover" class="media-image">
|
|
|
- <template #error>
|
|
|
- <div class="media-placeholder">
|
|
|
- <el-icon class="play-icon">
|
|
|
- <VideoPlay />
|
|
|
- </el-icon>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-image>
|
|
|
- <div v-else class="media-placeholder">
|
|
|
- <el-icon class="play-icon">
|
|
|
- <VideoPlay />
|
|
|
- </el-icon>
|
|
|
+ <div v-if="detail.achievementList">
|
|
|
+ <div class="result-section" v-for="(item, index) in detail.achievementList" :key="index">
|
|
|
+ <div class="result-title">成果展示</div>
|
|
|
+ <div class="detail-list">
|
|
|
+ <div class="detail-item">
|
|
|
+ <div class="detail-label">更新时间 : {{ formatTime(item.updatedTime) }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="detail-item">
|
|
|
+ <div class="detail-label">成果描述 : {{ item.achievementDesc || "-" }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="detail-item" v-if="mediaList.length > 0">
|
|
|
+ <div class="detail-label">图片与视频 :</div>
|
|
|
+ <div class="media-grid">
|
|
|
+ <template v-for="(item, index) in mediaList" :key="index">
|
|
|
+ <div v-if="item.type === 'video'" class="media-item video-item" @click="playVideo(item.url)">
|
|
|
+ <el-image v-if="item.coverUrl" :src="item.coverUrl" fit="cover" class="media-image">
|
|
|
+ <template #error>
|
|
|
+ <div class="media-placeholder">
|
|
|
+ <el-icon class="play-icon">
|
|
|
+ <VideoPlay />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-image>
|
|
|
+ <div v-else class="media-placeholder">
|
|
|
+ <el-icon class="play-icon">
|
|
|
+ <VideoPlay />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
+ <!-- 视频播放图标覆盖层 -->
|
|
|
+ <div class="video-overlay">
|
|
|
+ <el-icon class="play-icon-overlay">
|
|
|
+ <VideoPlay />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <!-- 视频播放图标覆盖层 -->
|
|
|
- <div class="video-overlay">
|
|
|
- <el-icon class="play-icon-overlay">
|
|
|
- <VideoPlay />
|
|
|
- </el-icon>
|
|
|
+ <div v-else class="media-item image-item" @click="previewImage(item.url, index)">
|
|
|
+ <el-image
|
|
|
+ :src="item.url"
|
|
|
+ fit="cover"
|
|
|
+ class="media-image"
|
|
|
+ :preview-src-list="imageList"
|
|
|
+ :initial-index="getImageIndex(item.url)"
|
|
|
+ >
|
|
|
+ <template #error>
|
|
|
+ <div class="image-slot">
|
|
|
+ <el-icon>
|
|
|
+ <Picture />
|
|
|
+ </el-icon>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-image>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div v-else class="media-item image-item" @click="previewImage(item.url, index)">
|
|
|
- <el-image
|
|
|
- :src="item.url"
|
|
|
- fit="cover"
|
|
|
- class="media-image"
|
|
|
- :preview-src-list="imageList"
|
|
|
- :initial-index="getImageIndex(item.url)"
|
|
|
- >
|
|
|
- <template #error>
|
|
|
- <div class="image-slot">
|
|
|
- <el-icon>
|
|
|
- <Picture />
|
|
|
- </el-icon>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-image>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="detail-item" v-else>
|
|
|
+ <div class="detail-label">暂无成果展示</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="detail-item" v-else>
|
|
|
- <div class="detail-label">暂无成果展示</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|