update:bug

This commit is contained in:
ltx 2026-03-24 20:25:23 +08:00
parent 8421e1aecd
commit c73c71b54f
6 changed files with 74 additions and 56 deletions

View File

@ -135,7 +135,7 @@ export const appuserMemberStatusPost = (data) => {
* @param {number} [params.PageSize] - 每页条数
*/
export const appuserAthletePageGet = (params) => {
return http.get('/appuser/athlete/page', { params });
return http.get('/appuser/member/page', { ...params, personType: 1 });
};
/**
@ -149,7 +149,7 @@ export const appuserAthletePageGet = (params) => {
* @param {string} data.mobile - 手机号
*/
export const appuserAthleteAddPost = (data) => {
return http.post('/appuser/athlete/add', data);
return http.post('/appuser/member/save', { ...data, personType: 1 });
};
/**
@ -164,7 +164,7 @@ export const appuserAthleteAddPost = (data) => {
* @param {string} data.mobile - 手机号
*/
export const appuserAthleteUpdatePut = (data) => {
return http.put('/appuser/athlete/update', data);
return http.post('/appuser/member/save', { ...data, personType: 1 });
};
/**
@ -173,7 +173,7 @@ export const appuserAthleteUpdatePut = (data) => {
* @param {string} data.imageUrl - 身份证图片URL
*/
export const appuserAthleteOcrPost = (data) => {
return http.post('/appuser/athlete/ocr', data);
return http.post('/appuser/member/ocr', data);
};
/**
@ -181,7 +181,7 @@ export const appuserAthleteOcrPost = (data) => {
* @param {Array<number>} data - 运动员ID数组
*/
export const appuserAthleteBatchdeletePost = (data) => {
return http.post('/appuser/athlete/batchdelete', data);
return http.post('/appuser/delete', data);
};
/**

View File

@ -10,9 +10,9 @@
<template #default="{ row, $index }">
<el-form-item :prop="`units.${$index}.unitType`" :rules="[{ required: true, message: '请选择单位类型', trigger: 'change' }]" style="margin: 0;width: 100%;">
<el-select v-model="row.unitType" placeholder="请选择" style="width: 100%">
<el-option label="主办方" value="Host" />
<el-option label="承办方" value="Organizer" />
<el-option label="协办方" value="CoOrganizer" />
<el-option label="主办方" :value="0" />
<el-option label="承办方" :value="1" />
<el-option label="协办方" :value="2" />
</el-select>
</el-form-item>
</template>

View File

@ -51,7 +51,7 @@
<p>赛事{{formData.id ? '创建' : '修改'}}成功!</p>
</div>
<template #footer>
<el-button type="primary" @click="successDialogVisible=false; dialog.isShowDialog = false">确定</el-button>
<el-button type="primary" @click="successDialogVisible=false; dialog.isShowDialog = false; emit('refresh')">确定</el-button>
</template>
</el-dialog>
</div>
@ -82,6 +82,7 @@ const totalSteps = 4;
// 步骤组件映射
const stepComponents = markRaw([Step1BasicInfo, Step2Units, Step3ProjectConfig, Step4FeeConfig]);
const emit = defineEmits(['refresh']);
// 计算当前显示的步骤组件
const currentStepComponent = computed(() => {

View File

@ -16,8 +16,8 @@
<template #index="scope">
{{ scope.$index + 1 }}
</template>
<template #qrCodeUrl="scope">
<el-image :src="scope.row.qrCodeUrl" style="height: 80px" fit="cover" />
<template #coverImage="scope">
<el-image :src="scope.row.coverImage" style="height: 80px" fit="cover" />
</template>
<template #eventStatus="scope">
<el-tag :type="scope.row.eventStatus === 0 ? 'success' : scope.row.eventStatus === 1 ? 'warning' : 'danger'">
@ -75,7 +75,7 @@ const columns = reactive([
},
{
width: '120px',
prop: 'qrCodeUrl',
prop: 'coverImage',
label: '封面',
align: 'center',
width: '120px',

View File

@ -52,7 +52,7 @@
</el-form-item>
<!-- 组别 -->
<div v-if="formData.projectTypeId == 1005 || formData.projectTypeId == 1006">
<div>
<el-form-item
:label="'组别' + (index + 1) + ':'"
prop="groups"

View File

@ -27,7 +27,7 @@
</el-tab-pane>
<el-tab-pane label="运动员管理" name="second">
<ProTable ref="tableRefSport" :request-api="appuserAthletePageGet" :columns="columnsSport"
:pagination="true" :tool-button="true">
:pagination="true" :tool-button="true" :initParam="initParam">
<template #tools>
<el-button type="primary" icon="ele-Plus" @click="onOpenMenu()"> 新增
</el-button>
@ -54,7 +54,7 @@
</el-tabs>
<!-- 弹窗 -->
<el-dialog title="新增" v-model="isShowDialog" width="width: 800px;">
<el-dialog :title="dialogTitle" v-model="isShowDialog" width="width: 800px;">
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="200px" style="margin-bottom: 30px;"
v-if="isShowDialog">
@ -72,7 +72,7 @@
<!-- 教练姓名 -->
<el-form-item label="姓名" prop="name">
<el-input v-model="formData.name" placeholder="请输入教练姓名"></el-input>
<el-input v-model="formData.name" placeholder="请输入教练姓名"></el-input>
</el-form-item>
<!-- 性别 -->
@ -83,13 +83,17 @@
</el-select>
</el-form-item>
<el-form-item label="身份证号" prop="idCardNumber">
<el-input v-model="formData.idCardNumber" placeholder="请输入身份证号"></el-input>
<el-form-item label="出生日期" prop="birthDate">
<el-date-picker v-model="formData.birthDate" placeholder="请选择出生日期" />
</el-form-item>
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="formData.idCard" placeholder="请输入身份证号"></el-input>
</el-form-item>
<!-- 联系电话 -->
<el-form-item label="联系电话" prop="mobil">
<el-input v-model="formData.mobil" placeholder="请输入联系电话" class="fee-input">
<el-form-item label="联系电话" prop="phone">
<el-input v-model="formData.phone" placeholder="请输入联系电话" class="fee-input">
<!-- <template #append>
<el-button type="primary" @click="onSendCode" >
{{ isSendCode ? '已发送' : '发送验证码' }}
@ -120,27 +124,34 @@ import { appuserAthletePageGet, appuserAthleteAddPost, appuserAthleteUpdatePut,
// 定义表单引用类型
const formRef = ref();
const activeTab = ref('first')
const formData = ref({
const getDefaultFormData = () => ({
id: undefined,
name: '',
idCardNumber: '',
idCard: '',
gender: '',
idCardImageUrl: '',
mobil: '',
birthDate: '',
phone: '',
});
const formData = ref(getDefaultFormData())
const initParam = ref({
personType: 1,
refresh: true,
})
const formRules = ref({
name: [
{ required: true, message: '请输入教练姓名', trigger: 'blur' }
{ required: true, message: '请输入运动员姓名', trigger: 'blur' }
],
idCardNumber: [
idCard: [
{ required: true, message: '请输入身份证号', trigger: 'change' }
],
gender: [
{ required: true, message: '请选择性别', trigger: 'change' }
],
mobil: [
phone: [
{ required: true, message: '请输入联系电话', trigger: 'blur' }
],
idCardImageUrl: [
@ -172,7 +183,7 @@ const columnsSport = ref([
},
{ prop: 'idCardImageUrl', label: '身份证' },
{ prop: 'mobile', label: '联系电话', search: { el: 'input' } },
{ prop: 'phone', label: '联系电话', search: { el: 'input' } },
{ prop: 'action', label: '操作', align: 'center', fixed: 'right' },
]);
@ -182,13 +193,19 @@ const dialogTitle = ref('新增');
const onOpenMenu = (row) => {
dialogTitle.value = row ? '编辑' : '新增';
formData.value = {
name: '',
idCardNumber: '',
gender: '',
idCardImageUrl: '',
mobil: '',
};
formData.value = getDefaultFormData();
if (row && typeof row === 'object') {
formData.value = {
...getDefaultFormData(),
id: row.id,
name: row.name ?? '',
idCard: row.idCard ?? '',
gender: row.gender !== undefined && row.gender !== null ? String(row.gender) : '',
idCardImageUrl: row.idCardImageUrl ?? '',
birthDate: row.birthDate ?? '',
phone: row.phone ?? row.phone ?? '',
};
}
isShowDialog.value = true;
};
@ -226,8 +243,8 @@ const handleAvatarSuccess = async (response,
const res = await appuserAthleteOcrPost(response[0].url)
if(res.succeeded){
formData.value.name = res.data.name
formData.value.idCardNumber = res.data.idCardNumber
formData.value.gender = res.data.gender
formData.value.idCard = res.data.idCard
formData.value.gender = res.data.gender !== undefined && res.data.gender !== null ? String(res.data.gender) : ''
formData.value.birthDate = res.data.birthDate
formData.value.idCardImageUrl = response[0].url
}else{
@ -254,24 +271,24 @@ const onSubmit = () => {
formRef.value.validate(async (valid) => {
if (!valid) return;
// try {
// let res;
// if (formData.value.id) {
// res = await SysMenuApi.add(formData.value);
// } else {
// res = await SysMenuApi.add(formData.value);
// }
// if (res.succeeded) {
// ElMessage.success(dialogTitle.value + '成功');
// isShowDialog.value = false;
// } else {
// ElMessage.error(res.errors);
// }
// } catch (error) {
// console.error(error);
// }
try {
const payload = {
...formData.value,
gender: formData.value.gender !== undefined && formData.value.gender !== null ? Number(formData.value.gender) : '',
phone: formData.value.phone,
};
const res = formData.value.id ? await appuserAthleteUpdatePut(payload) : await appuserAthleteAddPost(payload);
if (res.succeeded) {
ElMessage.success(dialogTitle.value + '成功');
isShowDialog.value = false;
initParam.value.refresh = !initParam.value.refresh;
} else {
ElMessage.error(res.errors || res.msg || dialogTitle.value + '失败');
}
} catch (error) {
ElMessage.error(dialogTitle.value + '失败');
console.error(error);
}
});
};