全栈小学生 fb2c3be261 up
2026-03-20 16:00:24 +08:00

2 lines
5.3 KiB
JavaScript

import{d as M,X as _,l as h,al as Z,r as H,as as X,am as v,h as a,c as m,a as o,n as q,aH as w,u as l,e as i,z as y,aO as A,m as N,w as T,t as D,k as F,F as k,T as G,B as L,C as J,aP as K,an as O}from"./index-729a8626.js";/* empty css */import{_ as Q}from"./index.vue_vue_type_style_index_0_lang-e5b0f101.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-44249b68.js";/* empty css */import{S as W}from"./sortable.esm-be94e56d.js";import{_ as Y}from"./_plugin-vue_export-helper-c27b6911.js";/* empty css *//* empty css *//* empty css */import"./attachment-19abcd29.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-b5859645.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-6aa537e6.js";/* empty css */import"./sys-1491a397.js";const ee={class:"flex flex-wrap"},te={key:0,class:"w-full h-full relative"},oe={class:"w-full h-full flex items-center justify-center"},le={class:"absolute z-[1] flex items-center justify-center w-full h-full inset-0 bg-black bg-opacity-60 operation"},ae={class:"w-full h-full flex items-center justify-center flex-col content-wrap"},ie={class:"leading-none text-xs mt-[10px] text-secondary"},ne={class:"w-full h-full relative"},se={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"},me={class:"w-full h-full flex items-center justify-center flex-col content-wrap"},ce={class:"leading-none text-xs mt-[10px] text-secondary"},de=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(s,{emit:b}){const r=s,c=_({get(){return r.modelValue},set(e){b("update:modelValue",e)}}),t=h({data:[]});let C=h([]);const f=()=>{c.value=O(t.data).toString(),C=O(t.data).map(e=>e.indexOf("data:image")!=-1?e:y(e))},z=_(()=>r.limit-t.data.length);Z(()=>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=_(()=>({width:r.width,height:r.height})),I=e=>{r.limit==1?(t.data.splice(0,1),e&&t.data.push(e.url)):(e.forEach(n=>{t.data.length<r.limit&&t.data.push(n.url)}),v(()=>{$()})),f(),v(()=>{b("change",c.value)})},S=(e=0)=>{t.data.splice(e,1),f()},u=h({show:!1,index:0}),V=(e=0)=>{u.show=!0,u.index=e},j=H(null);X(()=>{v(()=>{$()})});const $=()=>{r.limit!=1&&W.create(j.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 B=J,d=U,E=Q,P=K;return a(),m(k,null,[o("div",ee,[s.limit==1?(a(),m("div",{key:0,class:q(["rounded cursor-pointer overflow-hidden relative border border-solid border-color image-wrap mr-[10px]",{"rounded-full":s.type=="avatar"}]),style:w(l(x))},[t.data.length?(a(),m("div",te,[o("div",oe,[i(B,{class:"w-full h-full",src:t.data[0].indexOf("data:image")!=-1?t.data[0]:l(y)(t.data[0]),fit:s.imageFit},null,8,["src","fit"])]),o("div",le,[i(d,{name:"element ZoomIn",color:"#fff",size:"18px",class:"mr-[10px]",onClick:n[0]||(n[0]=p=>V())}),i(d,{name:"element Delete",color:"#fff",size:"18px",onClick:A(S,["stop"])},null,8,["onClick"])])])):(a(),N(E,{key:1,limit:l(z),onConfirm:I},{default:T(()=>[o("div",ae,[i(d,{name:"element Plus",size:"20px",color:"var(--el-text-color-secondary)"}),o("div",ie,D(s.imageText||l(F)("upload.root")),1)])]),_:1},8,["limit"]))],6)):(a(),m(k,{key:1},[o("div",{class:"flex flex-wrap",ref_key:"imgListRef",ref:j},[(a(!0),m(k,null,G(t.data,(p,g)=>(a(),m("div",{class:"rounded cursor-pointer overflow-hidden relative border border-solid border-color image-wrap mr-[10px] mb-[10px]",style:w(l(x)),key:p+g},[o("div",ne,[o("div",se,[i(B,{src:l(y)(p),fit:"contain"},null,8,["src"])]),o("div",re,[i(d,{name:"element ZoomIn",color:"#fff",size:"18px",class:"mr-[10px]",onClick:R=>V(g)},null,8,["onClick"]),i(d,{name:"element Delete",color:"#fff",size:"18px",onClick:R=>S(g)},null,8,["onClick"])])])],4))),128))],512),t.data.length<s.limit?(a(),m("div",{key:0,class:"rounded cursor-pointer overflow-hidden relative border border-dashed border-color",style:w(l(x))},[i(E,{limit:l(z),onConfirm:I},{default:T(()=>[o("div",me,[i(d,{name:"element Plus",size:"20px",color:"var(--el-text-color-secondary)"}),o("div",ce,D(s.imageText||l(F)("upload.root")),1)])]),_:1},8,["limit"])],4)):L("",!0)],64))]),u.show?(a(),N(P,{key:0,"url-list":l(C),onClose:n[1]||(n[1]=p=>u.show=!1),"initial-index":u.index,"zoom-rate":1},null,8,["url-list","initial-index"])):L("",!0)],64)}}});const He=Y(de,[["__scopeId","data-v-c0ff0ef8"]]);export{He as default};