报名验证
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);
|
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,
|
usereventregistrationRegistrationLimitCheckPost,
|
||||||
usereventregistrationGroupTeamLimitGet,
|
usereventregistrationGroupTeamLimitGet,
|
||||||
usereventregistrationOrderStatusGet,
|
usereventregistrationOrderStatusGet,
|
||||||
|
usereventregistrationRegistrationStatusCheckPost,
|
||||||
} from '/@/api/match/usereventregistration';
|
} from '/@/api/match/usereventregistration';
|
||||||
import { teamPageGet, teamDetailGet } from '/@/api/match/unitUser';
|
import { teamPageGet, teamDetailGet } from '/@/api/match/unitUser';
|
||||||
import QRCode from 'qrcodejs2-fixes';
|
import QRCode from 'qrcodejs2-fixes';
|
||||||
@ -997,6 +998,21 @@ const openRegistrationDialog = async (row) => {
|
|||||||
registerLoading.value = true;
|
registerLoading.value = true;
|
||||||
|
|
||||||
try {
|
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);
|
const { succeeded, data } = await usereventregistrationDetailGet(eventId);
|
||||||
if (!succeeded) {
|
if (!succeeded) {
|
||||||
ElMessage.error(data ?? '项目加载失败');
|
ElMessage.error(data ?? '项目加载失败');
|
||||||
@ -1022,7 +1038,8 @@ const openRegistrationDialog = async (row) => {
|
|||||||
projects.value = Array.isArray(data?.projects) ? data.projects : [];
|
projects.value = Array.isArray(data?.projects) ? data.projects : [];
|
||||||
isShowRegisterDialog.value = true;
|
isShowRegisterDialog.value = true;
|
||||||
activeStep.value = 0;
|
activeStep.value = 0;
|
||||||
} catch {
|
} catch (error) {
|
||||||
|
console.error('打开报名弹窗失败:', error);
|
||||||
ElMessage.error('项目加载失败');
|
ElMessage.error('项目加载失败');
|
||||||
} finally {
|
} finally {
|
||||||
registerLoading.value = false;
|
registerLoading.value = false;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user