From b5b59d7bf11967c214592aaa5af7a571c5043fd5 Mon Sep 17 00:00:00 2001 From: hajimi Date: Sun, 2 Aug 2026 02:29:15 +0800 Subject: [PATCH] feat: redesign match center schedule page --- .../components/MatchCenterPanel.vue | 106 +---- .../components/MatchCenterScheduleCard.vue | 378 +++++++++++++++++ .../components/MatchCenterTabsPanel.vue | 387 ++++++++++++++---- 3 files changed, 697 insertions(+), 174 deletions(-) create mode 100644 uniapp/src/packages_match/components/MatchCenterScheduleCard.vue diff --git a/uniapp/src/packages_match/components/MatchCenterPanel.vue b/uniapp/src/packages_match/components/MatchCenterPanel.vue index 592bac3..ab83e60 100644 --- a/uniapp/src/packages_match/components/MatchCenterPanel.vue +++ b/uniapp/src/packages_match/components/MatchCenterPanel.vue @@ -3,25 +3,13 @@ 赛事中心 - - - - - - 2026 - FIFA - - - 2026年国际足联世界杯 - - - - + + - + @@ -83,7 +71,7 @@ onMounted(() => { min-height: 0; display: flex; flex-direction: column; - background: #f5f5f5; + background: #f7f8fb; overflow: hidden; } @@ -92,85 +80,27 @@ onMounted(() => { flex-shrink: 0; &__title { - padding: 16rpx 24rpx 12rpx; + position: relative; + min-height: 88rpx; + padding: 14rpx 32rpx 10rpx; display: flex; align-items: center; - justify-content: space-between; - gap: 16rpx; + justify-content: center; + box-sizing: border-box; } &__title-text { - font-size: 36rpx; - font-weight: 700; - color: #222; - } -} - -.topic-entry { - margin: 0 24rpx 12rpx; - padding: 18rpx 18rpx 18rpx 16rpx; - display: flex; - align-items: center; - gap: 18rpx; - border-radius: 18rpx; - background: linear-gradient(135deg, #2457ff 0%, #4452f2 100%); - color: #fff; - - &__badge { - width: 68rpx; - height: 68rpx; - border-radius: 18rpx; - background: rgba(255, 255, 255, 0.14); - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - flex-shrink: 0; + font-size: 42rpx; + font-weight: 800; + color: #151a2b; + letter-spacing: 2rpx; } - &__badge-year { - font-size: 20rpx; - font-weight: 700; - line-height: 1.1; - } - - &__badge-label { - margin-top: 4rpx; - font-size: 16rpx; - line-height: 1; - opacity: 0.92; - } - - &__content { - min-width: 0; - flex: 1; - display: flex; - flex-direction: column; - gap: 6rpx; - } - - &__title { - font-size: 28rpx; - font-weight: 700; - line-height: 1.35; - color: #fff; - } - - &__meta { - font-size: 22rpx; - line-height: 1.3; - color: rgba(255, 255, 255, 0.78); - } - - &__action { - width: 52rpx; - height: 52rpx; - border-radius: 26rpx; - display: flex; - align-items: center; - justify-content: center; - background: rgba(255, 255, 255, 0.18); - flex-shrink: 0; + &__assistant { + position: absolute; + right: 28rpx; + top: 50%; + transform: translateY(-50%); } } diff --git a/uniapp/src/packages_match/components/MatchCenterScheduleCard.vue b/uniapp/src/packages_match/components/MatchCenterScheduleCard.vue new file mode 100644 index 0000000..2af1507 --- /dev/null +++ b/uniapp/src/packages_match/components/MatchCenterScheduleCard.vue @@ -0,0 +1,378 @@ + + + + + diff --git a/uniapp/src/packages_match/components/MatchCenterTabsPanel.vue b/uniapp/src/packages_match/components/MatchCenterTabsPanel.vue index 79aa88e..3d51971 100644 --- a/uniapp/src/packages_match/components/MatchCenterTabsPanel.vue +++ b/uniapp/src/packages_match/components/MatchCenterTabsPanel.vue @@ -5,13 +5,34 @@ :class="{ 'content-tabs__item--active': activeTab === tab.key }" @tap="switchContentTab(tab.key)"> {{ tab.label }} + + 热门联赛 + + + + + + + + + + {{ item.label }} + {{ item.week }} + + + + + + + - {{ tab.icon }} {{ tab.label }} @@ -21,13 +42,12 @@ - 全部·{{ leagueTotalCount }} + 热门 - {{ league.league_name }}·{{ league.count - }} + {{ league.league_name }} @@ -40,15 +60,15 @@ {{ group.title }} {{ group.items.length }}场 - - + + {{ collapsedGroups[group.type] ? '展开' : '查看更多' }} + - + @@ -56,7 +76,7 @@ 加载中... - @@ -227,13 +247,16 @@ + +