Forráskód Böngészése

自动打码小件功能重构,打码数量修改

曹鹤洋 2 éve
szülő
commit
40d5817b3b

+ 261 - 18
application/admin/controller/QcodeBach.php

@@ -6,8 +6,10 @@ use app\admin\model\QcodeCompany;
 use app\admin\model\QcodeProduct;
 use app\admin\model\QcodeGsmc;
 use app\admin\model\QcodeLarge;
+use app\admin\model\QcodeSmall;
 use app\common\controller\Backend;
 use \think\Session;
+use think\Db;
 
 /**
  * 
@@ -128,6 +130,10 @@ class QcodeBach extends Backend
             ];
 
             $req = input();
+            if($req['filter']=='{}'){
+                $result = array("total" => 0, "rows" => []);
+                return json($result);
+            }
             $req['sort'] == 'id' ? $sort = '_id' : $sort = $req['sort'];
             $order = $req['order'];
             $offset = $req['offset'];
@@ -143,42 +149,238 @@ class QcodeBach extends Backend
             }
 
             $db = new QcodeLarge();
-            $rows = $db->name($company_id.'_'."qcode_large")
-                ->where('delete_time','')
-                ->column('product_id');
-            $rows = array_values($rows);
-
-            $total = $this->model->where($where)
-                ->where('_id','in',$rows)
+            $total = $db->name($company_id.'_'."qcode_large")->where($where)
                 ->order($sort,$order)
                 ->skip($offset)
                 ->select();
-
-            $list = $this->model->where($where)
-                ->where('_id','in',$rows)
+            $list = $db->name($company_id.'_'."qcode_large")->where($where)
                 ->order($sort,$order)
                 ->limit($limit)
                 ->skip($offset)
                 ->select();
+            $qcodeSmall = new QcodeSmall();
             foreach ($list as $k=>$v) {
                 $oid = $v['_id']->jsonSerialize();
                 $list[$k]['id'] = $oid['$oid'];
+                //设置当前托盘号
+                $list[$k]['l_flow'] = ltrim(substr($v['code'],53,6),'0');
+                //查询小件数量
+                $small_num = $qcodeSmall->name($company_id.'_'."qcode_small")
+                    ->where('large_id',$oid['$oid'])
+                    ->count();
+                $list[$k]['small_num'] = $small_num;
+
             }
 
             $result = array("total" => count($total), "rows" => $list);
-
+//halt($result);
             return json($result);
         }
         return $this->view->fetch();
     }
+
+    /**
+     * 自动打码(大件)
+     */
+    public function print_l()
+    {
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        $req = $this->request->param();
+        if ($this->request->isAjax()) {
+            parse_str($req['data'],$req);
+            $ids = explode(',',$req['row']['ids']);
+            $type = $req['row']['type'];
+            $numn = $req['row']['numn'];
+
+            $userInfo = Session::get('admin');
+            $company_id = (int)$userInfo['company'];
+            $qcodeLarge = new QcodeLarge();
+            $qcodeSmall = new QcodeSmall();
+            $qcodeProduct = new QcodeProduct();
+            $large = $qcodeLarge->name($company_id.'_'."qcode_large")->where('_id',$ids[0])->find();
+            $bach = $this->model->name($company_id.'_'."qcode_bach")->where('_id',json_decode($large,true)['bach_id'])->find();
+            $row = $qcodeProduct->where('product_code',json_decode($bach,true)['matter_no'])->find();
+
+            $company_name = json_decode($bach,true)['supplier_name'];
+            $product_name = json_decode($bach,true)['matter_name'];
+//            $date = json_decode($bach,true)['manufacture_date'];
+//            $batch = json_decode($bach,true)['bach_num'];
+            $main_unit = json_decode($row,true)['main_unit'];
+            $sec_unit = json_decode($row,true)['sec_unit'];
+            $proportion = json_decode($row,true)['proportion'];
+
+            $rows = [];
+            //查询打印大件码所需数据
+            foreach ($ids as $key=>$value){
+                $row = $qcodeLarge->name($company_id.'_'."qcode_large")->where('_id',$value)->find();
+                $row = json_decode($row,true);
+                $code = $row['code'];
+                $rows[$key]['company_name'] = $company_name;
+                $rows[$key]['product_name'] = $product_name;
+                $rows[$key]['sqrcd'] = $qcodeSmall->name($company_id.'_'."qcode_small")->where('large_id',$value)->count();
+                $rows[$key]['main_unit'] = $main_unit;
+                $rows[$key]['sec_unit'] = $sec_unit;
+                $rows[$key]['date'] = substr_replace(substr_replace('20'.substr($code,38,6), '-', 4, 0), '-', 7, 0);
+                $rows[$key]['l_flow'] =  ltrim(substr($code,53,6),'0');
+                $rows[$key]['qrcode'] = $code;
+                $rows[$key]['pCode'] = $this->qrcode($code);
+
+                //批次号特殊情况判断
+                if (substr($code,76,10)=='0000000000'){
+                    $rows[$key]['batch'] = ltrim(substr($code,66,10),'0');
+                }else{
+                    $rows[$key]['batch'] = ltrim(substr($code,66,10),'0').'、'.ltrim(substr($code,76,10),'0');
+                }
+
+                //转换关系判断
+                if($row['l_num']===null){
+                    //走转换关系
+                    if ($proportion){
+                        $rows[$key]['num'] = $rows[$key]['sqrcd']*$proportion;
+                        $rows[$key]['num'] = floor($rows[$key]['num'] * 100) / 100;
+                    }else{
+                        $rows[$key]['num'] = '';
+                    }
+                }else if($row['l_num']==0){
+                    //判断是否是公斤
+                    if($main_unit=='公斤'){
+                        //公斤使用l_weight
+                        $rows[$key]['num'] = $row['l_weight'];
+                    }else{
+                        //不是公斤走转换关系
+                        if ($proportion){
+                            $rows[$key]['num'] = $rows[$key]['sqrcd']*$proportion;
+                            $rows[$key]['num'] = floor($rows[$key]['num'] * 100) / 100;
+                        }else{
+                            $rows[$key]['num'] = '';
+                        }
+                    }
+                }else{
+                    //箱, 使用l_num
+                    $rows[$key]['num'] = $row['l_num'];
+                }
+
+            }
+            $data = [
+                'type'=>$type,
+                'numn'=>$numn,
+                'rows'=>$rows,
+                'ids'=>$ids,
+            ];
+            $this->success('成功','',$data);
+        }
+        $this->view->assign('ids',$req['ids']);
+        return $this->view->fetch();
+    }
+
+    /**
+     * 自动打码(小件)
+     */
+    public function print_s()
+    {
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        $req = $this->request->param();
+        if ($this->request->isAjax()) {
+            parse_str($req['data'],$req);
+            $ids = explode(',',$req['row']['ids']);
+            $type = $req['row']['type'];
+            $numn = $req['row']['numn'];
+
+            $userInfo = Session::get('admin');
+            $company_id = (int)$userInfo['company'];
+            $qcodeLarge = new QcodeLarge();
+            $qcodeSmall = new QcodeSmall();
+            $large = $qcodeLarge->name($company_id.'_'."qcode_large")->where('_id',$ids[0])->find();
+            $bach = $this->model->name($company_id.'_'."qcode_bach")->where('_id',json_decode($large,true)['bach_id'])->find();
+
+            $company_name = json_decode($bach,true)['supplier_name'];
+            $product_name = json_decode($bach,true)['matter_name'];
+
+            //获取全部小件id
+            $rows = [];
+            $key = 0;
+            foreach ($ids as $value){
+                $large = $qcodeLarge->name($company_id.'_'."qcode_large")->where('_id',$value)->find();
+                $large = json_decode($large,true);
+
+                $arr = $qcodeSmall->name($company_id.'_'."qcode_small")->where('large_id',$value)->column('_id');
+                //查询打印大件码所需数据
+                foreach ($arr as $v){
+
+                    $small = $qcodeSmall->name($company_id.'_'."qcode_small")->where('_id',$v->jsonSerialize()['$oid'])->find();
+                    $small = json_decode($small,true);
+                    $code = $small['code'];
+
+                    $rows[$key]['company_name'] = $company_name;
+                    $rows[$key]['product_name'] = $product_name;
+                    $rows[$key]['date'] = substr_replace(substr_replace('20'.substr($code,38,6), '-', 4, 0), '-', 7, 0);
+                    $rows[$key]['l_flow'] =  ltrim(substr($large['code'],53,6),'0').'-'.$small['l_flow'];
+                    $rows[$key]['qrcode'] = $code;
+                    $rows[$key]['pCode'] = $this->qrcode($code);
+
+                    //批次号特殊情况判断
+                    if (substr($code,76,10)=='0000000000'){
+                        $rows[$key]['batch'] = ltrim(substr($code,66,10),'0');
+                    }else{
+                        $rows[$key]['batch'] = ltrim(substr($code,66,10),'0').'、'.ltrim(substr($code,76,10),'0');
+                    }
+                    $key++;
+                }
+            }
+
+            $data = [
+                'type'=>$type,
+                'numn'=>$numn,
+                'rows'=>$rows,
+                'ids'=>$ids,
+            ];
+            $this->success('成功','',$data);
+        }
+        $this->view->assign('ids',$req['ids']);
+        return $this->view->fetch();
+    }
+
+
+    /**
+     * 设置打印数量
+     */
+    public function set_num()
+    {
+        $req = $this->request->param();
+        //获取数据
+        $status = $req['status'];
+        $num = (int)$req['num'];
+        $ids = $req['ids'];
+
+        //获取company_id
+        $userInfo = Session::get('admin');
+        $company_id = (int)$userInfo['company'];
+
+        //自动打印大件
+        if($status==1){
+            $qcodeLarge = new QcodeLarge();
+            foreach ($ids as $v){
+                $qcodeLarge->name($company_id.'_'."qcode_large")->where('_id',$v)->setInc('p_nums',$num);
+                $qcodeLarge->name($company_id.'_'."qcode_large")->where('_id',$v)->setField('l_print','1');
+            }
+        }elseif($status==2){
+            $qcodeSmall = new QcodeSmall();
+            foreach ($ids as $v){
+                $qcodeSmall->name($company_id.'_'."qcode_small")->where('large_id',$v)->setInc('p_nums',$num);
+            }
+        }
+
+    }
+
     public function vo2()
     {
         $num1 = 0;
-        $num2 = 5;
+        $num2 = 1;
         if($num2<=$num1){
             $this->error('同步num1到num2之间的数据, 要求num2大于num1');
         }
-        $qcodeGsmc = new QcodeGsmc();
 
         // 连接到其他数据库
         $config = [
@@ -193,13 +395,15 @@ class QcodeBach extends Backend
         $db = Db::connect($config);
 
         //查询主表记录
-        $rows1 = $db->name('qcode_gsmc')
+        $rows1 = $db->name('qcode_bach')
             ->limit($num1,$num2-$num1)
+            ->order('id desc')
             ->select();
-
+        $userInfo = Session::get('admin');
+        $company_id = (int)$userInfo['company'];
         foreach($rows1 as $v){
             //1. 查询mongodb中是否存在该条记录
-            $bool = $qcodeGsmc->where('oid_id',$v['id'])->find();
+            $bool = $this->model->name($company_id.'_'."qcode_bach")->where('oid_id',$v['id'])->find();
             if ($bool) continue;
 
             //2. 获取设置主表数据
@@ -208,13 +412,52 @@ class QcodeBach extends Backend
             $row = array_merge(['oid_id'=>$v['id']],$row);
 
             //3. 插入主表记录到mongodb中
-            $qcodeGsmc = new QcodeGsmc();
-            $qcodeGsmc->save($row);
+            $qcodeBach = new \app\admin\model\QcodeBach();
+            $qcodeBach->save($row);
+            $pid = $qcodeBach->getLastInsID();
+            $rows2 = $db->name('qcode_large')
+                ->where('bach_id',$v['id'])
+                ->select();
+
+            foreach ($rows2 as $value){
+                //1. 查询mongodb中是否存在该条记录
+                $qcodeLarge = new QcodeLarge();
+                $bool = $qcodeLarge->name($company_id.'_'."qcode_large")->where('oid_id',$value['id'])->find();
+                if ($bool) continue;
+
+                $row = $value;
+                $row['old_bach_id'] = $value['bach_id'];
+                $row['bach_id'] = $pid;
+                $row['old_id'] = $value['id'];
+                unset($row['id']);
+                $qcodeLarge->save($row);
+                $pid3 = $qcodeLarge->getLastInsID();
+                $rows3 = $db->name('qcode_small')
+                    ->where('large_id',$value['id'])
+                    ->select();
+
+                foreach ($rows3 as $value3){
+                    //1. 查询mongodb中是否存在该条记录
+                    $qcodeSmall = new QcodeSmall();
+                    $bool = $qcodeSmall->name($company_id.'_'."qcode_large")->where('oid_id',$value3['id'])->find();
+                    if ($bool) continue;
+
+                    $row = $value3;
+                    $row['old_bach_id'] = $value3['bach_id'];
+                    $row['old_large_id'] = $value3['large_id'];
+                    $row['old_id'] = $value3['id'];
+                    $row['bach_id'] = $pid;
+                    $row['large_id'] = $pid3;
+                    unset($row['id']);
+                    $qcodeSmall->save($row);
+                }
+            }
         }
 
         $this->success('成功');
 
     }
+
     /**
      * 新增
      */

+ 1 - 1
application/admin/view/qcode_bach/index.html

@@ -10,7 +10,7 @@
 <!--                            <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('qcode_bach/add')?'':'hide'}" data-area='["800px","500px"]' title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
 <!--                            <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('qcode_bach/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>-->
                             <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('qcode_bach/del')?'':'hide'}" title="删除批次" ><i class="fa fa-trash"></i> 删除批次</a>
