mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2025-12-29 01:40:16 +00:00
7 lines
17 KiB
JavaScript
7 lines
17 KiB
JavaScript
import{t as x,w as ie,a as q,f as ke,d as $e}from"./event-f85d77b0.js";import{b as z,d as b,aq as we,ar as ue,p as Ee,a5 as de,a0 as ce,E as A,s as pe,u as V,as as Se,ag as Ce,at as _e}from"./index-cf9a2dd7.js";import{d as B,b as M,c as R,Y as Re,m as ee,e as y,f as E,n as v,u as e,g as O,j as I,h as P,B as W,H as k,v as T,x as F,S as Pe,_ as K,l as fe,N as C,r as me,F as Fe,z as Le,y as D,G as Te,I as Ue,s as Y,bc as De,w as te,R as Oe,K as Be,J as Ne,a3 as je,D as se,C as ae}from"./plugin-vue_export-helper-85a4d40b.js";import{m as Q}from"./index-e27c3bb0.js";import{u as Ae}from"./index-1ad115d7.js";import{j as Ie}from"./index-bcd7a424.js";const ve=Symbol("uploadContextKey"),qe=z({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:o=>o>=0&&o<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:{type:Boolean,default:!1},duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:b(String),default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:b([String,Array,Function]),default:""},format:{type:b(Function),default:o=>`${o}%`}}),Me=["aria-valuenow"],ze={viewBox:"0 0 100 100"},He=["d","stroke","stroke-width"],Ke=["d","stroke","opacity","stroke-linecap","stroke-width"],We={key:0},Ve=B({name:"ElProgress"}),Xe=B({...Ve,props:qe,setup(o){const s=o,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},a=M("progress"),f=R(()=>({width:`${s.percentage}%`,animationDuration:`${s.duration}s`,backgroundColor:j(s.percentage)})),p=R(()=>(s.strokeWidth/s.width*100).toFixed(1)),m=R(()=>["circle","dashboard"].includes(s.type)?Number.parseInt(`${50-Number.parseFloat(p.value)/2}`,10):0),S=R(()=>{const l=m.value,L=s.type==="dashboard";return`
|
|
M 50 50
|
|
m 0 ${L?"":"-"}${l}
|
|
a ${l} ${l} 0 1 1 0 ${L?"-":""}${l*2}
|
|
a ${l} ${l} 0 1 1 0 ${L?"":"-"}${l*2}
|
|
`}),$=R(()=>2*Math.PI*m.value),d=R(()=>s.type==="dashboard"?.75:1),w=R(()=>`${-1*$.value*(1-d.value)/2}px`),g=R(()=>({strokeDasharray:`${$.value*d.value}px, ${$.value}px`,strokeDashoffset:w.value})),r=R(()=>({strokeDasharray:`${$.value*d.value*(s.percentage/100)}px, ${$.value}px`,strokeDashoffset:w.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),u=R(()=>{let l;return s.color?l=j(s.percentage):l=n[s.status]||n.default,l}),t=R(()=>s.status==="warning"?we:s.type==="line"?s.status==="success"?ue:Ee:s.status==="success"?de:ce),c=R(()=>s.type==="line"?12+s.strokeWidth*.4:s.width*.111111+2),h=R(()=>s.format(s.percentage));function i(l){const L=100/l.length;return l.map((_,N)=>ee(_)?{color:_,percentage:(N+1)*L}:_).sort((_,N)=>_.percentage-N.percentage)}const j=l=>{var L;const{color:U}=s;if(Re(U))return U(l);if(ee(U))return U;{const _=i(U);for(const N of _)if(N.percentage>l)return N.color;return(L=_[_.length-1])==null?void 0:L.color}};return(l,L)=>(y(),E("div",{class:v([e(a).b(),e(a).m(l.type),e(a).is(l.status),{[e(a).m("without-text")]:!l.showText,[e(a).m("text-inside")]:l.textInside}]),role:"progressbar","aria-valuenow":l.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[l.type==="line"?(y(),E("div",{key:0,class:v(e(a).b("bar"))},[O("div",{class:v(e(a).be("bar","outer")),style:I({height:`${l.strokeWidth}px`})},[O("div",{class:v([e(a).be("bar","inner"),{[e(a).bem("bar","inner","indeterminate")]:l.indeterminate}]),style:I(e(f))},[(l.showText||l.$slots.default)&&l.textInside?(y(),E("div",{key:0,class:v(e(a).be("bar","innerText"))},[P(l.$slots,"default",{percentage:l.percentage},()=>[O("span",null,W(e(h)),1)])],2)):k("v-if",!0)],6)],6)],2)):(y(),E("div",{key:1,class:v(e(a).b("circle")),style:I({height:`${l.width}px`,width:`${l.width}px`})},[(y(),E("svg",ze,[O("path",{class:v(e(a).be("circle","track")),d:e(S),stroke:`var(${e(a).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-width":e(p),fill:"none",style:I(e(g))},null,14,He),O("path",{class:v(e(a).be("circle","path")),d:e(S),stroke:e(u),fill:"none",opacity:l.percentage?1:0,"stroke-linecap":l.strokeLinecap,"stroke-width":e(p),style:I(e(r))},null,14,Ke)]))],6)),(l.showText||l.$slots.default)&&!l.textInside?(y(),E("div",{key:2,class:v(e(a).e("text")),style:I({fontSize:`${e(c)}px`})},[P(l.$slots,"default",{percentage:l.percentage},()=>[l.status?(y(),T(e(A),{key:1},{default:F(()=>[(y(),T(Pe(e(t))))]),_:1})):(y(),E("span",We,W(e(h)),1))])],6)):k("v-if",!0)],10,Me))}});var Ge=K(Xe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/progress/src/progress.vue"]]);const Je=fe(Ge),Ye="ElUpload";class Qe extends Error{constructor(s,n,a,f){super(s),this.name="UploadAjaxError",this.status=n,this.method=a,this.url=f}}function oe(o,s,n){let a;return n.response?a=`${n.response.error||n.response}`:n.responseText?a=`${n.responseText}`:a=`fail to ${s.method} ${o} ${n.status}`,new Qe(a,n.status,s.method,o)}function Ze(o){const s=o.responseText||o.response;if(!s)return s;try{return JSON.parse(s)}catch{return s}}const xe=o=>{typeof XMLHttpRequest>"u"&&x(Ye,"XMLHttpRequest is undefined");const s=new XMLHttpRequest,n=o.action;s.upload&&s.upload.addEventListener("progress",p=>{const m=p;m.percent=p.total>0?p.loaded/p.total*100:0,o.onProgress(m)});const a=new FormData;if(o.data)for(const[p,m]of Object.entries(o.data))Array.isArray(m)?a.append(p,...m):a.append(p,m);a.append(o.filename,o.file,o.file.name),s.addEventListener("error",()=>{o.onError(oe(n,o,s))}),s.addEventListener("load",()=>{if(s.status<200||s.status>=300)return o.onError(oe(n,o,s));o.onSuccess(Ze(s))}),s.open(o.method,n,!0),o.withCredentials&&"withCredentials"in s&&(s.withCredentials=!0);const f=o.headers||{};if(f instanceof Headers)f.forEach((p,m)=>s.setRequestHeader(m,p));else for(const[p,m]of Object.entries(f))pe(m)||s.setRequestHeader(p,String(m));return s.send(a),s},ye=["text","picture","picture-card"];let et=1;const Z=()=>Date.now()+et++,ge=z({action:{type:String,default:"#"},headers:{type:b(Object)},method:{type:String,default:"post"},data:{type:Object,default:()=>Q({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},type:{type:String,default:"select"},fileList:{type:b(Array),default:()=>Q([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:ye,default:"text"},httpRequest:{type:b(Function),default:xe},disabled:Boolean,limit:Number}),tt=z({...ge,beforeUpload:{type:b(Function),default:C},beforeRemove:{type:b(Function)},onRemove:{type:b(Function),default:C},onChange:{type:b(Function),default:C},onPreview:{type:b(Function),default:C},onSuccess:{type:b(Function),default:C},onProgress:{type:b(Function),default:C},onError:{type:b(Function),default:C},onExceed:{type:b(Function),default:C}}),st=z({files:{type:b(Array),default:()=>Q([])},disabled:{type:Boolean,default:!1},handlePreview:{type:b(Function),default:C},listType:{type:String,values:ye,default:"text"}}),at={remove:o=>!!o},ot=["onKeydown"],nt=["src"],rt=["onClick"],lt=["onClick"],it=["onClick"],ut=B({name:"ElUploadList"}),dt=B({...ut,props:st,emits:at,setup(o,{emit:s}){const{t:n}=Ae(),a=M("upload"),f=M("icon"),p=M("list"),m=V(),S=me(!1),$=d=>{s("remove",d)};return(d,w)=>(y(),T(ke,{tag:"ul",class:v([e(a).b("list"),e(a).bm("list",d.listType),e(a).is("disabled",e(m))]),name:e(p).b()},{default:F(()=>[(y(!0),E(Fe,null,Le(d.files,g=>(y(),E("li",{key:g.uid||g.name,class:v([e(a).be("list","item"),e(a).is(g.status),{focusing:S.value}]),tabindex:"0",onKeydown:ie(r=>!e(m)&&$(g),["delete"]),onFocus:w[0]||(w[0]=r=>S.value=!0),onBlur:w[1]||(w[1]=r=>S.value=!1),onClick:w[2]||(w[2]=r=>S.value=!1)},[P(d.$slots,"default",{file:g},()=>[d.listType==="picture"||g.status!=="uploading"&&d.listType==="picture-card"?(y(),E("img",{key:0,class:v(e(a).be("list","item-thumbnail")),src:g.url,alt:""},null,10,nt)):k("v-if",!0),g.status==="uploading"||d.listType!=="picture-card"?(y(),E("div",{key:1,class:v(e(a).be("list","item-info"))},[O("a",{class:v(e(a).be("list","item-name")),onClick:q(r=>d.handlePreview(g),["prevent"])},[D(e(A),{class:v(e(f).m("document"))},{default:F(()=>[D(e(Se))]),_:1},8,["class"]),O("span",{class:v(e(a).be("list","item-file-name"))},W(g.name),3)],10,rt),g.status==="uploading"?(y(),T(e(Je),{key:0,type:d.listType==="picture-card"?"circle":"line","stroke-width":d.listType==="picture-card"?6:2,percentage:Number(g.percentage),style:I(d.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):k("v-if",!0)],2)):k("v-if",!0),O("label",{class:v(e(a).be("list","item-status-label"))},[d.listType==="text"?(y(),T(e(A),{key:0,class:v([e(f).m("upload-success"),e(f).m("circle-check")])},{default:F(()=>[D(e(ue))]),_:1},8,["class"])):["picture-card","picture"].includes(d.listType)?(y(),T(e(A),{key:1,class:v([e(f).m("upload-success"),e(f).m("check")])},{default:F(()=>[D(e(de))]),_:1},8,["class"])):k("v-if",!0)],2),e(m)?k("v-if",!0):(y(),T(e(A),{key:2,class:v(e(f).m("close")),onClick:r=>$(g)},{default:F(()=>[D(e(ce))]),_:2},1032,["class","onClick"])),k(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),k(" This is a bug which needs to be fixed "),k(" TODO: Fix the incorrect navigation interaction "),e(m)?k("v-if",!0):(y(),E("i",{key:3,class:v(e(f).m("close-tip"))},W(e(n)("el.upload.deleteTip")),3)),d.listType==="picture-card"?(y(),E("span",{key:4,class:v(e(a).be("list","item-actions"))},[O("span",{class:v(e(a).be("list","item-preview")),onClick:r=>d.handlePreview(g)},[D(e(A),{class:v(e(f).m("zoom-in"))},{default:F(()=>[D(e(Ce))]),_:1},8,["class"])],10,lt),e(m)?k("v-if",!0):(y(),E("span",{key:0,class:v(e(a).be("list","item-delete")),onClick:r=>$(g)},[D(e(A),{class:v(e(f).m("delete"))},{default:F(()=>[D(e(_e))]),_:1},8,["class"])],10,it))],2)):k("v-if",!0)])],42,ot))),128)),P(d.$slots,"append")]),_:3},8,["class","name"]))}});var ne=K(dt,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-list.vue"]]);const ct=z({disabled:{type:Boolean,default:!1}}),pt={file:o=>Te(o)},ft=["onDrop","onDragover"],he="ElUploadDrag",mt=B({name:he}),vt=B({...mt,props:ct,emits:pt,setup(o,{emit:s}){const n=Ue(ve);n||x(he,"usage: <el-upload><el-upload-dragger /></el-upload>");const a=M("upload"),f=me(!1),p=V(),m=$=>{if(p.value)return;f.value=!1;const d=Array.from($.dataTransfer.files),w=n.accept.value;if(!w){s("file",d);return}const g=d.filter(r=>{const{type:u,name:t}=r,c=t.includes(".")?`.${t.split(".").pop()}`:"",h=u.replace(/\/.*$/,"");return w.split(",").map(i=>i.trim()).filter(i=>i).some(i=>i.startsWith(".")?c===i:/\/\*$/.test(i)?h===i.replace(/\/\*$/,""):/^[^/]+\/[^/]+$/.test(i)?u===i:!1)});s("file",g)},S=()=>{p.value||(f.value=!0)};return($,d)=>(y(),E("div",{class:v([e(a).b("dragger"),e(a).is("dragover",f.value)]),onDrop:q(m,["prevent"]),onDragover:q(S,["prevent"]),onDragleave:d[0]||(d[0]=q(w=>f.value=!1,["prevent"]))},[P($.$slots,"default")],42,ft))}});var yt=K(vt,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-dragger.vue"]]);const gt=z({...ge,beforeUpload:{type:b(Function),default:C},onRemove:{type:b(Function),default:C},onStart:{type:b(Function),default:C},onSuccess:{type:b(Function),default:C},onProgress:{type:b(Function),default:C},onError:{type:b(Function),default:C},onExceed:{type:b(Function),default:C}}),ht=["onKeydown"],bt=["name","multiple","accept"],kt=B({name:"ElUploadContent",inheritAttrs:!1}),$t=B({...kt,props:gt,setup(o,{expose:s}){const n=o,a=M("upload"),f=V(),p=Y({}),m=Y(),S=t=>{if(t.length===0)return;const{autoUpload:c,limit:h,fileList:i,multiple:j,onStart:l,onExceed:L}=n;if(h&&i.length+t.length>h){L(t,i);return}j||(t=t.slice(0,1));for(const U of t){const _=U;_.uid=Z(),l(_),c&&$(_)}},$=async t=>{if(m.value.value="",!n.beforeUpload)return d(t);let c;try{c=await n.beforeUpload(t)}catch{c=!1}if(c===!1){n.onRemove(t);return}let h=t;c instanceof Blob&&(c instanceof File?h=c:h=new File([c],t.name,{type:t.type})),d(Object.assign(h,{uid:t.uid}))},d=t=>{const{headers:c,data:h,method:i,withCredentials:j,name:l,action:L,onProgress:U,onSuccess:_,onError:N,httpRequest:be}=n,{uid:X}=t,G={headers:c||{},withCredentials:j,file:t,data:h,method:i,filename:l,action:L,onProgress:H=>{U(H,t)},onSuccess:H=>{_(H,t),delete p.value[X]},onError:H=>{N(H,t),delete p.value[X]}},J=be(G);p.value[X]=J,J instanceof Promise&&J.then(G.onSuccess,G.onError)},w=t=>{const c=t.target.files;c&&S(Array.from(c))},g=()=>{f.value||(m.value.value="",m.value.click())},r=()=>{g()};return s({abort:t=>{De(p.value).filter(t?([h])=>String(t.uid)===h:()=>!0).forEach(([h,i])=>{i instanceof XMLHttpRequest&&i.abort(),delete p.value[h]})},upload:$}),(t,c)=>(y(),E("div",{class:v([e(a).b(),e(a).m(t.listType),e(a).is("drag",t.drag)]),tabindex:"0",onClick:g,onKeydown:ie(q(r,["self"]),["enter","space"])},[t.drag?(y(),T(yt,{key:0,disabled:e(f),onFile:S},{default:F(()=>[P(t.$slots,"default")]),_:3},8,["disabled"])):P(t.$slots,"default",{key:1}),O("input",{ref_key:"inputRef",ref:m,class:v(e(a).e("input")),name:t.name,multiple:t.multiple,accept:t.accept,type:"file",onChange:w,onClick:c[0]||(c[0]=q(()=>{},["stop"]))},null,42,bt)],42,ht))}});var re=K($t,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-content.vue"]]);const le="ElUpload",wt=o=>{var s;(s=o.url)!=null&&s.startsWith("blob:")&&URL.revokeObjectURL(o.url)},Et=(o,s)=>{const n=Ie(o,"fileList",void 0,{passive:!0}),a=r=>n.value.find(u=>u.uid===r.uid);function f(r){var u;(u=s.value)==null||u.abort(r)}function p(r=["ready","uploading","success","fail"]){n.value=n.value.filter(u=>!r.includes(u.status))}const m=(r,u)=>{const t=a(u);t&&(console.error(r),t.status="fail",n.value.splice(n.value.indexOf(t),1),o.onError(r,t,n.value),o.onChange(t,n.value))},S=(r,u)=>{const t=a(u);t&&(o.onProgress(r,t,n.value),t.status="uploading",t.percentage=Math.round(r.percent))},$=(r,u)=>{const t=a(u);t&&(t.status="success",t.response=r,o.onSuccess(r,t,n.value),o.onChange(t,n.value))},d=r=>{pe(r.uid)&&(r.uid=Z());const u={name:r.name,percentage:0,status:"ready",size:r.size,raw:r,uid:r.uid};if(o.listType==="picture-card"||o.listType==="picture")try{u.url=URL.createObjectURL(r)}catch(t){$e(le,t.message),o.onError(t,u,n.value)}n.value=[...n.value,u],o.onChange(u,n.value)},w=async r=>{const u=r instanceof File?a(r):r;u||x(le,"file to be removed not found");const t=c=>{f(c);const h=n.value;h.splice(h.indexOf(c),1),o.onRemove(c,h),wt(c)};o.beforeRemove?await o.beforeRemove(u,n.value)!==!1&&t(u):t(u)};function g(){n.value.filter(({status:r})=>r==="ready").forEach(({raw:r})=>{var u;return r&&((u=s.value)==null?void 0:u.upload(r))})}return te(()=>o.listType,r=>{r!=="picture-card"&&r!=="picture"||(n.value=n.value.map(u=>{const{raw:t,url:c}=u;if(!c&&t)try{u.url=URL.createObjectURL(t)}catch(h){o.onError(h,u,n.value)}return u}))}),te(n,r=>{for(const u of r)u.uid||(u.uid=Z()),u.status||(u.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:f,clearFiles:p,handleError:m,handleProgress:S,handleStart:d,handleSuccess:$,handleRemove:w,submit:g}},St=B({name:"ElUpload"}),Ct=B({...St,props:tt,setup(o,{expose:s}){const n=o,a=Oe(),f=V(),p=Y(),{abort:m,submit:S,clearFiles:$,uploadFiles:d,handleStart:w,handleError:g,handleRemove:r,handleSuccess:u,handleProgress:t}=Et(n,p),c=R(()=>n.listType==="picture-card"),h=R(()=>({...n,fileList:d.value,onStart:w,onProgress:t,onSuccess:u,onError:g,onRemove:r}));return Be(()=>{d.value.forEach(({url:i})=>{i!=null&&i.startsWith("blob:")&&URL.revokeObjectURL(i)})}),Ne(ve,{accept:je(n,"accept")}),s({abort:m,submit:S,clearFiles:$,handleStart:w,handleRemove:r}),(i,j)=>(y(),E("div",null,[e(c)&&i.showFileList?(y(),T(ne,{key:0,disabled:e(f),"list-type":i.listType,files:e(d),"handle-preview":i.onPreview,onRemove:e(r)},se({append:F(()=>[D(re,ae({ref_key:"uploadRef",ref:p},e(h)),{default:F(()=>[e(a).trigger?P(i.$slots,"trigger",{key:0}):k("v-if",!0),!e(a).trigger&&e(a).default?P(i.$slots,"default",{key:1}):k("v-if",!0)]),_:3},16)]),_:2},[i.$slots.file?{name:"default",fn:F(({file:l})=>[P(i.$slots,"file",{file:l})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):k("v-if",!0),!e(c)||e(c)&&!i.showFileList?(y(),T(re,ae({key:1,ref_key:"uploadRef",ref:p},e(h)),{default:F(()=>[e(a).trigger?P(i.$slots,"trigger",{key:0}):k("v-if",!0),!e(a).trigger&&e(a).default?P(i.$slots,"default",{key:1}):k("v-if",!0)]),_:3},16)):k("v-if",!0),i.$slots.trigger?P(i.$slots,"default",{key:2}):k("v-if",!0),P(i.$slots,"tip"),!e(c)&&i.showFileList?(y(),T(ne,{key:3,disabled:e(f),"list-type":i.listType,files:e(d),"handle-preview":i.onPreview,onRemove:e(r)},se({_:2},[i.$slots.file?{name:"default",fn:F(({file:l})=>[P(i.$slots,"file",{file:l})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):k("v-if",!0)]))}});var _t=K(Ct,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload.vue"]]);const Dt=fe(_t);export{Je as E,Dt as a};
|