fix: 修复列表筛选空参与树数据展示
将后端 status/audit_status 筛选从 has() 改为 filled(),避免空字符串导致列表被误筛空;修复预定 status=0 筛选失效;前端兼容财务分类树形返回与菜单/字典数组返回,解决新增成功但列表空。
This commit is contained in:
@@ -14,7 +14,7 @@ class CareExceptionController extends Controller
|
||||
$query = CareException::query()->with(['profile.customer', 'reporter', 'handler']);
|
||||
$query->when($request->care_profile_id, fn($q, $v) => $q->where('care_profile_id', $v));
|
||||
$query->when($request->level, fn($q, $v) => $q->where('level', $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)));
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class CarePlanController extends Controller
|
||||
$query->when($request->care_profile_id, fn($q, $v) => $q->where('care_profile_id', $v));
|
||||
$query->when($request->plan_date, fn($q, $v) => $q->whereDate('plan_date', $v));
|
||||
$query->when($request->nurse_id, fn($q, $v) => $q->where('nurse_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 ChannelController extends Controller
|
||||
$query = Channel::query();
|
||||
$query->when($request->name, fn($q, $v) => $q->where('name', 'like', "%{$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 ComplaintController extends Controller
|
||||
$query = Complaint::query()->with(['customer', 'handler']);
|
||||
$query->when($request->customer_id, fn($q, $v) => $q->where('customer_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 ContractController extends Controller
|
||||
$query = Contract::query()->with(['customer', 'auditor']);
|
||||
$query->when($request->contract_no, fn($q, $v) => $q->where('contract_no', 'like', "%{$v}%"));
|
||||
$query->when($request->customer_id, fn($q, $v) => $q->where('customer_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)));
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class QuestionnaireController extends Controller
|
||||
$query = QuestionnaireTemplate::query();
|
||||
$query->when($request->title, fn($q, $v) => $q->where('title', 'like', "%{$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)));
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class FinanceCategoryController extends Controller
|
||||
{
|
||||
$query = FinanceCategory::query();
|
||||
$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));
|
||||
|
||||
$categories = $query->orderBy('sort')->get();
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ class FinanceRecordController extends Controller
|
||||
$query = FinanceRecord::query()->with(['category']);
|
||||
$query->when($request->type, fn($q, $v) => $q->where('type', $v));
|
||||
$query->when($request->category_id, fn($q, $v) => $q->where('category_id', $v));
|
||||
$query->when($request->has('audit_status'), fn($q) => $q->where('audit_status', $request->audit_status));
|
||||
$query->when($request->filled('audit_status'), fn($q) => $q->where('audit_status', $request->audit_status));
|
||||
$query->when($request->start_date, fn($q, $v) => $q->where('record_date', '>=', $v));
|
||||
$query->when($request->end_date, fn($q, $v) => $q->where('record_date', '<=', $v));
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ class InvoiceController extends Controller
|
||||
$query = Invoice::query()->with(['customer']);
|
||||
$query->when($request->invoice_no, fn($q, $v) => $q->where('invoice_no', 'like', "%{$v}%"));
|
||||
$query->when($request->customer_id, fn($q, $v) => $q->where('customer_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));
|
||||
$query->when($request->type, fn($q, $v) => $q->where('type', $v));
|
||||
|
||||
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
|
||||
|
||||
@@ -13,7 +13,7 @@ class PrepaidCardController extends Controller
|
||||
{
|
||||
$query = PrepaidCard::query();
|
||||
$query->when($request->name, fn($q, $v) => $q->where('name', 'like', "%{$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->orderBy('sort')->paginate($request->input('per_page', 15)));
|
||||
}
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class InventoryCheckController extends Controller
|
||||
$query = InventoryCheck::query()
|
||||
->with(['warehouse', 'operator'])
|
||||
->when($request->warehouse_id, fn($q, $v) => $q->where('warehouse_id', $v))
|
||||
->when($request->has('status'), fn($q) => $q->where('status', $request->status));
|
||||
->when($request->filled('status'), fn($q) => $q->where('status', $request->status));
|
||||
|
||||
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class PurchaseOrderController extends Controller
|
||||
$query = PurchaseOrder::query()->with(['supplier','auditor']);
|
||||
$query->when($request->order_no, fn($q, $v) => $q->where('order_no', 'like', "%{$v}%"));
|
||||
$query->when($request->supplier_id, fn($q, $v) => $q->where('supplier_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)));
|
||||
}
|
||||
public function store(Request $request): JsonResponse
|
||||
|
||||
@@ -13,7 +13,7 @@ class StockMovementController extends Controller
|
||||
$query = StockMovement::query()->with('warehouse');
|
||||
$query->when($request->warehouse_id, fn($q, $v) => $q->where('warehouse_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)));
|
||||
}
|
||||
public function store(Request $request): JsonResponse
|
||||
|
||||
@@ -14,7 +14,7 @@ class TransferOrderController extends Controller
|
||||
$query = TransferOrder::query()
|
||||
->with(['fromWarehouse', 'toWarehouse', 'operator'])
|
||||
->when($request->transfer_no, fn($q, $v) => $q->where('transfer_no', 'like', "%{$v}%"))
|
||||
->when($request->has('status'), fn($q) => $q->where('status', $request->status))
|
||||
->when($request->filled('status'), fn($q) => $q->where('status', $request->status))
|
||||
->when($request->from_warehouse_id, fn($q, $v) => $q->where('from_warehouse_id', $v));
|
||||
|
||||
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
|
||||
|
||||
@@ -15,7 +15,7 @@ class DailyMealPlanController extends Controller
|
||||
$query->when($request->customer_id, fn($q, $v) => $q->where('customer_id', $v));
|
||||
$query->when($request->plan_date, fn($q, $v) => $q->whereDate('plan_date', $v));
|
||||
$query->when($request->meal_type, fn($q, $v) => $q->where('meal_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', 30)));
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class DishController extends Controller
|
||||
$query = Dish::query();
|
||||
$query->when($request->name, fn($q, $v) => $q->where('name', 'like', "%{$v}%"));
|
||||
$query->when($request->category, fn($q, $v) => $q->where('category', $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 MealPlanTemplateController extends Controller
|
||||
$query = MealPlanTemplate::query();
|
||||
$query->when($request->name, fn($q, $v) => $q->where('name', 'like', "%{$v}%"));
|
||||
$query->when($request->stage, fn($q, $v) => $q->where('stage', $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)));
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class NannyOrderController extends Controller
|
||||
$query = NannyOrder::query()->with(['customer','nanny']);
|
||||
$query->when($request->customer_id, fn($q, $v) => $q->where('customer_id', $v));
|
||||
$query->when($request->nanny_id, fn($q, $v) => $q->where('nanny_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)));
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ class ApprovalController extends Controller
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$query = Approval::query()->with(['template', 'applicant']);
|
||||
$query->when($request->has('status'), fn($q) => $q->where('status', $request->status));
|
||||
$query->when($request->filled('status'), fn($q) => $q->where('status', $request->status));
|
||||
$query->when($request->applicant_id, fn($q, $v) => $q->where('applicant_id', $v));
|
||||
|
||||
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
|
||||
|
||||
@@ -13,7 +13,7 @@ class ApprovalTemplateController extends Controller
|
||||
{
|
||||
$query = ApprovalTemplate::query();
|
||||
$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->orderBy('sort')->latest()->paginate($request->input('per_page', 15)));
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class ReservationController extends Controller
|
||||
$query = Reservation::query()->with(['customer', 'room.roomType']);
|
||||
$query->when($request->customer_id, fn($q, $v) => $q->where('customer_id', $v));
|
||||
$query->when($request->room_id, fn($q, $v) => $q->where('room_id', $v));
|
||||
$query->when($request->status, fn($q, $v) => $q->where('status', $v));
|
||||
$query->when($request->filled('status'), fn($q, $v) => $q->where('status', $v));
|
||||
$query->when($request->check_in_date, fn($q, $v) => $q->whereDate('check_in_date', $v));
|
||||
|
||||
return $this->paginate($query->latest()->paginate($request->input('per_page', 15)));
|
||||
|
||||
@@ -13,7 +13,7 @@ class RoomTypeController extends Controller
|
||||
{
|
||||
$query = RoomType::query()->withCount('rooms');
|
||||
$query->when($request->name, fn($q, $v) => $q->where('name', 'like', "%{$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->orderBy('sort')->paginate($request->input('per_page', 15)));
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class ServiceExecutionController extends Controller
|
||||
$query = ServiceExecution::query()->with(['order','serviceItem','customer','technician']);
|
||||
$query->when($request->service_order_id, fn($q, $v) => $q->where('service_order_id', $v));
|
||||
$query->when($request->technician_id, fn($q, $v) => $q->where('technician_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)));
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ class ServiceItemController extends Controller
|
||||
$query = ServiceItem::query();
|
||||
$query->when($request->name, fn($q, $v) => $q->where('name', 'like', "%{$v}%"));
|
||||
$query->when($request->category, fn($q, $v) => $q->where('category', $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)));
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ class ServiceOrderController extends Controller
|
||||
$query->when($request->order_no, fn($q, $v) => $q->where('order_no', 'like', "%{$v}%"));
|
||||
$query->when($request->customer_id, fn($q, $v) => $q->where('customer_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)));
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ class ServicePackageController extends Controller
|
||||
{
|
||||
$query = ServicePackage::query();
|
||||
$query->when($request->name, fn($q, $v) => $q->where('name', 'like', "%{$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)));
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ class RegistrationPackageController extends Controller
|
||||
{
|
||||
$packages = RegistrationPackage::when($request->keyword, fn($q) =>
|
||||
$q->where('name', 'like', "%{$request->keyword}%"))
|
||||
->when($request->has('status'), fn($q) =>
|
||||
->when($request->filled('status'), fn($q) =>
|
||||
$q->where('status', $request->status))
|
||||
->orderBy('sort')->orderByDesc('id')
|
||||
->paginate($request->input('page_size', 20));
|
||||
|
||||
@@ -24,7 +24,7 @@ class UserController extends Controller
|
||||
if ($request->department_id) {
|
||||
$query->where('department_id', $request->department_id);
|
||||
}
|
||||
if ($request->has('status')) {
|
||||
if ($request->filled('status')) {
|
||||
$query->where('status', $request->status);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user