Files
zyt/server/public/admin/assets/index-0rZnCDXS.js
T
2026-04-17 13:50:31 +08:00

2 lines
2.7 KiB
JavaScript

import{a2 as P,a3 as V,Z as A}from"./element-plus-DCRlGjqn.js";import{u as N,e as R,q as E,R as k,i as u,_ as j}from"./index-uyUH29BJ.js";import{f as q,A as y,ak as i,I as p,a as b,aN as C,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 $=(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},B=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:B,handleProgress:o,handleSuccess:$,handleError:L,handleExceed:w,handleClose:U}}}),Q={class:"upload"},Z={class:"file-list p-4"},z={class:"flex-1"};function K(e,s,g,h,c,v){const d=P,t=V,a=A;return i(),p("div",Q,[b(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:C(()=>[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:C(()=>[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",z,[b(t,{percentage:parseInt(o.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):G("",!0)])}const x=j(O,[["render",K]]);export{x as U};