/** * Mock 数据 - 评分模块 * 模拟评分相关数据 */ /** * 获取扣分项列表 * @param {Object} params * @param {String} params.projectId - 项目ID * @returns {Object} 扣分项列表(包装在records中,与后端API格式一致) */ export function getDeductions(params) { // 模拟8个扣分项(字段名与后端API保持一致) return { records: [ { id: '1', itemName: '动作不规范', deductionPoint: '0.1' }, { id: '2', itemName: '节奏不稳', deductionPoint: '0.1' }, { id: '3', itemName: '力度不足', deductionPoint: '0.1' }, { id: '4', itemName: '平衡失误', deductionPoint: '0.1' }, { id: '5', itemName: '器械掉落', deductionPoint: '0.2' }, { id: '6', itemName: '出界', deductionPoint: '0.1' }, { id: '7', itemName: '动作遗漏', deductionPoint: '0.2' }, { id: '8', itemName: '其他失误', deductionPoint: '0.1' } ], total: 8, size: 100, current: 1, pages: 1 } } /** * 提交评分 * @param {Object} params * @param {String} params.athleteId - 选手ID * @param {String} params.judgeId - 评委ID * @param {Number} params.score - 评分 * @param {Array} params.deductions - 扣分项 * @param {String} params.note - 备注 * @returns {Object} 提交结果 */ export function submitScore(params) { const { athleteId, judgeId, score, deductions, note } = params // 模拟提交成功 console.log('Mock提交评分:', { athleteId, judgeId, score, deductions: deductions.filter(d => d.checked).length + '项', note }) return { scoreId: 'score_' + Date.now(), athleteId, judgeId, score, submitTime: new Date().toISOString(), message: '评分提交成功' } } /** * 获取评分详情(主裁判查看) * @param {Object} params * @param {String} params.athleteId - 选手ID * @returns {Object} 评分详情 */ export function getScoreDetail(params) { const { athleteId } = params // 模拟选手信息和评委评分 return { athleteInfo: { athleteId, name: '张三', idCard: '123456789000000000', team: '少林寺武术大学院', number: '123-4567898275', totalScore: 8.907 }, // 6位评委的评分 judgeScores: [ { judgeId: '1', judgeName: '欧阳丽娜', score: 8.907, scoreTime: '2025-06-25 09:15:00', note: '' }, { judgeId: '2', judgeName: '张三', score: 8.901, scoreTime: '2025-06-25 09:15:30', note: '' }, { judgeId: '3', judgeName: '裁判姓名', score: 8.902, scoreTime: '2025-06-25 09:16:00', note: '' }, { judgeId: '4', judgeName: '裁判姓名', score: 8.907, scoreTime: '2025-06-25 09:16:30', note: '' }, { judgeId: '5', judgeName: '裁判姓名', score: 8.905, scoreTime: '2025-06-25 09:17:00', note: '' }, { judgeId: '6', judgeName: '裁判姓名', score: 8.904, scoreTime: '2025-06-25 09:17:30', note: '' } ], // 修改记录(如果有) modification: null } } /** * 修改评分(主裁判) * @param {Object} params * @param {String} params.athleteId - 选手ID * @param {String} params.modifierId - 修改人ID(主裁判) * @param {Number} params.modifiedScore - 修改后的分数 * @param {String} params.note - 修改原因 * @returns {Object} 修改结果 */ export function modifyScore(params) { const { athleteId, modifierId, modifiedScore, note } = params // 模拟修改成功 console.log('Mock修改评分:', { athleteId, modifierId, originalScore: 8.907, modifiedScore, note }) return { athleteId, originalScore: 8.907, modifiedScore, modifyTime: new Date().toISOString(), message: '评分修改成功' } } export default { getDeductions, submitScore, getScoreDetail, modifyScore }