ajun před 4 roky
rodič
revize
cb670c7bcb

+ 16 - 11
app/Http/Controllers/PrintController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers;
 
 use App\Components\AsyncResponse;
+use App\Log;
 use App\Services\DeliveryService;
 use App\Services\PrintService;
 use App\Terminal;
@@ -21,28 +22,32 @@ class PrintController extends Controller
 
     public function getPrintDataApi(Request $request): array
     {
-        if(!$request->has('printStr')) return ['success'=> false , 'message' => '为空'];
+        if (!$request->has('printStr')) return ['success' => false, 'message' => '为空'];
         $results = app(DeliveryService::class)->getDelivery($request['printStr']);
         $ip = $request->getClientIp();
-        $terminal =  Terminal::query()->where('ip',$ip)->with('printers')->first();
+        $terminal = Terminal::query()->with('printers')->where('ip', $ip)->first();
         if (!$terminal) return ['success' => false, 'messages' => '当前终端没有注册'];
         $printers = [];
         foreach ($terminal->printers as $printer) {
-            $printer_type =  $printer['print_type'];
-            if (!array_key_exists($printer_type,$printers)) $printers[$printer_type] = [];
+            $printer_type = $printer['print_type'];
+            if (!array_key_exists($printer_type, $printers)) $printers[$printer_type] = [];
             $printers[$printer_type][] = $printer['printer_name'];
         }
-        foreach ($results as $key=>$result) {
-            $results[$key]['printerName'] = $printers[$result['component_type']][0] ?? '';
+        foreach ($results as $key => $result) {
+            $component_type = $result['component_type'];
+            $type = TerminalPrinter::$PrintType[$component_type];
+            $results[$key]['printer_name'] = $printers[$type][0] ?? '';
         }
-        return ['success' => true,'data' => $results];
+        return ['success' => true, 'data' => $results];
     }
 
-    public function uploadPrintDataApi(Request $request,DeliveryService  $service): array
+    public function uploadPrintDataApi(Request $request, DeliveryService $service): array
     {
-        return $service->customProcessing($request['printData']);
-    }
-
+        if (is_string($request['printData']))
+            $request['printData'] = json_decode($request['printData']);
 
+        $item = $service->customProcessing($request['printData']);
+        return ['success' => true, 'data' => $item];
+    }
 
 }

+ 5 - 5
app/Http/Controllers/TerminalController.php

