wmssnstate.js 10.4 KB
let action = null;

layui.config({
    base: "/js/",
    version: 111
}).use(['system'], function () {
    var form = layui.form,
        $ = layui.jquery,
        system = layui.system,
        sysU = new system.u(),
        areaName = 'configure',
        controllerName = "SnProgress";

    action = {
        queryOptions: function () {
            var options = {
                resetFrom: "form[lay-filter=listForm]",
                fromId: "listForm",
                urlExport: `/${areaName}/${controllerName}/Export`,
                urlQuery: `/${areaName}/${controllerName}/Load`,
                mainTable: app.data.tableIns
            }
            return options;
        },
        queryBefore: (sysU, toolbarId, fromValueObj, callBack) => {
            debugger
            if (fromValueObj.start != "" && fromValueObj.end != "") {
                if (new Date(fromValueObj.start) >= new Date(fromValueObj.end)) {
                    layer.alert("开始时间不能大于等于结束时间", { icon: sysU.config.iconoError, shade: 0.4, time: sysU.config.errorTime });
                    return false;
                }
            }
            if (callBack != null) callBack();
        },

        //导出方法
        exportOptions: function () {
            var options = {
                fromId: "listForm",
                url: `/${areaName}/${controllerName}/Export`,
                isDefault: false,//false导出单表,true导出主明细表
                sendDataWhere: {},
                //后台接口返回数据也要保持一致 response.Result=new{ head=x,body=x、footer=x}
                excelCols: {
                    head: app.data.cols
                },
                ExcelExportFn: function (excelParm, result, toolbarId, callBackFn) {
                    debugger
                    if (sysU.successBefore(result)) return false;
                    for (var i = 0; i < result.Result.length; i++) {
                        result.Result[i]["registered"] = `创建人:${result.Result[i].register_by},创建时间:${result.Result[i].register_time}`;
                        result.Result[i]["authorization"] = "未授权";
                        if (result.Result[i]["authorization"] != "未授权") {
                            result.Result[i]["authorization"] = `授权时间:${result.Result[i].authorize_time},到期:${result.Result[i].expiration_time}`;
                        }  
                        
                        result.Result[i]["inbound"] = "未入库";
                        if (result.Result[i]["inbound_operator"] != "未入库") {
                            result.Result[i]["inbound"] = `入库人:${result.Result[i].inbound_operator},入库时间:${result.Result[i].inbound_time}`;
                        }
                        result.Result[i]["outbound"] = "未出库";
                        if (result.Result[i].outbound_operator != "未出库") {
                            result.Result[i]["outbound"] = `出库人:${result.Result[i].outbound_operator},出库时间:${result.Result[i].outbound_time}`;
                        }

                        result.Result[i]["iot"] = "未推送";
                        if (result.Result[i]["last_push_time"] != "未推送") {
                            result.Result[i]["iot"] = `时间:${result.Result[i].last_push_time},申请人:${result.Result[i].last_push_userBy},项目号:${result.Result[i].last_push_ordeCode}`;
                        }

                        result.Result[i]["project"] = "未绑定";
                        if (result.Result[i]["bind_time"] != "未绑定") {
                            result.Result[i]["project"] = `时间:${result.Result[i].bind_time},项目名称:${result.Result[i].bind_project}`;
                        }

                        result.Result[i]["errorInfo"] = "否";
                        if (result.Result[i]["has_alarm"] != "否") {
                            result.Result[i]["errorInfo"] = `是`;
                        }
                    }
                    callBackFn(excelParm, result, toolbarId);
                }
            }
            return options;
        },

        btnExportBefore(sysU, toolbarId, fromValueObj, callBack) {
            debugger
            if (fromValueObj.start == "" || fromValueObj.end=="") {
                layer.alert("导出:开始时间或者等于结束时间不能为空", { icon: sysU.config.iconoError, shade: 0.4, time: sysU.config.errorTime });
                return false;
            }
            if (new Date(fromValueObj.start) >= new Date(fromValueObj.end)) {
                layer.alert("导出:开始时间不能大于等于结束时间", { icon: sysU.config.iconoError, shade: 0.4, time: sysU.config.errorTime });
                return false;
            }

            var dayNumber = "".getDayDifference(fromValueObj.start, fromValueObj.end);
            if (dayNumber>30) {
                layer.alert("导出:数据源跨WMS、IOT、授权服务,数据量大请选择30天范围后再导出excel!", { icon: sysU.config.iconoError, shade: 0.4, time: sysU.config.errorTime });
                return false;
            }
            return true;
        },

        //所有动作成功之后
        actionSuccess: (falg) => {
            sysU.refreshTable(app, sysU, null, falg);
        }
    }

    var app = {
        data: {
            cols: [[
                { type: 'numbers', title: '序号', width: 70, align: 'center', fixed: 'left' },  // 自动生成行号
                { field: 'sn', minWidth: 180, title: 'sn', fixed: 'left' },
                { field: 'registered', minWidth: 270, title: '注册状态信息', templet: function (d) {
                    var info = `<i class="layui-icon layui-timeline-axis layui-icon-ok-circle"></i><br/>
                                <span>创建人:${d.register_by},创建时间:${d.register_time}</span>`;
                    return info;
                    }
                },
                {
                    field: 'authorization', minWidth: 290, title: '授权状态信息', templet: function (d) {
                        if (d.authorization == null) return '<i class="layui-icon layui-timeline-axis layui-icon-close-fill layui-bg-gray"></i><br/>未授权';
                        var info = `<i class="layui-icon layui-timeline-axis layui-icon-ok-circle"></i><br/>
                                    <span>授权时间:${d.authorize_time},到期:${d.expiration_time}</span>`;
                        return info;
                    } },
                {
                    field: 'inbound', minWidth: 260, title: '入库状态信息', templet: function (d) {
                        if (d.inbound_operator == "未入库") return '<i class="layui-icon layui-timeline-axis layui-icon-close-fill layui-bg-gray"></i><br/>未入库';
                        var info = `<i class="layui-icon layui-timeline-axis layui-icon-ok-circle"></i><br/>
                                    <span>入库人:${d.inbound_operator},入库时间:${d.inbound_time}</span>`;
                        return info;
                    }
},
                {
                    field: 'outbound', minWidth: 260, title: '出库状态信息', templet: function (d) {
                        if (d.outbound_operator == "未出库") return '<i class="layui-icon layui-timeline-axis layui-icon-close-fill layui-bg-gray"></i><br/>未绑定';
                        var info = `<i class="layui-icon layui-timeline-axis layui-icon-ok-circle"></i><br/>
                                    <span>出库人:${d.outbound_operator},出库时间:${d.outbound_time}</span>`;
                        return info;
                    }
},
                {
                    field: 'iot', minWidth: 270, title: '推送IOT状态信息', templet: function (d) {
                        if (d.last_push_time =="未推送") return '<i class="layui-icon layui-timeline-axis layui-icon-close-fill layui-bg-gray"></i><br/>未推送IOT';
                        var info = `<i class="layui-icon layui-timeline-axis layui-icon-ok-circle"></i><br/>
                                    <span>时间:${d.last_push_time},申请人:${d.last_push_userBy},项目号:${d.last_push_ordeCode}</span>`;
                        return info;
                    } },
                {
                    field: 'project', minWidth: 350, title: '绑定项目状态信息', templet: function (d) {
                        if (d.bind_time == '未绑定') return '<i class="layui-icon layui-timeline-axis layui-icon-close-fill layui-bg-gray"></i><br/>未绑定项目';
                        var info = `<i class="layui-icon layui-timeline-axis layui-icon-ok-circle"></i><br/>
                                    <span>时间:${d.bind_time},项目名称:${d.bind_project}</span>`;
                        return info;
                    } },
                {
                    field: 'errorInfo', minWidth: 180, title: '报警信息是否上传', templet: function (d) {
                        if (d.has_alarm == "否") return '<i class="layui-icon layui-timeline-axis layui-icon-close-fill layui-bg-gray"></i><br/>否';
                        var info = `<i class="layui-icon layui-timeline-axis layui-icon-ok-circle"></i><br/>
                                    <span></span>`;
                        return info;
                    }},
            ]],
            tableIns: null,
            tableElem: "mainList",
            selectOption: {
               
                //返回的数据 用于后续操作
                selectData: {

                }
            }
        },
        methods: {
            initTable: function (opt) {
                var config = { };
                if (opt != undefined) $.extend(config, opt);
                let options = {
                    elem: "#" + app.data.tableElem,
                    url: `/${areaName}/${controllerName}/Load`,
                    cols: sysU.columnRecord(app.data.tableElem, app.data.cols),
                    where: config, 
                    toolbar: '#toolbarTable',
                }
                app.data.tableIns = sysU.initTable(options);
            },
            initFrom: function () {
               
            }
        },
        registerEvent: function () {

        },
        init: function () {
            var sendData = form.val("listForm")
            app.methods.initTable(sendData);
            app.methods.initFrom();
            app.registerEvent();
        }
    };
    app.init();
});