2 Commits 9ae6b3e2d6 ... 6612fe69e8

Author SHA1 Message Date
  曹鹤洋 6612fe69e8 Merge branch 'master' of https://git.7in6.com/wuwenqiang/dm-v3.7in6.com 1 year ago
  曹鹤洋 8a6eda07f2 批次打码弹窗打印优化 1 year ago

+ 15 - 16
application/admin/controller/QcodeBach.php

@@ -191,10 +191,10 @@ class QcodeBach extends Backend
             $userInfo = Session::get('admin');
             $company_id = (int)$userInfo['company'];
             $where = [
-                'delete_time'=> ''
+                'delete_time'=> '',
+                'large_id'=> $req['large_id']
             ];
 
-            $req = input();
             $req['sort'] == 'id' ? $sort = '_id' : $sort = $req['sort'];
             $order = $req['order'];
             $offset = $req['offset'];
@@ -269,10 +269,10 @@ class QcodeBach extends Backend
         $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'];
+
+            $ids = $req['ids'];
+            $type = $req['type'];
+            $numn = $req['numn'];
 
             $userInfo = Session::get('admin');
             $company_id = (int)$userInfo['company'];
@@ -364,10 +364,10 @@ class QcodeBach extends Backend
         $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'];
+
+            $ids = $req['ids'];
+            $type = $req['type'];
+            $numn = $req['numn'];
 
             $userInfo = Session::get('admin');
             $company_id = (int)$userInfo['company'];
@@ -433,17 +433,16 @@ class QcodeBach extends Backend
         $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'];
+            $ids = $req['ids'];
+            $type = $req['type'];
+            $numn = $req['numn'];
 
             $userInfo = Session::get('admin');
             $company_id = (int)$userInfo['company'];
 
             $qcodeLarge = new QcodeLarge();
             $qcodeSmall = new QcodeSmall();
-            $small = $qcodeSmall->name($company_id.'_'."qcode_small")->where('_id',$ids[0])->find();
+            $small = $qcodeSmall->name($company_id.'_'."qcode_small")->where('_id',$ids)->find();
             $small = json_decode($small,true);
 
             $large = $qcodeLarge->name($company_id.'_'."qcode_large")->where('_id',$small['large_id'])->find();
@@ -512,7 +511,7 @@ class QcodeBach extends Backend
             }
         }elseif($status==3){
             $qcodeSmall = new QcodeSmall();
-            $qcodeSmall->name($company_id.'_'."qcode_small")->where('_id',$ids[0])->setInc('p_nums',$num);
+            $qcodeSmall->name($company_id.'_'."qcode_small")->where('_id',$ids)->setInc('p_nums',$num);
 
         }
 

+ 3 - 0
application/admin/view/qcode_bach/index.html

@@ -42,6 +42,9 @@
 
                         </table>
 
+                        <div id="tc" style="display: none">
+
+                        </div>
 
                     </div>
                 </div>

+ 714 - 23
public/assets/js/backend/qcode_bach.js

@@ -7,6 +7,217 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
             this.table.first();
             this.table.second();
 
+            //大件码打印
+            function print_l(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)
+            }
+
+            //小件码打印(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() // 直接打印
+                }
+
+            }
 
             //跳转
             $('#exp').click(function (e) {
@@ -26,13 +237,94 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                 var ids = rows.map(function(item) {
                     return item.id;
                 });
-                Fast.api.open("qcode_bach/print_l?ids="+ids, "自动打码(大件)", {
-                    shadeClose: true,
-                    shade: [0.5,'#393D49'],
+
+                var html = '<div style="margin-top: 20px">' +
+                    '<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" style="margin-top: 10px">' +
+                    '<div style="text-align: center">' +
+                    '<button type="submit" id="btn" class="btn btn-primary btn-embossed">确认</button>' +
+                    '<button type="reset" id="reset" class="btn btn-default btn-embossed">取消</button>' +
+                    '</div>' +
+                    '</div>';
+
+                var layero_l = layer.open({
+                    type: 1,
+                    title: '自动打码(大件)',
                     area: ['400px','200px'],
-                    callback:function(value){
-                        return false;
-                        // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
+                    content: html,
+                    success: function(layero) {
+                        // 在弹窗中绑定事件处理程序
+                        $(layero).find('#btn').click(function(e) {
+                            e.preventDefault();
+                            var type = $('#type').val();
+                            var numn = $('#numn').val();
+                            if(numn=='' || numn==0){
+                                Toastr.error('请填写打印数量');
+                                return false;
+                            }
+                            $.post('qcode_bach/print_l', {'ids':ids, 'type':type, 'numn':numn}, 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_l(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_l(res.data.rows[i]);//打印
+                                                        }
+                                                        flage++;
+                                                    }
+                                                }
+
+                                            }
+                                        }
+                                    },2000)
+
+                                    return false
+
+                                }else{
+                                    Toastr.error(res.msg);
+                                }
+                            })
+                        });
+
+                        $(layero).find('#reset').click(function(e) {
+                            e.preventDefault();
+                            layer.close(layero_l);
+                        });
                     }
                 });
 
