//当前节点 入库质检 var layer; var form; var table; var page = 1; var limit = 10; var curCheckData = null;// 当前编辑数据 var curCheckItems = null;// 当前数据的检查项信息 $(function () { layui.use(['layer', 'laydate', 'form', 'table'], function () { layer = layui.layer; form = layui.form; table = layui.table; var laydate = layui.laydate; laydate.render({ elem: '#start', theme: '#7b8e9f', value: startTime }); laydate.render({ elem: '#end', theme: '#7b8e9f', value: endTime }); laydate.render({ elem: '#foodYear', theme: '#7b8e9f', type: 'year', }); // 初始化表单数据 renderTable(); // 监听行工具事件 table.on('tool(tableData)', function (obj) { if (obj.event === 'edit') { //更新仓库下拉列表 updateSelect(obj); //展示数据 showDetail(obj); } }); //监听粮食品种 layui.form.on('select(select_foodVariety)', function (data) { updateFoodVariety(data.value); }); //监听化验结果单填写数据,并给出提示结果 table.on('edit(tableCheckItem)', function (obj) { getResult(obj); }); }); //显示入库流程 showProgress(); // 初始化WebSocket //initInoutWS(deptId, bizType, progress, userId); }); // socket信息返回處理 function socketOnMessage(packet) { layer.alert(packet.data); window.parent.sysNotify(packet.data); }; //控制流程环节显示 function showProgress() { if (!inoutProgress) { return; } if (inoutProgress.indexOf("REGISTER") == -1) { $("#progress-register").css("display", "none"); } if (inoutProgress.indexOf("CHECK") == -1) { $("#progress-check").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 getResult(obj) { var data = obj.data; //填写的数据值 var newValue = data.value; //标准值 var limit = data.upperLimit; //运算符 var symbol = data.operaSymbol; if (symbol && limit) { if (">=" == symbol) { if (newValue < limit) { data.remarks = "不合格"; } else { data.remarks = "合格"; } } if ("<=" == symbol) { if (newValue > limit) { data.remarks = "不合格"; } else { data.remarks = "合格"; } } if ("==" == symbol) { if (newValue != limit) { data.remarks = "不合格"; } else { data.remarks = "合格"; } } } obj.update(data); //根据化验结果提醒是否合格 updateCheckResultTip(); } //动态更换仓库下拉列表 function updateSelect(obj) { $('#depotId option').remove(); var dat = obj.data; for (var i = 0; i < listDepot.length; i++) { $('#depotId').append(''); } //重新渲染 form.render('select'); } //根据选择仓库显示粮食品种 function updateFoodVariety(foodVariety) { if (null == foodVariety || "" == foodVariety) return; form.val("form-detail", { foodVariety: foodVariety }); form.render(); flushCheckItem(foodVariety); } // 查询 function flushData() { var index = layer.load(); var param = form.val("form-param"); table.reload('tableData', { url: "../../basic/inout/page-check-data", where: param, }); $("thead tr").css({ "border-bottom": "2px solid #53adce", "background": "#eff4f6" }); layer.close(index); }; // 导出数据-- 跳转新页面处理 function exportData() { // var url = "com.ld.igds.inout.ReportInoutCheck.d"; // window.parent.openTab(url, "化验结果导出", "checkDataExport"); }; // 根据模式启动开始扦样 function checkExe(type) { checkDto.type = type; var param = JSON.stringify(checkDto); var index = layer.load(); $.ajax({ type: "POST", url: "../../api/check/check-exe", dataType: "json", contentType: "application/json;charset=UTF-8", data: param, success: function (result) { layer.close(index); if (result.code != "0000") { layer.alert(result.msg); } else { layer.msg("操作命令发送成功!"); } }, error: function () { layer.close(index); layer.alert("后台异常,操作命令发送失败!"); } }); }; // 关闭扦样机器 function checkStop() { var param = JSON.stringify(checkDto); var index = layer.load(); $.ajax({ type: "POST", url: "../../api/check/stop", dataType: "json", contentType: "application/json;charset=UTF-8", data: param, success: function (result) { layer.close(index); if (result.code != "0000") { layer.alert(result.msg); } else { layer.msg("操作命令发送成功!"); } }, error: function () { layer.close(index); layer.alert("后台异常,操作命令发送失败!"); } }); }; // 扦样机复位 function checkReset() { var param = JSON.stringify(checkDto); var index = layer.load(); $.ajax({ type: "POST", url: "../../api/check/reset", dataType: "json", contentType: "application/json;charset=UTF-8", data: param, success: function (result) { layer.close(index); if (result.code != "0000") { layer.alert(result.msg); } else { layer.msg("操作命令发送成功!"); } }, error: function () { layer.close(index); layer.alert("后台异常,操作命令发送失败!"); } }); }; // 扦样机解除急停 function checkResetStop() { var param = JSON.stringify(checkDto); var index = layer.load(); $.ajax({ type: "POST", url: "../../api/check/reset-stop", dataType: "json", contentType: "application/json;charset=UTF-8", data: param, success: function (result) { layer.close(index); if (result.code != "0000") { layer.alert(result.msg); } else { layer.msg("操作命令发送成功!"); } }, error: function () { layer.close(index); layer.alert("后台异常,操作命令发送失败!"); } }); }; //隐藏信息--替换为* function replaceStr(str) { if (!str) { return ""; } var split = str.split(""); if (split.length == 1) { return "*"; } if (split.length == 2 || split.length == 3) { return str.slice(0, 1) + "**" } return str.slice(0, 1) + "***" + str.slice(split.length - 1); } function showDetail(obj) { curCheckData = obj.data; // console.log(curCheckData); curCheckData.foodYear = dateFtt("yyyy", new Date()); curCheckData.checkUser = checkUser; if (curCheckData.checkStatus == "NONE") { //隐藏车牌部分信息 curCheckData.plateNum = replaceStr(curCheckData.plateNum); } // 赋值 form.val("form-detail", curCheckData); form.render(); layer.open({ type: 1, title: "化验单明细", area: ['1400px', '650px'], shade: 0, content: $('#checkDetail'), btnAlign: 'c', btn: ['保存提交', '关闭取消'], yes: function () { // 更新到页面 var data = form.val("form-detail"); obj.update(data); // 合并更新當前编辑数据 Object.assign(curCheckData, data); submit(); }, btn2: function () { layer.closeAll(); }, closeBtn: 0 }); // 获取化验项信息 flushCheckItem(null); }; /** * 刷新化验结果项 */ function flushCheckItem(foodVariety) { curCheckItems = null; $("#check-result-tip").text("检验结果:#"); curCheckData.foodVariety = foodVariety; var index = layer.load(); $.ajax({ type: "POST", url: "../../basic/inout/get-check-item", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(curCheckData), success: function (result) { if (result.code != "0000") { layer.msg(result.msg); } else { curCheckItems = result.data; // 根据化验结果提醒是否合格 updateCheckResultTip(); // 页面渲染检测项 renderTableCheckItem(); layer.close(index); } }, error: function () { layer.close(index); layer.msg("后台异常,请重试或者联系管理员!!"); } }); }; // 更新化验结果提醒,只做提醒,不做自动判断 function updateCheckResultTip() { if (!curCheckItems || curCheckItems.length == 0) { return; } if (curCheckData.checkStatus != "NONE") { return; } var msg; $.each(curCheckItems, function (index, data) { if (!data.remarks) { return true; } if (data.remarks == "不合格") { msg = "不合格"; return false; } if (data.remarks == "合格") { msg = "合格"; } }); if (msg) { $("#check-result-tip").text("检验结果:" + msg); } else { $("#check-result-tip").text("检验结果:合格"); } }; /** * 渲染表格 */ function renderTableCheckItem() { // 清空数据 $("#tableCheckItem").empty(); table.render({ elem: '#tableCheckItem', data: curCheckItems, page: false, // skin: 'line', even: true, cols: [[{ field: 'standardName', title: '化验项目', align: 'center', width: '20%' }, { field: 'value', title: '化验结果', align: 'center', width: '20%', edit: 'text' }, { field: 'unit', title: '单位', align: 'center', width: '10%' }, { field: 'standardValue', title: '化验标准', align: 'center', width: '15%' }, { field: 'remarks', title: '说 明', align: 'center', edit: 'text' }]] }); $("thead tr").css({ "border-bottom": "2px solid #53adce", "background": "#eff4f6" }); }; // 当前完成 function submit() { if (curCheckData.checkStatus == "NONE" || curCheckData.checkStatus == "NONE2") { layer.alert("请确认化验结果!!"); return; } if (!curCheckData.depotId) { layer.alert("请选择装卸仓库!!"); return; } if (!curCheckData.foodVariety) { layer.alert("请确认粮食品种!!"); return; } if (!curCheckData.foodYear) { layer.alert("请确认粮食年份!!"); return; } if (!curCheckData.foodLevel) { layer.alert("请确认粮食等级!!"); return; } if (!curCheckData.price) { layer.alert("请确认粮食定价,如不考虑定价,请填写0.0"); return; } curCheckData.checkItems = curCheckItems; var index = layer.load(); $.ajax({ type: "POST", url: "../../basic/inout/update-check", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(curCheckData), success: function (result) { if (result.code != "0000") { layer.close(index); //layer.alert(result.msg); notify(result.msg, result.data); } else { layer.closeAll(); curCheckData = null; //layer.alert("数据提交成功!"); notify("数据提交成功", result.data); flushData(); } }, error: function () { layer.close(index); layer.alert("提交失败,请重新尝试!"); } }); }; // 渲染表单数据 function renderTable() { var param = form.val("form-param"); // 清空数据 $("#tableData").empty(); table.render({ elem: '#tableData', url: '../../basic/inout/page-check-data', page: true, limit: limit, even: true, method: 'POST', contentType: "application/json;charset=UTF-8", cols: [[{ field: 'checkId', title: '检验单号', width: '13%', style: 'color: #f67d06;font-weight: bold' }, { field: 'plateNum', title: '车船号', width: '11%', style: 'font-weight: bold', templet: function (item) { if (item.checkStatus != "NONE") { return item.plateNum; } else { var result = replaceStr(item.plateNum); return result == null ? "" : result; } } }, { field: 'customerName', title: '往来单位', templet: function (item) { if (item.checkStatus != "NONE") { return item.customerName; } else { var result = replaceStr(item.customerName); return result == null ? "" : result; } } }, { field: 'foodVariety', title: '粮食品种', width: '10%', templet: function (item) { var result = item.foodVariety; $.each(listFoodVariety, function (index, data) { if (item.foodVariety == data.code) { result = data.name; return true; } }); return result == null ? "" : result; } }, { field: 'depotId', title: '装卸仓库', width: '10%', templet: function (item) { var result = item.depotId; $.each(listDepot, function (index, data) { if (item.depotId == data.id) { result = data.name; return true; } }); return result == null ? "" : result; } }, { field: 'checkStatus', title: '检验结果', width: '10%', style: 'font-weight: bold', templet: function (item) { if (item.checkStatus == 'NONE') { return "未化验"; } if (item.checkStatus == 'PASS') { return "合格"; } if (item.checkStatus == 'UNPASS') { return "不合格"; } return item.checkStatus == null ? "" : item.checkStatus; } }, { field: 'registerTime', title: '登记时间', width: '14%' }, { field: '', title: '操作', width: '9%', toolbar: "#barControl" }]], where: param, parseData: function (res) { if ("0000" == res.code) { return { "code": "0", "msg": res.msg, "count": res.data.total, "data": res.data.records } } else { return { "code": "1", "msg": res.msg } } } }); $("thead tr").css({ "border-bottom": "2px solid #53adce", "background": "#eff4f6" }); }; // 表单清空 function resetForm() { $("#form-param")[0].reset(); form.render(); }; /** * 弹出提醒框 * @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']}); } }; // ---------------------------粮食产地 -开始 -------------------// // 弹出粮食产地下拉框 function showFoodLocation() { var index = layer.load(); // 渲染往来单位列表 table.render({ elem: '#tableFoodLoaction', url: '../../basic/common/page-food-location', page: false, toolbar: '#toolbarFoodLocaton', even: true, method: 'POST', contentType: "application/json;charset=UTF-8", cols: [[{ field: 'code', title: '编码', }, { field: 'simple', title: '简拼', }, { field: 'name', title: '名称', width: '60%' }]], where: { "page": 1, "limit": 100 }, parseData: function (res) { if ("0000" == res.code) { return { "code": "0", "msg": res.msg, "count": res.data.total, "data": res.data.records } } else { return { "code": "1", "msg": res.msg } } }, done: function (res) { layer.close(index); } }); //双击显示选中数据 table.on('rowDouble(tableFoodLoaction)', function (obj) { var data = obj.data; // 赋值 form.val("form-detail", { foodLocation: data.name, }); // 关闭 layer.close(index2); }); // 弹出对话框 var index2 = layer.open({ type: 1, title: "选择粮产地", area: ['600px', '600px'], shade: 0, content: $('#listFoodLocation'), btn: 0, btn: ['取消'], yes: function () { // 关闭 layer.close(index2); }, closeBtn: 0 }); }; // 刷新 function flushFoodLocation() { var key = $("#key2").val(); table.reload('tableFoodLoaction', { url: "../../basic/common/page-food-location", where: { key: key }, done: function (res) { if (key) { $("#key2").val(key); } } }); }; // ---------------------------粮食产地 -结束 -------------------//