酷炫&聚星API数据系统

switchType.454ec65f.js 3.8KB

12
  1. import{A as e,E as t}from"../element-plus/element-plus.780230b7.js";import{_ as a}from"../../assets/index.aa597096.js";import{d as s,o,c as n,T as i,W as l,r}from"../@vue/@vue.4762a280.js";const c=(e,t)=>{"ie"==(()=>{let e=window.navigator.userAgent;return e.indexOf("MSIE")>=0?"ie":e.indexOf("Firefox")>=0?"Firefox":e.indexOf("Chrome")>=0?"Chrome":e.indexOf("Opera")>=0?"Opera":e.indexOf("Safari")>=0?"Safari":void 0})()?d(e):x(e,t)},d=(e,t)=>{let a=e,s=new ActiveXObject("Excel.Application"),o=s.Workbooks.Add(),n=o.Worksheets(1),i=document.body.createTextRange();i.moveToElementText(a),i.select,i.execCommand("Copy"),n.Paste(),s.Visible=!0;try{s.Application.GetSaveAsFilename("Excel.xls","Excel Spreadsheets (*.xls), *.xls")}catch(l){print("Nested catch caught "+l)}finally{o.SaveAs(fname),o.Close(savechanges=!1),s.Quit(),s=null,window.setInterval("Cleanup();",1),window.setInterval("Cleanup();",1)}},x=(e,t)=>{const a="data:application/vnd.ms-excel;base64,"+function(e){return window.btoa(unescape(encodeURIComponent(e)))}((s={worksheet:t,table: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><body><table>{table}</table></body></html>'.replace(/{(\w+)}/g,((e,t)=>s[t]))));var s;if(navigator.userAgent.indexOf("Firefox")>-1)window.location.href=a;else{const e=document.createElement("a");let s;e.href=a,e.download=t||"",window.MouseEvent?s=new MouseEvent("click"):(s=document.createEvent("MouseEvents"),s.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null)),e.dispatchEvent(s)}},h=(e,t,a,s,o)=>new Promise(((n,i)=>{const l=[];if(e&&e.length>0){t.forEach((t=>{e.forEach(((e,o)=>{if(0==o){const e={title:t[a],key:t[s],type:"text",hasPercent:t.hasPercent};l.push(e)}}))}));const n=o+(new Date).toLocaleString();((e,t,a)=>{const s={image:function(e,t){return`<td style="width: ${(t=Object.assign({width:40,height:60},t)).width}px; height: ${t.height}px; text-align: center; vertical-align: middle"><img src="${e}" width=${t.width} height=${t.height}></td>`},text:function(e){return`<td style="text-align: center">${e||0==e?e:"-"}</td>`}};let o=e.reduce(((e,t)=>e+`<th>${t.title}</th>`),"");o=`<thead><tr>${o}</tr></thead>`;let n=t.reduce(((t,a)=>t+`<tr>${e.reduce(((e,t)=>{let o="";return o=(t.hasPercent||"对比"==a.time)&&a[t.key]&&"time"!=t.key&&"serName"!=t.key?s[t.type||"text"](a[t.key]+"%",t):s[t.type||"text"](a[t.key],t),e+o}),"")}</tr>`),"");n=`<tbody>${n}</tbody>`,c(o+n,a)})(l,e,n)}n()}));let m,u=0;const p=()=>{0===u&&(m=e.service({lock:!0,text:"加载中……",background:"rgba(0, 0, 0, 0.1)"})),u++},f=()=>{u<=0||(u--,0===u&&m.close())};var w=a(s({__name:"downLoadTable",props:{tableDataList:{default:[]},descolList:{default:[]},title:{default:"name"},listKey:{default:"column"},exportName:{default:"导出"},excleName:{default:"数据报表"},haveUpdateFlag:{type:Boolean,default:!1}},emits:["updateEvent"],setup(e,{emit:a}){const s=e,l=async()=>{if(s.haveUpdateFlag)a("updateEvent");else{await new Promise(((e,a)=>{let{tableDataList:o,descolList:n,title:i,listKey:l}=s;o&&0==o.length?(t.error("暂无数据可导出"),a()):n&&0==n.length?(t.error("表头数据缺失"),a()):e()})),p();let{tableDataList:e,descolList:a,title:o,listKey:n,excleName:i}=s;await h(e,a,o,n,i),setTimeout((()=>{f()}),2e3)}};return(t,a)=>(o(),n("div",{class:"exportBtn",onClick:l},i(e.exportName),1))}}),[["__scopeId","data-v-2b5e1518"]]);function v(e){const t=l({list:e}),a=r(e[0].key);return{typeAc:a,typeList:t,switchTypeItem:e=>{a.value=e}}}export{w as D,h as e,f as h,v as p,p as s};