define(['jquery', 'bootstrap', 'backend', 'table', 'form','jQuery.print','jquery.qrcode.min'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'feeding/index' + location.search, add_url: 'feeding/add', edit_url: 'feeding/edit', del_url: 'feeding/del', multi_url: 'feeding/multi', import_url: 'feeding/import', table: 'feeding', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', fixedColumns: true, fixedRightNumber: 1, columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'bach', title: __('Bach'), operate: 'LIKE'}, {field: 'material', title: __('Material'), operate: 'LIKE'}, {field: 'nweight', title: __('Nweight'), operate: 'LIKE'}, {field: 'weight', title: __('Weight'), operate: 'LIKE'}, {field: 'gy_num', title: __('Gy_num')}, {field: 'date', title: __('Date'), operate: 'LIKE'}, {field: 'operator', title: __('Operator'), operate: 'LIKE'}, // {field: 'tid', title: __('Tid')}, {field: 'inspector', title: __('Inspector'), operate: 'LIKE'}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] }); table.on('post-body.bs.table',function(){ $(".btn-add").data("area",["100%","100%"]); }); var docElm = document.documentElement; if (docElm.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } document.addEventListener("webkitfullscreenchange", function () { fullscreenState.innerHTML = (document.webkitIsFullScreen) ? "" : "not "; }, false); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { $('#c-bach').focus(); var num=0; $('#c-bach').keydown((e)=>{ let key = e.which; if(key == 13){ $("#wuliao").focus(); if(num === 0){ var bach = $("#c-bach").val(); if (bach == ''){ layer.confirm('批次号不能为空,请输入批次号');return false; } $.ajax({ method:"POST", data:{bach:bach},//批次号 url:"feeding/get_task", success(res){ if(res.code == 0){ layer.confirm(res.msg,{ title:['信息'], area:['80%','60%'], }); var msg = new SpeechSynthesisUtterance(res.msg); window.speechSynthesis.speak(msg); return false; // layer.confirm(res.msg);return false; } $("#table").append(""); //批次号重复/做下拉选择 if(res.data.length>1){ let str = ''; str+='确认'; $('#c-bach').parent('#c_bach').append(str); $("#bach").change(()=>{ $("#c-name").val(res.data[$("#bach").val()].name); $("#c-specifications").val(res.data[$("#bach").val()].drawer_name); $("#c-unit").val(res.data[$("#bach").val()].examine_name); }); $("#btn").click(()=>{ //只读->已扫描过批次号 if($("#c-bach").attr('readonly')==='readonly'){ return false; } $("#bach").css('cssText','display:none! important');//隐藏按钮,下拉菜单 $("#btn").css('display','none'); $.ajax({ method:"POST", url:"feeding/get_formula", data:{ bach:$("#c-bach").val(), num:res.data[$("#bach").val()].number// 选定批次号的生产量,精确查找 }, success(result){ var str = '';//页面table var html = '';// html:需打印的表格 for(var i=0;i"; str += ""; str += ""; str += ""; str += ""; html += `${result.data[i].material} ${result.data[i].nweight}`; if (result.data[i].weight) { html += parseFloat(result.data[i].weight); } html += `${result.data[i].gy_name}`; } html+= ` 总计 `;//${res.data.number} $("#print_gy").append(html); $("#table").append(str); $("#c-bach").attr('readonly','readonly');//批次号输入框变为只读 $("#wuliao").keydown((e)=>{ let key = e.which; var error = 0; if(key === 13){ var wuliao = $("#wuliao").val(); for(var i=0;i"; // str += ""; str += ""; str += ""; str += ""; str += ""; html += `${result.data[i].material} ${result.data[i].nweight}`; if (result.data[i].weight) { html += parseFloat(result.data[i].weight); } html += `${result.data[i].gy_name}`; } html+= ` 总计 `;//${res.data[0].number} $("#print_gy").append(html); $("#table").append(str); $("#c-bach").attr('readonly','readonly');//批次号输入框变为只读 $("#wuliao").keydown((e)=>{ let key = e.which; var error = 0; if(key === 13){ var wuliao = $("#wuliao").val(); $('#input').html(); $('#input').html(wuliao); $.ajax({ method: "POST", url: "feeding/get_material", data: { bach: $("#c-bach").val(), material:wuliao }, success(data) { if (data.total == 1){ wuliao = data.data.m_name; } $('#input').html(wuliao); for (var i=0;i 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) { var arr = result.data[i].material.split('/'); if (arr.indexOf($("#wuliao").val()) !== -1 && result.data[i].gy_num == result.process) { $(".material")[i].value = wuliao; $(".material")[i].setAttribute('style', 'color:red'); $(".nweight")[i].setAttribute('style', 'color:red'); error++; } else if (arr.indexOf($("#wuliao").val()) !== -1) { Layer.confirm("此物料不在当前工序,请确认!", { area: ['60%', '60%'], }); //语音播报 var msg = new SpeechSynthesisUtterance("此物料不在当前工序,请确认!"); window.speechSynthesis.speak(msg); error++; } } } if(error===0){ layer.confirm("此物料不在配方中,且没有替代料,请确认!", {//物料不存在提示错误信息 title: ['信息'], btn: ['确认'], area: ['60%', '60%'], }); var synth = window.speechSynthesis; var msg = new window.SpeechSynthesisUtterance('此物料不在配方中,且没有替代料,请确认!'); window.speechSynthesis.cancel(); synth.speak(msg); } } }) //清空物料扫描后的值,下次直接重新扫描即可 $("#wuliao").val(''); } }); } }); } } }); num++; }else{ // return false; } } }); $('input').keydown( function (e) { let key = e.which; if (key == 13) { return false; } }); $(document).ready(function($) { 'use strict'; $(".print-link").on('click', function() { var status = 1; var total = 0; var stotal = 0; //开票人 $("#specifications").html($('#c-specifications').val()); //审核 $("#unit").html($('#c-unit').val()); //批次号 var bach = $('#c-bach').val(); //写入到add页面 $("#bach").html(bach); $("#formula").val($("#name").val()); //添加重量,包装规格,机组到表格内 for(var i=0;i<$(".tablestr").length;i++){ var weight = parseFloat($(".tablestr:eq("+i+")").children("tr td:eq(2)").children().val()); if(weight){ $(".print:eq("+i+")").children("tr td:eq(2)").html(weight); total += weight; } var weight2 = parseFloat($(".tablestr:eq("+i+")").children("tr td:eq(1)").children().val()); if(weight2){ $(".print:eq("+i+")").children("tr td:eq(1)").html(weight2); stotal += weight2; } } $("#stotal").html(stotal.toFixed(2)); if(total>0){ $("#total").html(total.toFixed(2)); } if(!$("#c-pickor").val()){ status = 2; } if(!$("#c-warehouseor").val()){ status = 2; } /*if (status == 2){ layer.confirm('领料人或仓管人为空,请检查!');return false; }*/ createQrcode(bach,80,80); var img = document.getElementById("myImage"); /// get image element var canvas = document.getElementsByTagName('canvas')[0]; img.src = canvas.toDataURL(); /// update image $.print('#print_area'); return false; }); function createQrcode(txt,width,height) { $("#qrcode").qrcode({ render: "canvas",//canvas和table两种渲染方式 width: width, height: height, correctLevel:3,//二维码纠错级别 background:"#ffffff",//背景颜色 foreground:"#000000", //二维码颜色 text:txt }); } }); Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });