fix: 修复列表筛选空参与树数据展示

将后端 status/audit_status 筛选从 has() 改为 filled(),避免空字符串导致列表被误筛空;修复预定 status=0 筛选失效;前端兼容财务分类树形返回与菜单/字典数组返回,解决新增成功但列表空。
This commit is contained in:
li
2026-03-15 00:06:11 +08:00
parent a29faa3b47
commit c778639f05
38 changed files with 99 additions and 40 deletions
@@ -15,7 +15,7 @@ class AttendanceRecordController extends Controller
$query->when($request->user_id, fn($q, $v) => $q->where('user_id', $v));
$query->when($request->start_date, fn($q, $v) => $q->where('attendance_date', '>=', $v));
$query->when($request->end_date, fn($q, $v) => $q->where('attendance_date', '<=', $v));
$query->when($request->has('status'), fn($q) => $q->where('status', $request->status));
$query->when($request->filled('status'), fn($q) => $q->where('status', $request->status));
return $this->paginate($query->latest('attendance_date')->paginate($request->input('per_page', 15)));
}
@@ -13,7 +13,7 @@ class EmployeeProfileController extends Controller
{
$query = EmployeeProfile::query()->with('user');
$query->when($request->user_id, fn($q, $v) => $q->where('user_id', $v));
$query->when($request->has('status'), fn($q) => $q->where('status', $request->status));
$query->when($request->filled('status'), fn($q) => $q->where('status', $request->status));
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
}
@@ -14,7 +14,7 @@ class LeaveRequestController extends Controller
$query = LeaveRequest::query()->with('user');
$query->when($request->user_id, fn($q, $v) => $q->where('user_id', $v));
$query->when($request->type, fn($q, $v) => $q->where('type', $v));
$query->when($request->has('status'), fn($q) => $q->where('status', $request->status));
$query->when($request->filled('status'), fn($q) => $q->where('status', $request->status));
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
}
@@ -14,7 +14,7 @@ class SalaryRecordController extends Controller
$query = SalaryRecord::query()->with('user');
$query->when($request->user_id, fn($q, $v) => $q->where('user_id', $v));
$query->when($request->year_month, fn($q, $v) => $q->where('year_month', $v));
$query->when($request->has('status'), fn($q) => $q->where('status', $request->status));
$query->when($request->filled('status'), fn($q) => $q->where('status', $request->status));
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
}