| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace App\Http\Controllers;
- use App\Http\Requests\Printer\TerminalPrinterRequest;
- use App\Logistic;
- use App\Terminal;
- use App\TerminalPrinter;
- class TerminalPrinterController extends Controller
- {
- public function index(TerminalPrinterRequest $request)
- {
- // if (!Gate::allows('基础设置-快递打印-打印机-添加')) return redirect('/');
- $terminalPrinters = TerminalPrinter::query()->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];
- }
- }
|