with(['ownerLogisticPrintTemplate' => function ($query) { $query->with(['owner', 'logistic']); }])->paginate($request['paginate'] ?? 50); $owners = Owner::query()->get(); $logistics = Logistic::query()->get(); return view('maintenance.expressPrinting.template.index', compact('templates', 'owners', 'logistics')); } 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 { $relations = $request['relations']; $service->saveRelation($relations); $item = PrintTemplate::query()->with(['ownerLogisticPrintTemplate' => function ($query) { $query->with(['owner', 'logistic']); }])->where('id',$request['template_id'])->first(); return ['success' => true, 'data' => $item]; } }