UI完善
This commit is contained in:
@@ -15,107 +15,98 @@ const handleSelect = async (index) => {
|
||||
}
|
||||
selectedIndex.value = index;
|
||||
};
|
||||
|
||||
const toMatchDetail = () => {
|
||||
uni.navigateTo({
|
||||
url: "/pages/match-detail",
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Container title="我的成长脚印">
|
||||
<view class="tabs">
|
||||
<view
|
||||
v-for="(rankType, index) in ['排位赛', '好友约战', '射馆练习']"
|
||||
:key="index"
|
||||
:style="{
|
||||
color: index === selectedIndex ? '#000' : '#fff',
|
||||
backgroundColor: index === selectedIndex ? '#FFD947' : 'transparent',
|
||||
}"
|
||||
@tap="handleSelect(index)"
|
||||
>
|
||||
{{ rankType }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="contents">
|
||||
<view
|
||||
:style="{
|
||||
display: selectedIndex !== 2 ? 'flex' : 'none',
|
||||
}"
|
||||
>
|
||||
<view>
|
||||
<view class="contest-header">
|
||||
<text>1V1</text>
|
||||
<text>2025.01.21 14:09:23</text>
|
||||
<image src="../static/back.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="contest-1v1">
|
||||
<view class="player">
|
||||
<Avatar frame src="../static/avatar.png" />
|
||||
<text>选手1</text>
|
||||
<image src="../static/winner-badge.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar frame src="../static/avatar.png" />
|
||||
<text>选手2</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="contest-header">
|
||||
<text>1V1</text>
|
||||
<text>2025.01.21 14:09:23</text>
|
||||
<image src="../static/back.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="contest-1v1">
|
||||
<view class="player">
|
||||
<Avatar frame src="../static/avatar.png" />
|
||||
<text>选手1</text>
|
||||
<image src="../static/winner-badge.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar frame src="../static/avatar.png" />
|
||||
<text>选手2</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="contest-header">
|
||||
<text>5v5</text>
|
||||
<text>2025.01.21 14:09:23</text>
|
||||
<image src="../static/back.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="contest-multi">
|
||||
<view class="player">
|
||||
<Avatar :rank="1" src="../static/avatar.png" />
|
||||
<text>选手1</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="2" src="../static/avatar.png" />
|
||||
<text>选手2</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="3" src="../static/avatar.png" />
|
||||
<text>选手3</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="4" src="../static/avatar.png" />
|
||||
<text>选手4</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="5" src="../static/avatar.png" />
|
||||
<text>选手5</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
:style="{
|
||||
display: selectedIndex === 2 ? 'flex' : 'none',
|
||||
}"
|
||||
>
|
||||
<view class="container">
|
||||
<view class="tabs">
|
||||
<view
|
||||
v-for="(item, index) in practiseList"
|
||||
v-for="(rankType, index) in ['排位赛', '好友约战', '射馆练习']"
|
||||
:key="index"
|
||||
class="practice-record"
|
||||
:style="{
|
||||
color: index === selectedIndex ? '#000' : '#fff',
|
||||
backgroundColor:
|
||||
index === selectedIndex ? '#FFD947' : 'transparent',
|
||||
}"
|
||||
@tap="handleSelect(index)"
|
||||
>
|
||||
<text>单组练习 {{ item.createdAt }}</text>
|
||||
<image src="../static/back.png" mode="widthFix" />
|
||||
{{ rankType }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="contents">
|
||||
<view
|
||||
:style="{
|
||||
display: selectedIndex !== 2 ? 'flex' : 'none',
|
||||
}"
|
||||
>
|
||||
<view @click="toMatchDetail">
|
||||
<view class="contest-header">
|
||||
<text>1V1</text>
|
||||
<text>2025.01.21 14:09:23</text>
|
||||
<image src="../static/back.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="contest-1v1">
|
||||
<view class="player">
|
||||
<Avatar frame src="../static/avatar.png" />
|
||||
<text>选手1</text>
|
||||
<image src="../static/winner-badge.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar frame src="../static/avatar.png" />
|
||||
<text>选手2</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view @click="toMatchDetail">
|
||||
<view class="contest-header">
|
||||
<text>5v5</text>
|
||||
<text>2025.01.21 14:09:23</text>
|
||||
<image src="../static/back.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="contest-multi">
|
||||
<view class="player">
|
||||
<Avatar :rank="1" src="../static/avatar.png" />
|
||||
<text>选手1</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="2" src="../static/avatar.png" />
|
||||
<text>选手2</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="3" src="../static/avatar.png" />
|
||||
<text>选手3</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="4" src="../static/avatar.png" />
|
||||
<text>选手4</text>
|
||||
</view>
|
||||
<view class="player">
|
||||
<Avatar :rank="5" src="../static/avatar.png" />
|
||||
<text>选手5</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
:style="{
|
||||
display: selectedIndex === 2 ? 'flex' : 'none',
|
||||
}"
|
||||
>
|
||||
<view
|
||||
v-for="(item, index) in practiseList"
|
||||
:key="index"
|
||||
class="practice-record"
|
||||
>
|
||||
<text>单组练习 {{ item.createdAt }}</text>
|
||||
<image src="../static/back.png" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -123,6 +114,9 @@ const handleSelect = async (index) => {
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
width: 100%;
|
||||
}
|
||||
.tabs {
|
||||
width: calc(100% - 30px);
|
||||
display: flex;
|
||||
|
||||
Reference in New Issue
Block a user