Procházet zdrojové kódy

添加调出单的标签打印

lvhao před 13 hodinami
rodič
revize
f3ddd89640

+ 63 - 2
core/CoreApp/controllers/Beihuogl.php

@@ -12,6 +12,7 @@ class Beihuogl extends Start_Controller {
         $this->load->_model("Model_goods","goods");
         $this->load->_model("Model_settingtest","settingtest");
         $this->load->_model("Model_bhdcd","bhdcd");
+        $this->load->_model("Model_whlabellabel","whlabellabel");
     }
 
     //定义方法的调用规则 获取URI第二段值
@@ -80,6 +81,8 @@ class Beihuogl extends Start_Controller {
             $this->_u9scdexcel($arg_array);
         }elseif($arg == 'ccwlskucheck'){
             $this->_ccwlskucheck();
+        }elseif($arg == 'printlabel'){
+            $this->_printlabel();
         }
 		else
 		{
@@ -1322,7 +1325,7 @@ class Beihuogl extends Start_Controller {
                     $start = ($page - 1)*$perpage;
                 }
     
-                $list = $this->bhdcd->find_all($where,"id,bh_no,dcd_no,drd_no,status,jm,num,kw,create_time",$order_str,$start,$perpage);
+                $list = $this->bhdcd->find_all($where,"id,bh_no,dcd_no,drd_no,status,jm,num,kw,create_time,rk_time",$order_str,$start,$perpage);
     
                 if(empty($list)){
                     $rows = array('total'=>0,'over'=>1,'pagenum'=>0,'rows'=>([]));
@@ -1334,7 +1337,8 @@ class Beihuogl extends Start_Controller {
                     $list[$k]['status'] = isset($status_list[$v['status']])?$status_list[$v['status']]:"";
                     $list[$k]['drd_no'] = empty($v['drd_no'])?"":$v['drd_no'];
                     $list[$k]['kw'] = empty($v['kw'])?"":$v['kw'];
-                    $list[$k]['create_time'] = empty($v['create_time'])?"":date("Y-m-d H:i:s",$v['create_time']);
+                    $list[$k]['create_time'] = empty($v['create_time'])?"":date("Y-m-d",$v['create_time']);
+                    $list[$k]['rk_time'] = empty($v['rk_time'])?"": "<a href='javascript:void(0)'  style='margin-right:4px;color: #fff;background-color:#D2691E;padding:4px 10px;border-radius:5px;font-size:15px' onclick='dybq(this)'  data-id='".$v['id']."' data-num='".$v['num']."'>打印标签</a>";
                 }
     
     
@@ -1577,4 +1581,61 @@ class Beihuogl extends Start_Controller {
 		exit($str); 
 		
     }
+    //打印标签
+    private function _printlabel(){
+        if($this->input->method() === 'post'){
+            $id = $this->input->post('id',true);
+            $xbqnum = $this->input->post('num',true);
+            $info = $this->bhdcd->read($id);
+            if(empty($info)){
+                echo json_encode(['success'=>false,'msg'=>'数据不存在']);exit;
+            }
+
+            $featurespp = str_replace(array('-163-', '-164-', '-165-', '-166-'), '-', $info['features']);
+            $featurespp = explode('-', trim($featurespp, '-'));
+            if (isset($featurespp[5])) {
+                $tmp_featurespp = $featurespp[0] . '-' . $featurespp[3] . '-' . $featurespp[4] . '-' . $featurespp[5];
+            } else {
+                $tmp_featurespp = $featurespp[0] . '-' . $featurespp[3] . '-' . $featurespp[4];
+            }
+            $label = '';
+            $cpid = $this->whlabellabel->find_count();
+			$cpid = $cpid + 1;
+            $time = time();
+            $label = time().rand(10,99);
+            $label = substr($label,1);
+            $insert_arr = [
+                'purchase'=>1,
+                'shop'=>'',
+                'sku'=>$info['sku'],
+                'number'=>$info['number'],
+                'features'=>$info['features'],
+                'featurespp'=>$tmp_featurespp,
+                'title'=>$info['title'],
+                'label'=>$label,
+                'warehouse'=>13,
+                'time'=>$time,
+                'details'=>$info['kw'],
+                'cpid'=>$cpid,
+                'jm'=>$info['jm'],
+                'cpbz'=>''
+            ];
+            $this->db->trans_begin();
+            $this->whlabellabel->insert($insert_arr);
+            if ($this->db->trans_status() === TRUE) {
+                $this->db->trans_commit();
+            } else {
+                $this->db->trans_rollback();
+                echo json_encode(array('msg' => '错误,请重试!', 'success' => false));
+                exit;
+            }
+            $details = '位置:(' . $info['kw'] . ') <font style="font-size: 18px;">' . $cpid . '</font>' ;
+			$details = ' <b style="font-size: 18px;">'."许昌仓</b>  ".$details;
+            $purchase = "龙盈工厂";
+            echo json_encode(array('title' => $info['title'], 'num' => $label, 'bqsku' => $info['sku'], 'xbqnum' => $xbqnum, 'zh' => str_replace('自然色 ', '', rtrim($info['zh'], ' ')), 'details' => $details, 'purchase' => $purchase, 'cpbz' => "", 'usa' => 0, 'success' => true));
+            exit; //特殊仓目前不需要仓库选项
+        }else{
+            echo json_encode(['success'=>false,'msg'=>'请求方式错误']);exit;
+        }
+    }
 }

+ 101 - 1
template/erp/beihuogl_ckdcd.html

@@ -46,6 +46,7 @@
 <td>数量</td>
 <td>库位</td>
 <td>记录时间</td>
+<td>操作</td>
 </tr>
 </table>
 </div>
@@ -59,7 +60,15 @@
 <p style="padding:10px 0px"><font class="button">确 定</font><font class="esc">取 消</font></p>
 </div>
 </div>
+<div class="systemwindow">
+<div>
+<p>是否确定删除所选信息?</p>
+<p><font class="button">确 定</font><font class="esc">取 消</font></p>
+</div>
+</div>
 
+<span id="job" class="none"></span>
+<span id="site" class="none"></span>
 <script>
 
 var dataurl = "/beihuogl/ckdcd";
@@ -114,8 +123,99 @@ window.onload = function() {
         $("select[name='fp_printer']").html(h)
     },1100)
 };
