add event option

This commit is contained in:
Timi
2026-08-30 23:36:59 +08:00
parent 82e2359857
commit f65c88920a
17 changed files with 1620 additions and 398 deletions
+23
View File
@@ -7,6 +7,28 @@ export type EventValueUnit = "CENT" | "COUNT";
export type EventLimitType = "NONE" | "DAILY_HALF_DAY" | "NATURAL_DAY" | "INTERVAL_HOUR" | "NATURAL_MONTH" | "TOTAL_LIMIT" | "CUSTOMER_TOTAL_LIMIT";
export type EventOptionSelectionMode = "SINGLE" | "MULTIPLE";
export type EventOption = {
id?: string;
clientKey?: string;
label: string;
sort?: number;
};
export type EventOptionGroup = {
id?: string;
clientKey?: string;
eventId?: string;
name: string;
selectionMode: EventOptionSelectionMode;
required?: boolean;
sort?: number;
optionList: EventOption[];
};
export type EventOptionSelectionMap = Record<string, Record<string, string[]>>;
export type EventItem = {
storeId?: string;
name: string;
@@ -24,4 +46,5 @@ export type EventItem = {
endAt?: number;
sort?: number;
roleCodeList?: string[];
optionGroupList?: EventOptionGroup[];
} & Model;
+18 -1
View File
@@ -1,6 +1,12 @@
import type { Attachment, BasePage, Model, PageResult, User } from "timi-web-api";
import type { Customer } from "@/types/Customer";
import type { EventItem } from "@/types/EventItem";
import type { EventItem, EventOption } from "@/types/EventItem";
export type EventRecordOptionGroup = {
groupId: string;
groupName: string;
selectedOptionList: EventOption[];
};
import type { PointLedgerChangeType } from "@/types/Point";
export type EventRecord = {
@@ -20,6 +26,7 @@ export type EventRecord = {
registeredAt?: number;
registeredDateValue?: number;
businessDayNo?: number;
selectedOptionGroupList?: EventRecordOptionGroup[];
customer?: Customer;
event?: EventItem;
@@ -36,6 +43,7 @@ export type EventRecordListItemView = {
customer?: Customer;
eventId?: string;
event?: EventItem;
selectedOptionGroupList?: EventRecordOptionGroup[];
registeredAt?: number;
verificationStatus?: VerificationStatus;
verifierUserId?: string;
@@ -54,8 +62,17 @@ export type EventRecordPage = {
keyword?: string;
beginAt?: number;
endAt?: number;
optionIdList?: string[];
} & BasePage;
export type EventOptionStat = {
groupId?: string;
groupName?: string;
optionId?: string;
optionLabel?: string;
recordCount?: number;
};
export type EventRecordRankPage = {
storeId?: string;
customerId?: string;