-                            <a href="javascript:;" class="btn btn-success btn-export{:$auth->check('qcode_bach/export')?'':'hide'}" title="导出Excel" ><i class="fa fa-share"></i> 导出Excel</a>
+                            <a href="javascript:;" id="exp" class="btn btn-success btn-export{:$auth->check('qcode_bach/export')?'':'hide'}" title="导出Excel" ><i class="fa fa-share"></i> 导出Excel</a>
 
                         </div>
                         <table id="table1" class="table table-striped table-bordered table-hover" width="100%">

+ 19 - 0
application/admin/view/qcode_bach/print_l.html

@@ -0,0 +1,19 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <input type="hidden" name="row[ids]" value="{$ids|htmlentities}">
+    <div>
+        <label class="col-xs-4 col-sm-2" style="text-align: right;">{:__('标签类型')}:</label>
+        <select class="selectpicker" style="height: 30px;" name="row[type]" id="type">
+            <option value="v010" >v010大件盒包装(10cmx15cm)</option>
+        </select>
+    </div>
+    <div>
+        <label class="col-xs-4 col-sm-2" style="text-align: right;">{:__('打印数量')}:</label>
+        <input id="numn" style="width: 200px;margin-bottom: 2px;" name="row[numn]" type="text" value="4">
+    </div>
+    <div class="form-group layer-footer" >
+        <div style="text-align: center">
+            <button type="submit" id="btn" class="btn btn-primary btn-embossed">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 28 - 0
application/admin/view/qcode_bach/print_s.html

