You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
8.8 KiB

var te=Object.defineProperty,ae=Object.defineProperties;var oe=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var W=(e,t,l)=>t in e?te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,O=(e,t)=>{for(var l in t||(t={}))ne.call(t,l)&&W(e,l,t[l]);if(j)for(var l of j(t))le.call(t,l)&&W(e,l,t[l]);return e},q=(e,t)=>ae(e,oe(t));var E=(e,t,l)=>new Promise((r,n)=>{var y=p=>{try{g(l.next(p))}catch(i){n(i)}},S=p=>{try{g(l.throw(p))}catch(i){n(i)}},g=p=>p.done?r(p.value):Promise.resolve(p.value).then(y,S);g((l=l.apply(e,t)).next())});import{M as se,dd as re,d as X,da as ie,r as F,di as M,R as ce,T as I,b as d,bC as ue,fa as de,eW as pe,fb as me,s as fe,v as ve,U as G,fc as ge,V as _,eq as he,fd as Ce,fe as be,ff as ye,er as Se,fg as xe,ec as Ue,cs as we,q as Ie,aN as _e,f as H,e as Fe,u as J,z as Te,aj as Be,eV as Re,aT as ke,aU as R,o as Pe,a as Ne,w as k,h as K,t as Q,j as Le,aP as Ae}from"./index-f4658ae7.js";import{U as Oe}from"./index-dc88db7c.js";import"./index-9eb90d49.js";import{BasicModal as Ee}from"./index-5a53dd49.js";import{useUploadType as Me}from"./useUpload-fd76742d.js";import{UploadResultStatus as x}from"./typing-0f0a78e2.js";import{basicProps as ze}from"./props-9f05f6b5.js";import{b as $e,d as De}from"./data-fe2d6249.js";import{checkImgType as He,getBase64WithFile as Ve}from"./helper-3b79b112.js";import{buildUUID as je}from"./uuid-1d456649.js";import{_ as We}from"./FileList.vue_vue_type_style_index_0_lang-f45ceff4.js";import{useModalInner as qe}from"./useModal-fca6ba59.js";import"./_createAggregator-c692fd07.js";import"./_baseEach-1e26df34.js";import"./_baseFor-37716d03.js";import"./DeleteOutlined-872fe62f.js";import"./index-d51f1b4b.js";import"./FormItem-a040ce00.js";import"./Col-dfe054f2.js";import"./index-2c9d82ce.js";import"./useSize-90c5eaba.js";import"./useRefs-2f4603d7.js";import"./BasicModal-649ceacc.js";import"./props-7e339a09.js";import"./useModalDrag-cd2b369a.js";import"./ModalWrapper-3b9dd855.js";import"./useModalContext-bf554b39.js";import"./ModalClose-f74589aa.js";import"./FullscreenOutlined-71d2eabf.js";import"./ModalFooter-308afa08.js";import"./ModalHeader-8905dc99.js";import"./useModalFullScreen-941437b0.js";import"./index-134963ca.js";import"./TableAction-8031dbc2.js";import"./index-0e56c5c3.js";import"./useTableContext-e652508f.js";import"./const-0405ffdf.js";import"./ThumbUrl-5da03225.js";import"./index-a86b513c.js";import"./isNumber-0bc0d001.js";import"./css-06fbc100.js";var Ge={success:he,info:Ce,error:be,warning:ye},Je={success:Se,info:xe,error:Ue,warning:we},Ke=re("success","info","warning","error"),Qe=function(){return{type:_.oneOf(Ke),closable:{type:Boolean,default:void 0},closeText:_.any,message:_.any,description:_.any,afterClose:Function,showIcon:{type:Boolean,default:void 0},prefixCls:String,banner:{type:Boolean,default:void 0},icon:_.any,closeIcon:_.any,onClose:Function}},Xe=X({name:"AAlert",inheritAttrs:!1,props:Qe(),setup:function(t,l){var r=l.slots,n=l.emit,y=l.attrs,S=l.expose,g=ie("alert",t),p=g.prefixCls,i=g.direction,C=F(!1),T=F(!1),P=F(),z=function(f){f.preventDefault();var h=P.value;h.style.height="".concat(h.offsetHeight,"px"),h.style.height="".concat(h.offsetHeight,"px"),C.value=!0,n("close",f)},b=function(){var f;C.value=!1,T.value=!0,(f=t.afterClose)===null||f===void 0||f.call(t)};S({animationEnd:b});var $=F({});return function(){var m,f,h=t.banner,N=t.closeIcon,L=N===void 0?(f=r.closeIcon)===null||f===void 0?void 0:f.call(r):N,B=t.closable,U=t.type,w=t.showIcon,a=M(r,t,"closeText"),s=M(r,t,"description"),c=M(r,t,"message"),u=M(r,t,"icon");w=h&&w===void 0?!0:w,U=h&&U===void 0?"warning":U||"info";var v=(s?Je:Ge)[U]||null;a&&(B=!0);var o=p.value,D=ce(o,(m={},I(m,"".concat(o,"-").concat(U),!0),I(m,"".concat(o,"-closing"),C.value),I(m,"".concat(o,"-with-description"),!!s),I(m,"".concat(o,"-no-icon"),!w),I(m,"".concat(o,"-banner"),!!h),I(m,"".concat(o,"-closable"),B),I(m,"".concat(o,"-rtl"),i.value==="rtl"),m)),Y=B?d("button",{type:"button",onClick:z,class:"".concat(o,"-close-icon"),tabindex:0},[a?d("span",{class:"".concat(o,"-close-text")},[a]):L===void 0?d(ue,null,null):L]):null,Z=u&&(de(u)?pe(u,{class:"".concat(o,"-icon")}):d("span",{class:"".concat(o,"-icon")},[u]))||d(v,{class:"".concat(o,"-icon")},null),ee=me("".concat(o,"-motion"),{appear:!1,css:!0,onAfterLeave:b,onBeforeLeave:function(A){A.style.maxHeight="".concat(A.offsetHeight,"px")},onLeave:function(A){A.style.maxHeight="0px"}});return T.value?null:d(ge,ee,{default:function(){return[fe(d("div",G(G({role:"alert"},y),{},{style:[y.style,$.value],class:[y.class,D],"data-show":!C.value,ref:P}),[w?Z:null,d("div",{class:"".concat(o,"-content")},[c?d("div",{class:"".concat(o,"-message")},[c]):null,s?d("div",{class:"".concat(o,"-description")},[s]):null]),Y]),[[ve,!C.value]])]}})}}});const Ye=se(Xe);const Ze=X({components:{BasicModal:Ee,Upload:Oe,Alert:Ye,FileList:We},props:q(O({},ze),{previewFileList:{type:Array,default:()=>[]}}),emits:["change","register","delete"],setup(e,{emit:t}){const l=Ie({fileList:[]}),r=F(!1),n=F([]),{accept:y,helpText:S,maxNumber:g,maxSize:p}=_e(e),{t:i}=Fe(),[C,{closeModal:T}]=qe(),{getStringAccept:P,getHelpText:z}=Me({acceptRef:y,helpTextRef:S,maxNumberRef:g,maxSizeRef:p}),{createMessage:b}=Te(),$=H(()=>n.value.length>0&&!n.value.every(a=>a.status===x.SUCCESS)),m=H(()=>{const a=n.value.some(s=>s.status===x.SUCCESS);return{disabled:r.value||n.value.length===0||!a}}),f=H(()=>{const a=n.value.some(s=>s.status===x.ERROR);return r.value?i("component.upload.uploading"):i(a?"component.upload.reUploadFailed":"component.upload.startUpload")});function h(a){const{size:s,name:c}=a,{maxSize:u}=e;if(u&&a.size/1024/1024>=u)return b.error(i("component.upload.maxSizeMultiple",[u])),!1;const v={uuid:je(),file:a,size:s,name:c,percent:0,type:c.split(".").pop()};return He(a)?Ve(a).then(({result:o})=>{n.value=[...J(n),O({thumbUrl:o},v)]}):n.value=[...J(n),v],!1}function N(a){const s=n.value.findIndex(c=>c.uuid===a.uuid);s!==-1&&n.value.splice(s,1),t("delete",a)}function L(a){return E(this,null,function*(){var c;const{api:s}=e;if(!s||!Be(s))return Re();try{a.status=x.UPLOADING;const{data:u}=yield(c=e.api)==null?void 0:c.call(e,{data:O({},e.uploadParams||{}),file:a.file,name:e.name,filename:e.filename},function(o){const D=o.loaded/o.total*100|0;a.percent=D});return a.status=x.SUCCESS,a.responseData=u,{success:!0,error:null}}catch(u){return a.status=x.ERROR,{success:!1,error:u}}})}function B(){return E(this,null,function*(){var s;const{maxNumber:a}=e;if(n.value.length+((s=e.previewFileList)==null?void 0:s.length)>a)return b.warning(i("component.upload.maxNumber",[a]));try{r.value=!0;const c=n.value.filter(o=>o.status!==x.SUCCESS)||[],u=yield Promise.all(c.map(o=>L(o)));r.value=!1;const v=u.filter(o=>!o.success);if(v.length>0)throw v}catch(c){throw r.value=!1,c}})}function U(){const{maxNumber:a}=e;if(n.value.length>a)return b.warning(i("component.upload.maxNumber",[a]));if(r.value)return b.warning(i("component.upload.saveWarn"));const s=[];for(const c of n.value){const{status:u,responseData:v}=c;u===x.SUCCESS&&v&&s.push(v.url)}if(s.length<=0)return b.warning(i("component.upload.saveError"));n.value=[],T(),t("change",s)}function w(){return E(this,null,function*(){return r.value?(b.warning(i("component.upload.uploadWait")),!1):(n.value=[],!0)})}return{columns:$e(),actionColumn:De(N),register:C,closeModal:T,getHelpText:z,getStringAccept:P,getOkButtonProps:m,beforeUpload:h,fileListRef:n,state:l,isUploadingRef:r,handleStartUpload:B,handleOk:U,handleCloseFunc:w,getIsSelectFile:$,getUploadBtnText:f,t:i}}});const et={class:"upload-modal-toolbar"};function tt(e,t,l,r,n,y){const S=R("a-button"),g=R("Alert"),p=R("Upload"),i=R("FileList"),C=R("BasicModal");return Pe(),Ne(C,Ae({width:"800px",title:e.t("component.upload.upload"),okText:e.t("component.upload.save")},e.$attrs,{onRegister:e.register,onOk:e.handleOk,closeFunc:e.handleCloseFunc,maskClosable:!1,keyboard:!1,wrapClassName:"upload-modal",okButtonProps:e.getOkButtonProps,cancelButtonProps:{disabled:e.isUploadingRef}}),{centerFooter:k(()=>[d(S,{onClick:e.handleStartUpload,color:"success",disabled:!e.getIsSelectFile,loading:e.isUploadingRef},{default:k(()=>[K(Q(e.getUploadBtnText),1)]),_:1},8,["onClick","disabled","loading"])]),default:k(()=>[Le("div",et,[d(g,{message:e.getHelpText,type:"info",banner:"",class:"upload-modal-toolbar__text"},null,8,["message"]),d(p,{accept:e.getStringAccept,multiple:e.multiple,"before-upload":e.beforeUpload,class:"upload-modal-toolbar__btn"},{default:k(()=>[d(S,{type:"primary"},{default:k(()=>[K(Q(e.t("component.upload.choose")),1)]),_:1})]),_:1},8,["accept","multiple","before-upload"])]),d(i,{dataSource:e.fileListRef,columns:e.columns,actionColumn:e.actionColumn},null,8,["dataSource","columns","actionColumn"])]),_:1},16,["title","okText","onRegister","onOk","closeFunc","okButtonProps","cancelButtonProps"])}const jt=ke(Ze,[["render",tt]]);export{jt as default};