全栈小学生 e6c822aa8e up niucloud
2025-06-26 15:07:17 +08:00

2 lines
5.3 KiB
JavaScript

import{d as M,X as B,l as h,ak as P,r as Z,aq as q,aJ as _,h as o,c as s,a as i,n as J,aF as v,u as r,e as a,z as w,aN as X,m as E,w as F,t as N,k as T,F as y,T as A,B as D,C as G,aO as H,al as L}from"./index-f99f26c5.js";/* empty css */import{_ as K}from"./index.vue_vue_type_style_index_0_lang-5728e7cf.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-72e25793.js";/* empty css */import{S as U}from"./sortable.esm-be94e56d.js";import{_ as W}from"./_plugin-vue_export-helper-c27b6911.js";/* empty css *//* empty css *//* empty css */import"./attachment-153bb8c5.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-b1bfcd32.js";/* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-5c0ce90b.js";/* empty css */import"./sys-c0964254.js";const Y={class:"flex flex-wrap"},ee={key:0,class:"w-full h-full relative"},te={class:"w-full h-full flex items-center justify-center"},ie={class:"absolute z-[1] flex items-center justify-center w-full h-full inset-0 bg-black bg-opacity-60 operation"},le={class:"w-full h-full flex items-center justify-center flex-col content-wrap"},oe={class:"leading-none text-xs mt-[10px] text-secondary"},ae={class:"w-full h-full relative"},ne={class:"w-full h-full flex items-center justify-center"},re={class:"absolute z-[1] flex items-center justify-center w-full h-full inset-0 bg-black bg-opacity-60 operation"},se={class:"w-full h-full flex items-center justify-center flex-col content-wrap"},me={class:"leading-none text-xs mt-[10px] text-secondary"},ce=M({__name:"index",props:{type:{type:String,default:"image"},imageFit:{type:String,default:"contain"},modelValue:{type:String,default:""},width:{type:String,default:"100px"},height:{type:String,default:"100px"},imageText:{type:String},limit:{type:Number,default:1}},emits:["update:modelValue","change"],setup(l,{emit:k}){const m=l,c=B({get(){return m.modelValue},set(e){k("update:modelValue",e)}}),t=h({data:[]});let b=h([]);const f=()=>{c.value=L(t.data).toString(),b=L(t.data).map(e=>e.indexOf("data:image")!=-1?e:w(e))};P(()=>c.value,()=>{c.value.indexOf("data:image")!=-1?t.data=[c.value]:t.data=[...c.value.split(",").filter(e=>e)],f()},{immediate:!0});const x=B(()=>({width:m.width,height:m.height})),C=e=>{m.limit==1?(t.data.splice(0,1),e&&t.data.push(e.url)):(e.forEach(n=>{t.data.length<m.limit&&t.data.push(n.url)}),_(()=>{V()})),f(),_(()=>{k("change",c.value)})},z=(e=0)=>{t.data.splice(e,1),f()},u=h({show:!1,index:0}),S=(e=0)=>{u.show=!0,u.index=e},I=Z(null);q(()=>{_(()=>{V()})});const V=()=>{m.limit!=1&&U.create(I.value,{group:"image-wrap",animation:300,onEnd:e=>{const n=t.data[e.oldIndex];t.data.splice(e.oldIndex,1),t.data.splice(e.newIndex,0,n),f()}})};return(e,n)=>{const j=G,d=Q,$=K,O=H;return o(),s(y,null,[i("div",Y,[l.limit==1?(o(),s("div",{key:0,class:J(["rounded cursor-pointer overflow-hidden relative border border-solid border-color image-wrap mr-[10px]",{"rounded-full":l.type=="avatar"}]),style:v(r(x))},[t.data.length?(o(),s("div",ee,[i("div",te,[a(j,{class:"w-full h-full",src:t.data[0].indexOf("data:image")!=-1?t.data[0]:r(w)(t.data[0]),fit:l.imageFit},null,8,["src","fit"])]),i("div",ie,[a(d,{name:"element ZoomIn",color:"#fff",size:"18px",class:"mr-[10px]",onClick:n[0]||(n[0]=p=>S())}),a(d,{name:"element Delete",color:"#fff",size:"18px",onClick:X(z,["stop"])},null,8,["onClick"])])])):(o(),E($,{key:1,limit:l.limit,onConfirm:C},{default:F(()=>[i("div",le,[a(d,{name:"element Plus",size:"20px",color:"var(--el-text-color-secondary)"}),i("div",oe,N(l.imageText||r(T)("upload.root")),1)])]),_:1},8,["limit"]))],6)):(o(),s(y,{key:1},[i("div",{class:"flex flex-wrap",ref_key:"imgListRef",ref:I},[(o(!0),s(y,null,A(t.data,(p,g)=>(o(),s("div",{class:"rounded cursor-pointer overflow-hidden relative border border-solid border-color image-wrap mr-[10px] mb-[10px]",style:v(r(x)),key:p+g},[i("div",ae,[i("div",ne,[a(j,{src:r(w)(p),fit:"contain"},null,8,["src"])]),i("div",re,[a(d,{name:"element ZoomIn",color:"#fff",size:"18px",class:"mr-[10px]",onClick:R=>S(g)},null,8,["onClick"]),a(d,{name:"element Delete",color:"#fff",size:"18px",onClick:R=>z(g)},null,8,["onClick"])])])],4))),128))],512),t.data.length<l.limit?(o(),s("div",{key:0,class:"rounded cursor-pointer overflow-hidden relative border border-dashed border-color",style:v(r(x))},[a($,{limit:l.limit,onConfirm:C},{default:F(()=>[i("div",se,[a(d,{name:"element Plus",size:"20px",color:"var(--el-text-color-secondary)"}),i("div",me,N(l.imageText||r(T)("upload.root")),1)])]),_:1},8,["limit"])],4)):D("",!0)],64))]),u.show?(o(),E(O,{key:0,"url-list":r(b),onClose:n[1]||(n[1]=p=>u.show=!1),"initial-index":u.index,"zoom-rate":1},null,8,["url-list","initial-index"])):D("",!0)],64)}}});const Ze=W(ce,[["__scopeId","data-v-8e30190f"]]);export{Ze as default};