2 lines
3.9 KiB
JavaScript
2 lines
3.9 KiB
JavaScript
import{P as I}from"./index.16352aaf.js";import{E as R}from"./element-plus.2e2d06fe.js";import{F as T,_ as E,a as N}from"./index.2a1a3be0.js";import{d as M,b as O}from"./index.4a9ec79b.js";import{_ as Q}from"./index.8243f710.js";import{D as j}from"./vuedraggable.82b0d187.js";import{d as q,r as i,a4 as G,e as S,w as H,D as P,n as J,a5 as V,o as K,c as W,V as n,ag as X,M as d,a as s,Q as k,_ as U,O as Y,P as Z,I as x,$ as ee,T as le,b9 as te,b8 as oe}from"./@vue.791b8507.js";const ae=q({components:{Popup:I,Draggable:j,FileItem:T,Material:E,Preview:N},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(e,{emit:o}){const _=i(),h=i(),g=i(""),w=i(!1),t=i([]),p=i([]),r=i(!0),m=i(-1),{disabled:y,limit:u,modelValue:C}=G(e),b=S(()=>{switch(e.type){case"image":return"\u56FE\u7247";case"video":return"\u89C6\u9891";default:return""}}),a=S(()=>e.limit-t.value.length>0),c=S(()=>r.value?u.value==-1?null:u.value-t.value.length:1),f=()=>{const l=p.value.map(v=>v.uri);r.value?t.value=[...t.value,...l]:t.value.splice(m.value,1,l.shift()),$()},A=l=>{var v;y.value||(l>=0?(r.value=!1,m.value=l):r.value=!0,(v=_.value)==null||v.open())},D=l=>{p.value=l},$=()=>{const l=u.value!=1?t.value:t.value[0]||"";o("update:modelValue",l),o("change",l),z()},F=l=>{t.value.splice(l,1),$()},L=l=>{g.value=l,w.value=!0},z=()=>{J(()=>{var l;(l=h.value)==null||l.clearSelect()})};return H(C,l=>{t.value=Array.isArray(l)?l:l==""?[]:[l]},{immediate:!0}),P("limit",e.limit),P("hiddenUpload",e.hiddenUpload),{popupRef:_,materialRef:h,fileList:t,tipsText:b,handleConfirm:f,meterialLimit:c,showUpload:a,showPopup:A,selectChange:D,deleteImg:F,previewUrl:g,showPreview:w,handlePreview:L,handleClose:z}}});const B=e=>(te("data-v-31e93273"),e=e(),oe(),e),se={class:"material-select"},ie=["onClick"],ne={class:"operation-btns text-xs text-center"},re=B(()=>s("span",null,"\u4FEE\u6539",-1)),ue=le(" | "),de=["onClick"],pe=B(()=>s("span",null,"\u6DFB\u52A0",-1)),me={class:"material-wrap"};function ce(e,o,_,h,g,w){const t=V("file-item"),p=Q,r=V("draggable"),m=O,y=E,u=R,C=I,b=V("preview");return K(),W("div",se,[n(C,{ref:"popupRef",width:"830px","custom-class":"body-padding",title:`\u9009\u62E9${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},X({default:d(()=>[n(u,null,{default:d(()=>[s("div",me,[n(y,{ref:"materialRef",type:e.type,"file-size":e.fileSize,limit:e.meterialLimit,onChange:e.selectChange},null,8,["type","file-size","limit","onChange"])])]),_:1})]),_:2},[e.hiddenUpload?void 0:{name:"trigger",fn:d(()=>[s("div",{class:"material-select__trigger clearfix",onClick:o[2]||(o[2]=U(()=>{},["stop"]))},[n(r,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":o[0]||(o[0]=a=>e.fileList=a),animation:"300","item-key":"id"},{item:d(({element:a,index:c})=>[s("div",{class:k(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:f=>e.showPopup(c)},[n(p,{onClose:f=>e.deleteImg(c)},{default:d(()=>[n(t,{uri:a,"file-size":e.size,type:e.type},null,8,["uri","file-size","type"])]),_:2},1032,["onClose"]),s("div",ne,[re,ue,s("span",{onClick:U(f=>e.handlePreview(a),["stop"])},"\u67E5\u770B",8,de)])],10,ie)]),_:1},8,["modelValue"]),Y(s("div",{class:k(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:o[1]||(o[1]=a=>e.showPopup(-1))},[x(e.$slots,"upload",{},()=>[s("div",{class:"upload-btn",style:ee({width:e.size,height:e.size})},[n(m,{size:25,name:"el-icon-Plus"}),pe],4)],!0)],2),[[Z,e.showUpload]])])])}]),1032,["title","onConfirm","onClose"]),n(b,{modelValue:e.showPreview,"onUpdate:modelValue":o[3]||(o[3]=a=>e.showPreview=a),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const Ce=M(ae,[["render",ce],["__scopeId","data-v-31e93273"]]);export{Ce as _};
|