| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Order;
- use App\PrintPart;
- use App\PrintTemplate;
- use App\Services\PrintPartService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Http;
- class PrintPartController extends Controller
- {
- use AsyncResponse;
- public function index(Request $request)
- {
- $printParts = PrintPart::query()->paginate($request['paginate'] ?? 50);
- $imgPrintPart = app(PrintPartService::class)->getImagePart();
- return view('/maintenance/expressPrinting/part/index', compact('printParts','imgPrintPart'));
- }
- public function create(Request $request)
- {
- $imgPrintPart = app(PrintPartService::class)->getImagePart();
- return view('/maintenance/expressPrinting/part/create',compact('imgPrintPart'));
- }
- public function storeApi(Request $request): \Illuminate\Http\RedirectResponse
- {
- PrintPart::query()->create($request->all());
- $this->success('添加成功');
- }
- public function destroyApi(Request $request)
- {
- $printPart = PrintPart::query()->find($request['id']);
- $printPart->delete();
- $this->success('删除成功');
- }
- public function print(Request $request)
- {
- $template = PrintTemplate::query()->where('name', 'test-快递单号打印')->first();
- $items = Order::query()->whereIn('code', ["SO190628000378", "SO190628000347"])->with('packages')->get();
- return view("maintenance.expressPrinting.print.index", compact("template", 'items'));
- }
- public function getImagesPartApi(PrintPartService $service)
- {
- return ['success' => true, 'data' => $service->getImagePart()];
- }
- public function pushImagesPartApi(Request $request,PrintPartService $service)
- {
- if (is_null($request['name'])) return ['success' => false, 'message' => "文件名未命名"];
- if (!$request->hasFile('file')) return ['success' => false, 'message' => '未找到上传文件'];
- if (!$request->has('name')) return ['success' => false, 'message' => "文件名未命名"];
- return $service->pushImagePart($request->file('file'),$request['name']);
- }
- public function printTemplateApi(Request $request)
- {
- $file = $request->file("blob");
- $content = $file->getContent();
- $content = base64_encode($content);
- $files = $request->file("blobs");
- $content = [
- "type" => "print",
- "aliasName" => "admin",
- "printerName" => "admin123",
- "content" => $content
- ];
- if (!$files) return Http::post("http://127.0.0.1:3000", $content);
- $contents = [];
- foreach ($files as $item) {
- $contents[] = base64_encode($item->getContent());
- }
- return Http::post("http://127.0.0.1:3000", ['file' => $content, 'files' => $contents]);
- }
- }
|