From a1bb5b74c5514932b034bd22b2aa27c1292fdf44 Mon Sep 17 00:00:00 2001 From: "COT001\\DEV" <871066422@qq.com> Date: Tue, 31 Mar 2026 11:07:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/test_form_controller.py | 15 ++++++++------- .../module_admin/system/entity/vo/test_form_vo.py | 3 +-- .../system/service/test_form_service.py | 6 +++++- .../src/views/system/test_form/condition.vue | 3 ++- .../src/views/system/test_form/result.vue | 3 ++- 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/system/controller/test_form_controller.py b/ruoyi-fastapi-backend/module_admin/system/controller/test_form_controller.py index 43e4473..bcddc1b 100644 --- a/ruoyi-fastapi-backend/module_admin/system/controller/test_form_controller.py +++ b/ruoyi-fastapi-backend/module_admin/system/controller/test_form_controller.py @@ -28,13 +28,14 @@ async def get_test_form_list( current_user: CurrentUserModel = Depends(LoginService.get_current_user) ): """获取表单列表""" - query_obj = TestFormPageModel( - page_num=page_num, - page_size=page_size, - name=name, - form_type=form_type, - is_active=is_active - ) + # 直接使用字典传递参数,避免 Pydantic alias 问题 + query_obj = { + 'page_num': page_num, + 'page_size': page_size, + 'name': name, + 'form_type': form_type, + 'is_active': is_active + } result = await TestFormService.get_test_form_list(db, query_obj, is_page=True) return ResponseUtil.success(dict_content=result) diff --git a/ruoyi-fastapi-backend/module_admin/system/entity/vo/test_form_vo.py b/ruoyi-fastapi-backend/module_admin/system/entity/vo/test_form_vo.py index abc462d..9f5b639 100644 --- a/ruoyi-fastapi-backend/module_admin/system/entity/vo/test_form_vo.py +++ b/ruoyi-fastapi-backend/module_admin/system/entity/vo/test_form_vo.py @@ -49,8 +49,7 @@ class TestFormPageModel(BaseModel): """ 分页查询模型 """ - model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) - + # 不使用 alias_generator,直接使用下划线命名 page_num: int = Field(default=1, description='当前页码') page_size: int = Field(default=10, description='每页记录数') name: Optional[str] = Field(default=None, description='表单名称') diff --git a/ruoyi-fastapi-backend/module_admin/system/service/test_form_service.py b/ruoyi-fastapi-backend/module_admin/system/service/test_form_service.py index eaf1a02..fc3a11c 100644 --- a/ruoyi-fastapi-backend/module_admin/system/service/test_form_service.py +++ b/ruoyi-fastapi-backend/module_admin/system/service/test_form_service.py @@ -24,8 +24,12 @@ class TestFormService: return CamelCaseUtil.transform_result(test_form) @classmethod - async def get_test_form_list(cls, db: AsyncSession, query_obj: TestFormPageModel, is_page: bool = True): + async def get_test_form_list(cls, db: AsyncSession, query_obj, is_page: bool = True): """获取表单列表""" + # 如果 query_obj 是字典,转换为 TestFormPageModel + if isinstance(query_obj, dict): + query_obj = TestFormPageModel(**query_obj) + if is_page: test_form_list, total = await TestFormDao.get_list(db, query_obj, is_page=True) return { diff --git a/ruoyi-fastapi-frontend/src/views/system/test_form/condition.vue b/ruoyi-fastapi-frontend/src/views/system/test_form/condition.vue index 80dcaeb..8dfcde6 100644 --- a/ruoyi-fastapi-frontend/src/views/system/test_form/condition.vue +++ b/ruoyi-fastapi-frontend/src/views/system/test_form/condition.vue @@ -101,7 +101,7 @@ export default { pageNum: 1, pageSize: 10, name: null, - formType: 'CONDITION', + form_type: 'CONDITION', isActive: null }, form: { @@ -138,6 +138,7 @@ export default { resetQuery() { this.queryParams.name = null; this.queryParams.isActive = null; + // 保留 form_type 筛选条件 this.handleQuery(); }, handleSelectionChange(selection) { diff --git a/ruoyi-fastapi-frontend/src/views/system/test_form/result.vue b/ruoyi-fastapi-frontend/src/views/system/test_form/result.vue index f00ed78..606aa7e 100644 --- a/ruoyi-fastapi-frontend/src/views/system/test_form/result.vue +++ b/ruoyi-fastapi-frontend/src/views/system/test_form/result.vue @@ -101,7 +101,7 @@ export default { pageNum: 1, pageSize: 10, name: null, - formType: 'RESULT', + form_type: 'RESULT', isActive: null }, form: { @@ -138,6 +138,7 @@ export default { resetQuery() { this.queryParams.name = null; this.queryParams.isActive = null; + // 保留 form_type 筛选条件 this.handleQuery(); }, handleSelectionChange(selection) {