| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Logistic;
- use App\Owner;
- use App\PrintPartImage;
- use App\PrintTemplate;
- use App\Services\PrintTemplateService;
- use Illuminate\Http\Request;
- class PrintTemplateController extends Controller
- {
- use AsyncResponse;
- public function index(Request $request)
- {
- $templates = PrintTemplate::query()->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];
- }
- }
|