with('terminal','logistics')->orderByDesc('terminal_id')->orderByDesc('id')->paginate($request['paginate'] ?? 50); $terminals = Terminal::query()->get(); $logistics = Logistic::query()->get(); return view('maintenance/expressPrinting/setting/printer/index', compact('terminalPrinters','terminals','logistics') ); } public function storeApi(TerminalPrinterRequest $request): array { // if (!Gate::allows('基础设置-快递打印-打印机-添加')) // return ['success' => false, 'message' => '没有对应权限']; $terminal_printer = TerminalPrinter::query()->create($request->all()); $terminal_printer->logistics()->attach($request['logistic_ids']); $terminal_printer->loadMissing('terminal','logistics'); return ['success' => true, 'data' => $terminal_printer]; } public function destroyApi($id): array { // if (!Gate::allows('基础设置-快递打印-打印机-删除')) // return ['success' => false, 'message' => '没有对应权限']; $terminal_printer = TerminalPrinter::query()->find($id); if (!$terminal_printer) return ['success' => false , 'message' => '对应的打印机不存在']; $terminal_printer->logistics()->detach(); $terminal_printer->delete(); return ['success' => true]; } public function updateApi(TerminalPrinterRequest $request): array { // if (!Gate::allows('基础设置-快递打印-打印机-编辑')) // return ['success' => false, 'message' => '没有对应权限']; $terminal_printer = TerminalPrinter::query()->find($request['id']); if (!$terminal_printer) return ['success' => false, 'message' => '对应的打印机不存在']; $terminal_printer->logistics()->sync($request['logistic_ids']); $terminal_printer->update($request->all()); $terminal_printer->load(['terminal','logistics']); return ['success' => true, 'data' => $terminal_printer]; } }