203 lines
4.4 KiB
Vue
203 lines
4.4 KiB
Vue
<template>
|
||
<view class="over">
|
||
<view class="over-lan">
|
||
<view class="over-lan-player">玩家</view>
|
||
<view class="over-lan-score">得分</view>
|
||
<view class="over-lan-oddscore">倍率分</view>
|
||
</view>
|
||
<div v-if="loading">正在努力加载数据中...</div>
|
||
<div v-else>
|
||
<view class="over-content" v-for="(item,index) in scoredetailData1" :key="index">
|
||
<view class="over-content-player">
|
||
<image :src='item.avatars' mode="widthFix" style="width: 80rpx;"></image>
|
||
<text>{{item.Nickname}}</text>
|
||
</view>
|
||
<view class="over-content-score">
|
||
{{item.score}}
|
||
</view>
|
||
<view class="over-content-oddscore">
|
||
{{item.oddscore}}
|
||
</view>
|
||
</view>
|
||
<button @click="onsubmit">
|
||
返回首页
|
||
</button>
|
||
</div>
|
||
|
||
</view>
|
||
</template>
|
||
|
||
<script setup>
|
||
import {onMounted, ref} from 'vue';
|
||
import { GET, POST, PUT } from '../../utils/request';
|
||
import { onLoad } from '@dcloudio/uni-app';
|
||
import StaticValue from '@/utils/StaticValue.js';
|
||
import { login } from '../../api/user';
|
||
|
||
//获取本地用户数据
|
||
|
||
const roomData = ref([]);
|
||
|
||
const loading = ref(true); // 加载状态
|
||
|
||
const scoredetailData1 = ref([]);
|
||
console.log("打印数组scoredetailData1:",scoredetailData1.value);
|
||
const scoredetailData = [
|
||
{
|
||
avatars: "https://q3.itc.cn/q_70/images03/20250110/1e71eecf56b34344bcae6a5b85c0bec2.jpeg",
|
||
Nickname: '小王',
|
||
score: 12,
|
||
oddscore: 24,
|
||
},
|
||
{
|
||
avatars: "https://q3.itc.cn/q_70/images03/20250110/1e71eecf56b34344bcae6a5b85c0bec2.jpeg",
|
||
Nickname: '历史王',
|
||
score: 13,
|
||
oddscore: 26,
|
||
},
|
||
]
|
||
|
||
//传入用户所输入的倍率odd
|
||
const odd1 =ref();
|
||
|
||
onLoad((options) => {
|
||
try {
|
||
odd1.value = JSON.parse(decodeURIComponent(options.multiple));
|
||
|
||
console.log("odd1:",odd1);
|
||
}
|
||
catch(error){
|
||
|
||
}
|
||
})
|
||
|
||
onMounted(async () => {
|
||
//By本地userId查询 拿取用户所属房间Id
|
||
const getUserInfo = StaticValue.getUserInfo;
|
||
roomData.value = getUserInfo();
|
||
try {
|
||
// 调用您的异步数据获取方法
|
||
await ByGetLocalUseId();
|
||
console.log("当前scoredetailData1为:",scoredetailData1.value);
|
||
} catch (error) {
|
||
console.error('数据加载失败:', error);
|
||
} finally {
|
||
loading.value = false; // 无论成功失败,都关闭加载状态
|
||
}
|
||
;
|
||
|
||
//By RoomId from score_room_user表 Get房间下所有用户的得分
|
||
|
||
|
||
//调用map和compute方法创建新的倍率数据
|
||
|
||
//By RoomId form score_room 表,将房间的状态改为2.
|
||
|
||
//返回index首页
|
||
})
|
||
|
||
|
||
const ByGetLocalUseId = async () => {
|
||
//拿到本地用户所在的房间id
|
||
const response2 = await GET('/system/room/createUser/'+ roomData.value.userId);
|
||
//show信息
|
||
|
||
const dataArray1 = response2.data;
|
||
console.log('结算房间的房间号为:', dataArray1[0].roomId);
|
||
|
||
var roomId1 = dataArray1[0].roomId;
|
||
|
||
console.log("拿到本地用户所在的房间id:",roomId1);
|
||
|
||
const response = await GET("/system/score/room/user/list", {roomId: roomId1});
|
||
|
||
console.log("拿到房间下的所有用户信息:",response.rows);
|
||
|
||
scoredetailData1.value = response.rows.map(player => ({
|
||
avatars: player.avatars,
|
||
Nickname: player.nickName,
|
||
score: player.totalScore,
|
||
oddscore: (player.totalScore * odd1.value),
|
||
}));
|
||
|
||
//修改房间信息
|
||
try{
|
||
const response5 = await PUT("/system/room",{
|
||
roomId: roomId1,
|
||
odds: odd1.value,
|
||
roomStatus: 2,
|
||
})
|
||
console.log("关闭房间成功",response5);
|
||
}
|
||
catch (error) {
|
||
console.log("关闭房间失败",error);
|
||
}
|
||
}
|
||
|
||
const onsubmit = () => {
|
||
|
||
// 返回首页(首页是tabBar页面时使用)
|
||
uni.reLaunch({
|
||
url: '/pages/index/index'
|
||
});
|
||
}
|
||
|
||
</script>
|
||
|
||
<style lang="less">
|
||
.over{
|
||
display: flex;
|
||
flex-direction: column;
|
||
.over-lan{
|
||
display: flex;
|
||
margin-top: 30rpx;
|
||
.over-lan-player{
|
||
margin-left: 50rpx;
|
||
|
||
}
|
||
.over-lan-score{
|
||
margin-left: 210rpx;
|
||
}
|
||
.over-lan-oddscore{
|
||
margin-left: 210rpx;
|
||
}
|
||
}
|
||
.over-content{
|
||
margin-top: 50rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
.over-content-player{
|
||
margin-left: 30rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
width: 240rpx;
|
||
image{
|
||
margin-right: 15rpx;
|
||
}
|
||
}
|
||
.over-content-score{
|
||
margin-left: 70rpx;
|
||
width: 150rpx;
|
||
|
||
}
|
||
.over-content-oddscore{
|
||
margin-left: 140rpx;
|
||
}
|
||
|
||
}
|
||
button{
|
||
position: fixed;
|
||
bottom: 60rpx;
|
||
left: 0;
|
||
right: 0;
|
||
border-radius: 15rpx;
|
||
background-color: rgb(55, 47, 172);
|
||
color: #fff;
|
||
// margin-top: 30rpx;
|
||
// margin-left: 450rpx;
|
||
width: 650rpx;
|
||
}
|
||
}
|
||
</style>
|