//称重-包括空车和满车称重 var layer; var form; var table; var recordData = null;// 业务数据信息 var snapData;//系统抓拍对象信息 var timerWeight; $(function () { layui.use(['layer', 'laydate', 'form', 'table', 'util'], function () { var util = layui.util; layer = layui.layer; form = layui.form; table = layui.table; layui.laydate.render({ elem: '#test1', theme: '#7b8e9f' }); // 右下角添加固定信息 util.fixbar({ bar1: true, css: { right: 10, bottom: 20 }, bgcolor: '#53adce', click: function (type) { if (type === 'bar1') { layer.closeAll(); layer.open({ type: 2, title: false, shadeClose: true, shade: 0.3, closeBtn: 2, offset: ['50px', '120px'], area: ['1000px', '640px'], content: '../../basic/inout/inout-progress?type=' + type + "&t=" + Math.random() }); } } }); //监听选择数据事件 table.on('tool(tableListProgressData)', function (obj) { var data = obj.data; if (obj.event === 'select') { flushData(data.intelCard, null); layer.closeAll(); } }); }); //显示流程环节 showProgress(); // 监听重量变化 $(".weight").blur(function () { // deAutoByWeight(name); deAutoByOut(this.name) }); // 初始化WebSocket initInoutWS(companyId, bizType, progress, userId); }); window.onload = function () { //自动连接地磅信息,2.5秒获取一次地磅重量信息 clearInterval(timerWeight); timerWeight = setInterval(function () { flushWeight(); }, 2500); // 加载视频 initVideo(snapDto1, snapDto2, snapDto3); //设置地磅 $("#scaleName").val(weightDto.sort); //监听地磅选择 $("#scaleName").change(function () { layer.confirm('调整地磅需重新加载页面,确定调整?', { btn: ['确定', '取消'] }, function () { updateWeight(); }); }); }; // socket信息返回處理 function socketOnMessage(packet) { //暂无 } // // 根据当前操作的按钮ID更新其他按钮状态 // function flushBtn(btnId) { // if ("btn-weight" == btnId) {// 称重后可以点击完成称重 // $("#btn-submit").removeClass("layui-btn-disabled"); // $("#btn-submit").attr("disabled", false); // } // // if ("btn-submit" == btnId) { // $("#btn-submit").addClass("layui-btn-disabled"); // $("#btn-submit").attr("disabled", true); // // if (InoutProgress.WEIGHT_EMPTY == recordData.progress) {// 出库,如果是空车称重,完成收直接刷新页面 // resetForm(); // } else { // // 完成称重后控制按钮 // $("#btn-weight").addClass("layui-btn-disabled"); // $("#btn-weight").attr("disabled", true); // // $("#btn-printBill").removeClass("layui-btn-disabled"); // $("#btn-printBill").attr("disabled", false); // addDisabled(); // } // } // if ("btn-printBill" == btnId) {// 打印过磅单,说明业务完成 // $("#btn-weight").removeClass("layui-btn-disabled"); // $("#btn-weight").attr("disabled", false); // // $("#btn-submit").addClass("layui-btn-disabled"); // $("#btn-submit").attr("disabled", true); // // $("#btn-printBill").addClass("layui-btn-disabled"); // $("#btn-printBill").attr("disabled", true); // delDisabled(); // resetForm(); // } // } //控制流程环节显示 function showProgress() { if (!inoutProgress) { return; } if (inoutProgress.indexOf("REGISTER") == -1) { $("#progress-register").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_FULL") == -1) { $("#progress-fullWeight").css("display", "none"); } if (inoutProgress.indexOf("HANDLE") == -1) { $("#progress-hand").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_EMPTY") == -1) { $("#progress-emptyWeight").css("display", "none"); } if (inoutProgress.indexOf("CARD_BACK") == -1) { $("#progress-cardBack").css("display", "none"); } } //更改扣重信息框不可编辑 function addDisabled() { //杂质 $("#impurity").attr("disabled", true); $("#deImpurity").attr("disabled", true); //水分 $("#wet").attr("disabled", true); $("#deWet").attr("disabled", true); //值仓 $("#deHandle").attr("disabled", true); //其他 $("#deOther").attr("disabled", true); } //恢复扣重信息框编辑状态 function delDisabled() { //杂质 $("#impurity").attr("disabled", false); $("#deImpurity").attr("disabled", false); //水分 $("#wet").attr("disabled", false); $("#deWet").attr("disabled", false); //值仓 $("#deHandle").attr("disabled", false); //其他 $("#deOther").attr("disabled", false); } // 点击称重 function weight() { // 没有业务数据不可执行 if (!recordData) { layer.alert("没有查询到业务数据,执行被拒绝!!"); return; } // 如果是空车称重 if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { form.val("form-data", { emptyWeight: weightDto.weight }); } // 满车称重后 if (InoutProgress.WEIGHT_FULL == recordData.progress) { form.val("form-data", { fullWeight: weightDto.weight }); } form.render(); // 点击称重时候自动抓拍数据 // layer.msg("系统自动抓拍保留记录……"); snapData = { companyId: companyId, deptId: deptId, progress: recordData.progress, bizType: bizType, plateNum: recordData.plateNum, id1: snapDto1.id, id2: snapDto2.id, id3: snapDto3.id, // id1: (null != snapDto1) ? snapDto1.id : null, // id2: (null != snapDto2) ? snapDto2.id : null, // id3: (null != snapDto3) ? snapDto3.id : null, sort: $("#scaleName").val(), weight: weightDto.weight }; //当前AJAX服务为同步服务,返回数据包装照片信息 var index = layer.load(); $.ajax({ sync: false, type: "POST", url: "../../inout/api/snap-img", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(snapData), success: function (result) { layer.close(index); if (result.code != "0000") { alertError(result.msg); // layer.alert(result.msg); } else { snapData = result.data; } }, error: function () { layer.close(index); layer.msg("后台调用截图失败,请重新尝试!!"); } }); // 出库第二次称重后,进行计算 if (InoutProgress.WEIGHT_FULL == recordData.progress) { deAutoByOut("fullWeight"); } // 刷新状态 // flushBtn("btn-weight"); } //新的读卡方式 function flushICCard() { if (cardDto && cardDto.protocol != "TCP_DEFAULT") { //协议获取 flushICCard2(); } else { //本地读取 flushICCard1(); } } /** * 协议读取智慧卡 */ function flushICCard2() { var param = JSON.stringify(cardDto); var index = layer.load(); $.ajax({ type: "POST", url: "../../inout/api/get-icCard", dataType: "json", contentType: "application/json;charset=UTF-8", data: param, success: function (result) { if (result.code != "0000") { layer.alert(result.msg, { offset: ['300px', '300px'] }); } else { if (result.data.errorMsg) { layer.alert(result.data.errorMsg, { offset: ['300px', '300px'] }); } else { paramIntelCard = data; $("#text-param").text("识别卡号:" + paramIntelCard); flushData(paramIntelCard, null); } } layer.close(index); }, error: function () { layer.close(index); layer.alert("IC卡读取失败!", { offset: ['300px', '300px'] }); } }); } /** * 本地读取智慧卡 */ function flushICCard1() { $("#text-param").val(null); $("#form-data")[0].reset(); form.render(); recordData = null; $.ajax({ type: "GET", async: true, url: "http://127.0.0.1:9111/ICCARD", data: {}, dataType: "jsonp", jsonp: "callback", jsonpCallback: "jsonpCallback", success: function (json) { //console.log(json); var data = json.no; //console.log(data); if (data === "not found") { layer.alert("请重新读卡!", {offset: ['300px', '300px']}); } else { paramIntelCard = data; $("#text-param").text("识别卡号:" + paramIntelCard); flushData(paramIntelCard, null); } }, error: function () { layer.alert("IC卡读取出错!", {offset: ['300px', '300px']}); } }); } // 使用插件获取身份证号 function flushIdCard() { var index = layer.load(); $.ajax({ type: "GET", async: true, url: "http://127.0.0.1:9111/IDCARD", data: {}, dataType: "jsonp", jsonp: "callback", jsonpCallback: "jsonpCallback", success: function (json) { layer.close(index); var data = json.content; if (data === "not found") { layer.alert("没有读取到身份证信息,请手动录入!", { offset: ['300px', '300px'] }); return; } paramIdCard = data.idNum; // $("#userId").val(data.idNum); $("#text-param").text("识别身份证:" + paramIdCard); flushData(null, paramIdCard); }, error: function () { layer.alert("身份证读取失败,请手动录入!", { offset: ['300px', '300px'] }); layer.close(index); } }); } function flushWeight() { $.ajax({ type: "GET", async: true, timeout: 2000, url: "http://127.0.0.1:9111/WEIGHT", data: {}, dataType: "jsonp", jsonp: "callback", jsonpCallback: "jsonpCallback", success: function (json) { var data = json.content; if (!data) data = 0.0; weightDto.weight = data; $("#weightValue").text(data); $("#img_scale_statule").attr("src", "../../static/images/icon-gree.png"); }, error: function () { weightDto.weight = 0.0; $("#weightValue").text("0.0"); $("#img_scale_statule").attr("src", "../../static/images/icon-red.png"); } }); } // 点击打印,系统判断是否已经执行完成,如果已经完成,直接打印,如果未完成则先执行完成 function printBill() { if (!recordData) { alertError("没有获取到业务数据,打印被拒绝!"); return; } // 从后台获取模版并打印 var data = form.val("form-data"); // 合并更新當前编辑数据 Object.assign(recordData, data); var index = layer.load(); $.ajax({ type: "POST", url: "../../basic/inout/report/bill-weight", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(recordData), success: function (result) { layer.close(index); if (result.code != "0000") { alertError(result.msg); } else { layer.msg("开始渲染打印单……"); printWeight(result.data); } }, error: function () { layer.close(index); alertError("获取打印模版失败,请联系管理员查看原因"); } }); } // 点击打印,先执行系统默认执行完成卡回收 function printBillStep2() { var index = layer.load(); $.ajax({ type: "POST", url: "../../basic/inout-report/bill-weight", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(recordData), success: function (result) { if (result.code != "0000") { layer.msg(result.msg); } else { layer.msg("开始渲染打印单……"); if (companyId && companyId == "5016") { print5016Weight(result.data); console.log("5016"); } else { printWeight(result.data); } // 刷新按钮 // flushBtn("btn-printBill"); } layer.close(index); }, error: function () { layer.close(index); layer.msg("获取打印模版失败,请联系管理员查看原因!!"); } }); } // 表单清空 function resetForm() { $("#form-data")[0].reset(); form.render(); recordData = null; weightDto.weight = 0.0; $("#weightValue").text("0.0"); $("#img_scale_statule").attr("src", "../../static/images/icon-red.png"); //称重可以复用 $("#btn-weight").removeClass("layui-btn-disabled"); $("#btn-weight").attr("disabled", false); $("#text-param").val(''); // //空车和满车被重置 // updateEditAndProgress(); // // //扣重信息框恢复为可编辑 // delDisabled(); } //显示质检信息 function showCheck() { if (!recordData) { alertError("没有业务数据信息,执行被拒绝"); return; } // 获取化验项信息 // flushCheckItem(); layer.open({ type: 1, title: "质检详细", offset: ['120px', '100px'], area: ['1000px', '520px'], shade: 0, content: $('#checkDetail'), btnAlign: 'c', btn: ['取消'], yes: function () { layer.closeAll(); }, closeBtn: 0 }); } function flushPage() { layer.confirm('确定要刷新页面吗?', {icon: 3, title: '提示'}, function (index) { resetForm(); layer.close(index); }); } function flushData(intelCard, userIdCard) { var index = layer.load(); var userId2 = userIdCard; var intelCard = intelCard; var plateNum = $("#plateNum").val(); var param = { type: type, progress: progress, intelCard: intelCard, userId: userId2, plateNum: plateNum }; $.ajax({ type: "POST", url: "../../basic/inout/inout-query", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(param), success: function (result) { if (result.code != "0000") { notifyProgress(result.msg, result.data); } else { recordData = result.data; // 返回的数据进行赋值 form.val("form-data", recordData); form.render(); updateEditAndProgress(); } layer.close(index); }, error: function () { layer.close(index); alertError("查询失败,请重新尝试"); // layer.alert("查询失败,请重新尝试!!"); } }); } /** * 更新页面可编辑字段和流程引导说明 */ function updateEditAndProgress() { if (recordData) { if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { $("#emptyWeight").removeClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", false); $("#progress-hand").removeClass("active"); $("#progress-fullWeight").removeClass("active"); $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); } if (InoutProgress.WEIGHT_FULL == recordData.progress) { $("#fullWeight").removeClass("rkbk-search-input"); $("#fullWeight").attr("disabled", false); $("#progress-hand").addClass("active"); $("#progress-fullWeight").addClass("active"); $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } } else { $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); $("#progress-hand").removeClass("active"); $("#progress-fullWeight").removeClass("active"); } //根据配置信息设置地磅是否可编辑 if (weightEditTag && weightEditTag == 'N') { $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } } // 当前完成 function submit() { if (null == recordData) { notifyProgress("没有数据可以提交", null); return; } var data = form.val("form-data"); // 校验-出库空车 if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { if (data.emptyWeight <= 0.0) { notifyProgress("空车称重信息必填!!", null); return; } if (!data.depotId) { notifyProgress("装卸仓库必须填写!!", null); return; } if (!data.noticeId) { notifyProgress("通知单必须填写!!", null); return; } } else { if (data.fullWeight <= 0.0) { notifyProgress("满车称重信息必填!!", null); return; } if (!data.foodVariety) { notifyProgress("粮食品种必填!!", null); return; } if (!data.settleWeight || data.settleWeight <= 0.0) { notifyProgress("结算重量合规,请核对!!", null); return; } } // 合并更新當前编辑数据 Object.assign(recordData, data); // 获取照片 var files = [{ fileName: snapData.fileName1 }, { fileName: snapData.fileName2 }, { fileName: snapData.fileName3 }]; recordData.files = files; var index = layer.load(); $.ajax({ type: "POST", url: "../../basic/inout/submit-weight", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(recordData), success: function (result) { if (result.code != "0000") { notifyProgress(result.msg, result.data); } else { notifyProgress("数据提交成功", result.data); // 更新按钮显示 // flushBtn("btn-submit"); } layer.close(index); }, error: function () { layer.close(index); notifyProgress("提交失败,请重新尝试", null); } }); //以下逻辑为增加一个语音通知的调用方法,不考虑返回结果 // var curWeight = recordData.fullWeight; // if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { // curWeight = recordData.emptyWeight; // } // var param = { // sort: $("#scaleName").val(), // weight: curWeight, // inoutProgress: recordData.progress, // deptId: recordData.deptId, // companyId: recordData.companyId, // plateNum:recordData.plateNum // }; // $.ajax({ // type: "POST", // url: "../../inout/api/notice-weight-done", // dataType: "json", // contentType: "application/json;charset=UTF-8", // data: JSON.stringify(param) // }); } //-----------------------转移至weight.js中----------------------// // // ---------------------------通知单-开始 -------------------// // // 弹出往来单位下拉框 // function showNotice() { // var index = layer.load(); // var param = { // type: type // }; // // 渲染往来单位列表 // table.render({ // elem: '#tableNotice', // url: '../../basic/inout/list-notice-out', // page: false, // // skin : "nob", // // size : 'sm', // even: true, // method: 'POST', // contentType: "application/json;charset=UTF-8", // cols: [[{ // field: 'name', // title: '通知单名称', // width: '15%' // }, { // field: 'customerName', // title: '收货单位' // }, { // field: 'depotName', // title: '仓库名称', // width: '15%' // }, { // field: 'foodVarietyName', // title: '粮食品种', // width: '10%' // }, { // field: 'year', // title: '年份', // width: '8%' // }, { // field: 'contractName', // title: '所属合同' // }]], // where: param, // parseData: function (res) { // if ("0000" == res.code) { // return { // "code": "0", // "msg": res.msg, // "data": res.data // } // } else { // return { // "code": "1", // "msg": res.msg // } // } // }, // done: function (res) { // layer.close(index); // } // }); // // //双击显示选中数据 // table.on('rowDouble(tableNotice)', function (obj) { // var data = obj.data; // form.val("form-data", { // customerId: data.customerId, // customerName: data.customerName, // noticeId: data.id, // foodType: data.foodType, // foodLevel: data.foodLevel // }); // // 关闭 // layer.closeAll(); // }); // // // 弹出对话框 // layer.open({ // type: 1, // offset: ['100px', '250px'], // title: "出库通知单", // area: ['900px', '600px'], // shade: 0, // content: $('#listNotice'), // btn: 0, // btn: ['取消'], // yes: function () { // layer.closeAll(); // }, // closeBtn: 0 // }); // } // // // ---------------------------通知单 -结束 -------------------// /** * 手动选择,获取待称重的数据,弹出选择 */ function selectByHand() { var param = { deptId: deptId, type: type, timer: Math.random() }; $.ajax({ type: "POST", url: "../../basic/inout/list-only-progress", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(param), success: function (result) { if (result.code != "0000") { layer.msg(result.msg); } else { renderTableProgressData(result.data); } }, error: function () { layer.msg("系统获取数据出现异常,重新尝试"); } }); } function renderTableProgressData(list) { // 清空数据 $("#tableListProgressData").empty(); layer.open({ type: 1, title: "选择流程中车辆", offset: ['120px', '100px'], area: ['1000px', '520px'], shade: 0, content: $('#listProgressData'), closeBtn: 1 }); table.render({ elem: '#tableListProgressData', data: list, page: false, even: true, cols: [[ {type: 'numbers'}, { field: 'id', title: '单据号', align: 'center' }, { field: 'userName', title: '承运人', align: 'center' }, { field: 'plateNum', title: '车牌号', align: 'center' }, {fixed: 'right', title: '选择操作', align: 'center', toolbar: '#barSelectProgress'}]] }); $("thead tr").css({ "border-bottom": "2px solid #53adce", "background": "#eff4f6" }); }