//称重-包括空车和满车称重
|
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()
|
});
|
}
|
}
|
});
|
});
|
|
//显示流程环节
|
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;
|
}
|
// $("#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 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
|
// });
|
// }
|
//
|
// // ---------------------------通知单 -结束 -------------------//
|