This commit is contained in:
2025-12-14 17:38:35 +08:00
parent 8c56251d72
commit b7b8947939
16 changed files with 659 additions and 201 deletions

View File

@@ -6,19 +6,22 @@
import request from '@/utils/request.js'
/**
* 获取我的选手列表(普通评委
* 获取选手列表(根据裁判类型返回不同数据
* @param {Object} params
* @param {String} params.judgeId - 评委ID
* @param {String} params.venueId - 场地ID
* @param {String} params.projectId - 项目ID
* @param {Number} params.refereeType - 裁判类型1-裁判长, 2-普通裁判)
* @param {String} params.venueId - 场地ID可选
* @param {String} params.projectId - 项目ID可选
* @returns {Promise}
*
* 注意:此接口需要后端实现
* 建议路径: GET /api/mini/athletes
* 普通裁判:返回待评分的选手列表
* 裁判长:返回已有评分的选手列表
*
* 后端路径: GET /api/mini/score/athletes
*/
export function getMyAthletes(params) {
return request({
url: '/api/mini/athletes',
url: '/mini/score/athletes',
method: 'GET',
params: params, // GET 请求使用 params
showLoading: true
@@ -38,7 +41,7 @@ export function getMyAthletes(params) {
*/
export function getAthletesForAdmin(params) {
return request({
url: '/api/mini/athletes/admin',
url: '/mini/athletes/admin',
method: 'GET',
params: params, // GET 请求使用 params
showLoading: true
@@ -89,54 +92,53 @@ export default {
}
/**
* 后端接口规范(待实现)
* 后端接口规范:
*
* GET /api/mini/athletes
* GET /api/mini/score/athletes
*
* 请求参数:
* {
* "judgeId": "456",
* "venueId": "1",
* "projectId": "5"
* "refereeType": 2, // 1-裁判长, 2-普通裁判
* "venueId": "1", // 可选
* "projectId": "5" // 可选
* }
*
* 响应:
* 响应(普通裁判 - 待评分选手)
* {
* "code": 200,
* "success": true,
* "msg": "操作成功",
* "data": [
* {
* "athleteId": "1",
* "athleteId": 1,
* "name": "张三",
* "idCard": "123456789000000000",
* "team": "少林寺武术大学院",
* "number": "123-4567898275",
* "myScore": 8.906,
* "totalScore": 8.907,
* "scored": true,
* "scoreTime": "2025-06-25 09:15:00"
* "team": "少林寺武术大学院",
* "projectName": "女子组长拳",
* "orderNum": 1,
* "competitionStatus": 0
* }
* ]
* }
*
* SQL示例
* SELECT
* a.id AS athleteId,
* a.player_name AS name,
* a.id_card AS idCard,
* a.team_name AS team,
* a.player_no AS number,
* a.total_score AS totalScore,
* s.score AS myScore,
* CASE WHEN s.id IS NOT NULL THEN 1 ELSE 0 END AS scored,
* s.score_time AS scoreTime
* FROM martial_athlete a
* LEFT JOIN martial_score s
* ON a.id = s.athlete_id
* AND s.judge_id = #{judgeId}
* WHERE a.venue_id = #{venueId}
* AND a.project_id = #{projectId}
* AND a.is_deleted = 0
* ORDER BY a.order_num ASC
* 响应(裁判长 - 已有评分选手)
* {
* "code": 200,
* "success": true,
* "msg": "操作成功",
* "data": [
* {
* "athleteId": 1,
* "name": "张三",
* "number": "123-4567898275",
* "team": "少林寺武术大学院",
* "projectName": "女子组长拳",
* "orderNum": 1,
* "totalScore": 8.907,
* "scoredJudgeCount": 3,
* "competitionStatus": 2
* }
* ]
* }
*/

View File

@@ -71,7 +71,7 @@ export default {
* "msg": "登录成功",
* "data": {
* "token": "xxx",
* "userRole": "pub",
* "refereeType": 2, // 1-裁判长, 2-普通裁判
* "matchId": "123",
* "matchName": "2025年全国武术散打锦标赛...",
* "matchTime": "2025年6月25日 9:00",

View File

@@ -13,7 +13,7 @@ import request from '@/utils/request.js'
*/
export function getDeductions(params) {
return request({
url: '/martial/deductionItem/list',
url: '/blade-martial/deductionItem/list',
method: 'GET',
params: {
...params,
@@ -35,7 +35,7 @@ export function getDeductions(params) {
*/
export function submitScore(data) {
return request({
url: '/martial/score/submit',
url: '/mini/score/submit',
method: 'POST',
data,
showLoading: true,
@@ -54,7 +54,7 @@ export function submitScore(data) {
*/
export function getScoreDetail(params) {
return request({
url: `/api/mini/score/detail/${params.athleteId}`,
url: `/mini/score/detail/${params.athleteId}`,
method: 'GET',
showLoading: true
})
@@ -82,11 +82,33 @@ export function modifyScore(data) {
})
}
/**
* 获取选手列表
* @param {Object} params
* @param {String} params.judgeId - 裁判ID
* @param {Number} params.refereeType - 裁判类型1-裁判长, 2-普通裁判)
* @param {String} params.projectId - 项目ID可选
* @param {String} params.venueId - 场地ID可选
* @returns {Promise}
*
* 注意:此接口需要后端实现
* 建议路径: GET /api/mini/score/athletes
*/
export function getAthletes(params) {
return request({
url: '/api/mini/score/athletes',
method: 'GET',
params,
showLoading: true
})
}
export default {
getDeductions,
submitScore,
getScoreDetail,
modifyScore
modifyScore,
getAthletes
}
/**