2 lines
4.2 KiB
JavaScript
2 lines
4.2 KiB
JavaScript
import{_ as B}from"./index-Jr-mDeWj.js";import{s as R}from"./element-plus-Caccz9g_.js";import{_ as T,a as D,F as N}from"./index-BwD-9drg.js";import{u as M,d as H,b as j}from"./index-Ssy6AHhX.js";import{_ as q}from"./index-DiKX45ze.js";import{D as G}from"./vuedraggable-B16X0h98.js";import{d as J,r as s,t as K,b as S,w as O,H as $,P as Q,p as U,c as W,o as X,l as n,ag as Y,s as p,a as i,D as k,k as Z,n as P,a5 as x,x as ee,y as le,v as te}from"./@vue-DqCYILjk.js";import{e as ae}from"./@vueuse-DAQYQaJJ.js";const oe=J({components:{Popup:B,Draggable:G,FileItem:N,Material:D,Preview:T},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(e,{emit:t}){const g=s(),h=s(),w=s(""),y=s(!1),a=s([]),m=s([]),r=s(!0),f=s(-1),{disabled:C,limit:u,modelValue:b}=K(e),{getImageUrl:_}=M(),o=S(()=>{switch(e.type){case"image":return"图片";case"video":return"视频";default:return""}}),v=S(()=>e.limit-a.value.length>0),c=S(()=>r.value?u.value==-1?null:u.value-a.value.length:1),I=ae(()=>{const l=m.value.map(d=>e.excludeDomain?d.uri:d.url);r.value?a.value=[...a.value,...l]:a.value.splice(f.value,1,l.shift()),z()},1e3,!1),A=l=>{var d;C.value||(l>=0?(r.value=!1,f.value=l):r.value=!0,(d=g.value)==null||d.open())},E=l=>{m.value=l},z=()=>{const l=u.value!=1?a.value:a.value[0]||"";t("update:modelValue",l),t("change",l),V()},F=l=>{a.value.splice(l,1),z()},L=l=>{w.value=l,y.value=!0},V=()=>{Q(()=>{var l;e.hiddenUpload&&(a.value=[]),(l=h.value)==null||l.clearSelect()})};return O(b,l=>{a.value=Array.isArray(l)?l:l==""?[]:[l]},{immediate:!0}),$("limit",e.limit),$("hiddenUpload",e.hiddenUpload),{popupRef:g,materialRef:h,fileList:a,tipsText:o,handleConfirm:I,meterialLimit:c,showUpload:v,showPopup:A,selectChange:E,deleteImg:F,previewUrl:w,showPreview:y,handlePreview:L,handleClose:V,getImageUrl:_}}}),ie={class:"material-select"},se=["onClick"],ne={class:"operation-btns text-xs text-center"},re=["onClick"],ue={class:"material-wrap"};function de(e,t,g,h,w,y){const a=U("file-item"),m=q,r=U("draggable"),f=j,C=D,u=R,b=B,_=U("preview");return X(),W("div",ie,[n(b,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`选择${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Y({default:p(()=>[n(u,null,{default:p(()=>[i("div",ue,[n(C,{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:p(()=>[i("div",{class:"material-select__trigger clearfix",onClick:t[2]||(t[2]=k(()=>{},["stop"]))},[n(r,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":t[0]||(t[0]=o=>e.fileList=o),animation:"300","item-key":"id"},{item:p(({element:o,index:v})=>[i("div",{class:P(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:c=>e.showPopup(v)},[n(m,{onClose:c=>e.deleteImg(v)},{default:p(()=>[n(a,{uri:e.excludeDomain?e.getImageUrl(o):o,"file-size":e.size,width:e.width,height:e.height,type:e.type},null,8,["uri","file-size","width","height","type"])]),_:2},1032,["onClose"]),i("div",ne,[t[4]||(t[4]=i("span",null,"修改",-1)),t[5]||(t[5]=x(" | ")),i("span",{onClick:k(c=>e.handlePreview(o),["stop"])},"查看",8,re)])],10,se)]),_:1},8,["modelValue"]),Z(i("div",{class:P(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:t[1]||(t[1]=o=>e.showPopup(-1))},[ee(e.$slots,"upload",{},()=>[i("div",{class:"upload-btn",style:le({width:e.width||e.size,height:e.height||e.size})},[n(f,{size:25,name:"el-icon-Plus"}),t[6]||(t[6]=i("span",null,"添加",-1))],4)],!0)],2),[[te,e.showUpload]])])]),key:"0"}]),1032,["title","onConfirm","onClose"]),n(_,{modelValue:e.showPreview,"onUpdate:modelValue":t[3]||(t[3]=o=>e.showPreview=o),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const ye=H(oe,[["render",de],["__scopeId","data-v-5802b9cb"]]);export{ye as _};
|