From 8ee326b43abe3a4cf29aa163d7675284e2e5ef9f Mon Sep 17 00:00:00 2001 From: liwentao Date: Thu, 9 Jul 2026 15:34:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=A1=A5=E7=BC=BA=E5=A4=B1=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gym-manage-web/src/api/memberCard.api.ts | 54 +++ .../src/views/member/MemberCardManagement.vue | 438 ++++++++++++++++++ 2 files changed, 492 insertions(+) create mode 100644 gym-manage-web/src/api/memberCard.api.ts create mode 100644 gym-manage-web/src/views/member/MemberCardManagement.vue diff --git a/gym-manage-web/src/api/memberCard.api.ts b/gym-manage-web/src/api/memberCard.api.ts new file mode 100644 index 0000000..75bc3a0 --- /dev/null +++ b/gym-manage-web/src/api/memberCard.api.ts @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// ==================== 会员卡类型 ==================== + +export interface MemberCardType { + id?: number + memberCardId?: number + memberCardName?: string + memberCardType?: string + memberCardTypeDesc?: string + memberCardPrice?: number + memberCardValidityDays?: number + memberCardTotalTimes?: number + memberCardAmount?: number + memberCardStatus?: number + memberCardStatusDesc?: string + extraConfig?: string + createdAt?: string + updatedAt?: string +} + +export interface MemberCardPageParams { + status?: number + name?: string + type?: string + page?: number + size?: number +} + +export const memberCardApi = { + /** 查询会员卡类型列表(分页+条件) */ + list: (params: MemberCardPageParams) => + request.get('/member-cards', { params }), + + /** 查询上架中的会员卡类型 */ + getActiveCards: (status?: number) => + request.get('/member-cards/active', { params: { status } }), + + /** 根据ID查询会员卡类型 */ + getById: (memberCardId: number) => + request.get(`/member-cards/${memberCardId}`), + + /** 创建会员卡类型 */ + create: (data: MemberCardType) => + request.post('/member-cards', data), + + /** 更新会员卡类型 */ + update: (id: number, data: MemberCardType) => + request.put(`/member-cards/${id}`, data), + + /** 删除会员卡类型 */ + delete: (id: number) => + request.delete(`/member-cards/${id}`), +} diff --git a/gym-manage-web/src/views/member/MemberCardManagement.vue b/gym-manage-web/src/views/member/MemberCardManagement.vue new file mode 100644 index 0000000..933fa16 --- /dev/null +++ b/gym-manage-web/src/views/member/MemberCardManagement.vue @@ -0,0 +1,438 @@ + + + + +