瀏覽代碼

任务登记模块更新

xuguoyang 9 月之前
父節點
當前提交
7dcb7d8445
共有 1 個文件被更改,包括 19 次插入8 次删除
  1. 19 8
      routers/api/taskRegistration/__init__.py

+ 19 - 8
routers/api/taskRegistration/__init__.py

@@ -60,15 +60,18 @@ class TaskQuery(BaseModel):
 @router.post('/select')
 @router.get('/select')
 async def select_tasks(
-    request: Request,
-    db: Session = Depends(get_db),
-    query: TaskQuery = Depends(),
-    user_id=Depends(valid_access_token),
-    pageNum: int = Query(1, gt=0, description="页码"),
-    pageSize: int = Query(10, gt=0, le=100, description="每页大小")):
+        request: Request,
+        db: Session = Depends(get_db),
+        query: TaskQuery = Depends(),
+        sortBy: str = Query(None, description="排序字段"),
+        sortOrder: str = Query(None, description="排序顺序"),
+        user_id=Depends(valid_access_token),
+        pageNum: int = Query(1, gt=0, description="页码"),
+        pageSize: int = Query(10, gt=0, le=100, description="每页大小")):
     try:
         data_query = db.query(TaskRegistration).filter(TaskRegistration.del_flag != '2')
 
+        # 应用过滤条件
         if query.task_id:
             data_query = data_query.filter(TaskRegistration.task_id == query.task_id)
         if query.task_description:
@@ -81,7 +84,16 @@ async def select_tasks(
             data_query = data_query.filter(TaskRegistration.creation_time == query.creation_time)
         if query.processing_status:
             data_query = data_query.filter(TaskRegistration.processing_status == query.processing_status)
-		
+
+        print(TaskRegistration,sortBy)
+        if sortBy:
+            if hasattr(TaskRegistration, sortBy):
+                print("xx")
+                sort_attr = getattr(TaskRegistration, sortBy)
+                data_query = data_query.order_by(sort_attr.asc() if sortOrder == 'asc' else sort_attr.desc())
+
+
+
         total_count = data_query.count()
         # 计算分页的偏移量
         offset = (pageNum - 1) * pageSize
@@ -89,7 +101,6 @@ async def select_tasks(
         data_query = data_query.offset(offset).limit(pageSize)
 
         tasks = data_query.all()
-        
 
         return {
             "code": 200,