@@ -43,16 +335,131 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                 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)`进行回传数据
+                var html = '<div style="margin-top: 20px">' +
+                    '<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="1">' +
+                    '</div>' +
+                    '<div class="form-group layer-footer" style="margin-top: 10px">' +
+                    '<div style="text-align: center">' +
+                    '<button type="submit" id="btn" class="btn btn-primary btn-embossed">确认</button>' +
+                    '<button type="reset" id="reset" class="btn btn-default btn-embossed">取消</button>' +
+                    '</div>' +
+                    '</div>';
+
+                var layero_s = layer.open({
+                    type: 1,
+                    title: '自动打码(小件)',
+                    area: ['400px','200px'],
+                    content: html,
+                    success: function(layero) {
+                        // 在弹窗中绑定事件处理程序
+                        $(layero).find('#btn').click(function(e) {
+                            e.preventDefault();
+                            var type = $('#type').val();
+                            var numn = $('#numn').val();
+
+                            if(numn=='' || numn==0){
+                                Toastr.error('请填写打印数量');
+                                return false;
+                            }
+                            $.post('qcode_bach/print_s', {'ids':ids, 'type':type, 'numn':numn}, 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);
+                                }
+                            })
+                        });
+                        $(layero).find('#reset').click(function(e) {
+                            e.preventDefault();
+                            layer.close(layero_s);
+                        });
                     }
                 });
 
+                // 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)`进行回传数据
+                //     }
+                // });
+
             })
 
             //修改
@@ -207,6 +614,173 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
             // 初始化表格参数配置
             Table.api.init();
 
+            //小件码打印(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() // 直接打印
+                }
+
+            }
+
             var table = $("#table");
             table.bootstrapTable({
                 url: 'qcode_bach/small' + location.search,
@@ -220,7 +794,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                 columns: [
                     [
                         // {checkbox: true},
-                        {field: 'code', title: __('Code'), cellStyle: function () {return {css: {"max-width": "200px","overflow":"hidden",}}}, operate: false},
+                        {field: 'code', title: __('Code'), cellStyle: function () {return {css: {"max-width": "200px","overflow":"hidden",}}}, operate: 'LIKE'},
                         {field: 'l_flow', title: __('Flow'), width:80, operate: false},
                         {field: 'p_nums', title: __('P_nums'), width:80, operate: false},
                         {field: 'status', title: __('Status'), width:80, formatter:function (value, row, index) {
@@ -230,7 +804,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                                     return '<span style="color: green">正常</span>';
                                 }
                             }, operate: false},
-                        {field: 'buttons', width: "120px", title: __('按钮组'), table: table, events: Table.api.events.operate,
+                        {field: 'buttons', width: "120px", title: __('按钮组'), table: table, operate: false, events: Table.api.events.operate,
                             buttons: [
                                 {
                                     name: 'click',
@@ -254,7 +828,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                             formatter: Table.api.formatter.buttons
                         },
                         // {field: 'notes', title: __('Notes')},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
+                        {field: 'operate', title: __('Operate'), table: table, operate: false, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
                             buttons: [
                                 {
                                     name: 'click',
@@ -263,16 +837,133 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], functi
                                     classname: 'btn btn-xs btn-success btn-click',
                                     icon: 'fa fa-print',
                                     click: function (data,row,index) {
-                                        Fast.api.open("qcode_bach/print_ls?ids="+row.id, "打码(小件)", {
-                                            shadeClose: true,
-                                            shade: [0.5,'#393D49'],
-                                            area: ['400px','400px'],
-                                            callback:function(value){
-                                                return false;
-                                                // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
+                                        //自动打码(小件)
+                                        var ids = row.id;
+                                        var html = '<div style="margin-top: 20px">' +
+                                            '<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="1">' +
+                                            '</div>' +
+                                            '<div class="form-group" style="margin-top: 10px">' +
+                                            '<div style="text-align: center">' +
+                                            '<button type="submit" id="btn" class="btn btn-primary btn-embossed">确认</button>' +
+                                            '<button type="reset" id="reset" class="btn btn-default btn-embossed">取消</button>' +
+                                            '</div>' +
+                                            '</div>';
+
+                                        var layero_ls = layer.open({
+                                            type: 1,
+                                            title: '打码(小件)',
+                                            area: ['400px','200px'],
+                                            content: html,
+                                            success: function(layero) {
+                                                // 在弹窗中绑定事件处理程序
+                                                $(layero).find('#btn').click(function(e) {
+                                                    e.preventDefault();
+                                                    var type = $('#type').val();
+                                                    var numn = $('#numn').val();
+
+                                                    if(numn=='' || numn==0){
+                                                        Toastr.error('请填写打印数量');
+                                                        return false;
+                                                    }
+                                                    $.post('qcode_bach/print_ls', {'ids':ids, 'type':type, 'numn':numn}, 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':3,'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);
+                                                        }
+                                                    })
+                                                });
+                                                $(layero).find('#reset').click(function(e) {
+                                                    e.preventDefault();
+                                                    layer.close(layero_ls);
+                                                });
                                             }
                                         });
 
+                                        // Fast.api.open("qcode_bach/print_ls?ids="+row.id, "打码(小件)", {
+                                        //     shadeClose: true,
+                                        //     shade: [0.5,'#393D49'],
+                                        //     area: ['400px','400px'],
+                                        //     callback:function(value){
+                                        //         return false;
+                                        //         // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
+                                        //     }
+                                        // });
+
                                     }
                                 }
                             ],formatter: Table.api.formatter.buttons}