ajax()) { return view('admin/product/index'); } $records = Product::query()->orderByDesc('id') ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE); $items = $records->items(); $statusMap = Product::STATUS_MAP; array_walk($items, function ($item) use ($statusMap) { $item->status_title = $statusMap[$item->status] ?? ''; }); return response()->json([ 'rows' => $items, 'total' => $records->total() ]); } //切换状态 public function toggleStatus(Request $request) { $ids = $request->input('ids'); $toggle = $request->input('toggle'); Product::query()->whereIn('id', $ids)->update(['status' => $toggle]); return response()->json(['message' => '操作成功']); } public function save(ProductSaveRequest $request, $id) { if (!$request->ajax()) { if ($id > 0) { $record = Product::query()->find($id); } return view('admin/product/save', [ 'data' => $record ?? null ]); } $validated = $request->validated(); if ($id > 0) { $validated['status'] = 1; } Product::query()->updateOrCreate(['id' => $id], $validated); return response()->json(['message' => '操作成功']); } public function batchDelete(Request $request) { $ids = $request->input('ids'); Product::query()->whereIn('id', $ids)->delete(); return response()->json(['message' => '操作成功']); } }