浏览代码

优化电子秤

liuhairui 1 年之前
父节点
当前提交
eb550315fa
共有 1 个文件被更改,包括 108 次插入2 次删除
  1. 108 2
      public/assets/js/backend/feeding.js

+ 108 - 2
public/assets/js/backend/feeding.js

@@ -222,6 +222,96 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jQuery.print', 'jque
                 }, READ_TIMEOUT);
             };
 
+
+            // const BAUD_RATE = 9600;
+            // const READ_TIMEOUT = 20;
+            // let serialPort;
+            // let reader;
+            // let readFlag = true;
+            // let conectFlag = false;
+            // let serialData = [];
+            // let asciidecoder = new TextDecoder();
+            // let serialTimer = null;
+            // let input = null;
+            // let oldVal = 0;
+            //
+            // // 连接串口设备
+            // const connectSerial = async () => {
+            //     try {
+            //         const ports = await navigator.serial.getPorts();
+            //         if (ports.length > 0) {
+            //             // 关闭已连接的串口
+            //             if (serialPort) {
+            //                 await serialPort.close();
+            //                 serialPort = null;
+            //             }
+            //             // 选择第一个串口进行连接
+            //             serialPort = ports[0];
+            //             await serialPort.open({ baudRate: BAUD_RATE });
+            //             if (serialPort.readable) {
+            //                 console.log("已连接设备");
+            //                 conectFlag = true;
+            //                 readData(); // 开始读取数据
+            //             } else {
+            //                 console.log("未能连接到设备");
+            //             }
+            //         } else {
+            //             var duankou_msg = new SpeechSynthesisUtterance("请选择 U S B 串口并点击连接");
+            //             window.speechSynthesis.speak(duankou_msg);
+            //             const port = await navigator.serial.requestPort();
+            //             serialPort = port;
+            //             await serialPort.open({ baudRate: BAUD_RATE });
+            //             if (serialPort.readable) {
+            //                 var duankou_msg = new SpeechSynthesisUtterance("已连接设备");
+            //                 window.speechSynthesis.speak(duankou_msg);
+            //                 conectFlag = true;
+            //                 readData(); // 开始读取数据
+            //             }
+            //         }
+            //     } catch (error) {
+            //         // 处理连接错误
+            //     }
+            // };
+            //
+            // // 读取串口数据
+            // const readData = async () => {
+            //     try {
+            //         while (readFlag && conectFlag && serialPort.readable) {
+            //             reader = serialPort.readable.getReader();
+            //             while (true) {
+            //                 const { value, done } = await reader.read();
+            //                 if (done) break;
+            //                 dataReceived(value);
+            //             }
+            //         }
+            //     } catch (error) {
+            //         // 处理读取数据错误
+            //     } finally {
+            //         reader.releaseLock();
+            //     }
+            // };
+            //
+            // // 处理接收到的数据
+            // const dataReceived = (data) => {
+            //     serialData.push(...data);
+            //     clearTimeout(serialTimer);
+            //     serialTimer = setTimeout(() => {
+            //         const dataNums = asciidecoder.decode(Uint8Array.from(serialData));
+            //         const dataNum = parseFloat(dataNums.split('').reverse().join('').split('=')[0]);
+            //         console.log('电子秤获取的数据是'+ dataNum);
+            //
+            //         if (!isNaN(parseFloat(dataNum))) {
+            //             $('#dzcshuju').text(dataNum);
+            //         } else {
+            //             // 字符串不是数字的处理逻辑
+            //             console.log("串口接触异常,未获取到数据");
+            //         }
+            //         serialData = [];
+            //     }, READ_TIMEOUT);
+            // };
+
+
+
             //进入投料添加页面 光标自动跳到批次号输入框
             $('#c-bach').focus();
 
@@ -464,7 +554,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jQuery.print', 'jque
                                                 var error = 0;
                                                 if (key === 13) {
                                                     var string = $("#wuliao").val().trim();//获取扫描物料的值
-                                                    console.log("wulaio----"+string)
+                                                    console.log("wulaio----"+string);
                                                     if ($("#wuliao").val() === '') {
                                                         layer.confirm('扫描物料不能为空', { title: '操作提示',btn: [],closeBtn: 0,time: 2000});
                                                         return false;
@@ -500,6 +590,20 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jQuery.print', 'jque
                                                         $("#wuliao").focus();
                                                         return false;
                                                     }
+                                                    if(wuliao.includes('KG')) {
+                                                        var numberOnly = wuliao.replace(/KG$/, ""); // 只替换字符串末尾的'GJ'
+                                                        $('#dzcshuju').text(numberOnly);
+                                                        $("#wuliao").val('');
+                                                        $("#wuliao").focus();
+                                                        return false;
+                                                    }
+                                                    if(wuliao.includes('kg')) {
+                                                        var numberOnly = wuliao.replace(/kg$/, ""); // 只替换字符串末尾的'GJ'
+                                                        $('#dzcshuju').text(numberOnly);
+                                                        $("#wuliao").val('');
+                                                        $("#wuliao").focus();
+                                                        return false;
+                                                    }
 
                                                     //定时获取投入重量的值,将值复制到对应物料列表中投料重量
                                                     setInterval(() => {
@@ -668,7 +772,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jQuery.print', 'jque
                                                                 console.log(222)
                                                                 //没有在数据库查到,直接去比较物料与配方
                                                                 if (wuliao.length < 7) {
-                                                                    $('#input').css('font-size', '60px');
+                                                                    $('#input').css('font-size', '52px');
                                                                 } else {
                                                                     $('#input').css('font-size', '25px');
                                                                 }
@@ -746,6 +850,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jQuery.print', 'jque
                                                                                 area: ['70%', '60%'],
                                                                             });
                                                                             $("#ytzl").text('');
+                                                                            $("#wuliao").val('');
+                                                                            $("#wuliao").focus();
                                                                             //语音播报
                                                                             var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!");
                                                                             window.speechSynthesis.speak(msg);