chunk-2d2167b4.16b3ce5c.js 5.2 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2167b4"],{c33a:function(t,e,n){"use strict";n.r(e);var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-button",{attrs:{loading:t.loading,size:"small"},on:{click:t.handleExport}},[t._v(t._s(t.options.name||"导出"))])},r=[],o=(n("e168"),n("a6a9"),n("7019"),n("5227"),n("90c8"),n("8d8a"),n("e17a"),n("9d08"),n("6e0d"),n("aa56"),function(){var t=window.navigator.userAgent;return t.indexOf("MSIE")>=0?"ie":t.indexOf("Firefox")>=0?"Firefox":t.indexOf("Chrome")>=0?"Chrome":t.indexOf("Opera")>=0?"Opera":t.indexOf("Safari")>=0?"Safari":void 0}),i=function(t,e){"ie"==o()?l(t,e):s(t,e)},l=function(t,e){var n=t,a=new ActiveXObject("Excel.Application"),r=a.Workbooks.Add(),o=r.Worksheets(1),i=document.body.createTextRange();i.moveToElementText(n),i.select,i.execCommand("Copy"),o.Paste(),a.Visible=!0;try{a.Application.GetSaveAsFilename("Excel.xls","Excel Spreadsheets (*.xls), *.xls")}catch(l){print("Nested catch caught "+l)}finally{r.SaveAs(fname),r.Close(savechanges=!1),a.Quit(),a=null,window.setInterval("Cleanup();",1),window.setInterval("Cleanup();",1)}},s=function(){var t="data:application/vnd.ms-excel;base64,",e='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8">\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><style>td,th {padding:10px}</style><body><table><caption>{table}</caption></table></body></html>',n=function(t){return window.btoa(unescape(encodeURIComponent(t)))},a=function(t,e){return t.replace(/{(\w+)}/g,(function(t,n){return e[n]}))};return function(r,o){var i={worksheet:o,table:r},l=document.createElement("a");l.setAttribute("href",t+n(a(e,i))),l.setAttribute("download",o),l.click()}}(),c=function(t){var e=/http/,n=/\.(png|jpe?g|gif|bmp|svg)$/i;return n.test(t)||e.test(t)},d=function(t){var e=t.theadMap,n=t.tableData,a=t.theadProps,r=t.dataName,o=t.tfootData,l=t.baseApi;console.log("🚀 导出表格数据tableData:",n);var s=[];function d(){for(var t=0;t<n.length;t+=15)s.push(n.slice(t,t+15))}d();for(var h=e.length,p=s.length,x=n.length,g=x%15,m="<thead>",v=0;v<h;v++){for(var b in m+="<tr>",e[v])e[v].hasOwnProperty.call(e[v],b)&&(m+='<th style="background-color: #f5f7fa;border: 1px solid #EBEEF5;height: 40px;" colspan='+(e[v][b].c||0)+" rowspan="+(e[v][b].r||0)+">"+b+"</th>");m+="</tr>"}m+="</thead>";for(var w="<tbody>",E=0;E<p;E++)for(var y=15*E;y<(E+1===p?15*(E+1)-(g?15-g:0):15*(E+1));y++){w+="<tr>";var k=n[y];for(var O in a)if(c(k[O])&&a[O].image){var A=f(k[O],l);w+='<td style="text-align:center;vertical-align:middle;" height="100" width="100">';for(var S=0;S<A.length;S++)w+="\n <img src='".concat(A[S],'\'" width="80" height="80"/>\n ');w+="</td>"}else a[O].method?w+='<td height="100" width="100" style="text-align:center;border: 1px solid #EBEEF5;">&nbsp;'+a[O].method(k)+"</td>":w+='<td height="100" width="100" style="text-align:center;border: 1px solid #EBEEF5;">&nbsp;'+u(k,a,O)+"</td>";w+="</tr>"}w+="</tbody>";for(var W="<tfoot>",C=0;C<o.length;C++){W+="<tr>";for(var D=0;D<o[C].length;D++){var F=o[C][D];W+='<th style="background-color: #f5f7fa;border: 1px solid #EBEEF5;height: 40px;" colspan='+(F.c||0)+" rowspan="+(F.r||0)+">"+F.value+"</th>"}W+="</tr>"}W+="</tfoot>";var N=m+w+W;console.log("🚀 导出表格完整结构:",N),i(N,r)},f=function(t,e){var n=/http/;if(Array.isArray(t)){for(var a=0;a<t.length;a++)t[a]=n.test(t[a])?t[a]:e+t[a];return t}if(h(t)){var r=[];try{r=JSON.parse(t)}catch(i){r=[t],console.warn("图片json格式错误,请检查")}return f(r,e)}var o=t.split(",");return f(o,e)},h=function(t){for(var e=[],n=0;n<t.length;n++)if("["===t[n])e.push(n);else if("]"===t[n]){if(0===e.length)return!1;var a=e.pop();if(0===a)return!1;var r=t.indexOf(",",a+1);if(-1===r)return!1;var o=t.indexOf("]",a+1);if(o<=r)return!1}return 0===e.length},u=function(t,e,n){var a=t[n];return void 0===a||null===a?"":e[n]&&e[n].options&&Object.keys(e[n].options).length>0?x(e[n],a):e[n]&&e[n].unit?g(a,e[n].unit):e[n].html?p(a):a},p=function(t){return String(t).replace(/<[^>]+>/g,"")},x=function(t,e){var n=t.options.find((function(n){if(n.value===e)return t.unit?g(n.label):n.label}));return n?n.label:e},g=function(t,e){return String(t).indexOf(e)>-1?t:"".concat(t).concat(e)},m=d,v={name:"Table2Excel",props:{options:{type:Object,default:function(){return{}}},theadMap:{type:Array,default:function(){return[]}},theadProps:{type:Object,default:function(){}},tfootData:{type:Array,default:function(){return[]}},baseApi:{type:String,default:""},dataName:{type:String,default:"excel.xlsx"}},data:function(){return{loading:!1}},methods:{handleExport:function(){this.$emit("click"),this.loading=!0},exportToExcel:function(t){this.loading=!1,t&&m({theadMap:this.theadMap,theadProps:this.theadProps,tableData:t,tfootData:this.tfootData,baseApi:this.baseApi,dataName:this.dataName})}}},b=v,w=n("2410"),E=Object(w["a"])(b,a,r,!1,null,null,null);e["default"]=E.exports}}]);