Browse Source

投料功能优化221226

liuhairui 3 years ago
parent
commit
3d58ffe345
2 changed files with 65 additions and 35 deletions
  1. 4 4
      application/admin/controller/Feeding.php
  2. 61 31
      public/assets/js/backend/feeding.js

+ 4 - 4
application/admin/controller/Feeding.php

@@ -76,11 +76,9 @@ class Feeding extends Backend
         $param['remark'] = $_POST['gy_name'];//操作记录(记录批次号)
         $param['create'] = date('Y-m-d H:i:s');//创建时间
 
-        echo "<pre>";print_r($param);echo "</pre>";die;
-
+//        echo "<pre>";print_r($param);echo "</pre>";die;
         $feeding = Db::name('feeding')->insert($param);
         if($feeding){return "添加成功";}else{return "添加失败";}
-
 //        $params = $this->request->post('row/a');
 //        $params = $this->preExcludeFields($params);
 //        $tid = Db::name('task')->where('bach',$params['bach'])->order('id desc')->find();
@@ -176,10 +174,12 @@ class Feeding extends Backend
         //按照百分比计算出应投重量
         foreach($res as &$v){
             $v['weight']=0;
+            $v['material_bach'] = '';
             if($process){ //已有工序,接上一次工序
                 foreach ($process as $val){
                     if(($val['material']==$v['material'] || in_array($val['material'],explode('/',$v['material']))) && $val['tid']==$v['id'] && $val['gy_num'] == $v['gy_num']){
                         $v['weight']=$val['weight'];
+                        $v['material_bach']=$val['material_bach'];
                         $pro = $val['gy_num'];
                     }
                 }
@@ -231,7 +231,7 @@ class Feeding extends Backend
                 foreach ($data as $key=>$value){
                     $str[$key] = $value['m_name'];
                 }
-                $result['string'] = implode('或',$str);
+                $result['string'] = implode('或 ',$str);
             }else{
                 $result['string'] = $data[0]['m_name'];
             }

+ 61 - 31
public/assets/js/backend/feeding.js

@@ -43,8 +43,16 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                 $(".btn-add").data("area",["100%","100%"]);
             });
 
-            document.documentElement.webkitRequestFullScreen();
-
+            // 进入页面全屏
+            if(document.documentElement){
+                document.documentElement.webkitRequestFullScreen();
+                document.body.onkeyup = function (e) {
+                    e = e || window.event;
+                    if(e.keyCode == 27){//按Esc全屏或退出全屏
+                        document.documentElement.webkitRequestFullScreen();
+                    }
+                };
+            }
             // 为表格绑定事件
             Table.api.bindevent(table);
         },
