ImportModal-0a643374.js 5.3 KB

1
  1. var n=(E,x,c)=>new Promise((y,v)=>{var h=t=>{try{p(c.next(t))}catch(f){v(f)}},i=t=>{try{p(c.throw(t))}catch(f){v(f)}},p=t=>t.done?y(t.value):Promise.resolve(t.value).then(h,i);p((c=c.apply(E,x)).next())});import{a as G,B as L}from"./index-8cbf1e33.js";import{g as Y,e as Z}from"./index-b614de6b.js";import{d as j,b as q}from"./download-c6c2acd3.js";import{ao as H,_ as J}from"./index.js";import{d as K,f as l,r as Q,a5 as W,Y as g,a6 as X,a7 as B,_ as s,ad as S,a0 as M,E as d,$ as _,Z as k,l as D,u as F,a9 as w,aa as ee}from"./vue-8fccce23.js";import{aI as oe,aG as se}from"./antd-ecb53b14.js";import"./ImportModal.vue_vue_type_style_index_0_scoped_a59c69fa_lang-1f52fa9b.js";const ae={class:"cnt-tit"},te={key:0},le={class:"cnt-desc"},re={class:"cnt-detail"},ne={key:0},ce={class:"cnt-desc"},ie={class:"cnt-detail"},ue={key:1},de={key:2},ve={class:"cnt-desc"},pe={class:"mr-3"},fe={style:{color:"#19BE6B"}},me={class:"mr-3"},_e=K({__name:"ImportModal",emits:["register","success"],setup(E,{emit:x}){const{createMessage:c}=H(),y=l(),v=l(),h=l(""),i=l(""),p=l("导入数据"),t=l(0),f=l(""),C=l(null),b=l(!1),O={"0%":"#00A8FF","100%":"#0072FF"},o=l("default"),u={default:{icon:"",title:"选择需要导入的文件",desc:"",borderColor:"#DCDEE2",borderStyle:"dashed",backgroundColor:"#F4F6F9"},progress:{icon:"",title:"数据导入中…",desc:"请稍等, 不要离开此页面",borderColor:"#DCDEE2",borderStyle:"dashed",backgroundColor:"#F4F6F9"},success:{icon:"icon-xt-success",title:"数据导入成功",desc:"",borderColor:"#DCDEE2",borderStyle:"solid",backgroundColor:"#F4F6F9"},fail:{icon:"icon-xt-fail",title:"数据导入失败",desc:"",borderColor:"#FF5D39",borderStyle:"solid",backgroundColor:"#FFF0ED"}},m=Q({success:0,fail:0,total:0}),r=l(30),[P,{setModalProps:T,closeModal:V}]=G(e=>{T({confirmLoading:!1}),p.value=e==null?void 0:e.title,y.value=e.importUrl,v.value=e.exportUrl,h.value=e.exportText||"文件模板",i.value=e.paramId});function U(){return n(this,null,function*(){b.value=!1,clearInterval(C.value),C.value=null,r.value=30,o.value=="success"||o.value=="fail"?(o.value="default",yield V()):o.value="default"})}function A(e){return n(this,null,function*(){e&&(console.log("🚀 ~ file: ImportModal.vue:197 ~ onChange ~ id:",e),C.value=setInterval(function(){return n(this,null,function*(){const a=yield Z(e);if(x("success",{sheetId:e}),console.log("importStats",a),console.log("进度条:",r.value),a.status=="parsing"||a.status=="parsingSuccess"||a.status=="importing"){r.value=90;return}if(a.status=="importFail"){clearInterval(C.value),o.value="fail",c.error("取消导入");return}a.status=="importSuccess"&&(r.value=100,setTimeout(function(){o.value=a.failCount?"fail":"success",b.value=!0,clearInterval(C.value),f.value=a.exportFileId,m.fail=a.failCount,m.success=a.successCount,m.total=a.totalCount,r.value=30},1e3*1))})},1e3*2))})}function $(e){return n(this,null,function*(){console.log("file",e),o.value="progress";const a=yield y.value({data:{},file:e,filename:e.name},function(I){return n(this,null,function*(){t.value=I.loaded/I.total*100|0})},i.value==""?void 0:i.value);return t.value==100&&(a.data.data?e.type=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"?(r.value=50,yield A(a.data.data)):(r.value=100,o.value="success",b.value=!0):(c.error(a.data.errorMsg),o.value="default"),t.value=0),!1})}function z(){return n(this,null,function*(){const e=yield Y(f.value);j({url:e})})}function R(){return n(this,null,function*(){const e=i.value==""?yield v.value([]):yield v.value([],i.value);console.log("🚀 ~ file: ImportModal.vue:248 ~ downloadFile ~ res:",e),q(e.base64,e.fileName)})}return(e,a)=>{const N=W("a-button");return g(),X(F(L),ee(e.$attrs,{destroyOnClose:"",onRegister:F(P),title:p.value,canFullscreen:!1,maskClosable:!1,showOkBtn:b.value,onOk:U,onCancel:U,width:"580px"}),{default:B(()=>[s("div",{class:"wrap",style:S({borderColor:u[o.value].borderColor,borderStyle:u[o.value].borderStyle})},[s("div",{class:"wrap-cnt",style:S({backgroundColor:u[o.value].backgroundColor})},[s("div",null,[s("div",ae,[s("i",{class:M(["iconfont cnt-icon","cnt-icon_"+o.value,u[o.value].icon])},null,2),d(" "+_(u[o.value].title),1)]),o.value=="default"?(g(),k("div",te,[s("div",le,[d(" 若是您第一次上传文件,可先下载 "),s("span",{class:M(["pointer","cnt-desc_link"]),onClick:R},_(h.value),1),d(",文件大小不超过5M ")]),s("div",re,[D(F(oe),{class:"button-style",name:"file","before-upload":$,"show-upload-list":!1},{default:B(()=>[D(N,{type:"primary"},{default:B(()=>[d(" 导入文件 ")]),_:1})]),_:1})])])):w("",!0)]),o.value=="progress"?(g(),k("div",ne,[s("div",ce,_(u[o.value].desc),1),s("div",ie,[D(F(se),{"stroke-color":O,percent:r.value,showInfo:!1,status:"active"},null,8,["percent"])])])):w("",!0),o.value=="success"?(g(),k("div",ue,[s("div",{class:M(["cnt-desc pointer","cnt-desc_link"]),onClick:a[0]||(a[0]=I=>o.value="default")}," 继续导入数据 ")])):w("",!0),o.value=="fail"?(g(),k("div",de,[s("div",ve,[s("span",pe,[d(" 成功: "),s("span",fe,_(m.success),1)]),s("span",me,[d(" 失败: "),s("span",{style:S({color:u[o.value].borderColor})},_(m.fail),5)]),s("span",null," 总数: "+_(m.total),1)]),s("div",{class:"cnt-detail"},[d(" 下载失败结果 "),s("a",{class:"cnt-desc_link pointer",onClick:z}," 失败文件")])])):w("",!0)],4)],4)]),_:1},16,["onRegister","title","showOkBtn"])}}}),xe=J(_e,[["__scopeId","data-v-a59c69fa"]]);export{xe as I};