Files
shoot-miniprograms/src/components/PlayerScore.vue

96 lines
1.9 KiB
Vue
Raw Normal View History

2025-05-16 15:56:54 +08:00
<script setup>
defineProps({
avatar: {
type: String,
default: "",
},
name: {
type: String,
default: "",
},
scores: {
type: Array,
default: () => [],
},
});
const rowCount = new Array(6).fill(0);
</script>
<template>
<view class="container">
<image :src="avatar" mode="widthFix" />
<text>{{ name }}</text>
<view>
<view>
<view v-for="(_, index) in rowCount" :key="index">
2025-06-09 01:17:18 +08:00
<text>{{ scores[index] ? `${scores[index].ring}` : "-" }}</text>
2025-05-16 15:56:54 +08:00
</view>
</view>
<view>
<view v-for="(_, index) in rowCount" :key="index">
2025-06-09 01:17:18 +08:00
<text>{{
scores[index + 6] ? `${scores[index + 6].ring}` : "-"
}}</text>
2025-05-16 15:56:54 +08:00
</view>
</view>
</view>
2025-06-09 01:17:18 +08:00
<text
>{{
scores.map((s) => s.ring).reduce((last, next) => last + next, 0)
}}</text
>
2025-05-16 15:56:54 +08:00
</view>
</template>
<style scoped>
.container {
width: calc(100% - 75px);
display: flex;
align-items: center;
border: 1px solid #fff3;
margin: 10px 0;
margin-left: 40px;
border-radius: 15px;
padding: 10px;
color: #fff9;
margin-right: 20px;
font-size: 14px;
}
.container > image:first-child {
width: 30px;
2025-06-09 01:17:18 +08:00
height: 30px;
2025-05-16 15:56:54 +08:00
border: 1px solid #fff3;
border-radius: 50%;
margin-right: 10px;
margin-left: -30px;
2025-06-09 12:24:01 +08:00
flex: 0 0 auto;
2025-05-16 15:56:54 +08:00
}
.container > text:nth-child(2) {
font-size: 14px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
2025-06-15 20:55:34 +08:00
width: 20%;
2025-05-16 15:56:54 +08:00
}
.container > view:nth-child(3) {
display: flex;
flex-direction: column;
}
.container > view:nth-child(3) > view {
display: flex;
padding: 5px 0;
}
.container > view:nth-child(3) > view text {
width: 34px;
text-align: center;
display: block;
}
.container > view:nth-child(3) > view:first-child {
border-bottom: 1px solid #fff3;
}
.container > text:nth-child(4) {
2025-06-09 01:17:18 +08:00
width: 40px;
2025-05-16 15:56:54 +08:00
text-align: right;
}
</style>