From d22a02992d557859a8c610fb74e0d070ce936d05 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 08 七月 2024 18:05:26 +0800 Subject: [PATCH] 考试不能多次提交 --- src/views/home/components/user-panel/index.vue | 58 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 20 deletions(-) diff --git a/src/views/home/components/user-panel/index.vue b/src/views/home/components/user-panel/index.vue index 443a832..0880ffc 100644 --- a/src/views/home/components/user-panel/index.vue +++ b/src/views/home/components/user-panel/index.vue @@ -3,24 +3,24 @@ <el-card class="card"> <div class="panel-content flex flex-col items-center"> <div class="avatar-container w-40 h-40 rounded-full overflow-hidden"> - <div class="avatar-content"> - <img src="@/assets/image/avatar/avatar.png" class="avatar-img" alt=""> + <div class="avatar-content" v-if="userInfo.imagePath"> + <img :src="userInfo.imagePath" class="avatar-img" alt=""> </div> - <!-- <div class="avatar-content" :style="{backgroundColor: getColor}"> - <div class="name text-5xl font-bold text-white">寮�</div> - </div> --> + <div class="avatar-content" :style="{backgroundColor: getColor}" v-else> + <div class="name text-5xl font-bold text-white">{{ getFirstName }}</div> + </div> </div> <div class="name-container text-lg font-bold mt-5 mb-2"> - 娴嬭瘯娴嬭瘯 + {{ userInfo.realName }} </div> <div class="department-container text-base mb-10"> - 娴嬭瘯娴嬭瘯 + {{ userInfo.userName }} </div> <div class="tool-container grid grid-cols-3 gap-10"> - <div class="tool-item text-center cursor-pointer" v-for="item in toolList"> + <div class="tool-item text-center cursor-pointer" v-for="item in toolList" @click="toolClick(item)"> <div class="tool-icon mb-1"> <img :src="item.iconPath" class="width-img" alt=""> </div> @@ -38,34 +38,52 @@ <script setup> import { ref, computed } from 'vue'; import randomColor from '@/utils/randomColor.js'; +import { useRouter } from 'vue-router'; +import { storeToRefs } from 'pinia'; +import { useUserStore } from '@/store/index.js'; + +const userStore = useUserStore(); +const { userInfo } = storeToRefs(userStore); + + + +const router = useRouter(); const toolList = ref([ { id: 1, - title: '璧勬簮鍏变韩', - iconPath: new URL('@/assets/icons/icon1.png', import.meta.url).href + title: '鍦ㄧ嚎鍩硅', + iconPath: new URL('@/assets/icons/icon1.png', import.meta.url).href, + path: '/train' }, { id: 2, - title: '鎴戠殑璇剧▼', - iconPath: new URL('@/assets/icons/icon2.png', import.meta.url).href + title: '鎴戠殑鑰冭瘯', + iconPath: new URL('@/assets/icons/icon2.png', import.meta.url).href, + path: '/exam-list' }, { id: 3, - title: '鎴戠殑璇剧▼', - iconPath: new URL('@/assets/icons/icon2.png', import.meta.url).href - }, - { - id: 4, - title: '鎴戠殑璇剧▼', - iconPath: new URL('@/assets/icons/icon2.png', import.meta.url).href + title: '鎴戠殑鎴愮哗', + iconPath: new URL('@/assets/icons/icon2.png', import.meta.url).href, + path: '/grade-list' }, ]); const getColor = computed(() => { return randomColor(); -}) +}); + +const getFirstName = computed(() => { + return userInfo.value.realName && userInfo.value.realName[0]; +}); + +const toolClick = (item) => { + if (item.path) { + router.push(item.path); + } +} </script> -- Gitblit v1.8.0