| 1 |
- "use strict";function _toConsumableArray(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(o){function n(t,e){this.element=t,this.settings=o.extend({},i,e),this._defaults=i,this._name=r,i=this.settings,this.init()}var r="excelPreview",i={height:500};function a(t,a){t=t["!merges"];t&&t.forEach(function(t,e){var n,r,i;t=t,n=a,r=Math.abs(t.e.r-t.s.r+1),i=Math.abs(t.e.c-t.s.c+1),n.bootstrapTable("mergeCells",{index:t.s.r,field:"column_"+t.s.c,rowspan:r,colspan:i})})}function l(t,e){var n,r,i=t["!ref"].split(":"),a=i[0],o=i[1];for(n in t)if(a<=n&&n<=o){l=n,s=a,s=CUSTOM_UTIL.splitRC(s);var l={r:(l=CUSTOM_UTIL.splitRC(l)).c-s.c,c:CUSTOM_UTIL.computeR(l.r,s.r)},s=t[n].s;if(!s)return;l=l,s=s,r=(r=e).find("tbody").find("tr:eq("+l.r+")").find("td:eq("+l.c+")"),s.font&&(r.css("fontWeight",s.font.bold?"bold":"normal"),s.font.color)&&(s.font.color.rgb="FFFFFF"==s.font.color.rgb?"FF000000":s.font.color.rgb,r.css("color",CUSTOM_UTIL.rgbaToRgb(s.font.color.rgb))),s.fill&&s.fill.fgColor&&r.css("backgroundColor",CUSTOM_UTIL.rgbaToRgb(s.fill.fgColor)),s.alignment&&s.alignment.horizontal&&r.css("textAlign",{bottom:"left",center:"center",top:"right"}[s.alignment.horizontal])}}function s(t,e,n){var e=e.Sheets[t],t={height:i.height,showHeader:!1,classes:"table table-bordered"},r=function(t){var e=[];if(0==Object.keys(t).length||!t["!ref"])return{columns:[],data:[]};for(var n=XLSX.utils.decode_range(t["!ref"]),r=void 0,i=n.s.r,r=n.s.c;r<=n.e.c;++r){var a=t[XLSX.utils.encode_cell({c:r,r:i})];e.push({field:"column_"+r,title:"column_"+r})}for(var o=[],l=n.s.r;l<=n.e.r;++l){for(var s={},c=n.s.c;c<=n.e.c;++c){a=t[XLSX.utils.encode_cell({c:c,r:l})];s["column_"+c]=XLSX.utils.format_cell(a)}o.push(s)}return{columns:e,data:o}}(e);o.extend(t,r),n.bootstrapTable(t),0<Object.keys(e).length&&e["!ref"]&&(l(e,n),a(e,n))}function c(t,e,n){var r=t.html(),t=(n.find("li").removeClass("active"),t.parent("li").addClass("active"),o('<div class="table-container"><table></table></div>'));n.next("div.tab-content").find(".tab-pane").empty().append(t),s(r,e,t.find("table"))}n.prototype={constructor:n,init:function(){var e=this;o(e.element).prev("input[type=file]");o(e.element).prev("input[type=file]").fileinput(e.settings).on("change",function(t){e.excelPreview(t)})},excelPreview:function(t){var a,e;return t=t,a=this.element,0!=(t=t.target.files).length&&((e=new FileReader).onload=function(t){try{var e=t.target.result,n=XLSX.read(e,{type:"binary",cellStyles:!0})}catch(t){return void console.log("文件类型不正确")}var r,i,t=n.SheetNames;e=t,i=n,o(r=a).empty().append('<div class="box box-default">\n <div class="excel-box">\n <ul class="nav nav-tabs" role="tablist">\n </ul>\n <div class="tab-content" >\n <div role="tabpanel" class="tab-pane active">\n \n </div>\n </div>\n </div>\n </div>'),e.forEach(function(t){var e=o(r).find(".nav-tabs"),t=o('<li role="presentation"><a role="tab" data-toggle="tab">'+t+"</a></li>");t.find("a").on("click",function(t){c(o(t.target),i,e)}),e.append(t),c(e.find(" li:first > a"),i,e),e.find("li:first").addClass("active")})},e.readAsBinaryString(t[0])),o(this.element).prev("input[type=file]").fileinput("refresh"),!0}},o.fn[r]=function(e){return e=o.extend(!0,{},i,e),this.each(function(){var t=o(this);o.data(t,"plugin_"+r)||o.data(t,"plugin_"+r,new n(this,e))})},o.fn[r].defaults=i,o.fn[r].Plugin=n});var CUSTOM_UTIL=function(){function n(t){for(var e=[].concat(_toConsumableArray(t)),n=0,r=0;r<e.length;r++)n+=Math.pow(26,r)*(e[r].charCodeAt()-"A".charCodeAt());return n}return{rgbaToRgb:function(t){var e;return t&&/^([0-9a-fA-f]{8})$/.test(t)?(e=parseInt(t.substring(0,2),16),"rgba("+parseInt(t.substring(2,4),16)+","+parseInt(t.substring(4,6),16)+","+parseInt(t.substring(6,8),16)+","+e+")"):"rgba(255, 255, 255, 0)"},splitRC:function(t){for(var e=[].concat(_toConsumableArray(t)),n=0,n=0;n<e.length&&!/^([1-9]*)$/.test(e[n]);n++);return n<e.length?{c:Number(t.substring(n)),r:t.substring(0,n)}:{r:0,c:t.substring(0,n)}},computeR:function(t,e){return n(t)-n(e)}}}();
|