@@ -216,16 +227,19 @@ onMounted(async () => {
transform: translate3d(0, 300px, -800px) rotateY(180deg) rotateX(45deg) scale(0.5);
filter: blur(20px); // 深度模糊
}
+
50% {
opacity: 1;
filter: blur(0); // 聚焦
}
+
70% {
// [过冲状态]
// 飞到眼前一点点 (Z=50px)
// 角度稍微回弹 (rotateY -15deg)
transform: translate3d(0, -20px, 50px) rotateY(-15deg) rotateX(-10deg) scale(1.05);
}
+
100% {
// [最终归位]
transform: translate3d(0, 0, 0) rotateY(0) rotateX(0) scale(1);
diff --git a/apps/admin/src/views/user/game/index.vue b/apps/admin/src/views/user/game/index.vue
index 1896ee0..e9aa4a3 100644
--- a/apps/admin/src/views/user/game/index.vue
+++ b/apps/admin/src/views/user/game/index.vue
@@ -197,7 +197,7 @@ async function fetchGetGameStatisticsData(_params: Api.Competition.QuestionAddPa
if (store.currentQuestionInfo && store.currentQuestionDetail) {
try {
const { data } = await fetchGetGameStatistics(_params)
- console.log(data, 'data')
+ // console.log(data, 'data')
// 更新图表数据
// 假设接口返回格式为: [{ TeamName: '组1', Points: 10, ResultPotins: 5 }, ...]
// 需要根据实际接口返回结构调整映射逻辑
diff --git a/apps/admin/src/views/user/groups/index.vue b/apps/admin/src/views/user/groups/index.vue
index 5b761d3..7f24002 100644
--- a/apps/admin/src/views/user/groups/index.vue
+++ b/apps/admin/src/views/user/groups/index.vue
@@ -29,13 +29,10 @@ async function getGroups() {
if (list && Array.isArray(list)) {
groups.value = list.map((item: any) => ({
...item,
- // id: item.Id,
- // name: item.Name,
- icon: 'activity', // Default icon since API might not provide one
+ icon: 'activity',
}))
}
isAllEnd.value = list.every((item: Api.Competition.ActivityTeamGroup) => item.IsEnd)
- // console.log(groups.value, 'groups.value')
}
finally {
loading.value = false
@@ -49,7 +46,7 @@ function handleBack() {
}
function handleNext() {
- routerPushByKey('user')
+ routerPushByKey('user_rank-list', { query: { activityId } })
}
function selectGroup(item: Api.Competition.ActivityTeamGroup) {
diff --git a/apps/admin/src/views/user/home/index.vue b/apps/admin/src/views/user/home/index.vue
index 2d54a27..59c8ddb 100644
--- a/apps/admin/src/views/user/home/index.vue
+++ b/apps/admin/src/views/user/home/index.vue
@@ -3,6 +3,7 @@ import { NCarousel, NImage } from 'naive-ui'
import { computed, onMounted, ref } from 'vue'
import beacon from '@/assets/imgs/user/event-card-bg-icon.svg'
import CompetitionLayout from '@/components/custom/user/CompetitionLayout.vue'
+import { PublishStatus } from '@/enum/business'
import { useRouterPush } from '@/hooks/common/router'
import { fetchGetActivityList } from '@/service/api/competition'
import { useActivityInfoStore } from '@/store/modules/activityinfo'
@@ -32,14 +33,16 @@ async function getEvents() {
const list = data?.data || []
if (list && Array.isArray(list)) {
- events.value = list.map((item: any) => ({
- ...item,
- id: item.Id,
- title: item.Name,
- subTitle: item.Description,
- icon: 'activity',
- status: 'active',
- }))
+ events.value = list
+ .filter((item: any) => item.PublishStatus === PublishStatus.Published || item.PublishStatus === PublishStatus.Processing)
+ .map((item: any) => ({
+ ...item,
+ id: item.Id,
+ title: item.Name,
+ subTitle: item.Description,
+ icon: 'activity',
+ status: 'active',
+ }))
}
}
finally {
@@ -185,7 +188,7 @@ onMounted(() => {
.text-content {
.event-title {
- font-size: 1.4rem;
+ font-size: 1.1rem;
font-weight: bold;
color: $text-color;
margin-bottom: 8px;
diff --git a/apps/admin/src/views/user/modules/QuestionRenderer.vue b/apps/admin/src/views/user/modules/QuestionRenderer.vue
index 4a3e5da..4ba6463 100644
--- a/apps/admin/src/views/user/modules/QuestionRenderer.vue
+++ b/apps/admin/src/views/user/modules/QuestionRenderer.vue
@@ -81,7 +81,7 @@ watch(
-
+
{{ title }}
@@ -127,7 +127,7 @@ watch(
-
+
diff --git a/apps/admin/src/views/user/rank-list/index.vue b/apps/admin/src/views/user/rank-list/index.vue
new file mode 100644
index 0000000..fec5f0c
--- /dev/null
+++ b/apps/admin/src/views/user/rank-list/index.vue
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/admin/src/views/user/rank-pending/index.vue b/apps/admin/src/views/user/rank-pending/index.vue
new file mode 100644
index 0000000..e69de29