diff --git a/src/api/match/coupon.js b/src/api/match/coupon.js index 5449253..a0798fd 100644 --- a/src/api/match/coupon.js +++ b/src/api/match/coupon.js @@ -9,7 +9,7 @@ import { http } from '../../utils/request'; * @param {number} [data.pageNo] - 当前页码 * @param {number} [data.pageSize] - 每页条数 * @param {string} [data.name] - 优惠券名称 (模糊查询) - * @param {number} [data.type] - 优惠券类型 (1:满减券, 2:折扣券, 3:代金券) + * @param {number} [data.type] - 优惠券类型 (0:折扣券, 1:定额券) * @returns {Promise<{ * pageNo: number, * pageSize: number, @@ -41,7 +41,7 @@ export const couponPage = (data) => { * 添加优惠券 * @param {Object} data - 优惠券信息 * @param {string} data.name - 优惠券名称 - * @param {number} data.type - 优惠券类型 (1:满减券, 2:折扣券, 3:代金券) + * @param {number} data.type - 优惠券类型 (0:折扣券, 1:定额券) * @param {number} data.value - 优惠券面值 * @param {string} data.startTime - 开始时间 (格式:2026-03-08T18:23:19.664Z) * @param {string} data.endTime - 结束时间 (格式:2026-03-08T18:23:19.664Z) @@ -57,7 +57,7 @@ export const couponAdd = (data) => { * @param {Object} data - 优惠券信息 * @param {number} data.id - 优惠券ID * @param {string} data.name - 优惠券名称 - * @param {number} data.type - 优惠券类型 (1:满减券, 2:折扣券, 3:代金券) + * @param {number} data.type - 优惠券类型 (0:折扣券, 1:定额券) * @param {number} data.value - 优惠券面值 * @param {string} data.startTime - 开始时间 (格式:2026-03-08T18:23:19.665Z) * @param {string} data.endTime - 结束时间 (格式:2026-03-08T18:23:19.665Z) diff --git a/src/api/match/eventRecord.js b/src/api/match/eventRecord.js index 23aadc0..b707f77 100644 --- a/src/api/match/eventRecord.js +++ b/src/api/match/eventRecord.js @@ -6,14 +6,16 @@ import { http } from '../../utils/request'; /** * 分页查询参赛记录 * @param {Object} params - 查询参数 - * @param {number} [params.AppUserId] - 普通用户ID - * @param {number} [params.MerchantId] - 商户ID + * @param {number} [params.AppUserId] - 普通用户ID(AppUser表的Id) + * @param {number} [params.SysUserId] - 系统用户ID(SysUser表的Id,用于单位用户) + * @param {number} [params.MerchantId] - 商户ID(已弃用,使用SysUserId) * @param {string} [params.EventName] - 赛事名称 (模糊查询) - * @param {number} [params.RegistrationStatus] - 报名状态 (0:待支付, 1:已支付, 2:已取消, 3:已退款, 4:已完成) + * @param {number} [params.PaymentStatus] - 支付状态 (0:未支付/待审核, 1:已支付/审核通过, 2:支付失败/审核拒绝, 3:已退款, 4:已取消) * @param {string} [params.StartTime] - 开始时间 * @param {string} [params.EndTime] - 结束时间 * @param {number} [params.PageNo] - 当前页码 * @param {number} [params.PageSize] - 每页条数 + * @param {number} [params.refresh] - 刷新标记(用于强制刷新数据) * @returns {Promise<{ * pageNo: number, * pageSize: number, diff --git a/src/api/match/project.js b/src/api/match/project.js index 73d3bce..15777bc 100644 --- a/src/api/match/project.js +++ b/src/api/match/project.js @@ -8,7 +8,7 @@ import { http } from '../../utils/request'; * @param {Object} params - 查询参数 * @param {number} [params.EventId] - 赛事ID * @param {string} [params.ProjectName] - 项目名称 (模糊查询) - * @param {number} [params.ProjectTypeId] - 项目类型ID + * @param {number} [params.ProjectType] - 项目类型 * @param {number} [params.PageNo] - 当前页码 * @param {number} [params.PageSize] - 页码容量 */ @@ -21,7 +21,7 @@ export const projectPageGet = (params) => { * @param {Object} data - 项目信息 * @param {number} data.eventId - 赛事ID * @param {string} data.name - 项目名称 - * @param {number} data.projectTypeId - 项目类型ID + * @param {number} data.projectType - 项目类型 * @param {number} data.completionCount - 完成人数 * @param {number} data.fee - 费用 * @param {number} data.durationMinutes - 时长(分钟) @@ -44,7 +44,7 @@ export const projectAddPost = (data) => { * @param {number} data.id - 项目ID * @param {number} data.eventId - 赛事ID * @param {string} data.name - 项目名称 - * @param {number} data.projectTypeId - 项目类型ID + * @param {number} data.projectType - 项目类型 * @param {number} data.completionCount - 完成次数/达标次数 * @param {number} data.fee - 费用 * @param {number} data.durationMinutes - 时长(分钟) diff --git a/src/components/ProTable/hooks/useTable.ts b/src/components/ProTable/hooks/useTable.ts index f4d8938..5a0d4f5 100644 --- a/src/components/ProTable/hooks/useTable.ts +++ b/src/components/ProTable/hooks/useTable.ts @@ -93,11 +93,40 @@ export const useTable = ( for (let key in state.searchParam) { // * 某些情况下参数为 false/0 也应该携带参数 if (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) { - nowSearchParam[key] = state.searchParam[key]; + // 处理日期范围参数:如果是数组,拆分为 StartTime 和 EndTime + if (Array.isArray(state.searchParam[key]) && state.searchParam[key].length === 2) { + let startTime = state.searchParam[key][0]; + let endTime = state.searchParam[key][1]; + + // 如果是 Date 对象,格式化为本地日期字符串,避免时区转换问题 + if (startTime instanceof Date) { + startTime = formatLocalDate(startTime); + } + if (endTime instanceof Date) { + endTime = formatLocalDate(endTime); + } + + nowSearchParam['StartTime'] = startTime; + nowSearchParam['EndTime'] = endTime; + } else { + nowSearchParam[key] = state.searchParam[key]; + } } } Object.assign(state.totalParam, nowSearchParam, isPageable ? pageParam.value : {}); }; + + /** + * @description 格式化日期为本地日期字符串,避免时区转换 + * @param date Date 对象 + * @returns YYYY-MM-DD 格式的字符串 + * */ + const formatLocalDate = (date: Date): string => { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const day = String(date.getDate()).padStart(2, '0'); + return `${year}-${month}-${day}`; + }; /** * @description 更新分页信息 diff --git a/src/utils/request.ts b/src/utils/request.ts index 1a0ac94..0e9dc24 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -79,10 +79,11 @@ service.interceptors.response.use( ElMessage.error('无权访问'); return response; } - // 处理规范化结果错误 + // 处理规范化结果错误 if (res.statusCode !== 200) { var message = JSON.stringify(res.errors); ElMessage.error(message); + return Promise.reject(new Error(res.errors || 'Request failed')); } return response; }, diff --git a/src/views/match/coupon/index.vue b/src/views/match/coupon/index.vue index aeea63d..770dfc9 100644 --- a/src/views/match/coupon/index.vue +++ b/src/views/match/coupon/index.vue @@ -13,10 +13,10 @@ {{ $t(scope.row.name) }} @@ -29,37 +30,34 @@ - + - - - - +
-
+
新增区间
- +