2 lines
7.9 KiB
JavaScript
2 lines
7.9 KiB
JavaScript
|
|
import{d as pe,D as X,r as m,a1 as _e,c as v,e as p,k,i,x as fe,g as u,f as T,F as Y,j as Z,n as ee,t as g,h as s,p as le,y as L,S as ue,l as A,T as te,z as ve,E as C,q as Fe,s as he,_ as me}from"./index-ccab2584.js";import{u as ge}from"./upload-a8c669b8.js";function Ce(l,_){let t=l.length;const B=["type","name","size"];for(;t--;){const w=l[t];let y=0;const D=(F,E)=>y<B.length?F[B[y]]===E[B[y]]&&!!++y&&D(F,E):!0;if(D(w,_))return w}return null}function I(l){switch(!0){case l<1024:return l+" b";case l/1024<1024:return parseInt(l/1024+"")+" kb";default:return(l/1024/1024).toFixed(1)+" mb"}}function Ee(l){if(l.response&&l.response.contentType.includes("image"))return l.response.url;if(l.type.indexOf("image")===-1)return"https://pic.616pic.com/ys_img/01/01/73/ofxoiudgdb.jpg";const _=window.URL.createObjectURL(l);return l.url=_,_}function ae(l){let _;for(;_=l.shift();)_.url&&window.URL.revokeObjectURL(_.url)}const se=l=>(Fe("data-v-4b25f24d"),l=l(),he(),l),ye={class:"files-uplaod"},ke={class:"upload-side"},we=se(()=>u("h3",{class:"upload-title"},"\u6DFB\u52A0\u6587\u4EF6",-1)),De={class:"options-list"},be=["onClick"],Ae={class:"upload-area"},Be={class:"header"},Ue={key:0},Se=se(()=>u("span",null,"\u6E29\u99A8\u63D0\u793A:\u5C06\u6587\u4EF6\u6DFB\u52A0\u5230\u4E0A\u4F20\u961F\u5217, \u7136\u540E\u70B9\u51FB\u201C\u5F00\u59CB\u4E0A\u4F20\u201D\u6309\u94AE\u3002",-1)),ze={key:1},xe={class:"upload-list"},Te={class:"pictures"},Le=["src","alt"],Ie={class:"image-info"},Ve=["title"],Re={class:"upload-footer"},Oe={class:"file-info"},$e={class:"size"},je={class:"operate"},Ne=["accept"],We="_Upload",qe=pe({__name:"FilesUpload",props:{modelValue:{type:Boolean},maxFileSize:{default:5*1024*1024},maxTotalFileSize:{default:50*1024*1024},types:{},checkDuplicateFile:{type:Boolean,default:!0},timeout:{default:3e4},reset:{type:Boolean},files:{},beforeUpload:{}},emits:["update:modelValue","update:files"],setup(l,{emit:_}){var G;const t=l,B=["\u5217\u8868","\u7F29\u7565\u56FE"],w=e=>{const o="primary",r="default";switch(e){case"add":return f.value?r:o;case"start":return f.value||!a.value.length?r:o;case"stop":return f.value?o:r;default:return r}},y=X(()=>a.value.reduce((e,o)=>e+o.size,0)),D=X(()=>t.maxTotalFileSize&&y.value>t.maxTotalFileSize),F=m(!1),E=m(0),V=m(0),R=m(0),U=m(0),f=m(!1),a=m((G=t.files)!=null&&G.length?t.files:[]),S=m([]),$=m([]),W=m(),q=()=>{var e;(e=W.value)==null||e.click()},oe=e=>{const o=e.target.files;if(!o)return;if(D.value)return C.warning("\u5DF2\u8D85\u51FA\u6700\u5927\u9650\u5236, \u8BF7\u4E0D\u8981\u7EE7\u7EED\u4E0A\u4F20");let r=!0;if(t.beforeUpload&&(r=t.beforeUpload(o)),r!==!0)return;let c=o.length;const d=[];for(;c--;){const h=o[c];if(t.maxFileSize&&h.size>t.maxFileSize){C.warning(`\u5355\u4E2A\u6587\u4EF6\u5927\u5C0F\u9650\u5236 ${I(t.maxFileSize)}`);break}if(t.types&&!t.types.includes(h.type)){C.warning("\u4E0D\u652F\u6301\u7684\u6587\u4EF6\u7C7B\u578B");break}if(t.checkDuplicateFile&&Ce(a.value,h)){C.warning("\u8BF7\u4E0D\u8981\u9009\u62E9\u91CD\u590D\u6587\u4EF6");break}h.id=We+Math.random().toString(16).substring(4),d.push(h)}d.length===o.length&&a.value.push(...d),e.target.value=""},j=e=>{if(f.value)return C.warning("\u4E0A\u4F20\u4E2D, \u8BF7\u4E0D\u8981\u6267\u884C\u4EFB\u4F55\u64CD\u4F5C");const o=a.value.indexOf(e);o>=0&&(a.value.splice(o,1),e.url&&window.URL.revokeObjectURL(e.url))},ne=e=>{V.value+=e.progress||0},M=()=>{if(!a.value.length)return C.warning("\u672A\u9009\u62E9\u4EFB\u4F55\u6587\u4EF6");if(D.value)return C.warning("\u6587\u4EF6\u5927\u5C0F\u8D85\u51FA\u9650\u5236, \u65E0\u6CD5\u4E0A\u4F20");if(R.value=0,U.value=a.value.length-S.value.length,!U.value)return C.warning("\u5F53\u524D\u6CA1\u6709\u53EF\u4EE5\u4E0A\u4F20\u7684\u4EFB\u52A1");const e=window.setTimeout(()=>{C.warning("\u8BF7\u6C42\u8D85\u65F6, \u8BF7\u7A0D\u540E\u518D\u8BD5"),O()},t.timeout);f.value=!0;let o=a.value.length,r=0,c=0;for(;o--;){const d=a.value[o];if(d.response)break;r++,d.uploading=!0,F.value=!F.value;const h=new FormData;h.append("file",d);const b=new AbortController;$.value.push(b),ge(h,{signal:b.signal,onUploadProgre
|