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({},l,e),this._defaults=l,this._name=r,l=this.settings,this.init()}var r="excelPreview",l={height:500};function s(t,n){var e=t["!merges"];e&&e.forEach(function(t,e){!function(t,e){var n=Math.abs(t.e.r-t.s.r+1),r=Math.abs(t.e.c-t.s.c+1);e.bootstrapTable("mergeCells",{index:t.s.r,field:"column_"+t.s.c,rowspan:n,colspan:r})}(t,n)})}function f(t,e,n){var r=n.find("tbody").find("tr:eq("+t.r+")").find("td:eq("+t.c+")");if(e.font&&(r.css("fontWeight",e.font.bold?"bold":"normal"),e.font.color&&(e.font.color.rgb="FFFFFF"==e.font.color.rgb?"FF000000":e.font.color.rgb,r.css("color",CUSTOM_UTIL.rgbaToRgb(e.font.color.rgb)))),e.fill&&e.fill.fgColor&&r.css("backgroundColor",CUSTOM_UTIL.rgbaToRgb(e.fill.fgColor)),e.alignment&&e.alignment.horizontal){r.css("textAlign",{bottom:"left",center:"center",top:"right"}[e.alignment.horizontal])}}function i(t,e,n){var r=e.Sheets[t],a={height:l.height,showHeader:!1,classes:"table table-bordered"},i=function(t){var e=[];if(0==Object.keys(t).length||!t["!ref"])return{columns:[],data:[]};var n=XLSX.utils.decode_range(t["!ref"]),r=void 0,a=n.s.r;for(r=n.s.c;r<=n.e.c;++r){var i=t[XLSX.utils.encode_cell({c:r,r:a})];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){i=t[XLSX.utils.encode_cell({c:c,r:l})];s["column_"+c]=XLSX.utils.format_cell(i)}o.push(s)}return{columns:e,data:o}}(r);o.extend(a,i),n.bootstrapTable(a),0<Object.keys(r).length&&r["!ref"]&&(function(t,e){var n,r,a=t["!ref"].split(":"),i=a[0],o=a[1];for(var l in t)if(i<=l&&l<=o){var s=(n=l,r=i,r=CUSTOM_UTIL.splitRC(r),{r:(n=CUSTOM_UTIL.splitRC(n)).c-r.c,c:CUSTOM_UTIL.computeR(n.r,r.r)}),c=t[l].s;if(!c)return;f(s,c,e)}}(r,n),s(r,n))}function c(t,e,n){var r=t.html();n.find("li").removeClass("active"),t.parent("li").addClass("active");var a=o('<div class="table-container"><table></table></div>');n.next("div.tab-content").find(".tab-pane").empty().append(a),i(r,e,a.find("table"))}n.prototype={constructor:n,init:function(){var e=this;o(e.element).prev("input[type=file]").fileinput({language:"zh",showUpload:!1,dropZoneEnabled:!1,hideThumbnailContent:!0,showPreview:!1,allowedFileExtensions:["xlsx"],elErrorContainer:"#kartik-file-errors"}).on("change",function(t){e.excelPreview(t)})},excelPreview:function(t){return function(t,a){var e=t.target.files;if(0==e.length)return;var n=new FileReader;n.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=n.SheetNames;!function(r,t,a){o(r).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>'),t.forEach(function(t){var e=o(r).find(".nav-tabs"),n=o('<li role="presentation"><a role="tab" data-toggle="tab">'+t+"</a></li>");n.find("a").on("click",function(t){c(o(t.target),a,e)}),e.append(n),c(e.find(" li:first > a"),a,e),e.find("li:first").addClass("active")})}(a,r,n)},n.readAsBinaryString(e[0])}(t,this.element),o(this.element).prev("input[type=file]").fileinput("refresh"),!0}},o.fn[r]=function(e){return e=o.extend(!0,{},l,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=l,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){if(!t||!/^([0-9a-fA-f]{8})$/.test(t))return"rgba(255, 255, 255, 0)";var e=parseInt(t.substring(0,2),16);return"rgba("+parseInt(t.substring(2,4),16)+","+parseInt(t.substring(4,6),16)+","+parseInt(t.substring(6,8),16)+","+e+")"},splitRC:function(t){var e=[].concat(_toConsumableArray(t)),n=0;for(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)}}}();
|