Просмотр исходного кода

Merge branch 'master' into zengjun

ajun 5 лет назад
Родитель
Сommit
db297ce0ba

+ 85 - 0
app/Http/Controllers/StationTypeBinMonitorController.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\StationTypeBinMonitor;
+use Illuminate\Http\Request;
+
+class StationTypeBinMonitorController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  \App\StationTypeBinMonitor  $stationTypeBinMonitor
+     * @return \Illuminate\Http\Response
+     */
+    public function show(StationTypeBinMonitor $stationTypeBinMonitor)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  \App\StationTypeBinMonitor  $stationTypeBinMonitor
+     * @return \Illuminate\Http\Response
+     */
+    public function edit(StationTypeBinMonitor $stationTypeBinMonitor)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \App\StationTypeBinMonitor  $stationTypeBinMonitor
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, StationTypeBinMonitor $stationTypeBinMonitor)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  \App\StationTypeBinMonitor  $stationTypeBinMonitor
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy(StationTypeBinMonitor $stationTypeBinMonitor)
+    {
+        //
+    }
+}

+ 53 - 89
app/Providers/AppServiceProvider.php

@@ -126,113 +126,77 @@ class AppServiceProvider extends ServiceProvider
     }
 
     private function loadingService(){
+        app()->singleton('AllInventoryService',AllInventoryService::class);
+        app()->singleton('AuthorityService',AuthorityService::class);
         app()->singleton('BatchService',BatchService::class);
+        app()->singleton('BatchUpdateService', BatchUpdateService::class);
         app()->singleton('CacheService',CacheService::class);
-        app()->singleton('UserService',UserService::class);
-        app()->singleton('AuthorityService',AuthorityService::class);
-        app()->singleton('WaybillFinancialService',WaybillFinancialService::class);
-        app()->singleton('WeighExceptedService',WeighExceptedService::class);
-        app()->singleton('AllInventoryService',AllInventoryService::class);
+        app()->singleton('CheckActiveMenuService',CheckActiveMenuService::class);
+        app()->singleton('CommodityBarcodeService',CommodityBarcodeService::class);
+        app()->singleton('CommodityService', CommodityService::class);
+        app()->singleton('CustomerService',CustomerService::class);
+        app()->singleton('DataHandlerService',DataHandlerService::class);
+        app()->singleton('DepositoryService',DepositoryService::class);
+        app()->singleton('FeatureService',FeatureService::class);
+        app()->singleton('ForeignHaiRoboticsService',ForeignHaiRoboticsService::class);
         app()->singleton('InventoryDailyLogService',InventoryDailyLogService::class);
+        app()->singleton('InventoryAccountMissionService',InventoryAccountMissionService::class);
+        app()->singleton('LaborReportsCountingRecordService',LaborReportsCountingRecordService::class);
         app()->singleton('LogService',LogService::class);
-        app()->singleton('ProcessService',ProcessService::class);
-        app()->singleton('ProcessStatisticService',ProcessStatisticService::class);
-        app()->singleton('OwnerService',OwnerService::class);
-        app()->singleton('ProcessMethodService',ProcessMethodService::class);
         app()->singleton('LogisticService',LogisticService::class);
-        app()->singleton('PackageStatisticsService',PackageStatisticsService::class);
         app()->singleton('OracleActAllocationDetailService',OracleActAllocationDetailService::class);
-        app()->singleton('ShopService',ShopService::class);
-        app()->singleton('ForeignHaiRoboticsService',ForeignHaiRoboticsService::class);
-        app()->singleton('OrderPackageService',OrderPackageService::class);
-        app()->singleton('OrderIssueService',OrderIssueService::class);
-        app()->singleton('OrderService',OrderService::class);
-        app()->singleton('OracleDocOrderHeaderService',OracleDOCOrderHeaderService::class);
-        app()->singleton('OwnerReportService',OwnerReportService::class);
-        app()->singleton('RejectedBillService',RejectedBillService::class);
-        app()->singleton('RejectedBillItemService',RejectedBillItemService::class);
-        app()->singleton('StoreCheckingReceiveService',StoreCheckingReceiveService::class);
-        app()->singleton('StoreCheckingReceiveItemService',StoreCheckingReceiveItemService::class);
-        app()->singleton('CommodityBarcodeService',CommodityBarcodeService::class);
         app()->singleton('OracleBasCustomerService',OracleBasCustomerService::class);
         app()->singleton('OracleBasSkuService',OracleBasSkuService::class);
         app()->singleton('OracleDocAsnDetailService',OracleDocAsnDetailService::class);
-        app()->singleton('InventoryAccountMissionService',InventoryAccountMissionService::class);
-        app()->singleton('ProcessesContentService',ProcessesContentService::class);
-        app()->singleton('StoreService',StoreService::class);
-        app()->singleton('StationTaskBatchService',StationTaskBatchService::class);
-        app()->singleton('StationTaskBatchTypeService',StationTaskBatchTypeService::class);
-        app()->singleton('StationService',StationService::class);
-        app()->singleton('WarehouseService',WarehouseService::class);
-        app()->singleton('StoreItemService',StoreItemService::class);
-        app()->singleton('PackageService',PackageService::class);
-        app()->singleton('ProcessMethodService',ProcessMethodService::class);
-        app()->singleton('OwnerReportService',OwnerReportService::class);
+        app()->singleton('OracleDocOrderHeaderService',OracleDOCOrderHeaderService::class);
+        app()->singleton('OrderIssueProcessLogService',OrderIssueProcessLogService::class);
+        app()->singleton('OrderCommodityService',OrderCommodityService::class);
+        app()->singleton('OrderCommodityAssignService',OrderCommodityAssignService::class);
+        app()->singleton('OrderCountingRecordService',OrderCountingRecordService::class);
+        app()->singleton('OrderIssueService',OrderIssueService::class);
+        app()->singleton('OrderIssueWorkLoadService',OrderIssueWorkLoadService::class);
+        app()->singleton('OrderIssuePerformanceService',OrderIssuePerformanceService::class);
+        app()->singleton('OrderPackageCommoditiesService',OrderPackageCommoditiesService::class);
+        app()->singleton('OrderPackageService',OrderPackageService::class);
+        app()->singleton('OrderService',OrderService::class);
+        app()->singleton('OrderTrackingService',OrderTrackingService::class);
         app()->singleton('OwnerAreaReportService',OwnerAreaReportService::class);
-        app()->singleton('OwnerFeeDetailService',OwnerFeeDetailService::class);
         app()->singleton('OwnerBillReportService',OwnerBillReportService::class);
+        app()->singleton('OwnerFeeDetailService',OwnerFeeDetailService::class);
+        app()->singleton('OwnerOutStorageRuleService',OwnerOutStorageRuleService::class);
         app()->singleton('OwnerPriceExpressService',OwnerPriceExpressService::class);
         app()->singleton('OwnerPriceLogisticService',OwnerPriceLogisticService::class);
         app()->singleton('OwnerPriceDirectLogisticService',OwnerPriceDirectLogisticService::class);
-        app()->singleton('OrderCommodityAssignService',OrderCommodityAssignService::class);
-
-        $this->loadingOrderModuleService();
-        $this->loadingBasedModuleService();
-        $this->loadingRejectedModuleService();
-        $this->loadingCheckActiveMenuService();
-        $this->loadingRealtimePendingOrdersService();
-        $this->loadingOrderCountingRecordService();
-        $this->loadingLaborReportsCountingRecordService();
-    }
-
-    private function loadingOrderModuleService(){
-        app()->singleton('OrderTrackingService',OrderTrackingService::class);
-        app()->singleton('OrderService',OrderService::class);
-        app()->singleton('OrderPackageService',OrderPackageService::class);
-        app()->singleton('OrderPackageCommoditiesService',OrderPackageCommoditiesService::class);
-        app()->singleton('OrderIssueService',OrderIssueService::class);
-        app()->singleton('OrderIssueWorkLoadService',OrderIssueWorkLoadService::class);
-        app()->singleton('OrderIssuePerformanceService',OrderIssuePerformanceService::class);
-        app()->singleton('OracleDocOrderHeaderService',OracleDOCOrderHeaderService::class);
-        app()->singleton('OracleActAllocationDetailService',OracleActAllocationDetailService::class);
-        app()->singleton('OrderIssueProcessLogService',OrderIssueProcessLogService::class);
-        app()->singleton('OrderCommodityService',OrderCommodityService::class);
-    }
-
-    private function loadingBasedModuleService(){
-        app()->singleton("ShopService", ShopService::class);
-        app()->singleton('CommodityService', CommodityService::class);
-        app()->singleton('BatchUpdateService', BatchUpdateService::class);
-        app()->singleton('DataHandlerService',DataHandlerService::class);
-        app()->singleton('DepositoryService',DepositoryService::class);
-        app()->singleton('UserOwnerGroupService',UserOwnerGroupService::class);
-        app()->singleton('CustomerService',CustomerService::class);
+        app()->singleton('OwnerPriceOperationService',OwnerPriceOperationService::class);
+        app()->singleton('OwnerReportService',OwnerReportService::class);
+        app()->singleton('OwnerService',OwnerService::class);
         app()->singleton('OwnerStoragePriceModelService',OwnerStoragePriceModelService::class);
+        app()->singleton('PackageStatisticsService',PackageStatisticsService::class);
+        app()->singleton('PackageService',PackageService::class);
+        app()->singleton('ProcessesContentService',ProcessesContentService::class);
+        app()->singleton('ProcessMethodService',ProcessMethodService::class);
+        app()->singleton('ProcessService',ProcessService::class);
+        app()->singleton('ProcessStatisticService',ProcessStatisticService::class);
+        app()->singleton('RealtimePendingOrdersService',RealtimePendingOrdersService::class);
+        app()->singleton('RejectedBillItemService',RejectedBillItemService::class);
+        app()->singleton('RejectedBillService',RejectedBillService::class);
+        app()->singleton('RejectedService',RejectedService::class);
+        app()->singleton('ShopService',ShopService::class);
+        app()->singleton('StationService',StationService::class);
+        app()->singleton('StationTaskBatchService',StationTaskBatchService::class);
+        app()->singleton('StationTaskBatchTypeService',StationTaskBatchTypeService::class);
+        app()->singleton('StoreCheckingReceiveService',StoreCheckingReceiveService::class);
+        app()->singleton('StoreCheckingReceiveItemService',StoreCheckingReceiveItemService::class);
+        app()->singleton('StoreItemService',StoreItemService::class);
+        app()->singleton('StoreService',StoreService::class);
         app()->singleton('UnitService',UnitService::class);
-        app()->singleton('OwnerPriceOperationService',OwnerPriceOperationService::class);
-        app()->singleton('FeatureService',FeatureService::class);
-        app()->singleton('OwnerOutStorageRuleService',OwnerOutStorageRuleService::class);
-    }
+        app()->singleton('UserService',UserService::class);
+        app()->singleton('UserOwnerGroupService',UserOwnerGroupService::class);
+        app()->singleton('WarehouseService',WarehouseService::class);
+        app()->singleton('WaybillFinancialService',WaybillFinancialService::class);
+        app()->singleton('WeighExceptedService',WeighExceptedService::class);
 