@@ -182,7 +190,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                     //     });
                                     // });
                                 }else{//批次号不重复直接赋值
-                                    // console.log(2222);
                                     $("#btn").css('display','none');
                                     $("#c-name").val(res.data[0].name);
                                     $("#c-specifications").val(res.data[0].drawer_name);
@@ -199,12 +206,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                             bach: $("#c-bach").val(),
                                         },
                                         success(result) {
-                                            // console.log(result);
                                             var str = '';//页面table
                                             var html = '';//打印的table
                                             for(var i=0;i<result.data.length;i++){
                                                 str += "<tr class='tablestr"+i+" tablestr'><td><input class='form-control material' type='text' name='row[material][]' readonly value='"+result.data[i].material+"'></td>";
-                                                // str += "<td><input class='form-control' type='text' name='row[nweight][]' readonly value='"+result.data[i].nweight+"'></td>";
                                                 str += "<td><input class='form-control nweight' type='text' name='row[nweight][]' readonly value='"+result.data[i].nweight+"'></td>";
                                                 str += "<td style='display: none'><input class='form-control gy_num' type='hidden' name='row[gy_num][]' value='"+result.data[i].gy_num+"'></td>";
                                                 str += "<td><input class='form-control number' type='number' name='row[weight][]' value='";
@@ -218,8 +223,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                 }else{
                                                     str += "<td><button type=\"button\" class=\"btn btn-primary btn-embossed\">已保存</button></td>";
                                                 }
-                                                // str += "<td><button type=\"button\" class=\"btn btn-primary btn-embossed submit \">保存</button></td>";
-                                                str += "<td><input class='form-control bach' type='text' name='row[bach][]'  value=''></td>";
+                                                if(result.data[i].material_bach){
+                                                    str += "<td><input class='form-control bach' type='text' name='row[bach][]' readonly  value='"+result.data[i].material_bach+"'></td>";
+                                                }else{
+                                                    str += "<td><input class='form-control bach' type='text' name='row[bach][]'  value=''></td>";
+                                                }
                                                 str += "<td><input class='form-control' type='text' name='row[gy_name][]'  value='"+result.data[i].gy_name+"'></td>";
                                                 str += "</tr>";
                                                 html += `<tr class="print${i} print"><td>${result.data[i].material}</td>
@@ -243,12 +251,13 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                 var error = 0;
                                                 if(key === 13){
                                                     var string = $("#wuliao").val();
-                                                    var wuliao = string.substr(0,string.indexOf('_'));  //原材料
-                                                    var bach = string.substr(string.indexOf('_')+1);    //原材料批次号
-                                                    // console.log(string.indexOf('_'));
-                                                    // console.log(wuliao);
-                                                    // console.log(bach);
-                                                    // return false;
+                                                    if(string.substr(0,string.indexOf('_'))){
+                                                        var wuliao = string.substr(0,string.indexOf('_'));  //原材料
+                                                        var bach = string.substr(string.indexOf('_')+1);    //原材料批次号
+                                                    }else{
+                                                        var wuliao = string;
+                                                        var bach = '';
+                                                    }
                                                     $('#input').html();
                                                     $.ajax({
                                                         method: "POST",
@@ -258,22 +267,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                             material:wuliao
                                                         },
                                                         success(data) {
+                                                            console.log(data.data)
                                                             if (data.total > 0){
-                                                                //查到中文物料,循环比较物料与配方
+                                                                // alert(1);
                                                                 wuliao = data.string;
                                                                 $('#input').html(wuliao);
                                                                 for (var i=0;i<result.data.length;i++){
                                                                     for (var j=0;j<data.data.length;j++){
                                                                         //扫描的物料=table中的物料,,,变红,否则语音提示
                                                                         if(result.data[i].material===data.data[j].m_name){
-                                                                            if (result.data[i].gy_num == result.process){
-                                                                                $(".material")[i].setAttribute('style','color:red');
-                                                                                $(".nweight")[i].setAttribute('style','color:red');
-                                                                                //语音播报
-                                                                                var msg = new SpeechSynthesisUtterance("应投入物料"+result.data[i].material+"应投入重量"+result.data[i].nweight+"千克");
-                                                                                window.speechSynthesis.speak(msg);
-                                                                                error++;
-                                                                            }else if (result.data[i].gy_num > result.process){
+                                                                            // console.log(result.data[i].material);
+                                                                            // console.log(data.data[j].m_name);
+                                                                            if (result.data[i].gy_num > result.process){
                                                                                 Layer.confirm("此物料不在当前工序,请确认!",{
                                                                                     area: ['60%', '60%'],
                                                                                 });
@@ -281,15 +286,39 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                                                 var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
                                                                                 window.speechSynthesis.speak(msg);
                                                                                 error++;
-                                                                            }else {
-                                                                                Layer.confirm("此物料已经投料,请确认此工序是否有此物料!",{
-                                                                                    area: ['60%', '60%'],
-                                                                                });
+                                                                            }else{
+                                                                                $(".material")[i].setAttribute('style','color:red');
+                                                                                $(".nweight")[i].setAttribute('style','color:red');
                                                                                 //语音播报
-                                                                                var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                                                var msg = new SpeechSynthesisUtterance("应投入物料"+result.data[i].material+"应投入重量"+result.data[i].nweight+"千克");
                                                                                 window.speechSynthesis.speak(msg);
                                                                                 error++;
                                                                             }
+                                                                            // if (result.data[i].gy_num == result.process){
+                                                                            //     $(".material")[i].setAttribute('style','color:red');
+                                                                            //     $(".nweight")[i].setAttribute('style','color:red');
+                                                                            //     //语音播报
+                                                                            //     var msg = new SpeechSynthesisUtterance("应投入物料"+result.data[i].material+"应投入重量"+result.data[i].nweight+"千克");
+                                                                            //     window.speechSynthesis.speak(msg);
+                                                                            //     error++;
+                                                                            // }else
+                                                                            //     if (result.data[i].gy_num > result.process){
+                                                                            //     Layer.confirm("此物料不在当前工序,请确认!",{
+                                                                            //         area: ['60%', '60%'],
+                                                                            //     });
+                                                                            //     //语音播报
+                                                                            //     var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                                            //     window.speechSynthesis.speak(msg);
+                                                                            //     error++;
+                                                                            // }else{
+                                                                            //     Layer.confirm("此物料已经投料,请确认此工序是否有此物料!",{
+                                                                            //         area: ['60%', '60%'],
+                                                                            //     });
+                                                                            //     //语音播报
+                                                                            //     var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
+                                                                            //     window.speechSynthesis.speak(msg);
+                                                                            //     error++;
+                                                                            // }
                                                                         }
                                                                         //替代料变扫描的物料
                                                                         if(result.data[i].material.indexOf('/')!==-1) {
@@ -323,8 +352,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                                     window.speechSynthesis.cancel();
                                                                     synth.speak(msg);
                                                                 }
-
                                                             }else{
+                                                                // alert(2);
                                                                 //没有在数据库查到,直接去比较物料与配方
                                                                 $('#input').html(wuliao);
                                                                 for (var i=0;i<result.data.length;i++){
@@ -360,7 +389,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                                         //     error++;
                                                                         // }
                                                                     }
-
                                                                     //替代料变扫描的物料
                                                                     if(result.data[i].material.indexOf('/')!==-1) {
                                                                         var arr = result.data[i].material.split('/');
@@ -399,7 +427,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                                                                 }
                                                             }
                                                         }
-                                                    })
+                                                    });
                                                     //清空物料扫描后的值,下次直接重新扫描即可
                                                     $("#wuliao").val('');
                                                 }
@@ -476,6 +504,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
                         });
                     }else{
                         $(this).text('已保存');
+                        $(this).parent().siblings().eq(3).children('input').attr('readonly','readonly');
+                        $(this).parent().siblings().eq(4).children('input').attr('readonly','readonly');
                     }
                     $.ajax({
                         type: "POST",
@@ -580,4 +610,4 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery
         }
     };
     return Controller;
-});
+});