From 8c023e63ecbcd50fa272dbf6d6576bcd5e1ad962 Mon Sep 17 00:00:00 2001 From: ZhuRui Date: Fri, 28 Aug 2026 14:40:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=201.05=E9=9C=80=E6=B1=82=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/events/types.ts | 4 ++ src/pages/events/list/index.tsx | 39 +++++++++++++++++ src/pages/events/list/model/config.ts | 4 ++ src/pages/events/list/model/integerInput.ts | 43 +++++++++++++++++++ .../events/list/model/useEventListModel.ts | 15 ++++++- src/utils/form.ts | 6 +-- 6 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 src/pages/events/list/model/integerInput.ts diff --git a/src/api/events/types.ts b/src/api/events/types.ts index d7e25cd..4095c5c 100644 --- a/src/api/events/types.ts +++ b/src/api/events/types.ts @@ -76,6 +76,10 @@ export interface EventListQueryParams { idCardImg?: string; /** 是否要求提供证件号码;0=无需,1=需要 */ idCardNo?: string; + /** 报名人数起始(含) */ + scBegin?: string; + /** 报名人数结束(含) */ + scEnd?: string; } /** 分页数据 */ diff --git a/src/pages/events/list/index.tsx b/src/pages/events/list/index.tsx index b2abbff..e7bed13 100644 --- a/src/pages/events/list/index.tsx +++ b/src/pages/events/list/index.tsx @@ -20,6 +20,8 @@ import { } from './model/useEventListModel'; import { useEventListColumns } from './model/useEventListColumns'; import { getProvinceCityCascaderOptions } from '@/utils/areaData'; +import { toIntegerOnly } from '@/utils/form'; +import { handleIntegerInput, handleIntegerBlur, blockNonDigitKey } from './model/integerInput'; import { useContainerSize } from '@/hooks'; import { usePermissionStore } from '@/stores/permissionStore'; import EventRegulationModal from './components/EventRegulationModal'; @@ -266,6 +268,43 @@ export default defineComponent({ onUpdate:value={(val: any) => (filterForm.region = val || [])} /> + + + handleIntegerInput(e, (v) => (filterForm.scBegin = v))} + onKeydown={blockNonDigitKey} + onBlur={(e: Event) => handleIntegerBlur(e, (v) => (filterForm.scBegin = v))} + onUpdate:value={(val: string) => (filterForm.scBegin = toIntegerOnly(val))} + onPressEnter={handleSearch} + /> + + handleIntegerInput(e, (v) => (filterForm.scEnd = v))} + onKeydown={blockNonDigitKey} + onBlur={(e: Event) => handleIntegerBlur(e, (v) => (filterForm.scEnd = v))} + onUpdate:value={(val: string) => (filterForm.scEnd = toIntegerOnly(val))} + onPressEnter={handleSearch} + /> + +