SpuShowcase-a82b7a9d.js 2.3 KB

1
  1. import{d as E,e0 as N,ap as v,e as U,r as h,w as I,dG as b,o as t,c as m,C as c,F as _,P as R,f as s,B as V,l as j,v as q,a as g,A as B,E as F,_ as G,bc as L}from"./index-d82a5fba.js";import{E as M}from"./el-image-11177953.js";import"./el-image-viewer-bc9aa45f.js";import{h as P}from"./spu-57bc4bcd.js";import{_ as T}from"./SpuTableSelect.vue_vue_type_script_setup_true_lang-c48e9c70.js";import{_ as X}from"./_plugin-vue_export-helper-1b428a4d.js";import"./Dialog-59ee8657.js";import"./ContentWrap.vue_vue_type_script_setup_true_lang-8d1cbd74.js";import"./el-card-6ad438fb.js";import"./index.vue_vue_type_script_setup_true_lang-adde4c15.js";import"./index-ca679bbb.js";import"./el-tree-select-01ca3b1a.js";import"./tree-0af4953a.js";import"./category-28249d11.js";const z={class:"flex flex-wrap items-center gap-8px"},D={class:"relative h-full w-full"},H=X(E({name:"SpuShowcase",__name:"SpuShowcase",props:{modelValue:N([Number,Array]).isRequired,limit:v.number.def(Number.MAX_VALUE),disabled:v.bool.def(!1)},emits:["update:modelValue","change"],setup(o,{emit:w}){const a=o,k=U(()=>!a.disabled&&(!a.limit||l.value.length<a.limit)),l=h([]);I(()=>a.modelValue,async()=>{const e=b(a.modelValue)?a.modelValue:a.modelValue?[a.modelValue]:[];e.length!==0?(l.value.length===0||l.value.some(d=>!e.includes(d.id)))&&(l.value=await P(e)):l.value=[]},{immediate:!0});const n=h(),x=()=>{n.value.open(l.value)},y=e=>{l.value=b(e)?e:[e],r()},i=w,r=()=>{if(a.limit===1){const e=l.value.length>0?l.value[0]:null;i("update:modelValue",(e==null?void 0:e.id)||0),i("change",e)}else i("update:modelValue",l.value.map(e=>e.id)),i("change",l.value)};return(e,d)=>{const C=M,p=G,f=L;return t(),m(_,null,[c("div",z,[(t(!0),m(_,null,R(g(l),(u,S)=>(t(),m("div",{key:u.id,class:"select-box spu-pic"},[s(f,{content:u.name},{default:V(()=>[c("div",D,[s(C,{src:u.picUrl,class:"h-full w-full"},null,8,["src"]),j(s(p,{class:"del-icon",icon:"ep:circle-close-filled",onClick:J=>(A=>{l.value.splice(A,1),r()})(S)},null,8,["onClick"]),[[q,!o.disabled]])])]),_:2},1032,["content"])]))),128)),g(k)?(t(),B(f,{key:0,content:"\u9009\u62E9\u5546\u54C1"},{default:V(()=>[c("div",{class:"select-box",onClick:x},[s(p,{icon:"ep:plus"})])]),_:1})):F("",!0)]),s(T,{ref_key:"spuTableSelectRef",ref:n,multiple:o.limit!=1,onChange:y},null,8,["multiple"])],64)}}}),[["__scopeId","data-v-08260762"]]);export{H as default};