-    private function loadingRejectedModuleService(){
-        app()->singleton('RejectedService',RejectedService::class);
     }
 
-    private function loadingCheckActiveMenuService()
-    {
-        app()->singleton('CheckActiveMenuService',CheckActiveMenuService::class);
-    }
 
-    private function loadingRealtimePendingOrdersService()
-    {
-        app()->singleton('RealtimePendingOrdersService',RealtimePendingOrdersService::class);
-    }
-    private function loadingOrderCountingRecordService()
-    {
-        app()->singleton('OrderCountingRecordService',OrderCountingRecordService::class);
-    }
-    private function loadingLaborReportsCountingRecordService()
-    {
-        app()->singleton('LaborReportsCountingRecordService',LaborReportsCountingRecordService::class);
-    }
 }

+ 6 - 2
app/Services/BatchService.php

@@ -42,8 +42,12 @@ Class BatchService
     public function assignTasks(array $batches)
     {
         $this->stationTaskBatchService=app('StationTaskBatchService');
-        $stationTaskBatches=$this->stationTaskBatchService->createByBatches($batches);
-
+        //按规则过滤需要的波次
+        //分配
+        $stationTaskBatches=$this->stationTaskBatchService->createByBatches($batches); //注册波次任务
+        //注册料箱任务
+        //注册商品任务
+        //注册总任务
     }
 
 }

