with(['ownerLogisticPrintTemplate' => function ($query) { $query->with(['owner', 'logistic']); }])->get(); $owners = Owner::query()->get(); $logistics = Logistic::query()->get(); $delivery_interface = OwnerLogisticPrintTemplate::$enums['delivery_interface']; $delivery_interfaces = array_chunk($delivery_interface,count($delivery_interface) / 2) ; $delivery_interfaces = array_values($delivery_interfaces[1]); return view('/maintenance/expressPrinting/template/index', compact('templates','owners','logistics','delivery_interfaces')); } public function create(PrintTemplateService $service) { $printParts = $service->getParts(); $printPartImages = PrintPartImage::query()->with('file')->get(); return view('/maintenance/expressPrinting/template/create', compact('printParts', 'printPartImages')); } public function edit($id,PrintTemplateService $service) { $template = PrintTemplate::query()->find($id); $printParts = $service->getParts(); $printPartImages = PrintPartImage::query()->with('file')->get(); return view('maintenance.expressPrinting.template.edit',compact('template','printParts', 'printPartImages')); } public function storeApi(Request $request) { $printTemplate = PrintTemplate::query()->create( [ 'name' => $request['name'], 'value' => $request['value'] ]); $this->success(['data' => $printTemplate]); } public function updateApi(Request $request): array { $print_template = PrintTemplate::query()->find($request['id']); $print_template->update([ 'name' => $request['name'], 'value' => $request['value']] ); return ['success' => true, 'data' => $print_template]; } public function destroyApi($id) { $printTemplate = PrintTemplate::query()->find($id); $printTemplate->delete(); $this->success('删除成功'); } public function saveRelationApi(Request $request,PrintTemplateService $service): array { $saveRelation = $request['data']; $relations = OwnerLogisticPrintTemplate::query()->where('print_template_id',$request['id'])->get(); $service->saveRelation($saveRelation,$relations,$request['id']); $printTemplate = PrintTemplate::query()->with(['ownerLogisticPrintTemplate' => function($query){ $query->with(['owner', 'logistic']); }])->find($request['id']); return ['success' => true,'data' => $printTemplate]; } }