TBaseChargingPile.js 5.86 KB
layui.config({
    base: "/js/"
}).use(['form', 'I18nPage', '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,
        I18nPage = layui.I18nPage;

    var AreaName = 'acs';
    var TableName = 'TBaseChargingPile';

    var cols_arr = I18nPage.GetI18nTable(
        {
            TableNo: AreaName + "-" + TableName,
            TableName: TableName,
            Qel: "#qFields",
            Eel: "#eFields",
        }
    );

    if (1 == 1) {
        var vm = new Vue({
            el: '#modifyForm'
        });

        var vmq = new Vue({
            el: '#panelSearch',
            data: {
            }
        });

        hhweb.Config = {

        };
        hhweb.InitUIClass();

        var mainList = {
            Render: function () {
                mainList.Table = table.render({
                    elem: '#mainList'
                    , url: "/" + AreaName + "/" + TableName + "/Load"
                    , method: "post"
                    , page: true //开启分页
                    , cols: hhweb.ColumnSetting('mainList', cols_arr)
                    , id: 'mainList'
                    , limit: 20
                    , limits: [20, 50, 100, 200, 500, 1000]
                    , defaultToolbar: ['filter']
                    , toolbar: '#toolbarTable'
                    , height: 'full-1'
                    , cellMinWidth: 80
                    , size: 'sm'
                    , done: function (res) { }
                });

                return mainList.Table;
            },
            Load: function () {
                if (mainList.Table == undefined) {
                    mainList.Table = this.Render();
                    return;
                }
                table.reload('mainList', {});
            }
        };

        //编辑
        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);

            hhweb.RenderSwitch({ vueEdit: { vm: vm, layfilter: 'eform' } });
        };

        //监听switch控件
        form.on('switch(eform)', function (data) {
            vm.$data[this.name] = data.elem.checked;
        });
        form.on('switch(qform)', function (data) {
            vmq.$data[this.name] = data.elem.checked;
        });

        var selfbtn = {
            //自定义按钮
            StartStop: function () {
                var checkStatus = table.checkStatus('mainList');
                var count = checkStatus.data.length;
                if (count !== 0) {
                    $.ajax({
                        url: "/acs/TBaseChargingPile/StartStop",
                        type: "POST",
                        data: { Table_entitys: checkStatus.data },
                        dataType: "json",
                        success: function (result) {
                            if (result.Status) {
                                layer.msg('启停成功', { icon: 6, shade: 0.4, time: 1000 });
                                mainList.Load();//重载TABLE
                            } else {
                                layer.alert("操作失败" + result.Message, { icon: 5, shadeClose: true, title: "错误信息" });
                            }
                        }
                    });
                }
                else
                    layer.alert("请至少选择一条操作数据!", { icon: 5, shadeClose: true, title: "错误信息" });
            },
            ChargeSetting: function () {
                layer.open({
                    title: "充电阈值设置",
                    type: 2,
                    area: ['820px', '480px'],
                    content: "/acs/TConfigKeyValue/index",
                    shadeClose: true,
                    success: function (layero, index) {

                    },
                    end: function () {

                    }
                });
            },
            ChargeAgvGroup: function () {
                layer.open({
                    title: "AGV绑定充电桩",
                    type: 2,
                    area: ['820px', '480px'],
                    content: "/acs/TConfigKeyValue/index",
                    shadeClose: true,
                    success: function (layero, index) {

                    },
                    end: function () {

                    }
                });
            },
        };

        var selector = {
            'IsEnable': {
                SelType: "FromDict",
                SelFrom: "sys_true_false",
                SelModel: "IsEnable",
                SelLabel: "DictLabel",
                SelValue: "DictValue",
                Dom: [$("[name='IsEnable']"), $("[name='qIsEnable']")]
            },
            'IsLocked': {
                SelType: "FromDict",
                SelFrom: "sys_true_false",
                SelModel: "IsLocked",
                SelLabel: "DictLabel",
                SelValue: "DictValue",
                Dom: [$("[name='IsLocked']"), $("[name='qIsLocked']")]
            },
        };

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

        Universal.BindSelector(vml, selector);
        Universal.mmain(AreaName, TableName, vm, vmq, EditInfo, selfbtn, mainList);
    }
});