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.
 
 
 
 
 

1 lines
1.8 KiB

import{_ as B}from"./list.1762932289438.js";import{c as y,b as S,D as x,F as N,z as r}from"./index.1762932289438.js";import"./progress.1762932289438.js";import{E as P}from"./index.176293228943811.js";import{r as k,t as p,l as A,o as D,J as i,H as n,V as z,q as F,L as T,u,e as U}from"./vue.1762932289438.js";const V={class:"el-upload__tip"},J={__name:"upload",props:{files:{type:Array,default:()=>[]},tips:{type:String,default:""},accept:{type:String,default:"*"},uploadDrag:{type:Boolean,default:!1}},emits:["update:files"],setup(s,{emit:d}){const f=s,c=d,t=k(f.files);p(()=>f.files,e=>{e?t.value=e:t.value=[]}),p(t,()=>{c("update:files",t.value)},{immediate:!0});function m(e){if(e.size>=104857600)return r.msgError("文件大小不能超过100MB"),!1;t.value.push({uid:e.uid,percent:0,loading:!0})}function _(e,l){const o=t.value.filter(a=>l.uid===a.uid);o.length&&(o[0].percent=parseInt(e.percent))}function g(e,l){const o=t.value.filter(a=>l.uid===a.uid);if(e.code!==200){r.msgError(e.message),t.value.splice(t.value.indexOf(o[0]),1);return}o.length&&(o[0].fileName=e.data.fileName,o[0].filePath=e.data.filePath,o[0].loading=!1),console.log("file",t.value),c("update:files",t.value)}function v(e,l){console.log(e,l),r.msgError("上传失败!")}return(e,l)=>{const o=S,a=y,h=P,E=B;return D(),A("div",null,[i(h,{action:`${u(N)}/file/upload`,headers:{Authorization:u(x)()},multiple:"",drag:s.uploadDrag,"before-upload":m,onProgress:_,onSuccess:g,onError:v,"show-file-list":!1,accept:s.accept,class:"mb-16"},{tip:n(()=>[F("div",V,T(s.tips),1)]),default:n(()=>[i(a,null,{icon:n(()=>[i(o,{name:"el-icon-upload-filled"})]),default:n(()=>[l[1]||(l[1]=z("上传 ",-1))]),_:1,__:[1]})]),_:1},8,["action","headers","drag","accept"]),i(E,{files:u(t),"onUpdate:files":l[0]||(l[0]=b=>U(t)?t.value=b:null),removeEnable:!0},null,8,["files"])])}}};export{J as _};