Excelreport.js 4.08 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 = 'management';
    var TableName = 'Excelreport';
    
    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 selfbtn = {
        //自定义按钮
    };
    
    var selector = {
    };
    
    var vml = new Array({
        vm: vm,
        vmq: vmq,
    });
    
    Universal.BindSelector($, form, vml, selector);
    Universal.mmain(AreaName, TableName, table, layer, element, laydate, $, vm, vmq, EditInfo, selfbtn, mainList, form);

    $('#Params').on('click', function () {
        var DictKey = vm.$data["Sql"];
        if (DictKey != undefined && DictKey != null && DictKey != "") {
            layer.open({
                title: "参数",
                area: ["500px", "300px"],
                type: 1,
                content: $('#DivConfigParams'),
                btn: ['保存', '关闭'],
                success: function (layero, index) {
                    LoadParams(DictKey);
                },
                yes: function (index) {
                    vm.$data["Params"] = GetParams();
                    layer.close(index);
                },
                btn2: function (index) {
                    layer.close(index);
                }
            });
        }
    });

    function LoadParams(DictKey) {
        var oldobj = {};
        if (vm.$data["Params"] != undefined && vm.$data["Params"] != null && vm.$data["Params"] != "") {
            oldobj = JSON.parse(vm.$data["Params"]);
        }
        
        $("#ConfigParams").html("");
        //var Params = DictKey.match(/\[[^\]]+\]/g);
        var Params = DictKey.match(/\{[^\}]+\}/g);
        if (Params != null) {
            var dom = '';
            for (var i = 0; i < Params.length; i++) {
                var value = Params[i];

                var oldvalue = '';
                if (oldobj[value] !== undefined) {
                    oldvalue = oldobj[value];
                }
                dom += '<div class="layui-col-sm12">';
                dom += '<label class="layui-form-label layui-col-sm3">' + value + '</label>';
                dom += '<div class="layui-input-inline layui-col-sm9">';
                dom += '<input data-model="' + value + '" class="layui-input ParamsKey" type="text" autocomplete="off" lay-verify="" value="' + oldvalue + '">'
                dom += '</div></div>';
            }
            $("#ConfigParams").html(dom);
            form.render();
        }
    }

    function GetParams() {
        var Params = {};
        $.each($(".ParamsKey"), function (key, value) {
            Params[$(this).data("model")] = $(this).val();
        });
        return JSON.stringify(Params);
    }
});