From 8337c34fcc761d07acaad796d10f3e12e9bbe2d1 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期日, 05 十月 2025 08:56:04 +0800
Subject: [PATCH] feat: 微信项目详情支持阶段评分时间轴
---
web/src/components/PlayerInfoCard.vue | 49 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 46 insertions(+), 3 deletions(-)
diff --git a/web/src/components/PlayerInfoCard.vue b/web/src/components/PlayerInfoCard.vue
index d3bd64d..8e9765d 100644
--- a/web/src/components/PlayerInfoCard.vue
+++ b/web/src/components/PlayerInfoCard.vue
@@ -9,6 +9,8 @@
:size="80"
:src="playerInfo.avatarUrl"
:style="{ backgroundColor: avatarBgColor }"
+ class="clickable-avatar"
+ @click="handleAvatarClick"
>
{{ playerInfo.name ? playerInfo.name.charAt(0) : '?' }}
</el-avatar>
@@ -26,27 +28,68 @@
<!-- 璇︾粏淇℃伅 -->
<div class="detail-info">
+ <div v-if="regionInfo" class="info-item">
+ <label>鎵�灞炲尯鍩燂細</label>
+ <p>{{ regionInfo.fullPath || regionInfo.name || '鏈缃�' }}</p>
+ </div>
<div v-if="playerInfo.description" class="info-item">
<label>涓汉绠�浠嬶細</label>
<p>{{ playerInfo.description }}</p>
</div>
</div>
+
+ <!-- 澶村儚棰勮瀵硅瘽妗� -->
+ <el-dialog
+ v-model="previewVisible"
+ title="澶村儚棰勮"
+ width="500px"
+ :show-close="true"
+ center
+ >
+ <div class="avatar-preview-container">
+ <img
+ v-if="playerInfo.avatarUrl"
+ :src="playerInfo.avatarUrl"
+ class="preview-image"
+ alt="澶村儚棰勮"
+ />
+ <div v-else class="no-avatar">
+ <el-icon size="80"><Picture /></el-icon>
+ <p>鏆傛棤澶村儚</p>
+ </div>
+ </div>
+ </el-dialog>
</div>
</template>
<script setup>
-import { computed } from 'vue'
-import { ElAvatar, ElIcon } from 'element-plus'
-import { Phone } from '@element-plus/icons-vue'
+import { computed, ref } from 'vue'
+import { ElAvatar, ElIcon, ElDialog } from 'element-plus'
+import { Phone, Picture } from '@element-plus/icons-vue'
const props = defineProps({
playerInfo: {
type: Object,
required: true,
default: () => ({})
+ },
+ regionInfo: {
+ type: Object,
+ required: false,
+ default: () => null
}
})
+// 鍝嶅簲寮忔暟鎹�
+const previewVisible = ref(false)
+
+// 澶村儚鐐瑰嚮澶勭悊
+const handleAvatarClick = () => {
+ if (props.playerInfo.avatarUrl) {
+ previewVisible.value = true
+ }
+}
+
// 鏍规嵁濮撳悕鐢熸垚澶村儚鑳屾櫙鑹�
const avatarBgColor = computed(() => {
if (!props.playerInfo.name) return '#409EFF'
--
Gitblit v1.8.0