@@ -14,7 +14,7 @@ class TerminalController extends Controller
 
     public function index(TerminalRequest $request)
     {
-        if (!Gate::allows('基础设置-快递打印-终端'))return redirect("/");
+//        if (!Gate::allows('基础设置-快递打印-终端'))return redirect("/");
 
         $terminals =  Terminal::query()->orderByDesc('id')->paginate($request['paginate'] ?? 50);
 
@@ -34,8 +34,8 @@ class TerminalController extends Controller
 
     public function destroyApi($id): array
     {
-        if (!Gate::allows('基础设置-快递打印-终端-删除'))
-            return ['success' => false, 'message' => '没有对应权限'];
+//        if (!Gate::allows('基础设置-快递打印-终端-删除'))
+//            return ['success' => false, 'message' => '没有对应权限'];
 
         $terminal = Terminal::query()->find($id);
         if (!$terminal) return ['success' => false , 'message' => '对应的终端不存在'];
@@ -46,8 +46,8 @@ class TerminalController extends Controller
 
     public function updateApi(TerminalRequest $request): array
     {
-        if (!Gate::allows('基础设置-快递打印-终端-编辑'))
-            return ['success' => false, 'message' => '没有对应权限'];
+//        if (!Gate::allows('基础设置-快递打印-终端-编辑'))
+//            return ['success' => false, 'message' => '没有对应权限'];
 
         $terminal = Terminal::query()->find($request['id']);
         if (!$terminal) return ['success' => false, 'message' => '对应的终端不存在'];

+ 7 - 7
app/Http/Controllers/TerminalPrinterController.php

@@ -12,7 +12,7 @@ class TerminalPrinterController extends Controller
 
     public function index(TerminalPrinterRequest $request)
     {
-        if (!Gate::allows('基础设置-快递打印-打印机-添加')) return redirect('/');
+//        if (!Gate::allows('基础设置-快递打印-打印机-添加')) return redirect('/');
 
         $terminalPrinters = TerminalPrinter::query()->with('terminal')->orderByDesc('terminal_id')->orderByDesc('id')->paginate($request['paginate'] ?? 50);
 
@@ -25,8 +25,8 @@ class TerminalPrinterController extends Controller
 
     public function storeApi(TerminalPrinterRequest  $request): array
     {
-        if (!Gate::allows('基础设置-快递打印-打印机-添加'))
-            return ['success' => false, 'message' => '没有对应权限'];
+//        if (!Gate::allows('基础设置-快递打印-打印机-添加'))
+//            return ['success' => false, 'message' => '没有对应权限'];
 
         $terminal_printer = TerminalPrinter::query()->create($request->all());
         $terminal_printer->loadMissing('terminal');
@@ -35,8 +35,8 @@ class TerminalPrinterController extends Controller
 
     public function destroyApi($id): array
     {
-        if (!Gate::allows('基础设置-快递打印-打印机-删除'))
-            return ['success' => false, 'message' => '没有对应权限'];
+//        if (!Gate::allows('基础设置-快递打印-打印机-删除'))
+//            return ['success' => false, 'message' => '没有对应权限'];
 
         $terminal_printer = TerminalPrinter::query()->find($id);
         if (!$terminal_printer) return ['success' => false , 'message' => '对应的打印机不存在'];
@@ -47,8 +47,8 @@ class TerminalPrinterController extends Controller
 
     public function updateApi(TerminalPrinterRequest $request): array
     {
-        if (!Gate::allows('基础设置-快递打印-打印机-编辑'))
-            return ['success' => false, 'message' => '没有对应权限'];
+//        if (!Gate::allows('基础设置-快递打印-打印机-编辑'))
+//            return ['success' => false, 'message' => '没有对应权限'];
 
         $terminal_printer = TerminalPrinter::query()->find($request['id']);
         if (!$terminal_printer) return ['success' => false, 'message' => '对应的打印机不存在'];

+ 8 - 0
app/TerminalPrinter.php

@@ -24,6 +24,14 @@ class TerminalPrinter extends Model
         ],
     ];
 
+    static public $PrintType = [
+        "TB" => '菜鸟',
+        "PDD" => '拼多多',
+        "SF" => '顺丰',
+        "SFQHD" => '顺丰',
+        "JD" => '京东',
+    ];
+
     function __construct(array $attributes = [])
     {
         foreach (self::$enums as &$enum) {

+ 22 - 24
resources/views/maintenance/expressPrinting/print/template.blade.php

@@ -6,24 +6,33 @@
     <div class="container  " id="list">
         <div class="card">
             <div class="card-header">
-                <label>
-                    <input type="text" name="printStr" class="form-control" ref="printStr">
-                </label>
+                <div class="form-group">
+                    <label class="form-inline" for="printStr"></label>
+                    <input type="text" name="printStr" class="form-control" ref="printStr" id="printStr" placeholder="输入波次号,订单号,">
+                </div>
             </div>
             <div class="card-body">
-                <button @click="getPrintItems" >获取</button>
-                <button @click="wsGetImage">GoWebSocket 预览</button>
-                <button @click="wsPrintImage">GoWebSocket 打印</button>
-                <button @click="uploadPrintData">WAS加工</button>
-                <button @click="initGoWebSocket">GoWebSocket 重置</button>
+                <button class="btn btn-primary" @click="getPrintItems">获取</button>
+                <button class="btn btn-outline-info" @click="wsGetImage">GoWebSocket 预览</button>
+                <button class="btn btn-outline-primary" @click="uploadPrintData">WAS加工</button>
+                <button class="btn btn-success" @click="wsPrintImage">GoWebSocket 打印</button>
+                {{--<button class="btn btn-outline-warning" @click="initGoWebSocket">GoWebSocket 重置</button>--}}
             </div>
-            <div class="alert-success" v-if="goWebSocketStatus === 1">
+
+            <div class="container">
+                <p>打印步骤</p>
+                <p>1:输入单号-获取</p>
+                <p>2:预览</p>
+                <p>3:加工</p>
+                <p>4:打印</p>
+            </div>
+            <div class="alert alert-success" v-if="goWebSocketStatus === 1">
                 链接成功
             </div>
-            <div class="alert-primary" v-if="goWebSocketStatus === 2">
+            <div class="alert alert-primary" v-if="goWebSocketStatus === 2" @click="initGoWebSocket">
                 链接失败
             </div>
-            <div class="alert-primary" v-if="goWebSocketStatus === 3">
+            <div class="alert alert-primary" v-if="goWebSocketStatus === 3" @click="initGoWebSocket">
                 链接错误
             </div>
         </div>
@@ -88,7 +97,7 @@
                     if (res.operation === 'print') {
                         if (res.status === true) {
                         }
-                    } else if (res.operation === 'preview' ) {
+                    } else if (res.operation === 'preview') {
                         if (res.status === "success") {
                             this.printItems.forEach(function (item) {
                                 if (item['task_id'] === res['task_id']) {
@@ -161,6 +170,7 @@
                     }
                     this.initGoWebSocket();
                     this.printItems.forEach(function (item) {
+                        if (item['is_process'] === true) return;
                         item['operation'] = 'preview';
                         self.goWebSocket.send(JSON.stringify(item))
                     });
@@ -170,22 +180,10 @@
                     this.initGoWebSocket();
                     let self = this;
                     this.printItems.forEach(function (item) {
-
                         item['operation'] = 'print';
-
-                        item['printer_name'] = 'Microsoft XPS Document Writer';
-
                         self.goWebSocket.send(JSON.stringify(item));
                     });
                 },
-                getPrinters(){
-                    let url ="";
-                    window.axios.get(url).then(res=>{
-
-                    }).catch(err=>{
-
-                    })
-                }
             }
         });
 

+ 2 - 2
resources/views/maintenance/expressPrinting/setting/printer/index.blade.php

@@ -8,9 +8,9 @@
 {{--            @can('基础设置-快递打印-打印机-添加')--}}
                 @include('maintenance.expressPrinting.setting.printer._create')
 {{--            @endcan--}}
-            @can('基础设置-快递打印-打印机-编辑')
+{{--            @can('基础设置-快递打印-打印机-编辑')--}}
                 @include('maintenance.expressPrinting.setting.printer._edit')
-            @endcan
+{{--            @endcan--}}
             <div class="card-body">
                 <div class="row pull-left m-1">
 {{--                    @can('基础设置-快递打印-打印机-添加')--}}