//当前节点 入库质检
|
var layer;
|
var laydate;
|
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;
|
laydate = layui.laydate;
|
|
laydate.render({
|
elem: '#start',
|
theme: '#7b8e9f',
|
value: startTime
|
});
|
|
laydate.render({
|
elem: '#end',
|
theme: '#7b8e9f',
|
value: endTime
|
});
|
|
laydate.render({
|
elem: '#checkTime',
|
theme: '#7b8e9f',
|
format: 'yyyy-MM-dd HH:mm:ss',
|
type: 'datetime'
|
});
|
|
// 初始化表单数据
|
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('<option value="' + listDepot[i].id + '">' + listDepot[i].name + '</option>');
|
}
|
//重新渲染
|
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;
|
|
curSampleData = obj.data;
|
if(!curCheckData.checkTime){
|
curCheckData.checkTime = dateFtt("yyyy-MM-dd HH:mm:ss", 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', '700px'],
|
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("检验结果:#");
|
$("#price-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: '10%'
|
}, {
|
field: 'value',
|
title: '检验值',
|
align: 'center',
|
width: '10%',
|
edit: 'text'
|
}, {
|
field: 'operaSymbol',
|
title: '标准值',
|
align: 'center',
|
width: '10%'
|
}, {
|
field: 'unit',
|
title: '单位',
|
align: 'center',
|
width: '10%'
|
}, {
|
field: 'deNum',
|
title: '扣重',
|
align: 'center',
|
width: '10%',
|
edit: 'text'
|
}, {
|
field: 'addNum',
|
title: '增重',
|
align: 'center',
|
width: '10%',
|
edit: 'text'
|
}, {
|
field: 'dePrice',
|
title: '扣价',
|
align: 'center',
|
width: '10%',
|
edit: 'text'
|
}, {
|
field: 'addPrice',
|
title: '增价',
|
align: 'center',
|
width: '10%',
|
edit: 'text'
|
}, {
|
field: 'result',
|
title: '检验结果',
|
align: 'center',
|
width: '10%',
|
edit: 'text'
|
}, {
|
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-check1",
|
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: '10%',
|
style: 'color: #f67d06;font-weight: bold'
|
}, {
|
field: 'registerTime',
|
title: '登记时间',
|
width: '15%',
|
style: 'font-weight: bold'
|
}, {
|
field: 'sampleStatus',
|
title: '是否扦样',
|
width: '10%',
|
templet: function (item) {
|
if (item.sampleStatus == null) {
|
return "未扦样";
|
}
|
if (item.sampleStatus == 'NONE') {
|
return "未扦样";
|
}
|
if (item.sampleStatus == 'SAMPLE') {
|
return "已扦样";
|
}
|
}
|
}, {
|
field: 'sampleUser',
|
title: '扦样人',
|
width: '10%',
|
style: 'font-weight: bold'
|
}, {
|
field: 'sampleTime',
|
title: '扦样时间',
|
width: '15%',
|
style: 'font-weight: bold'
|
}, {
|
field: 'foodVariety',
|
title: '粮食品种',
|
width: '11%',
|
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: '11%',
|
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: '检验结果',
|
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: '',
|
title: '操作',
|
width: '8%',
|
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);
|
}
|
}
|
});
|
};
|
|
// ---------------------------粮食产地 -结束 -------------------//
|