Files
zyt/server/public/admin/assets/index-DPD4uPvn.js
T
2026-04-21 18:02:27 +08:00

2 lines
2.7 KiB
JavaScript

import{$ as B,a0 as P,V as A}from"./element-plus-B0TQYp6r.js";import{u as N,e as R,q as E,R as k,i as u,_ as j}from"./index-FMAV3lC6.js";import{f as q,A as y,ak as i,I as p,a as $,aN as b,aq as F,G as I,J as f,F as _,ap as D,H as G}from"./@vue/runtime-core-C0pg79pw.js";import{o as m,u as H}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as J}from"./@vue/shared-mAAVTE9n.js";const O=q({components:{},props:{type:{type:String,default:"image"},multiple:{type:Boolean,default:!0},limit:{type:Number,default:10},data:{type:Object,default:()=>({})},showProgress:{type:Boolean,default:!1}},emits:["change","error","success","allSuccess"],setup(e,{emit:s}){const g=N(),h=R(),c=H(),v=m(`${E.baseUrl}${E.urlPrefix}/upload/${e.type}`),d=y(()=>({token:g.token,version:h.config.version})),t=m(!1),a=m([]),o=()=>{t.value=!0};let l=0;const C=(r,n)=>{l++,l==a.value.length&&(l=0,a.value=[],s("allSuccess")),s("change",n),r.code==k.SUCCESS&&s("success",r),r.code==k.FAIL&&r.msg&&u.msgError(r.msg)},L=(r,n)=>{var S;l++,l==a.value.length&&(l=0,a.value=[],s("allSuccess")),u.msgError(`${n.name}文件上传失败`),(S=c.value)==null||S.abort(n),t.value=!1,s("change",n),s("error",n)},w=()=>{u.msgError(`超出上传上限${e.limit},请重新上传`)},U=()=>{a.value=[],t.value=!1},V=y(()=>{switch(e.type){case"image":return".jpg,.png,.gif,.jpeg,.ico";case"video":return".wmv,.avi,.mpg,.mpeg,.3gp,.mov,.mp4,.flv,.rmvb,.mkv";default:return"*"}});return{uploadRefs:c,action:v,headers:d,visible:t,fileList:a,getAccept:V,handleProgress:o,handleSuccess:C,handleError:L,handleExceed:w,handleClose:U}}}),Q={class:"upload"},z={class:"file-list p-4"},K={class:"flex-1"};function M(e,s,g,h,c,v){const d=B,t=P,a=A;return i(),p("div",Q,[$(d,{"file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=o=>e.fileList=o),ref:"uploadRefs",action:e.action,multiple:e.multiple,limit:e.limit,"show-file-list":!1,headers:e.headers,data:e.data,"on-progress":e.handleProgress,"on-success":e.handleSuccess,"on-exceed":e.handleExceed,"on-error":e.handleError,accept:e.getAccept},{default:b(()=>[F(e.$slots,"default")]),_:3},8,["file-list","action","multiple","limit","headers","data","on-progress","on-success","on-exceed","on-error","accept"]),e.showProgress&&e.fileList.length?(i(),I(a,{key:0,modelValue:e.visible,"onUpdate:modelValue":s[1]||(s[1]=o=>e.visible=o),title:"上传进度","close-on-click-modal":!1,width:"500px",modal:!1,onClose:e.handleClose},{default:b(()=>[f("div",z,[(i(!0),p(_,null,D(e.fileList,(o,l)=>(i(),p("div",{key:l,class:"mb-5"},[f("div",null,J(o.name),1),f("div",K,[$(t,{percentage:parseInt(o.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):G("",!0)])}const x=j(O,[["render",M]]);export{x as U};