czt
10 天以前 52ea5fd92596267379be7924deb27de6cb10632b
fzzy-igdss-web/src/main/resources/static/inout/inout-check.js
@@ -3,7 +3,6 @@
var laydate;
var form;
var table;
var scanCodeTag = false;
var page = 1;
var limit = 10;
var curCheckData = null;// 当前编辑数据
@@ -28,76 +27,25 @@
            value: endTime
        });
        laydate.render({
            elem: '#foodYear',
            theme: '#7b8e9f',
            value: foodYear,
            type: 'year'
        });
        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();
                //展示数据
                showDetail(obj.data);
            }
        });
        //监听粮食品种,获取化验项
        layui.form.on('select(select_foodVariety)', function (data) {
            updateFoodVariety(data.value);
        });
        //监听粮食等级,获取粮食定价
        layui.form.on('select(select_foodLevel)', function (data) {
            getPriceByFoodLevel(data.value);
        });
        //监听化验结果单填写数据,并给出提示结果
        table.on('edit(tableCheckItem)', function (obj) {
            getResult(obj);
        });
        // 初始化表单数据
        renderTable();
    });
    //显示入库流程
    showProgress();
});
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() {
    if (!inoutProgress) {
        return;
@@ -122,99 +70,13 @@
    }
}
//根据填写化验数据,给出提醒是否合格
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.result = "0";
            } else {
                data.result = "1";
            }
        }
        if ("<=" == symbol) {
            if (newValue > limit) {
                data.result = "0";
            } else {
                data.result = "1";
            }
        }
        if ("==" == symbol) {
            if (newValue != limit) {
                data.result = "0";
            } else {
                data.result = "1";
            }
        }
    }
    obj.update(data);
    //根据化验结果提醒是否合格
    updateCheckResultTip();
}
//动态更换仓库下拉列表
function updateSelect() {
    $('#depotId option').remove();
    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 getPriceByFoodLevel(foodLevel) {
    if (null == foodLevel || "" == foodLevel) return;
    form.val("form-detail", {
        foodLevel: foodLevel
    });
    form.render();
    var data = form.val("form-detail");
    $.ajax({
        type: "POST",
        url: "../../basic/inout/get-price",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(data),
        success: function (result) {
            if (result.code != "0000") {
                layer.msg(result.msg);
            } else {
                $("#check-result-tip2").text("粮食定价:" + result.data.price + "元/公斤");
            }
        },
        error: function () {
            layer.msg("后台异常,请重试或者联系管理员!!");
        }
    });
}
// 查询
function flushData() {
    var index = layer.load();
    var param = form.val("form-param");
    table.reload('tableData', {
        url: "../../basic/inout/page-check-data",
        url: "/basic/inout/page-inout-data",
        where: param,
    });
@@ -223,305 +85,51 @@
        "background": "#eff4f6"
    });
    layer.close(index);
};
// 导出数据-- 跳转新页面处理
function exportData() {
    // var url = "com.ld.igds.inout.ReportInoutCheck.d";
    // window.parent.openTab(url, "化验结果导出", "checkDataExport");
};
// 扦样机解除急停
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 updateCheckResultTip() {
    if (!curCheckItems || curCheckItems.length == 0) {
        return;
    }
    if (curCheckData.checkStatus != "NONE") {
        return;
    }
    var msg;
    $.each(curCheckItems, function (index, data) {
        if (!data.result) {
            return true;
        }
        if (data.result == "0") {
            msg = "不合格";
            return false;
        }
        if (data.result == "1") {
            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: 'operaSymbolValue',
            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%',
            templet: function (item) {
                if (item.result == null) {
                    return "";
                }
                if (item.result == '0') {
                    return "不合格";
                }
                if (item.result == '1') {
                    return "合格";
                }
            }
        }, {
            field: 'remarks',
            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.val("form-detail", data);
    form.render();
    layer.open({
        type: 1,
        title: "化验单明细",
        title: "填写化验信息",
        area: ['1400px', '700px'],
        shade: 0,
        content: $('#checkDetail'),
        btnAlign: 'c',
        btn: ['仅保存', '保存提交', '关闭取消'],
        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 () {
        }, btn2: function () {
            parent.layer.closeAll();
            if (scanCodeTag) {
                showScanCode();
            }
        },
        closeBtn: 0
    });
    //判断是否化验,若已经化验,则不显示提交按钮,不允许修改化验结果
    if (curCheckData.checkStatus != "NONE") {
        $(".layui-layer-btn0").css('display', 'none');
        $(".layui-layer-btn1").css('display', 'none');
    }
    // 获取化验项信息
    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("请确认化验结果!!");
    if (!curCheckData.perWet) {
        layer.alert("请填写质检水分信息!!");
        return;
    }
    if (!curCheckData.foodVariety) {
        layer.alert("请确认粮食品种!!");
    if (!curCheckData.perImpurity) {
        layer.alert("请填写质检杂质信息!!");
        return;
    }
    if (!curCheckData.foodLevel) {
        layer.alert("请确认粮食等级!!");
        return;
    }
    if (!curCheckData.foodType) {
        layer.alert("请确认粮食性质!!");
        return;
    }
    if (!curCheckData.price) {
        layer.alert("请确认粮食定价,如不考虑定价,请填写0.0");
        return;
    }
    curCheckData.checkItems = curCheckItems;
    var index = layer.load();
    $.ajax({
        type: "POST",
        url: "../../basic/inout/submit-check",
        url: "/basic/inout/submit-check",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        async: false,
@@ -544,135 +152,45 @@
    });
}
//扫码弹窗
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() {
    var param = form.val("form-param");
    // 清空数据
    $("#tableData").empty();
    table.render({
        elem: '#tableData',
        url: '../../basic/inout/page-check-data',
        url: '/basic/inout/page-inout-data',
        page: true,
        limit: limit,
        even: true,
        method: 'POST',
        contentType: "application/json;charset=UTF-8",
        cols: [[{
            field: 'checkId',
            title: '质检单号',
            type: 'numbers',
            title: '序号'
        },{
            field: 'id',
            title: '单据号',
            width: '10%',
            style: 'color: #f67d06;font-weight: bold'
        }, {
            field: 'plateNum',
            title: '车牌号',
            width: '9%',
            width: '8%',
            style: 'font-weight: bold'
        }, {
            field: 'registerTime',
            title: '登记时间',
            width: '13%',
            style: 'font-weight: bold'
        }, {
            field: 'sampleStatus',
            title: '是否扦样',
            width: '10%',
            field: 'type',
            title: '类型',
            width: '6%',
            templet: function (item) {
                if (item.sampleStatus == null) {
                    return "未扦样";
                }
                if (item.sampleStatus == 'NONE') {
                    return "未扦样";
                }
                if (item.sampleStatus == 'SAMPLE') {
                    return "已扦样";
                }
                var result = item.type;
                return result == "IN" ? "入库" : "出库";
            }
        }, {
            field: 'sampleUser',
            title: '扦样人',
            width: '10%',
            style: 'font-weight: bold'
        }, {
            field: 'sampleTime',
            title: '扦样时间',
            width: '13%',
            style: 'font-weight: bold'
        }, {
            field: 'foodVariety',
            title: '粮食品种',
            width: '9%',
            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: 'customerName',
            title: '往来单位'
        }, {
            field: 'depotId',
            title: '装卸仓库',
@@ -688,30 +206,44 @@
                return result == null ? "" : result;
            }
        }, {
            field: 'checkStatus',
            title: '检验结果',
            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: 'perWet',
            title: '水分',
            width: '8%'
        }, {
            field: 'perImpurity',
            title: '杂质',
            width: '8%'
        }, {
            field: 'progress',
            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;
                return INOUT_PROGRESS_MSG(item.progress);
            }
        }, {
            field: '',
            title: '操作',
            width: '8%',
            width: '9%',
            toolbar: "#barControl"
        }]],
        where: param,
        parseData: function (res) {
            if ("0000" == res.code) {
            if ("0000" === res.code) {
                return {
                    "code": "0",
                    "msg": res.msg,
@@ -737,99 +269,6 @@
    $("#form-param")[0].reset();
    form.render();
}
// ---------------------------粮食产地 -开始 -------------------//
// 弹出粮食产地下拉框
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);
            }
        }
    });
};
/**
 * 弹出提醒框