-    
+function dybq(that){
+    if ($("select[name='printer']").children("option:selected").val() == "") {
+        layx.alert('提示', '请选择打印机!', function(id) {
+            
+        });
+        return;
+    } 
+    let id = $(that).data('id');
+    let limit_num = $(that).data('num');
+    $(".boundtj div p:eq(0)").html('<label>数 量:<input value="1" name="num" type="text"></label> <input type="hidden" name="id" value="'+id+'" /><input type="hidden" name="limit_num" value="'+limit_num+'" />');
+    $(".boundtj div p:eq(1)").html("<font class='obaddgo' onclick='doAddYcrk()'>确 定</font><font class='esc' onclick='escDo()'>取 消</font>");
+    $(".boundtj").show();
+}    
+
+
+function doAddYcrk(){
+     let id = $(".boundtj input[name='id']").val();
+     let num = $(".boundtj input[name='num']").val();
+     let limit_num = $(".boundtj input[name='limit_num']").val();
+     if(num>limit_num){
+        layx.alert('提示', '数量不能大于'+limit_num, function(id) {
+            
+        });
+        return;
+    }
+    escDo();
+     $.post("/beihuogl/printlabel", {
+        id: id,
+        num: num,
+     }, function(a){
+        if (a && a.success) {
+            $(".ts").hide();
+            $(".systemwindow").hide();
+            $(".systemwindow div p:eq(0)").html(
+                "<i class='fa fa-2x fa-cog fa-spin'></i> &nbsp; 正在处理打印信息,请稍后...");
+            $(".systemwindow div p:eq(1)").html("");
+            $(".systemwindow").show();
+            wprinter.xbq(a);
+            xbqsitebeihuo(1, 1, 0, 0, 0);
+        } else {
+            $(".ts").hide();
+            if (a.msg) {
+                $(".ts p").html(a.msg);
+            } else {
+                $(".ts p").html("生成标签失败,请重试");
+            }
+            $(".ts").fadeIn();
+            setTimeout('$(".ts").fadeOut()', 1200);
+        }
+     }, "json")
+}
+
+function xbqsitebeihuo(num, list, number, data, i) {
+    var jobsite = $("#site").html();
+    if (jobsite == '0') {
+        $("#job").html("");
+        $("#site").html("");
+
+        wprinter.sound("打印完成")
+        $(".systemwindow div p:eq(0)").html("打印完成!");
+        $(".systemwindow div p:eq(1)").html("<font class='printok'>确 定</font>");
+        $(".systemwindow").show();
+        return;
+
+    } else {
+        if (i < '71') {
+            if ($("#job").html() != '') {
+                wprinter.getStatusValue();
+            }
+            setTimeout(function() {
+                site(num, list, number, data, i + 1);
+            }, 1500);
+            return;
+        } else {
+            wprinter.sound("打印机异常")
+            $(".systemwindow div p:eq(0)").html("打印失败!系统已停止打印,请检查打印机!如未出此单,请再次打印");
+            $(".systemwindow div p:eq(1)").html("<font class='printok'>确 定</font>");
+            $(".systemwindow").show();
+            $("#job").html("");
+            $("#site").html("");
+            $(".tyrowsout").hide();
+            $("#orderinfo").val("");
+            $("#orderinfo").focus();
+            return;
+        }
+    }
+}
+function escDo(){
+    $(".boundtj p").html("");
+    $(".boundtj").hide();
+}
 </script>
 <script type="text/javascript" src="{$theme}js/laydate.js"></script>
 <script type="text/javascript" src="{$theme}js/excel/xlxs.js" ></script>
+<script type="text/javascript" src="{$theme}js/print.js?v=20210323"></script>
 {Template footer}