PrintPartController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Order;
  5. use App\PrintPart;
  6. use App\PrintTemplate;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Http;
  9. class PrintPartController extends Controller
  10. {
  11. use AsyncResponse;
  12. public function index(Request $request)
  13. {
  14. $printParts = PrintPart::query()->paginate($request['paginate'] ?? 50);
  15. return view('/maintenance/expressPrinting/part/index',compact('printParts'));
  16. }
  17. public function create(Request $request)
  18. {
  19. return view('/maintenance/expressPrinting/part/create');
  20. }
  21. public function storeApi(Request $request): \Illuminate\Http\RedirectResponse
  22. {
  23. PrintPart::query()->create($request->all());
  24. $this->success('添加成功');
  25. }
  26. public function destroyApi(Request $request)
  27. {
  28. $printPart = PrintPart::query()->find($request['id']);
  29. $printPart->delete();
  30. $this->success('删除成功');
  31. }
  32. public function print(Request $request)
  33. {
  34. $template = PrintTemplate::query()->where('name','test-快递单号打印')->first();
  35. $items = Order::query()->whereIn('code',["SO190628000378","SO190628000347"])->with('packages')->get();
  36. return view("maintenance.expressPrinting.print.index",compact("template",'items'));
  37. }
  38. public function printTemplateApi(Request $request)
  39. {
  40. $file = $request->file("blob");
  41. $content = $file->getContent();
  42. $content = base64_encode($content);
  43. $files = $request->file("blobs");
  44. $content = [
  45. "type" => "print",
  46. "aliasName"=>"admin",
  47. "printerName"=>"admin123",
  48. "content" => $content
  49. ];
  50. if(!$files)return Http::post("http://127.0.0.1:3000",$content);
  51. $contents = [];
  52. foreach ($files as $item) {
  53. $contents[] = base64_encode($item->getContent());
  54. }
  55. return Http::post("http://127.0.0.1:3000",['file'=>$content,'files'=>$contents]);
  56. }
  57. }