| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Logistic;
- use App\Owner;
- use App\OwnerLogisticPrintTemplate;
- 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
- {
- $data = $request->only(['owner_id','logistic_id','print_template_id']);
- if ($request['is_save']) {
- if(OwnerLogisticPrintTemplate::query()->where($data)->exists()){
- return ['success' => false,'message' => '关联关系已存在'];
- }
- OwnerLogisticPrintTemplate::query()->firstOrCreate($data);
- } else{
- OwnerLogisticPrintTemplate::query()->where($data)->delete();
- }
- $printTemplate = PrintTemplate::query()->with(['ownerLogisticPrintTemplate' => function($query){
- $query->with(['owner', 'logistic']);
- }])->where('id',$data['print_template_id'])->first();
- return ['success' => true,'data' => $printTemplate];
- }
- }
|