报名验证
This commit is contained in:
parent
4e851c9e36
commit
cf1558071a
@ -329,3 +329,18 @@ export const usereventregistrationCheckGroupSelectionLimitPost = (data) => {
|
||||
return http.post('/usereventregistration/check-group-selection-limit', data);
|
||||
};
|
||||
|
||||
/**
|
||||
* 验证用户报名状态
|
||||
* @param {Object} data - 验证信息
|
||||
* @param {number} data.eventId - 赛事ID
|
||||
* @returns {Promise<{
|
||||
* isRegistered: boolean,
|
||||
* registrationId: number,
|
||||
* registrationStatus: string,
|
||||
* message: string
|
||||
* }>}
|
||||
*/
|
||||
export const usereventregistrationRegistrationStatusCheckPost = (data) => {
|
||||
return http.post('/usereventregistration/registration-status/check', data);
|
||||
};
|
||||
|
||||
|
||||
@ -452,6 +452,7 @@ import {
|
||||
usereventregistrationRegistrationLimitCheckPost,
|
||||
usereventregistrationGroupTeamLimitGet,
|
||||
usereventregistrationOrderStatusGet,
|
||||
usereventregistrationRegistrationStatusCheckPost,
|
||||
} from '/@/api/match/usereventregistration';
|
||||
import { teamPageGet, teamDetailGet } from '/@/api/match/unitUser';
|
||||
import QRCode from 'qrcodejs2-fixes';
|
||||
@ -997,6 +998,21 @@ const openRegistrationDialog = async (row) => {
|
||||
registerLoading.value = true;
|
||||
|
||||
try {
|
||||
// 首先验证用户是否已报名该赛事
|
||||
const checkStatusRes = await usereventregistrationRegistrationStatusCheckPost({ eventId });
|
||||
if (checkStatusRes.succeeded && checkStatusRes.data?.isRegistered) {
|
||||
// 如果已报名,显示提示并阻止继续
|
||||
ElMessageBox.alert(
|
||||
checkStatusRes.data.message || '您已报名该赛事,请先取消报名后再重新报名',
|
||||
'提示',
|
||||
{
|
||||
confirmButtonText: '确定',
|
||||
type: 'warning'
|
||||
}
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const { succeeded, data } = await usereventregistrationDetailGet(eventId);
|
||||
if (!succeeded) {
|
||||
ElMessage.error(data ?? '项目加载失败');
|
||||
@ -1022,7 +1038,8 @@ const openRegistrationDialog = async (row) => {
|
||||
projects.value = Array.isArray(data?.projects) ? data.projects : [];
|
||||
isShowRegisterDialog.value = true;
|
||||
activeStep.value = 0;
|
||||
} catch {
|
||||
} catch (error) {
|
||||
console.error('打开报名弹窗失败:', error);
|
||||
ElMessage.error('项目加载失败');
|
||||
} finally {
|
||||
registerLoading.value = false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user