2022-09-15 09:43:03 +00:00
|
|
|
import{P as k}from"./index.fd3131b6.js";import{E as T}from"./element-plus.62f8b726.js";import{F as N,_ as B,a as M}from"./index.37cda7d4.js";import{u as O,d as Q,b as j}from"./index.ccc78a7a.js";import{_ as q}from"./index.c18d5e6d.js";import{D as G}from"./vuedraggable.a5db575d.js";import{d as H,r as i,a4 as J,e as S,w as K,D as P,n as W,a5 as V,o as X,c as Y,V as n,a9 as Z,M as p,a as s,Q as U,_ as I,O as x,P as ee,I as ae,$ as le,T as te,b9 as oe,b8 as se}from"./@vue.cab01781.js";const ie=H({components:{Popup:k,Draggable:G,FileItem:N,Material:B,Preview:M},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},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(e,{emit:t}){const h=i(),_=i(),g=i(""),w=i(!1),l=i([]),m=i([]),r=i(!0),c=i(-1),{disabled:y,limit:u,modelValue:C}=J(e),{getImageUrl:b}=O(),o=S(()=>{switch(e.type){case"image":return"\u56FE\u7247";case"video":return"\u89C6\u9891";default:return""}}),f=S(()=>e.limit-l.value.length>0),v=S(()=>r.value?u.value==-1?null:u.value-l.value.length:1),E=()=>{const a=m.value.map(d=>e.excludeDomain?d.path:d.uri);r.value?l.value=[...l.value,...a]:l.value.splice(c.value,1,a.shift()),$()},A=a=>{var d;y.value||(a>=0?(r.value=!1,c.value=a):r.value=!0,(d=h.value)==null||d.open())},F=a=>{m.value=a},$=()=>{const a=u.value!=1?l.value:l.value[0]||"";t("update:modelValue",a),t("change",a),z()},L=a=>{l.value.splice(a,1),$()},R=a=>{g.value=a,w.value=!0},z=()=>{W(()=>{var a;(a=_.value)==null||a.clearSelect()})};return K(C,a=>{l.value=Array.isArray(a)?a:a==""?[]:[a]},{immediate:!0}),P("limit",e.limit),P("hiddenUpload",e.hiddenUpload),{popupRef:h,materialRef:_,fileList:l,tipsText:o,handleConfirm:E,meterialLimit:v,showUpload:f,showPopup:A,selectChange:F,deleteImg:L,previewUrl:g,showPreview:w,handlePreview:R,handleClose:z,getImageUrl:b}}});const D=e=>(oe("data-v-ca4fa362"),e=e(),se(),e),ne={class:"material-select"},re=["onClick"],ue={class:"operation-btns text-xs text-center"},de=D(()=>s("span",null,"\u4FEE\u6539",-1)),pe=te(" | "),me=["onClick"],ce=D(()=>s("span",null,"\u6DFB\u52A0",-1)),fe={class:"material-wrap"};function ve(e,t,h,_,g,w){const l=V("file-item"),m=q,r=V("draggable"),c=j,y=B,u=T,C=k,b=V("preview");return X(),Y("div",ne,[n(C,{ref:"popupRef",width:"830px","custom-class":"body-padding",title:`\u9009\u62E9${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Z({default:p(()=>[n(u,null,{default:p(()=>[s("div",fe,[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:p(()=>[s("div",{class:"material-select__trigger clearfix",onClick:t[2]||(t[2]=I(()=>{},["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:f})=>[s("div",{class:U(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:v=>e.showPopup(f)},[n(m,{onClose:v=>e.deleteImg(f)},{default:p(()=>[n(l,{uri:e.excludeDomain?e.getImageUrl(o):o,"file-size":e.size,type:e.type},null,8,["uri","file-size","type"])]),_:2},1032,["onClose"]),s("div",ue,[de,pe,s("span",{onClick:I(v=>e.handlePreview(o),["stop"])},"\u67E5\u770B",8,me)])],10,re)]),_:1},8,["modelValue"]),x(s("div",{class:U(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:t[1]||(t[1]=o=>e.showPopup(-1))},[ae(e.$slots,"upload",{},()=>[s("div",{class:"upload-btn",style:le({width:e.size,height:e.size})},[n(c,{size:25,name:"el-icon-Plus"}),ce],4)],!0)],2),[[ee,e.showUpload]])])])}]),1032,["title","onConfirm","onClose"]),n(b,{modelValue:e.showPreview,"onUpdate:modelValue":t[3]||(t[3]=o=>e.showPreview=o),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}
|