SYN/public/admin/assets/picker.9f7703eb.js

2 lines
4.3 KiB
JavaScript

import{P as I}from"./index.0929b672.js";import{s as T}from"./element-plus.7c242749.js";import{F as N,_ as B,a as M}from"./index.9ca004bb.js";import{u as j,d as K,b as Q}from"./index.0f3c9d87.js";import{_ as X}from"./index.37312dd4.js";import{D as Y}from"./vuedraggable.f337e20d.js";import{d as q,r as s,ab as G,b as S,w as H,F as z,n as J,ag as U,o as O,c as W,X as n,aa as Z,P as p,a as i,$ as P,R as V,U as x,Q as ee,K as ae,a0 as te,Y as le,bk as oe,bj as ie}from"./@vue.54440ad7.js";import{e as se}from"./@vueuse.30711f4d.js";const ne=q({components:{Popup:I,Draggable:Y,FileItem:N,Material:B,Preview:M},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:l}){const g=s(),w=s(),_=s(""),y=s(!1),t=s([]),m=s([]),d=s(!0),c=s(-1),{disabled:C,limit:r,modelValue:b}=G(e),{getImageUrl:f}=j(),o=S(()=>{switch(e.type){case"image":return"\u56FE\u7247";case"video":return"\u89C6\u9891";default:return""}}),h=S(()=>e.limit-t.value.length>0),v=S(()=>d.value?r.value==-1?null:r.value-t.value.length:1),E=se(()=>{const a=m.value.map(u=>e.excludeDomain?u.uri:u.url);d.value?t.value=[...t.value,...a]:t.value.splice(c.value,1,a.shift()),$()},1e3,!1),F=a=>{var u;C.value||(a>=0?(d.value=!1,c.value=a):d.value=!0,(u=g.value)==null||u.open())},A=a=>{m.value=a},$=()=>{const a=r.value!=1?t.value:t.value[0]||"";l("update:modelValue",a),l("change",a),k()},R=a=>{t.value.splice(a,1),$()},L=a=>{a=e.excludeDomain?f(a):a,_.value=a,y.value=!0},k=()=>{J(()=>{var a;e.hiddenUpload&&(t.value=[]),(a=w.value)==null||a.clearSelect()})};return H(b,a=>{t.value=Array.isArray(a)?a:a==""?[]:[a]},{immediate:!0}),z("limit",e.limit),z("hiddenUpload",e.hiddenUpload),{popupRef:g,materialRef:w,fileList:t,tipsText:o,handleConfirm:E,meterialLimit:v,showUpload:h,showPopup:F,selectChange:A,deleteImg:R,previewUrl:_,showPreview:y,handlePreview:L,handleClose:k,getImageUrl:f}}});const D=e=>(oe("data-v-3275a6dd"),e=e(),ie(),e),de={class:"material-select"},re=["onClick"],ue={class:"operation-btns text-xs text-center"},pe=D(()=>i("span",null,"\u4FEE\u6539",-1)),me=["onClick"],ce=D(()=>i("span",null,"\u6DFB\u52A0",-1)),fe={class:"material-wrap"};function he(e,l,g,w,_,y){const t=U("file-item"),m=X,d=U("draggable"),c=Q,C=B,r=T,b=I,f=U("preview");return O(),W("div",de,[n(b,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`\u9009\u62E9${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Z({default:p(()=>[n(r,null,{default:p(()=>[i("div",fe,[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:l[2]||(l[2]=P(()=>{},["stop"]))},[n(d,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":l[0]||(l[0]=o=>e.fileList=o),animation:"300","item-key":"id"},{item:p(({element:o,index:h})=>[i("div",{class:V(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:v=>e.showPopup(h)},[n(m,{onClose:v=>e.deleteImg(h)},{default:p(()=>[n(t,{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",ue,[pe,x(" | "),i("span",{onClick:P(v=>e.handlePreview(o),["stop"])},"\u67E5\u770B",8,me)])],10,re)]),_:1},8,["modelValue"]),ee(i("div",{class:V(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:l[1]||(l[1]=o=>e.showPopup(-1))},[ae(e.$slots,"upload",{},()=>[i("div",{class:"upload-btn",style:te({width:e.width||e.size,height:e.height||e.size})},[n(c,{size:25,name:"el-icon-Plus"}),ce],4)],!0)],2),[[le,e.showUpload]])])]),key:"0"}]),1032,["title","onConfirm","onClose"]),n(f,{modelValue:e.showPreview,"onUpdate:modelValue":l[3]||(l[3]=o=>e.showPreview=o),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const Ue=K(ne,[["render",he],["__scopeId","data-v-3275a6dd"]]);export{Ue as _};