@@ -0,0 +1,28 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <input type="hidden" name="row[ids]" value="{$ids|htmlentities}">
+    <div>
+        <label class="col-xs-4 col-sm-2" style="text-align: right;">{:__('标签类型')}:</label>
+        <select class="selectpicker" style="height: 30px;" name="row[type]" id="type">
+            <option value="v001" datatype="">小件通用型卷烟纸(10cmX2.5cm)</option>
+            <option value="v002" datatype="">小件细支型卷烟纸(10cmX1.8cm)</option>
+            <option value="v003" datatype="">小件接装纸(10cmX4cm)</option>
+            <option value="v003" datatype="">小件内衬纸(10cmX4cm)</option>
+            <option value="v003" datatype="">小件盒包装膜(10cmX4cm)</option>
+            <option value="v003" datatype="">小件框架纸(10cmX4cm)</option>
+            <option value="v003" datatype="">小件拉线(10cmX4cm)</option>
+            <option value="v004" datatype="">小件条包装膜(10cmX5cm)</option>
+            <option value="v005" datatype="">小件盒包装纸(10cmX6cm)</option>
+            <option value="v005" datatype="">小件条包装纸(10cmX6cm)</option>
+        </select>
+    </div>
+    <div>
+        <label class="col-xs-4 col-sm-2" style="text-align: right;">{:__('打印数量')}:</label>
+        <input id="numn" style="width: 200px;margin-bottom: 2px;" name="row[numn]" type="text" value="4">
+    </div>
+    <div class="form-group layer-footer" >
+        <div style="text-align: center">
+            <button type="submit" id="btn" class="btn btn-primary btn-embossed">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 408 - 38
public/assets/js/backend/qcode_bach.js

