YYC
2023-10-29 e4a102acbd91e300497572404866f2a5f16571ab
igds-web/src/main/resources/static/admin/inout/in-check.js
@@ -3,6 +3,7 @@
var laydate;
var form;
var table;
var scanCodeTag = false;
var page = 1;
var limit = 10;
var curCheckData = null;// 当前编辑数据
@@ -28,6 +29,13 @@
        });
        laydate.render({
            elem: '#foodYear',
            theme: '#7b8e9f',
            value: foodYear,
            type: 'year'
        });
        laydate.render({
            elem: '#checkTime',
            theme: '#7b8e9f',
            format: 'yyyy-MM-dd HH:mm:ss',
@@ -41,9 +49,9 @@
        table.on('tool(tableData)', function (obj) {
            if (obj.event === 'edit') {
                //更新仓库下拉列表
                updateSelect(obj);
                updateSelect();
                //展示数据
                showDetail(obj);
                showDetail(obj.data);
            }
        });
@@ -65,17 +73,29 @@
    //显示入库流程
    showProgress();
    // 初始化WebSocket
    //initInoutWS(deptId, bizType, progress, userId);
});
window.onbeforeunload = function () {
}
window.onunload = function () {
}
window.onload = function () {
    //扫描枪自动回车事件
    $('#checkId').bind('keyup', function (event) {
        if (event.keyCode == "13") {
            // //去掉焦点,防止刷新页面
            // $('#checkId').blur();
            getDataByCheckId();
        }
    });
};
// socket信息返回處理
function socketOnMessage(packet) {
    layer.alert(packet.data);
    window.parent.sysNotify(packet.data);
};
}
//控制流程环节显示
function showProgress() {
@@ -111,7 +131,6 @@
    var limit = data.upperLimit;
    //运算符
    var symbol = data.operaSymbol;
    if (symbol && limit) {
        if (">=" == symbol) {
            if (newValue < limit) {
@@ -141,9 +160,8 @@
}
//动态更换仓库下拉列表
function updateSelect(obj) {
function updateSelect() {
    $('#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>');
    }
@@ -213,81 +231,6 @@
    // 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);
@@ -309,96 +252,6 @@
        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;
    // 赋值
    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(curCheckData.foodVariety);
    getPriceByFoodLevel(curCheckData.foodLevel);
}
/**
 * 刷新化验结果项
 */
function flushCheckItem(foodVariety) {
    curCheckItems = null;
    $("#check-result-tip").text("检验结果:#");
    $("#price-result-tip2").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("后台异常,请重试或者联系管理员!!");
        }
    });
};
@@ -509,17 +362,134 @@
            title: '备注说明',
            align: 'center',
            edit: 'text'
        }]]
        }]],
        limit: this.curCheckItems.length //显示的数量
    });
    $("thead tr").css({
        "border-bottom": "2px solid #53adce",
        "background": "#eff4f6"
    });
}
function showDetail(data) {
    curCheckData = data;
    if (!curCheckData.checkTime) {
        curCheckData.checkTime = dateFtt("yyyy-MM-dd hh:mm:ss", new Date());
    }
    curCheckData.checkUser = checkUser;
    // 赋值
    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");
            // 合并更新當前编辑数据
            Object.assign(curCheckData, data);
            saveCheckData();
            if (scanCodeTag) {
                showScanCode();
            }
        }, btn2: function () {
            // 更新到页面
            var data = form.val("form-detail");
            // 合并更新當前编辑数据
            Object.assign(curCheckData, data);
            submit();
            if (scanCodeTag) {
                showScanCode();
            }
        }, btn3: function () {
            parent.layer.closeAll();
            if (scanCodeTag) {
                showScanCode();
            }
        },
        closeBtn: 0
    });
    // 获取化验项信息
    flushCheckItem(curCheckData.foodVariety);
    getPriceByFoodLevel(curCheckData.foodLevel);
}
/**
 * 刷新化验结果项
 */
function flushCheckItem(foodVariety) {
    curCheckItems = null;
    $("#check-result-tip").text("检验结果:#");
    $("#price-result-tip2").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 saveCheckData() {
    if (!curCheckData.foodVariety) {
        layer.alert("请确认粮食品种!!");
        return;
    }
    curCheckData.checkItems = curCheckItems;
    var index1 = layer.load();
    $.ajax({
        type: "POST",
        url: "../../basic/inout/submit-checkItem",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        async: false,
        data: JSON.stringify(curCheckData),
        success: function (result) {
            if (result.code != "0000") {
                layer.close(index1);
                notify(result.msg, result.data);
            } else {
                layer.closeAll();
                curCheckData = null;
                notify("数据保存成功", result.data);
                flushData();
            }
        },
        error: function () {
            layer.close(index1);
            layer.alert("保存失败,请重新尝试!");
        }
    });
}
// 当前完成
//保存提交
function submit() {
    if (curCheckData.checkStatus == "NONE" || curCheckData.checkStatus == "NONE2") {
        layer.alert("请确认化验结果!!");
@@ -542,19 +512,18 @@
    var index = layer.load();
    $.ajax({
        type: "POST",
        url: "../../basic/inout/update-check",
        url: "../../basic/inout/submit-check",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        async: false,
        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();
                parent.layer.closeAll();
                curCheckData = null;
                //layer.alert("数据提交成功!");
                notify("数据提交成功", result.data);
                flushData();
            }
@@ -564,7 +533,69 @@
            layer.alert("提交失败,请重新尝试!");
        }
    });
};
}
//扫码弹窗
function showScanCode() {
    //清空表单
    $("#form-sacnCodeDetail")[0].reset();
    form.render();
    //扫码弹窗-赋值true
    scanCodeTag = true;
    layer.open({
        type: 1,
        title: "扫码信息",
        area: ['700px', '320px'],
        shade: 0,
        content: $('#scanCodeDetail'),
        success: function () {
            document.getElementById('checkId').focus();
        },
        btnAlign: 'c',
        btn: ['查询', '关闭取消'],
        yes: function () {
            getDataByCheckId();
        }, btn2: function () {
            scanCodeTag = false;
            layer.closeAll();
        },
        closeBtn: 0
    });
}
//根据质检单号获取信息
function getDataByCheckId() {
    var param = form.val("form-sacnCodeDetail");
    if (!param.checkId) {
        layer.alert("质检单号为空,请扫码或输入质检单号");
    }
    var index = layer.load();
    $.ajax({
        type: "POST",
        url: "../../basic/inout/inout-check-scan-code",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(param),
        success: function (result) {
            if (result.code != "0000") {
                layer.close(index);
                $("#form-sacnCodeDetail")[0].reset();
                form.render();
                notify(result.msg, result.data);
            } else {
                updateSelect();
                showDetail(result.data);
            }
        },
        error: function () {
            layer.close(index);
            $("#form-sacnCodeDetail")[0].reset();
            form.render();
            alertError("保存失败,请重新尝试!")
        }
    });
}
// 渲染表单数据
function renderTable() {
@@ -693,41 +724,6 @@
    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() {
@@ -821,4 +817,39 @@
    });
};
/**
 * 弹出提醒框
 * @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']});
    }
}
// ---------------------------粮食产地 -结束 -------------------//