ajax()) { return view('admin/invoice/index'); } $builder = Invoice::query(); if ($keyword = $request->input('keyword')) { $builder->where('title', 'like', '%' . $keyword . '%'); } $records = $builder->orderByDesc('id') ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE); $items = $records->items(); // array_walk($items, function ($item) { // $item->relate_site = $item->site->cn_title ?? ''; // }); return response()->json([ 'rows' => $items, 'total' => $records->total() ]); } public function save(InvoiceSaveRequest $request, $id) { if (!$request->ajax()) { return view('admin/invoice/save', [ 'data' => $id > 0 ? Invoice::query()->find($id) : null ]); } $validated = $request->validated(); Invoice::query()->updateOrCreate( ['id' => $id], $validated ); return response()->json(['message' => '操作成功']); } public function delete(Request $request) { $ids = $request->input('ids'); Invoice::destroy($ids); return response()->json(['message' => '操作成功']); } public function photo(Request $request, $id) { $photo = $request->input('photo'); $invoice = Invoice::query()->where(['id' => $id])->first(); if (!$invoice) return response()->json(['message' => '数据不存在'], 400); $invoice->update(['photo' => $photo]); return response()->json(['message' => '操作成功']); } }