@@ -7,17 +7,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
             this.table.first();
             this.table.second();
 
+
             //绑定
-            // $('#bind').click(function (e) {
-            //     var ids = $('#table1').bootstrapTable('getSelections')[0]['id'];
+            // $('#exp').click(function (e) {
+            //     // var ids = $('#table1').bootstrapTable('getSelections')[0]['id'];
             //
-            //     $.get('qcode_bach/bind',{'ids':ids},function (data) {
-            //         if(data.code==1){
-            //             Toastr.success(data.msg)
-            //             $('#table2').bootstrapTable('refresh');
-            //         }else{
-            //             Toastr.error(data.msg)
-            //         }
+            //     $.get('qcode_bach/vo2',{},function (data) {
+            //         // if(data.code==1){
+            //         //     Toastr.success(data.msg)
+            //         //     $('#table2').bootstrapTable('refresh');
+            //         // }else{
+            //         //     Toastr.error(data.msg)
+            //         // }
             //     },'json');
 
                 // layer.confirm('确定提交选中的 1 项?!', {
@@ -39,28 +40,40 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
 
             // })
 
-            //绑定
-            // $('#unbind').click(function (e) {
-            //     layer.confirm('确定提交选中的 1 项?!', {
-            //         btn: ['确定', '取消'],
-            //         cancel: function(index, layero) {
-            //         }
-            //     },function (index) {
-            //         var ids = $('#table2').bootstrapTable('getSelections')[0]['id'];
-            //
-            //         $.get('qcode_bach/unbind',{'ids':ids},function (data) {
-            //             if(data.code==1){
-            //                 Toastr.success(data.msg)
-            //                 $('#table2').bootstrapTable('refresh');
-            //             }else{
-            //                 Toastr.error(data.msg)
-            //             }
-            //         },'json');
-            //         Layer.close(index);
-            //
-            //     },function (){})
-            //
-            // })
+            //自动打码(大件)
+            $('#print_l').click(function (e) {
+                var rows = $('#table2').bootstrapTable('getSelections');
+                var ids = rows.map(function(item) {
+                    return item.id;
+                });
+                Fast.api.open("qcode_bach/print_l?ids="+ids, "自动打码(大件)", {
+                    shadeClose: true,
+                    shade: [0.5,'#393D49'],
+                    area: ['400px','200px'],
+                    callback:function(value){
+                        return false;
+                        // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
+                    }
+                });
+
+            })
+            //自动打码(小件)
+            $('#print_s').click(function (e) {
+                var rows = $('#table2').bootstrapTable('getSelections');
+                var ids = rows.map(function(item) {
+                    return item.id;
+                });
+                Fast.api.open("qcode_bach/print_s?ids="+ids, "自动打码(小件)", {
+                    shadeClose: true,
+                    shade: [0.5,'#393D49'],
+                    area: ['400px','400px'],
+                    callback:function(value){
+                        return false;
+                        // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
+                    }
+                });
+
+            })
 
         },
         table: {
@@ -78,7 +91,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                     },
                     onClickRow:function(row, $element, field)
                     {
-                        console.log(JSON.stringify(row));
+                        $("#myTabContent2 .form-commonsearch input[name='bach_id']").val(row.id);
+                        $("#myTabContent2 .btn-refresh").trigger("click");
                     },
                     toolbar: '#toolbar1',
                     pk: 'id',
