Machine.js 6.73 KB
layui.config({
    base: "/js/"
}).use(['form', 'element', 'vue', 'layer', 'laydate', 'jquery', 'table', 'hhweb', 'utils', 'Universal'], function () {
    var form = layui.form,
        layer = layui.layer,
        element = layui.element,
        laydate = layui.laydate,
        $ = layui.jquery,
        table = layui.table,
        hhweb = layui.hhweb,
        Universal = layui.Universal;
    
    var AreaName = 'general';
    var TableName = 'Machine';
    
    var vm = new Vue({
        el: '#modifyForm'
    });
    
    var vmq = new Vue({
        el: '#panelSearch',
        data: {
        }
    });
 
    var mainList = {
        NoData: function () {
            return "<div id='background' style='width:100%;height:100%;background-image:url(../../images/NoData.png);background-repeat:no-repeat;background-size:cover;'>.</div>"
        },
        mainList: function () {
            table.reload('mainList', {
                url: "/" + AreaName + "/" + TableName + "/Load"
                , method: "post"
                , text: { none: this.NoData() }
            });
        }
    };

    //编辑
    var EditInfo = function (tabledata) {
        data = tabledata;
        vm.$set('$data', data);
        //表单修改时填充需修改的数据
        var list = {};
        $('.ClearSelector_' + TableName).each(function () {
            var selDom = ($(this));
            if ($(selDom)[0].name.search("q") == -1) {
                list[$(selDom)[0].name] = data[$(selDom)[0].name] + "";
            }
        });
        //表单修改时填充需修改的数据
        form.val('modifyForm', list);
    };
    
    //子表逻辑
    var All = new Array();
    var AreaNameDtlMachineWareCell = 'general';
    var TableNameDtlMachineWareCell = 'MachineWarecell';
    //{子表字段:主表字段}
    var NameDtlMachineWareCell = { MachineCode: 'MachineCode'};
    var vmDtlMachineWareCell = new Vue({
        el: '#modifyFormDtl_' + TableNameDtlMachineWareCell
    });
    var vmqDtlMachineWareCell = new Vue({
        data: { MachineCode: '' }
    });
    //编辑
    var EditInfoDtlMachineWareCell = function (tabledata) {
        data = tabledata;
        vmDtlMachineWareCell.$set('$data', tabledata);
        var list = {};
        $('.ClearSelector_' + TableNameDtlMachineWareCell).each(function () {
            var selDom = $(this);
            if ($(selDom)[0].name.search("q") == -1) {
                list[$(selDom)[0].name] = data[$(selDom)[0].name] + "";
            }
        });
        //表单修改时填充需修改的数据
        form.val('modifyFormDtl_' + TableNameDtlMachineWareCell, list);
    };

    var mainListDtl = {
        mainListDtl: function () {
            table.reload('mainListDtl' + TableNameDtlMachineWareCell, {
                url: "/" + AreaNameDtlMachineWareCell + "/" + TableNameDtlMachineWareCell + "/Load"
                , where: vmqDtlMachineWareCell.$data
                , method: "post"
                , page: { curr: 1 }
            });
        }
    };
    All.push({ AreaNameDtl: AreaNameDtlMachineWareCell, TableNameDtl: TableNameDtlMachineWareCell, vmqDtl: vmqDtlMachineWareCell, vmDtl: vmDtlMachineWareCell, EditInfoDtl: EditInfoDtlMachineWareCell, NameDtl: NameDtlMachineWareCell });

    var selfbtn = {
        //自定义按钮
        'OpenStopMachine': function () {
            var checkStatus = table.checkStatus('mainList');
            var count = checkStatus.data.length;//选中的行数
            if (count < 1) {
                layer.alert("请至少选择一条数据", { icon: 5, shade: 0.4, time: 1000 });
                return;
            }
            var data = checkStatus.data;
            $.ajax({
                url: "/" + AreaName + "/" + TableName + "/" + "OpenStopMachine",
                type: "POST",
                data: { Table_entitys: data },
                dataType: "json",
                success: function (result) {
                    if (result.Status) {
                        layer.msg("更新成功!", { icon: 6, shade: 0.4, time: 1000 });
                        mainList.mainList();
                    } else {
                        layer.alert("更新失败:" + result.Message, { icon: 5, shadeClose: true, title: "错误信息" });
                    }
                },
                error: function () {
                    layer.alert(error.responseText, { icon: 2, title: '提示' });
                }
            });
        },
        'OpenStopWareCell': function (index) {
            var checkStatus = table.checkStatus('mainListDtlMachineWarecell');
            var count = checkStatus.data.length;//选中的行数
            if (count < 1) {
                layer.alert("请至少选择一条数据", { icon: 5, shade: 0.4, time: 1000 });
                return;
            }
            var data = checkStatus.data;
            $.ajax({
                url: "/" + AreaName + "/" + TableName + "/" + "OpenStopWareCell",
                type: "POST",
                data: { Table_entitys: data },
                dataType: "json",
                success: function (result) {
                    if (result.Status) {
                        layer.msg("更新成功!", { icon: 6, shade: 0.4, time: 1000 });
                        mainListDtl.mainListDtl();
                    } else {
                        layer.alert("更新失败:" + result.Message, { icon: 5, shadeClose: true, title: "错误信息" });
                    }
                },
                error: function () {
                    layer.alert(error.responseText, { icon: 2, title: '提示' });
                }
            });
        }
        ,DomConfig: function (AddOrUpdate) {
            if (AddOrUpdate) {
                hhweb.DomEnable($("#modifyForm [name='MachineCode']"));
            }
            else {
                hhweb.DomDisable($("#modifyForm [name='MachineCode']"));
            }
        },
        SaveBefore: function (AddOrEditOrDelete) {
            if (AddOrEditOrDelete in { Add: null, Edit: null }) {
                var rtn = hhweb.CheckRequired("#modifyForm", AddOrEditOrDelete);
                return rtn;
            }
        }
    };

    var selector = {
        'IsStop': {
            SelType: "FromDict",
            SelFrom: "sys_normal_disable",
            SelModel: "IsStop",
            SelLabel: "DictLabel",
            SelValue: "DictValue",
            Dom: [$("[name='qIsStop']"), $("[name='IsStop']")]
        }
    };

    var vml = new Array({
        vm: vm,
        vmq: vmq,
        vmDtlMachineWarecell: vmDtlMachineWareCell
    });

    Universal.BindSelector($, form, vml, selector);
    Universal.mmain(AreaName, TableName, table, layer, element, laydate, $, vm, vmq, EditInfo, selfbtn, mainList, form);
    Universal.mainDtl(table, layer, element, $, selfbtn, All, form);
});