//称重-包括空车和满车称重 var layer; var form; var table; var recordData = null;// 业务数据信息 var snapData;//系统抓拍对象信息 var timerWeight; var curProgress = null; $(function () { layui.use(['layer', 'laydate', 'form', 'table', 'util'], function () { layer = layui.layer; form = layui.form; table = layui.table; layui.laydate.render({ elem: '#test1', theme: '#7b8e9f' }); //监听选择数据事件 table.on('tool(tableListProgressData)', function (obj) { var data = obj.data; if (obj.event === 'select') { //清空表单 resetForm(); flushData(data.id, null); $("#listProgressData").css("display", "none"); layer.closeAll(); } }); }); //显示流程环节 updateEditAndProgress(); // 监听重量变化 $(".weight").blur(function () { deAuto(this.name); }); }); 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(); }); }); }; /** * 称重及抓拍 */ function weight() { // 如果是空车称重 if (InoutProgress.WEIGHT_EMPTY === curProgress) { form.val("form-data", { emptyWeight: weightDto.weight }); form.render(); } // 如果是满车称重 if (InoutProgress.WEIGHT_FULL === curProgress) { form.val("form-data", { fullWeight: weightDto.weight }); form.render(); } var data = form.val("form-data"); if (!data.plateNum) { alertError("提示:填写登记车牌信息"); return; } // 点击称重自动调用抓拍 snapData = { companyId: companyId, deptId: deptId, progress: curProgress, bizType: type, id1: snapDto1.id, id2: snapDto2.id, id3: snapDto3.id, sort: $("#scaleName").val() }; //当前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); } else { layer.msg("抓拍成功"); snapData = result.data; } }, error: function () { layer.close(index); alertError("后台调用截图失败,请重新尝试"); } }); } /** * 称重提交 */ function submit() { var data = form.val("form-data"); if (!data.depotId) { alertError("提示:装卸仓库必填"); return; } if (!data.customerName) { alertError("提示:通知单信息必填"); return; } if (!data.foodVariety) { alertError("提示:粮食品种必填"); return; } // 校验-入库满车称重 if (InoutProgress.WEIGHT_FULL === curProgress) { if (data.fullWeight <= 0.0) { alertError("提示:满车称重信息必填"); return; } } if (InoutProgress.WEIGHT_EMPTY === curProgress) { if (data.emptyWeight <= 0.0) { alertError("提示:空车称重信息必填"); return; } } if(recordData){ //合并数据 Object.assign(recordData, data); }else { recordData = data; } recordData.progress = curProgress; // 获取照片 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") { alertError(result.msg); } else { notify("数据提交成功", result.data); //第一次称重后,刷新页面 if (recordData.recordWeight <= 0.0) { resetForm(); } } layer.close(index); }, error: function () { layer.close(index); alertError("提交失败,请重新尝试"); } }); } /** * 点击打印,系统判断是否已经执行完成,如果已经完成,直接打印,如果未完成则先执行完成 */ function printBill() { if (!recordData) { alertError("没有获取到业务数据,打印被拒绝!"); return; } var index = layer.load(); $.ajax({ type: "POST", url: "/basic/print/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 flushWeight() { var ip = "127.0.0.1"; if (weightDto.ip) { ip = weightDto.ip; } var port = "9111"; if (weightDto.port) { port = weightDto.port; } var sn = "WEIGHT"; if (weightDto.sn) { sn = weightDto.sn; } var url = "http://" + ip + ":" + port + "/" + sn; $.ajax({ type: "GET", async: true, timeout: 2000, url: url, data: {}, dataType: "json", success: function (json) { var data = json.content; if (!data) data = 0.0; weightDto.weight = data; $("#weightValue").text(data); $("#img_scale_statule").attr("src", "/img/web/inout/icon-gree.png"); }, error: function () { weightDto.weight = 0.0; $("#weightValue").text("0.0"); $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png"); } }); } /** * 读取身份证 */ function flushIdCard() { var index = layer.load(); $.ajax({ type: "GET", async: true, url: "http://127.0.0.1:9111/IDCARD", data: {}, dataType: "json", success: function (json) { layer.close(index); var data = json; if (data.code === "200" || data.code == 200) { // 临时赋值 $("#userName").val(data.cnName); $("#userAddress").val(data.address); $("#userId").val(data.idNum); } else { alertError("没有获取到身份证信息!"); return; } }, error: function () { layer.alert("身份证读取失败!", { offset: ['300px', '300px'] }); layer.close(index); } }); } /** * 读取车牌号 */ function flushPlateNum() { var param = JSON.stringify(snapDto1); var index = layer.load(); $.ajax({ type: "POST", url: "/inout/api/get-plateNum", dataType: "json", contentType: "application/json;charset=UTF-8", data: param, success: function (result) { if (result.code != "0000") { alertError(result.msg); } else { $("#plateNum").val(result.data.plateNum); } layer.close(index); }, error: function () { layer.close(index); alertError("车牌识别失败!"); } }); } /** * 手动选择,获取待称重的数据,弹出选择 */ function selectByHand() { var param = { deptId: deptId, type: type, timer: Math.random() }; $.ajax({ type: "POST", url: "/basic/inout/list-weight-data", 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 resetForm() { $("#form-data")[0].reset(); form.render(); recordData = null; curProgress = null; weightDto.weight = 0.0; $("#weightValue").text("0.0"); $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png"); $("#text-param").val(null); } /** * 页面刷新 */ function flushPage() { layer.confirm('确定要刷新页面吗?', {icon: 3, title: '提示'}, function (index) { resetForm(); layer.close(index); }); } /** * 查询数据 * @param id * @param plateNum */ function flushData(id, plateNum) { var index = layer.load(); var param = { type: type, progress: curProgress, id: id, 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) { layer.close(index); if (result.code != "0000") { notifyProgress(result.msg, result.data); } else { recordData = result.data; curProgress = recordData.progress; // 返回的数据进行赋值 form.val("form-data", recordData); form.render(); updateEditAndProgress(); } }, error: function () { layer.close(index); alertError("查询失败,请重新尝试"); } }); } /** * 根据业务数据更新页面中的状态 */ function updateEditAndProgress() { //当前流程节点 if (curProgress == null) { if (type === "IN") { curProgress = "WEIGHT_FULL"; } if (type === "OUT") { curProgress = "WEIGHT_EMPTY"; } } //显示当前流程 if (type === "IN") { $("#rk-progress-register").addClass("active"); if (curProgress === InoutProgress.WEIGHT_FULL) { $("#rk-progress-fullWeight").addClass("active"); $("#rk-progress-hand").removeClass("active"); $("#rk-progress-emptyWeight").removeClass("active"); //满车重量可编辑 $("#fullWeight").removeClass("rkbk-search-input"); $("#fullWeight").attr("disabled", false); //空车重量不能编辑 $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } if (curProgress === InoutProgress.WEIGHT_EMPTY) { $("#rk-progress-fullWeight").addClass("active"); $("#rk-progress-hand").addClass("active"); $("#rk-progress-emptyWeight").addClass("active"); //满车重量不能编辑 $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); //空车重量可编辑 $("#emptyWeight").removeClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", false); } } if (type === "OUT") { $("#ck-progress-register").addClass("active"); if (curProgress === InoutProgress.WEIGHT_EMPTY) { $("#ck-progress-emptyWeight").addClass("active"); $("#ck-progress-hand").removeClass("active"); $("#ck-progress-fullWeight").removeClass("active"); //满车重量不能编辑 $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); //空车重量可编辑 $("#emptyWeight").removeClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", false); } if (curProgress === InoutProgress.WEIGHT_FULL) { $("#ck-progress-emptyWeight").addClass("active"); $("#ck-progress-hand").addClass("active"); $("#ck-progress-fullWeight").addClass("active"); //满车重量可编辑 $("#fullWeight").removeClass("rkbk-search-input"); $("#fullWeight").attr("disabled", false); //空车重量不能编辑 $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } } //流程显示 if (inoutProgress) { if (inoutProgress.indexOf("REGISTER") === -1) { $("#rk-progress-register").css("display", "none"); $("#ck-progress-register").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_FULL") === -1) { $("#rk-progress-fullWeight").css("display", "none"); $("#ck-progress-fullWeight").css("display", "none"); } if (inoutProgress.indexOf("HANDLE") === -1) { $("#rk-progress-hand").css("display", "none"); $("#ck-progress-hand").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_EMPTY") === -1) { $("#rk-progress-emptyWeight").css("display", "none"); $("#ck-progress-emptyWeight").css("display", "none"); } if (inoutProgress.indexOf("CARD_BACK") === -1) { $("#rk-progress-cardBack").css("display", "none"); $("#ck-progress-cardBack").css("display", "none"); } if (type === "IN") { $("#rk_progress").css("display", "block"); $("#ck_progress").css("display", "none"); } if (type === "OUT") { $("#ck_progress").css("display", "block"); $("#rk_progress").css("display", "none"); } } //根据配置信息设置地磅是否可编辑 if (weightEditTag && weightEditTag == 'N') { $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } } /** * 弹出提醒框 * @param msg 提醒信息 * @param data 数据信息,可能为空 */ function notify(msg, data) { if (data) { //赋值 $("#resultMsg").text(msg); $("#resultUserName").text(data.userName); $("#resultPlateNum").text(data.plateNum); if ("IN" == data.type) { $("#resultType").text("入库-" + INOUT_PROGRESS_MSG(data.progress)); } else { $("#resultType").text("出库-" + INOUT_PROGRESS_MSG(data.progress)); } $("#resultIntelCard").text(data.intelCard); layer.open({ type: 1, offset: ['150px', '200px'], area: '450px;', shade: 0.8, id: 'dialog_notify_info', btn: ['确定'], content: $('#dialog-from-notify'), yes: function (index) { layer.closeAll(); } }); } else { layer.alert(msg, {offset: ['300px', '300px']}); } } /** * 车辆选择弹窗 * @param list */ function renderTableProgressData(list) { // 清空数据 $("#tableListProgressData").empty(); layer.open({ type: 1, title: "选择称重中车辆", offset: ['240px', '100px'], area: ['1000px', '560px'], cancel: function (index, layero) { $("#listProgressData").css("display", "none"); }, shade: 0, scrollbar: 0, content: $('#listProgressData'), closeBtn: 1 }); table.render({ elem: '#tableListProgressData', data: list, page: false, even: true, cols: [[ { type: 'numbers', title: '序号' }, { field: 'id', title: '单据号', align: 'center' }, { field: 'userName', title: '承运人', align: 'center' }, { field: 'plateNum', title: '车牌号', align: 'center' }, { field: 'progress', title: '流程进度', align: 'center', style: 'font-weight: bold', templet: function (item) { return INOUT_PROGRESS_MSG(item.progress); } }, { fixed: 'right', title: '选择操作', align: 'center', toolbar: '#barSelectProgress' } ]] }); $("thead tr").css({ "border-bottom": "2px solid #53adce", "background": "#eff4f6" }); }