@@ -99,7 +113,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                             {field: 'company_name', title: __('Company_name'), operate: 'LIKE'},
                             {field: 'matter_no', title: __('Matter_no'), operate: 'LIKE'},
                             // {field: 'notes', title: __('Notes')},
-                            {field: 'operate', title: __('Operate'), table: table1, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                            // {field: 'operate', title: __('Operate'), table: table1, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                         ]
                     ]
                 });
@@ -122,24 +136,30 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                         multi_url: '',
                         table: '',
                     },
+                    onClickRow:function(row, $element, field)
+                    {
+
+                        console.log(row)
+                    },
+                    sortOrder: 'asc',
                     toolbar: '#toolbar2',
                     pk: 'id',
                     sortName: 'id',
                     pageSize: 8,
                     pageList: [8, 20, 50, 'All'],
                     search: false,
-                    singleSelect: true,
                     columns: [
                         [
                             {checkbox: true},
                             {field: 'l_flow', title: __('当前托盘'), operate: 'LIKE'},
                             {field: 'code', title: __('Code'), operate: 'LIKE'},
-                            {field: 'print_date', title: __('Print_date'), operate: 'LIKE'},
-                            {field: 'p_nums', title: __('P_nums'), operate: 'LIKE'},
-                            {field: 'small_num', title: __('Small_num'), operate: 'LIKE'},
-                            {field: 'l_weight', title: __('L_weight'), operate: 'LIKE'},
+                            {field: 'print_date', title: __('Print_date'), operate: false},
+                            {field: 'p_nums', title: __('P_nums'), operate: false},
+                            {field: 'small_num', title: __('Small_num'), operate: false},
+                            {field: 'l_weight', title: __('L_weight'), operate: false},
                             {field: 'l_print', title: __('L_print'), operate: 'LIKE'},
                             {field: 'l_status', title: __('L_status'), operate: 'LIKE'},
+                            {field: 'bach_id', title: __('bach_id'), operate: 'LIKE'},
                             // {field: 'notes', title: __('Notes')},
                             // {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                         ]
@@ -218,6 +238,356 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
         edit: function () {
             Controller.api.bindevent();
         },
+        print_l: function () {
+            //大件码打印
+            function print(data,qrcode){
+                //打印二维码
+                var html = '<style type="text/css">' +
+                    '.tg  {border-collapse:collapse;border-spacing:0;font-weight:500;}' +
+                    '.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}' +
+                    '.tg .tg-s6z2{text-align:center;}</style>' +
+                    '<div width="340px"><table class="tg" width="340px">' +
+                    '<caption style="width: 300px;">'+data.company_name+'</caption>' +
+                    '<tr><td style="width: 70px;">规格:</td><td colspan="5" style="word-break:break-all;border-color:black;">'+data.product_name+'</td>' +
+                    '<tr><td>配盘数:</td><td colspan="2">'+data.sqrcd+'</td><td>辅单位:</td><td colspan="2">'+data.sec_unit+'</td></tr>' +
+                    '<tr><td>数量:</td><td colspan="2">'+data.num+'</td><td>主单位:</td><td colspan="2">'+data.main_unit+'</td></tr>' +
+                    '<tr><td>生产日期:</td><td colspan="5">'+data.date+'</td></tr>' +
+                    '<tr><td>生产批号:</td><td colspan="5">'+data.batch+'</td></tr>' +
+                    '<tr><td colspan="6" style="word-break:break-all; border-color:black; font-size: 13px;">'+data.qrcode+'</td></table>' +
+                    '<div style="position:absolute;top: 300px;left: 47px"><img src="'+data.pCode+'" > </td></div>' +
+                    '<div style="position:absolute;top: 400px;left: 300px;width: 50px;text-align: center;"><span style="font-weight: 500;word-break:normal;font-size: 16px">大件号'+data.l_flow+'</span></div>\n' +
+                    '</div>';
+                var printPdf = (html,qrcode) => {
+                    var LODOP=getLodop();
+                    LODOP.SET_LICENSES("","152A06E8F6CBD6AC1F213ABFCB0D8604","C94CEE276DB2187AE6B65D56B3FC2848","");
+
+                    LODOP.PRINT_INIT("河南中烟大件二维码打码");
+                    LODOP.SET_PRINT_STYLE("FontSize",16);
+                    LODOP.SET_PRINT_STYLE("Bold",1);
+
+                    LODOP.SET_PRINT_PAGESIZE(1, 1000, 1500, "CreateCustomPage");
+
+                    LODOP.ADD_PRINT_HTM(15,20,350,545,html);
+
+                    // LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",14);
+                    // LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
+                    // LODOP.ADD_PRINT_BARCODE(18,715,'27mm','27mm',"QRCode",qrcode);
+                    // LODOP.PRINT() // 直接打印
+                    // LODOP.PRINT_DESIGN() // 设计模式
+                    if (qrcode){
+                        LODOP.PREVIEW()	//打印预览
+                    }else{
+                        LODOP.PRINT() // 直接打印
+                    }
+
+                }
+                printPdf(html,qrcode)
+            }
+
+            $('.content').css('min-height','100px');
+
+            $("#btn").click(function (e) {
+                e.preventDefault();
+                var data = $("form").serialize();
+
+                $.post('qcode_bach/print_l', {data}, function (res) {
+                    if(res.code==1){
+                        var p = 0;
+                        var flage = 0;
+                        for(i in res.data.rows) {
+                            if (!flage) {
+                                //判断预览情况
+                                if (res.data.type == 'v010'){
+                                    print(res.data.rows[i], 1)
+                                }
+                                LODOP.On_Return = function (TaskID, Value) {
+                                    if (Value == 1) {
+                                        p = 1;
+                                    }
+                                }
+                                flage++;
+                            }else{
+                                break;
+                            }
+                        }
+                        var cint = setInterval(function () {
+                            if (p == 1) {
+                                clearInterval(cint);
+                                flage = 0;
+                                //修改打印数量
+                                $.post('qcode_bach/set_num', {'status':1,'num':res.data.numn, 'ids':res.data.ids}, function (response) {})
+
+                                for(i in res.data.rows) {
+                                    for(j=0;j<res.data.numn;j++){
+                                        if (!flage){
+                                            flage++;
+                                        }else{
+                                            if (res.data.type == 'v010'){
+                                                print(res.data.rows[i]);//打印
+                                            }
+                                            flage++;
+                                        }
+                                    }
+
+                                }
+                            }
+                        },2000)
+
+                        return false
+
+                    }else{
+                        Toastr.error(res.msg);
+                    }
+                })
+            })
+
+            Controller.api.bindevent();
+        },
+        print_s: function () {
+
+
+            //小件码打印(10mmx2.5mm)
+            function print1(data,qrcode){
+                //打印二维码
+                var html = "<style>.tg  {font-weight:500;}.tg td{font-family:宋体,楷体;font-size:10px;overflow:hidden;word-break:break-all;border-color:black;}</style> " +
+                    "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
+                    "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
+                    "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
+                    "<tr> <td>日期:" + data.date + "</td> </tr></table>";
+
+                var LODOP=getLodop();
+                LODOP.PRINT_INIT("小件(10mmx2.5mm)");
+                LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
+                LODOP.SET_PRINT_PAGESIZE(1, 1000, 250, "CreateCustomPage");
+
+                LODOP.ADD_PRINT_HTM(15, 10, 270, 160,html);
+
+                LODOP.ADD_PRINT_TEXT(70,200,100,20,data.l_flow);
+                LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
+                LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
+                LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
+                LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+
+                LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
+                LODOP.ADD_PRINT_BARCODE(4,280,'25mm','25mm',"QRCode",data.qrcode);
+                if (qrcode){
+                    LODOP.PREVIEW()	//打印预览
+                }else{
+                    LODOP.PRINT() // 直接打印
+                }
+
+            }
+
+            //小件码打印(10mmx1.8mm)
+            function print2(data,qrcode){
+                //打印二维码
+                var html = "<style>.tg  {border-collapse:collapse;border-spacing:0;font-weight:500;}.tg td{font-family:宋体,楷体;font-size:9px;overflow:hidden;word-break:break-all;border-color:black;}</style>" +
+                    "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
+                    "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
+                    "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
+                    "<tr> <td>日期:" + data.date + "</td> </tr></table>";
+
+                var LODOP=getLodop();
+                LODOP.PRINT_INIT("小件(10mmx2.5mm)");
+                LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
+                LODOP.SET_PRINT_PAGESIZE(1, 1000, 180, "CreateCustomPage");
+
+                LODOP.ADD_PRINT_HTM(3, 5, 300, 160, html);
+
+                LODOP.ADD_PRINT_TEXT(50,200,100,18,data.l_flow);
+                LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
+                LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
+                LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
+                LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+
+                LODOP.SET_PRINT_STYLE("QRCodeVersion",10);
+                LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
+                LODOP.ADD_PRINT_BARCODE(5,310,'25mm','25mm',"QRCode",data.qrcode);
+                if (qrcode){
+                    LODOP.PREVIEW()	//打印预览
+                }else{
+                    LODOP.PRINT() // 直接打印
+                }
+
+            }
+
+            //小件码打印(10mmx4mm)
+            function print3(data,qrcode){
+                //打印二维码
+                var html = "<style>" +
+                    ".tg  {border-collapse:collapse;border-spacing:0;font-weight:500;}" +
+                    ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
+                    "</style>" +
+                    "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
+                    "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
+                    "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
+                    "<tr> <td>日期:" + data.date + "</td> </tr></table>";
+
+                var LODOP=getLodop();
+                LODOP.PRINT_INIT("小件(10mmx4mm)");
+                LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
+                LODOP.SET_PRINT_PAGESIZE(1, 1000, 400, "CreateCustomPage");
+
+                LODOP.ADD_PRINT_HTM(9, 5, 230, 160, html);
+
+                LODOP.ADD_PRINT_TEXT(130,110,100,20,data.l_flow);
+                LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
+                LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
+                LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
+                LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+
+                LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
+                LODOP.ADD_PRINT_BARCODE(9,240,'45mm','45mm',"QRCode",data.qrcode);
+                if (qrcode){
+                    LODOP.PREVIEW()	//打印预览
+                }else{
+                    LODOP.PRINT() // 直接打印
+                }
+
+            }
+
+            //小件码打印(10mmx5mm)
+            function print4(data,qrcode){
+                //打印二维码
+                var html = "<style>" +
+                    ".tg  {font-weight:500;}" +
+                    ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
+                    "</style>" +
+                    "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
+                    "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
+                    "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
+                    "<tr> <td>日期:" + data.date + "</td> </tr></table>";
+
+                var LODOP=getLodop();
+                LODOP.PRINT_INIT("小件(10mmx5mm)");
+                LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
+                LODOP.SET_PRINT_PAGESIZE(1, 1000, 500, "CreateCustomPage");
+
+                LODOP.ADD_PRINT_HTM(20, 10, 230, 160,html);
+
+                LODOP.ADD_PRINT_TEXT(160, 100, 100, 20,data.l_flow);
+                LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
+                LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
+                LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
+                LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+
+                LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
+                LODOP.ADD_PRINT_BARCODE(25, 235, '45mm', '45mm',"QRCode",data.qrcode);
+                if (qrcode){
+                    LODOP.PREVIEW()	//打印预览
+                }else{
+                    LODOP.PRINT() // 直接打印
+                }
+
+            }
+
+            //小件码打印(10mmx6mm)
+            function print5(data,qrcode){
+                //打印二维码
+                var html = "<style>.tg  {font-weight:500;}.tg td{font-family:宋体, 楷体;font-size:14px;padding:2px 2px;overflow:hidden;word-break:break-all;border-color:black;}</style> " +
+                    "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
+                    "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
+                    "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
+                    "<tr> <td>日期:" + data.date + "</td> </tr></table>";
+
+                var LODOP=getLodop();
+                LODOP.PRINT_INIT("小件(10mmx6mm)");
+                LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
+                LODOP.SET_PRINT_PAGESIZE(1, 1000, 600, "CreateCustomPage");
+
+                LODOP.ADD_PRINT_HTM(25, 10, 180, 160, html);
+
+                LODOP.ADD_PRINT_TEXT(180, 100, 100, 20,data.l_flow);
+                LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
+                LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
+                LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
+                LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+
+                LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
+                LODOP.ADD_PRINT_BARCODE(25, 190, '55mm', '55mm',"QRCode",data.qrcode);
+                if (qrcode){
+                    LODOP.PREVIEW()	//打印预览
+                }else{
+                    LODOP.PRINT() // 直接打印
+                }
+
+            }
+
+            $('.content').css('min-height','100px');
+
+            $("#btn").click(function (e) {
+                e.preventDefault();
+                var data = $("form").serialize();
+
+                $.post('qcode_bach/print_s', {data}, function (res) {
+                    if(res.code==1){
+                        var p = 0;
+                        var flage = 0;
+                        for(i in res.data.rows) {
+                            if (!flage) {
+                                //判断预览情况
+                                if (res.data.type == 'v001'){
+                                    print1(res.data.rows[i], 1)
+                                }else if(res.data.type == 'v002'){
+                                    print2(res.data.rows[i], 1)
+                                }else if(res.data.type == 'v003'){
+                                    print3(res.data.rows[i], 1)
+                                }else if(res.data.type == 'v004'){
+                                    print4(res.data.rows[i], 1)
+                                }else if(res.data.type == 'v005'){
+                                    print5(res.data.rows[i], 1)
+                                }
+                                LODOP.On_Return = function (TaskID, Value) {
+                                    if (Value == 1) {
+                                        p = 1;
+                                    }
+                                }
+                                flage++;
+                            }else{
+                                break;
+                            }
+                        }
+                        var cint = setInterval(function () {
+                            if (p == 1) {
+                                clearInterval(cint);
+                                flage = 0;
+                                //修改打印数量
+                                $.post('qcode_bach/set_num', {'status':2,'num':res.data.numn, 'ids':res.data.ids}, function (response) {})
+
+                                for(i in res.data.rows) {
+                                    for(j=0;j<res.data.numn;j++){
+                                        if (!flage){
+                                            flage++;
+                                        }else{
+                                            if (res.data.type == 'v001'){
+                                                print1(res.data.rows[i])
+                                            }else if(res.data.type == 'v002'){
+                                                print2(res.data.rows[i])
+                                            }else if(res.data.type == 'v003'){
+                                                print3(res.data.rows[i])
+                                            }else if(res.data.type == 'v004'){
+                                                print4(res.data.rows[i])
+                                            }else if(res.data.type == 'v005'){
+                                                print5(res.data.rows[i])
+                                            }
+                                            flage++;
+                                        }
+                                    }
+
+                                }
+                            }
+                        },2000)
+
+                        return false
+
+                    }else{
+                        Toastr.error(res.msg);
+                    }
+                })
+            })
+
+            Controller.api.bindevent();
+        },
         reprint: function () {
             $("#sel-n").data("params", function (obj) {
                 //obj为SelectPage对象