|
@@ -253,7 +253,11 @@ class FolderController extends Controller
|
|
|
$name = $request->get('name');
|
|
|
|
|
|
$folderId = $request->get("id", 0);
|
|
|
- $orderBy=$request->get('order_by','desc');
|
|
|
+ $orderBy=$request->get('order_by','updated_at desc');
|
|
|
+ $parts = explode(' ', $orderBy, 2); // 限制分割次数为2,防止过多分割
|
|
|
+ $orderByFiled = $parts[0] ?? 'updated_at'; // 设置默认字段
|
|
|
+ $orderByType = $parts[1] ?? 'desc'; // 设置默认排序方式
|
|
|
+
|
|
|
if ($folderId > 0) {
|
|
|
$folder = Folder::query()->findOrFail($folderId);
|
|
|
$objectType = $folder->object_type;
|
|
@@ -278,7 +282,7 @@ class FolderController extends Controller
|
|
|
->when($folderId, fn($query) => $query->where("parent_id", $folderId))
|
|
|
->when(! $folderId, fn($query) => $query->where("parent_id", 0))
|
|
|
->when($namingRuleIds, fn($query) => $query->whereIn("naming_rule_id", $namingRuleIds))
|
|
|
- ->orderBy('updated_at', $orderBy)
|
|
|
+ ->orderBy($orderByFiled, $orderByType)
|
|
|
->paginate($pageSize);
|
|
|
$folders_total = $folders->total();
|
|
|
$sonFolderCount=Folder::query()
|
|
@@ -310,16 +314,15 @@ class FolderController extends Controller
|
|
|
->with('bimFile')
|
|
|
->where("folder_id", $folderId)
|
|
|
->where("is_latest_version", 1)
|
|
|
+ ->when($name, fn($query) => $query->where("title", "like", "%$name%"))
|
|
|
->when($docStages, fn($query) => $query->whereIn('doc_stage', $docStages))
|
|
|
->when($docTypes, fn($query) => $query->whereIn('doc_type', $docTypes))
|
|
|
->when($namingRuleIds, fn($query) => $query->whereIn('naming_rule_id', $namingRuleIds))
|
|
|
- ->when($name, fn($query) => $query->where("title", "like", "%$name%"))
|
|
|
- ->orderBy('updated_at', $orderBy)
|
|
|
+ ->orderBy($orderByFiled, $orderByType)
|
|
|
->get();
|
|
|
|
|
|
$files_total = $files->count();
|
|
|
|
|
|
- $total = $files_total + $folders_total;
|
|
|
//分页
|
|
|
if ($folders_total < $pageSize * $page){
|
|
|
$offset = $pageSize * $page - $folders_total <= $pageSize ? 0 : $pageSize * $page - $pageSize * ($page - 1) - $folders_total ; // 查看当前页面是否有包含文件夹
|
|
@@ -329,10 +332,11 @@ class FolderController extends Controller
|
|
|
->with('bimFile')
|
|
|
->where("folder_id", $folderId)
|
|
|
->where("is_latest_version", 1)
|
|
|
+ ->when($name, fn($query) => $query->where("title", "like", "%$name%"))
|
|
|
->when($docStages, fn($query) => $query->whereIn('doc_stage', $docStages))
|
|
|
->when($docTypes, fn($query) => $query->whereIn('doc_type', $docTypes))
|
|
|
->when($namingRuleIds, fn($query) => $query->whereIn('naming_rule_id', $namingRuleIds))
|
|
|
- ->orderBy('updated_at', $orderBy)
|
|
|
+ ->orderBy($orderByFiled, $orderByType)
|
|
|
->offset($offset)
|
|
|
->limit($limit)
|
|
|
->get();
|