YD_Event.Web/src/api/match/eventarrangement.js

84 lines
2.3 KiB
JavaScript

import { http } from '../../utils/request';
// ==================== 赛事编排服务 ====================
/**
* 获取编排项目列表
* @param {number} eventid - 赛事ID (路径参数)
* @returns {Promise<Array<{
* projectId: number,
* projectName: string,
* projectType: string,
* durationSeconds: number,
* groups: Array<{
* groupName: string,
* participantCount: number
* }>,
* venueCount: number,
* sortIndex: number,
* totalDurationMinutes: number
* }>>}
*/
export const eventarrangementListGet = (eventid) => {
return http.get(`/eventarrangement/list/${eventid}`);
};
/**
* 更新编排设置
* @param {Object} data - 编排设置
* @param {number} data.eventId - 赛事ID
* @param {Array<Object>} data.settings - 编排配置列表
* @param {number} data.settings[].projectId - 项目ID
* @param {number} data.settings[].venueCount - 场地数量
* @param {number} data.settings[].sortIndex - 排序索引
* @param {number} data.settings[].durationSeconds - 时长(秒)
*/
export const eventarrangementPut = (data) => {
return http.put('/eventarrangement', data);
};
/**
* 编排预览
* @param {number} eventid - 赛事ID (路径参数)
* @returns {Promise<Array<{
* timeRange: string,
* projectName: string,
* groupName: string,
* teamName: string,
* athleteName: string,
* sessionIndex: number,
* venueIndex: number
* }>>} 返回编排预览结果
*/
export const eventarrangementPreviewPost = (eventid) => {
return http.post(`/eventarrangement/preview/${eventid}`);
};
/**
* 导出编排
* @param {number} eventid - 赛事ID (路径参数)
* @returns {Promise<string>} 返回Base64编码的文件内容
*/
export const eventarrangementExportPost = (eventid) => {
return http.post(`/eventarrangement/export/${eventid}`);
};
/**
* 删除编排信息
* @param {Object} data - 删除参数
* @param {number} data.id - 编排记录ID
*/
export const eventarrangementDeleteDelete = (data) => {
return http.delete('/eventarrangement/delete', { data });
};
/**
* 修改编排状态
* @param {Object} data - 状态参数
* @param {number} data.id - 编排记录ID
* @param {string} data.status - 状态 (Enable=启用, Disable=禁用)
*/
export const eventarrangementSetstatusPatch = (data) => {
return http.patch('/eventarrangement/setstatus', data);
};