diff --git a/vue-fastapi-backend/module_admin/controller/datastd_controller.py b/vue-fastapi-backend/module_admin/controller/datastd_controller.py index 8267051..30a3deb 100644 --- a/vue-fastapi-backend/module_admin/controller/datastd_controller.py +++ b/vue-fastapi-backend/module_admin/controller/datastd_controller.py @@ -393,7 +393,17 @@ async def get_std_main_list( main_page_query_result = await DataStdService.get_std_main_list(query_db, main_page_query, is_page=True) logger.info('获取数据标准列表成功') return ResponseUtil.success(model_content=main_page_query_result) - +@datastdController.get( + '/stdmain/main/selectlist', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:list'))] +) +async def get_std_main_select_list( + request: Request, + main_page_query: DataStdMainPageQueryModel = Depends(DataStdMainPageQueryModel.as_query), + query_db: AsyncSession = Depends(get_db), +): + main_query_result = await DataStdService.get_std_main_list_all(query_db, main_page_query) + logger.info('获取数据标准列表成功') + return ResponseUtil.success(model_content=main_query_result) @datastdController.get( '/stdmain/main/{id}', response_model=DataStdMainModel, dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:list'))] diff --git a/vue-fastapi-backend/module_admin/dao/datastd_dao.py b/vue-fastapi-backend/module_admin/dao/datastd_dao.py index 81d2050..f34d306 100644 --- a/vue-fastapi-backend/module_admin/dao/datastd_dao.py +++ b/vue-fastapi-backend/module_admin/dao/datastd_dao.py @@ -672,7 +672,24 @@ class DataStdDao: query = select(DataStdMain).where(*filters).order_by(desc(DataStdMain.create_time)) return await PageUtil.paginate(db, query, query_object.page_num, query_object.page_size, is_page) - + @classmethod + async def get_std_main_list_all(cls, db: AsyncSession, query_object: DataStdMainModel): + filters = [] + + if query_object.std_name: + filters.append(DataStdMain.std_name.like(f"%{query_object.std_name}%")) + if query_object.std_code: + filters.append(DataStdMain.std_code.like(f"%{query_object.std_code}%")) + if query_object.sys_id: + filters.append(DataStdMain.sys_id == query_object.sys_id) + if query_object.std_type: + filters.append(DataStdMain.std_type == query_object.std_type) + if query_object.std_status: + filters.append(DataStdMain.std_status == query_object.std_status) + + query = select(DataStdMain).where(*filters).order_by(desc(DataStdMain.create_time)) + result = await db.execute(query) + return result.scalars().all() @classmethod async def add_std_main(cls, db: AsyncSession, model: DataStdMainModel): col = DataStdMain(**model.model_dump()) diff --git a/vue-fastapi-backend/module_admin/service/datastd_service.py b/vue-fastapi-backend/module_admin/service/datastd_service.py index bddd863..f7f2643 100644 --- a/vue-fastapi-backend/module_admin/service/datastd_service.py +++ b/vue-fastapi-backend/module_admin/service/datastd_service.py @@ -765,6 +765,9 @@ class DataStdService: @classmethod async def get_std_main_list(cls, query_db: AsyncSession, query_object: DataStdMainModel, is_page: bool = False): return await DataStdDao.get_std_main_list(query_db, query_object, is_page) + @classmethod + async def get_std_main_list_all(cls, query_db: AsyncSession, query_object: DataStdMainModel): + return await DataStdDao.get_std_main_list_all(query_db, query_object) @classmethod async def get_std_main_by_id(cls, query_db: AsyncSession, id: str):