From 904af04cdd58a77fded4c22b1e3ab43376f087aa Mon Sep 17 00:00:00 2001 From: Timi Date: Sat, 29 Aug 2026 15:35:28 +0800 Subject: [PATCH] add event verify --- src/api/EventRecordAPI.ts | 7 ++ src/pages/event/EventDetail.vue | 1 + src/pages/event/EventEdit.vue | 6 ++ src/pages/event/EventList.vue | 1 + src/pages/event/EventRecordDetail.vue | 82 ++++++++++++++- src/pages/event/EventRecordList.vue | 139 +++++++++++++++++++++++--- src/types/EventItem.ts | 1 + src/types/EventRecord.ts | 10 ++ src/utils/permission.ts | 2 + 9 files changed, 233 insertions(+), 16 deletions(-) diff --git a/src/api/EventRecordAPI.ts b/src/api/EventRecordAPI.ts index 702f8c9..f865559 100644 --- a/src/api/EventRecordAPI.ts +++ b/src/api/EventRecordAPI.ts @@ -32,6 +32,12 @@ async function update(record: EventRecord): Promise { await axios.post(`${BASE_URI}/update`, withCurrentStoreId(record)); } +async function verify(id: string): Promise { + await axios.post(`${BASE_URI}/verify`, undefined, { + params: { id } + }); +} + async function remove(id: string): Promise { await axios.post(`${BASE_URI}/delete`, undefined, { params: { id } @@ -56,6 +62,7 @@ export default { createBatch, createWithCustomer, update, + verify, remove, eventRank }; diff --git a/src/pages/event/EventDetail.vue b/src/pages/event/EventDetail.vue index e09de07..45d5f58 100644 --- a/src/pages/event/EventDetail.vue +++ b/src/pages/event/EventDetail.vue @@ -44,6 +44,7 @@ + diff --git a/src/pages/event/EventEdit.vue b/src/pages/event/EventEdit.vue index 55cf8d5..227a92c 100644 --- a/src/pages/event/EventEdit.vue +++ b/src/pages/event/EventEdit.vue @@ -79,6 +79,9 @@ + + +
@@ -265,6 +268,7 @@ const formModel = reactive({ requireValue: false, status: "ACTIVE" as EventStatus, requirePhoto: false, + requireVerification: false, limitType: "NONE" as EventLimitType, limitValueText: "", beginAtText: "", @@ -633,6 +637,7 @@ async function saveEventItem(): Promise { requireValue: isNumberValueType(formModel.valueType) && formModel.requireValue, status: formModel.status, requirePhoto: formModel.requirePhoto, + requireVerification: formModel.requireVerification, limitType: formModel.limitType, limitValue: resolveLimitValue(), beginAt: resolveTimestamp(formModel.beginAtText), @@ -726,6 +731,7 @@ async function fillForm(): Promise { requireValue: current.requireValue ?? false, status: current.status === "DRAFT" ? "DRAFT" : current.status === "INACTIVE" ? "INACTIVE" : "ACTIVE", requirePhoto: current.requirePhoto ?? false, + requireVerification: current.requireVerification ?? false, limitType: current.limitType || "NONE", beginAtText: current.beginAt ? Time.toDateTime(current.beginAt) : "", endAtText: current.endAt ? Time.toDateTime(current.endAt) : "", diff --git a/src/pages/event/EventList.vue b/src/pages/event/EventList.vue index 4280956..774bba4 100644 --- a/src/pages/event/EventList.vue +++ b/src/pages/event/EventList.vue @@ -30,6 +30,7 @@ :content="getStatusTag(item).text" /> 需拍照 + 需核销