+ 17 - 1
app/Services/StationService.php

@@ -5,6 +5,8 @@ namespace App\Services;
 
 
 use App\Station;
+use App\StationTask;
+use App\StationTaskCommodity;
 use App\StationType;
 use Exception;
 use Illuminate\Support\Facades\Cache;
@@ -31,8 +33,22 @@ class StationService
         //event(new BroadcastToStation($station_id,$json_data))
     }
 
-    function broadcastBinMonitor($station_id, ){
+    function broadcastBinMonitor($station_id, StationTask $stationTask,StationTaskCommodity $stationTaskCommodity){
         //...
+        //$stationTask->stationTaskBatch
+        //$stationTask->stationTaskMaterialBox
+        //$stationTask->stationCommodities
+        //$batch= $stationTask->stationTaskBatch->batch
+        //$orders= $batch->....
+        //.....
+        //$json_data=['batch','stationCommodities','stationMaterialBin']
+        //$this->broadcast($station_id, $json_data)
+    }
+
+    function broadcastBinMonitorWarning($warnText, $station_id, StationTask $stationTask){
+        //...
+        //...
+        //$json_data=['warn']
         //$this->broadcast($station_id, $json_data)
     }
 

+ 6 - 3
app/Services/StationTaskBatchService.php

@@ -5,6 +5,7 @@ namespace App\Services;
 
 
 use App\Batch;
+use App\Station;
 use App\StationTaskBatch;
 use App\StationTaskBatchType;
 use Exception;
@@ -27,15 +28,17 @@ class StationTaskBatchService
 
     /**
      * @param $batches Batch[]
-     * @throws Exception
+     * @param Station $station
+     * @return Collection
      */
-    public function createByBatches(array $batches){
+    public function createByBatches(array $batches,Station $station): Collection
+    {
         $this->stationService=app('StationService');
         $this->stationTaskBatchTypeService=app('StationTaskBatchTypeService');
         $this->batchService=app('BatchService');
 
         $stationMissionBatches_toCreate=new Collection();
-        $station=$this->stationService->getDefaultStation('料箱出货口');
+//        $station=$this->stationService->getDefaultStation('料箱出货口');
         $id_stationMissionBatchType=$this->stationTaskBatchTypeService->firstByWhere('name','U型线分捡');
 
         $batches_handled=[];

+ 1 - 1
app/StationTask.php

@@ -6,5 +6,5 @@ use Illuminate\Database\Eloquent\Model;
 
 class StationTask extends Model
 {
-    protected $fillable = ['station_id', 'station_type_id'];
+    protected $fillable = ['status',];
 }

+ 1 - 1
app/StationTaskCommodity.php

@@ -6,5 +6,5 @@ use Illuminate\Database\Eloquent\Model;
 
 class StationTaskCommodity extends Model
 {
-    protected $fillable= ['station_id','material_box_id','commodity_id','amount','order_id','status','station_id'];
+    protected $fillable= ['station_id','material_box_id','commodity_id','amount','order_id','status'];
 }

+ 10 - 0
app/StationTypeBinMonitor.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class StationTypeBinMonitor extends Model
+{
+    protected $fillable=['station_id','bin_row_length','bin_column_length','bin_wall_amount'];
+}

+ 12 - 0
database/factories/StationConfigFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\StationConfig;
+use Faker\Generator as Faker;
+
+$factory->define(StationConfig::class, function (Faker $faker) {
+    return [
+        //
+    ];
+});

+ 12 - 0
database/factories/StationTypeBinMonitorFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\StationTypeBinMonitor;
+use Faker\Generator as Faker;
+
+$factory->define(StationTypeBinMonitor::class, function (Faker $faker) {
+    return [
+        //
+    ];
+});

+ 1 - 1
database/migrations/2020_12_07_111922_add_column_handled_amount_of_station_task_commodities.php

@@ -14,7 +14,7 @@ class AddColumnHandledAmountOfStationTaskCommodities extends Migration
     public function up()
     {
         Schema::table('station_task_commodities', function (Blueprint $table) {
-            $table->integer('handled_amount')->default(0);
+            $table->integer('handled_amount')->default(0)->after('amount');
         });
     }
 

+ 53 - 0
database/migrations/2020_12_07_114158_create_station_task_children.php

@@ -0,0 +1,53 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateStationTaskChildren extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('station_task_children', function (Blueprint $table) {
+            $table->id();
+            $table->bigInteger('station_task_id')->index();
+            $table->string('station_task_table_type');
+            $table->bigInteger('station_task_table_id');
+            $table->index('station_task_table_id','station_task_table_type');
+            $table->timestamps();
+        });
+        Schema::table('station_task_batches', function (Blueprint $table) {
+            $table->dropColumn('station_id');
+        });
+        Schema::table('station_task_commodities', function (Blueprint $table) {
+            $table->dropColumn('station_id');
+        });
+        Schema::table('station_task_material_boxes', function (Blueprint $table) {
+            $table->dropColumn('station_id');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('station_task_batches', function (Blueprint $table) {
+            $table->integer('station_id')->index();
+        });
+        Schema::table('station_task_commodities', function (Blueprint $table) {
+            $table->integer('station_id')->index();
+        });
+        Schema::table('station_task_material_boxes', function (Blueprint $table) {
+            $table->integer('station_id')->index();
+        });
+        Schema::dropIfExists('station_task_children');
+    }
+}

+ 5 - 4
database/migrations/2020_12_07_143049_station_task_children.php → database/migrations/2020_12_07_144724_add_column_bin_numbers_to_task_commodities.php

@@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\Schema;
 
-class StationTaskChildren extends Migration
+class AddColumnBinNumbersToTaskCommodities extends Migration
 {
     /**
      * Run the migrations.
@@ -13,8 +13,8 @@ class StationTaskChildren extends Migration
      */
     public function up()
     {
-        Schema::table('name', function (Blueprint $table) {
-            //
+        Schema::table('station_task_commodities', function (Blueprint $table) {
+            $table->integer('bin_number')->after('handled_amount');
         });
     }
 
@@ -25,7 +25,8 @@ class StationTaskChildren extends Migration
      */
     public function down()
     {
-        Schema::table('name', function (Blueprint $table) {
+        Schema::table('station_task_commodities', function (Blueprint $table) {
+            $table->dropColumn('bin_number');
             //
         });
     }

+ 35 - 0
database/migrations/2020_12_07_150608_create_station_type_bin_monitors_table.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateStationTypeBinMonitorsTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('station_type_bin_monitors', function (Blueprint $table) {
+            $table->id();
+            $table->integer('station_id')->index();
+            $table->integer('bin_row_length')->default(4);
+            $table->integer('bin_column_length')->default(5);
+            $table->integer('bin_wall_amount')->default(2);
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('station_type_bin_monitors');
+    }
+}

+ 52 - 0
database/migrations/2020_12_08_113058_change_station_task_tables_column_station_id.php

@@ -0,0 +1,52 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class ChangeStationTaskTablesColumnStationId extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('station_tasks', function (Blueprint $table) {
+            $table->dropColumn('station_id');
+            $table->dropColumn('station_type_id');
+        });
+        Schema::table('station_task_batches', function (Blueprint $table) {
+            $table->integer('station_id')->index();
+        });
+        Schema::table('station_task_commodities', function (Blueprint $table) {
+            $table->integer('station_id')->index();
+        });
+        Schema::table('station_task_material_boxes', function (Blueprint $table) {
+            $table->integer('station_id')->index();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('station_tasks', function (Blueprint $table) {
+            $table->integer('station_id');
+            $table->integer('station_type_id')->nullable()->index();
+        });
+        Schema::table('station_task_batches', function (Blueprint $table) {
+            $table->dropColumn('station_id');
+        });
+        Schema::table('station_task_commodities', function (Blueprint $table) {
+            $table->dropColumn('station_id');
+        });
+        Schema::table('station_task_material_boxes', function (Blueprint $table) {
+            $table->dropColumn('station_id');
+        });
+    }
+}

+ 16 - 0
database/seeds/StationConfigSeeder.php

@@ -0,0 +1,16 @@
+<?php
+
+use Illuminate\Database\Seeder;
+
+class StationConfigSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        //
+    }
+}

+ 16 - 0
database/seeds/StationTypeBinMonitorSeeder.php

@@ -0,0 +1,16 @@
+<?php
+
+use Illuminate\Database\Seeder;
+
+class StationTypeBinMonitorSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        //
+    }
+}

+ 46 - 22
resources/views/station/monitor/show.blade.php

@@ -19,10 +19,10 @@
                     <div class="col text-center  h3 py-2 text-muted">智能分拣</div>
                 </div>
                 <div class="row pt-3">
-                    <div class="col-4 text-center">
+                    <div class="col-4">
                         <div class="row">
                             <div class="col py-3 h4">
-                                波次号:
+                                波次号:nnnnnnnnnnn
                             </div>
                             <div class="col py-3 h4">
 
@@ -37,17 +37,7 @@
                         </div>
                         <div class="row">
                             <div class="col py-3 h4">
-                                料箱号:
-                            </div>
-                            <div class="col py-3 h4">
-
-                            </div>
-                        </div>
-                        <div class="row">
-                            <div class="col py-3 h4">
-                            </div>
-                            <div class="col py-3 h4 text-muted">
-                                {条码}
+                                料箱号:nnnnnnnnnnn
                             </div>
                         </div>
                         <div class="row pt-5">
@@ -56,8 +46,42 @@
                     </div>
                     <div class="col text-center">
                         <div class="row">
-                            <div class="col py-3 h4">订单号:</div>
-                            <div class="col py-3 h4">N</div>
+                            <div class="col py-3 h4">
+                                <table class="table border">
+                                    <tr>
+                                        <td class="border p-0"><span style="opacity:0.25">6</span></td>
+                                        <td class="bg-info border p-0"><span style="opacity:0.25">7</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">8</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">9</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">10</span></td>
+                                    </tr>
+                                    <tr>
+                                        <td class="border p-0"><span style="opacity:0.25">1</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">2</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">3</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">4</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">5</span></td>
+                                    </tr>
+                                </table>
+                            </div>
+                            <div class="col py-3 h4">
+                                <table class="table border">
+                                    <tr>
+                                        <td class="border p-0"><span style="opacity:0.25">6</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">7</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">8</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">9</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">10</span></td>
+                                    </tr>
+                                    <tr>
+                                        <td class="border p-0"><span style="opacity:0.25">1</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">2</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">3</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">4</span></td>
+                                        <td class="border p-0"><span style="opacity:0.25">5</span></td>
+                                    </tr>
+                                </table>
+                            </div>
                         </div>
                         <div class="row">
                             <div class="col py-1">数量</div>
@@ -68,28 +92,28 @@
                         <div class="row">
                             <div class="col py-1">
                                 <table class="table table-striped border">
-                                    <tr>
+                                    <tr class="text-muted">
                                         <th class="py-2">序号</th>
                                         <th class="py-2">商品</th>
                                         <th class="py-2">数量</th>
                                         <th class="py-2">条码</th>
                                     </tr>
-                                    <tr>
-                                        <td></td>
+                                    <tr class="text-muted">
                                         <td></td>
                                         <td></td>
+                                        <td>0/0</td>
                                         <td></td>
                                     </tr>
-                                    <tr>
-                                        <td></td>
+                                    <tr class="text-muted">
                                         <td></td>
                                         <td></td>
+                                        <td>0/0</td>
                                         <td></td>
                                     </tr>
-                                    <tr>
-                                        <td></td>
+                                    <tr class="text-muted">
                                         <td></td>
                                         <td></td>
+                                        <td>0/0</td>
                                         <td></td>
                                     </tr>
                                 </table>