hdw
2018-12-06 a3e0ff8aab80c2a9425d4ccb66c862df957dcf2f
gx_tieta/WebRoot/pages/js/common.js
@@ -546,6 +546,143 @@
   }
})(jQuery, window, document, GLOBAL);
// 导出报表
;(function($, window, document, gl, undefined) {
   // 定义testVal的命名空间
   gl.namespace('expExcel');
   var ExpExcel = function() {
        this.thead = '';        // 表格的头部
        this.tbody = '';        // 表格的内容
        this.normal = 1;        // 是否为通用的导出
        this.dataBreak = '';    // 数据分割符
        this.pageNames = '';    // 工作簿名称
        this.pageBreak = '';    // 工作簿分隔符
        this.form = '';
        this.form = this.initForm();
    };
    var prop = ExpExcel.prototype;
    // 初始化
    prop._init = function(obj) {
        var defaults = {
            thead: [],
            tbody: [],
            normal: 1,
            dataBreak: '&',
            pageNames: ['数据表格'],
            pageBreak: '$'
        };
        // 合并对象
        var opts = $.extend({}, defaults, obj | {});
        this._setThead(obj.thead, opts.pageBreak, opts.dataBreak);
        this._setTbody(obj.tbody, opts.pageBreak, opts.dataBreak);
        this._setPageNames(opts.pageNames, opts.pageBreak);
        this.dataBreak = opts.dataBreak;
        this.pageBreak = opts.pageBreak;
        this.normal = opts.normal;
        this.form = this.initForm();
        this._setForm();
    };
    // 设置页面中的元素
    prop._setForm = function() {
       var ele = $('#exp_container');
       // 创建容器
       if(ele.length == 0) {
          $('body').append($('<div id="exp_container"></div>'));
       }
       ele = $('#exp_container');
       console.log(ele.length);
        // 更新内容
        ele.text('');
        var form = $('<form id="exp_excel" action="ExportTable.servlet" method="post"></form>');
        var thead = $('<input type="hidden" id="exp_thead" name="exp_thead" value=""/>');
        var tbody = $('<input type="hidden" id="exp_tbody" name="exp_tbody" value=""/>');
        var normal = $('<input type="hidden" id="exp_normal" name="exp_normal" value=""/>');
        var dataBreak = $('<input type="hidden" id="exp_data_break" name="exp_data_break" value=""/>');
        var pageNames = $('<input type="hidden" id="exp_page_names" name="exp_page_names" value=""/>');
        var pageBreak = $('<input type="hidden" id="exp_page_break" name="exp_page_break" value=""/>');
        thead.val(this.thead);
        tbody.val(this.tbody);
        normal.val(this.normal);
        dataBreak.val(this.dataBreak);
        pageNames.val(this.pageNames);
        pageBreak.val(this.pageBreak);
      form.append(thead);
      form.append(tbody);
      form.append(normal);
      form.append(dataBreak);
      form.append(pageNames);
      form.append(pageBreak);
        ele.append(form);
        this.form = form;
    };
    // 设置表格头部的值
    prop._setThead = function(thead, pageBreak, dataBreak) {
        var arr = [];
        // 数据分割
        for(var i=0; i<thead.length; i++) {
            var _arr = thead[i].join(dataBreak);
            arr.push(_arr)
        }
        // 工作簿分割
        var str = arr.join(pageBreak);
        this.thead = str;
    };
    // 设置表格内容
    prop._setTbody = function(tbody, pageBreak, dataBreak) {
        var arr = [];
        // 数据分割
        for(var i=0; i<tbody.length; i++) {
            var _arr = tbody[i].join(dataBreak);
            arr.push(_arr)
        }
        // 工作簿分割
        var str = arr.join(pageBreak);
        this.tbody = str;
    };
    // 设置工作簿内容
    prop._setPageNames = function(pageNames, pageBreak) {
        var str = pageNames.join(pageBreak);
        this.pageNames = str;
    };
    // 初始化form
    prop.initForm = function() {
        this.form = '12345';
    };
    // 导出表格
    prop.xls = function(obj) {
        this._init(obj); // 初始化内容
        // 导出内容
        if(this.form == '12345') {
            alert('没有检测到form表单')
        }else {
            this.form.submit();
        }
    };
    var expExcel = new ExpExcel();
    console.log(expExcel);
    // 绑定导出数据对象
    GLOBAL.expExcel = expExcel;
})(jQuery, window, document, GLOBAL);
// 生成阿里图标的元素
function create_ali_font(cla, color, data) {
   var i = $('<i class="icon iconfont"></i>');