You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
15 KiB
1 lines
15 KiB
import{d as ye,r as A,M as ee,l as O,h as v,c as x,a as n,b as xe,e as _,w as h,i as G,t as f,u as p,k as u,J as N,a9 as $,F as R,O as J,m as Q,B as T,n as se,z as oe,al as U,Q as F,aG as be,P as q,E as Ce,_ as Se,ac as Pe,G as Le,D as Ve,bb as Ee,H as Ae,aj as Ge,C as we,a1 as Oe,V as Ne,L as Te,p as Ie,g as je}from"./index-208710d8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import{_ as B}from"./goods_default-664bb559.js";import{g as $e,b as Ue,c as Fe,d as Be}from"./goods-cf5aa89c.js";import{_ as ze}from"./_plugin-vue_export-helper-c27b6911.js";const C=w=>(Ie("data-v-38bc423e"),w=w(),je(),w),Me={class:"inline-block ml-[10px] text-[14px]"},He={class:"text-primary mx-[2px]"},De={class:"table w-[100%]"},Re={class:"table-head flex items-center bg-[#f5f7f9] py-[8px]"},Je=C(()=>n("div",{class:"w-[3%]"},null,-1)),Qe={class:"w-[7%]"},qe=C(()=>n("div",{class:"w-[50%]"},"商品信息",-1)),Ke=C(()=>n("div",{class:"w-[20%]"},"商品价格",-1)),We=C(()=>n("div",{class:"w-[20%]"},"库存",-1)),Xe={class:"table-body h-[350px] overflow-y-auto"},Ye={class:"flex items-center border-solid border-[#e5e7eb] py-[8px] border-b-[1px]"},Ze={key:0,class:"w-[3%]"},es=["onClick"],ss={key:2,class:"w-[3%]"},os={class:"w-[7%]"},ls={class:"flex items-center cursor-pointer w-[50%]"},ts={class:"min-w-[60px] h-[60px] flex items-center justify-center"},as=C(()=>n("div",{class:"image-slot"},[n("img",{class:"w-[60px] h-[60px]",src:B})],-1)),ds={key:1,class:"w-[60px] h-[60px]",src:B,fit:"contain"},ns={class:"ml-2 flex flex-col items-start"},is=["title"],cs={class:"text-primary text-[12px]"},rs={key:0,class:"px-[4px] text-[12px] text-[#fff] rounded-[4px] bg-primary leading-[18px]"},ps={class:"w-[20%]"},us={class:"w-[20%]"},_s=C(()=>n("div",{class:"w-[6%]"},null,-1)),gs={class:"w-[4%]"},ms={class:"flex items-center cursor-pointer w-[50%]"},fs={class:"min-w-[60px] h-[60px] flex items-center justify-center"},hs=C(()=>n("div",{class:"image-slot"},[n("img",{class:"w-[60px] h-[60px]",src:B})],-1)),vs={key:1,class:"w-[60px] h-[60px]",src:B,fit:"contain"},ks={class:"ml-2"},ys=["title"],xs={class:"text-primary text-[12px]"},bs={class:"w-[20%] flex"},Cs={class:"w-[20%] flex"},Ss={key:0,class:"h-[60px] flex items-center justify-center border-solid border-[#e5e7eb] py-[12px] border-b-[1px]"},Ps={class:"mt-[16px] flex"},Ls={class:"flex items-center flex-1"},Vs={class:"layui-table-bottom-left-container mr-[10px]"},Es={class:"text-primary mx-[2px]"},As={class:"dialog-footer"},Gs=ye({__name:"goods-select-popup",props:{modelValue:{type:String,default:""},max:{type:Number,default:0},min:{type:Number,default:0},mode:{type:String,default:"spu"},way:{type:String,default:""},isGift:{type:[String,Number],default:0}},emits:["update:modelValue","goodsSelect"],setup(w,{expose:le,emit:K}){const c=w;let r=c.mode=="sku"?"sku_":"goods_";const S=A(!1),P=A(!1),k=ee({get(){return c.modelValue},set(l){K("update:modelValue",l)}}),L=A(!1),d=O({}),g=O([]),b=ee(()=>Object.keys(d).length),o=O({page:1,limit:10,total:0,loading:!0,data:[],searchParam:{keyword:"",goods_category:[],select_type:"all",goods_ids:"",verify_goods_ids:"",verify_sku_ids:"",goods_type:"",is_gift:0}});o.searchParam.is_gift=c.isGift?c.isGift:0;const W=A(),te=l=>{V()},z=O([]),X=O([]);(()=>{$e().then(l=>{const e=l.data;if(e){const s=[];e.forEach(a=>{const i=[];a.child_list&&a.child_list.forEach(m=>{i.push({value:m.category_id,label:m.category_name})}),s.push({value:a.category_id,label:a.category_name,children:i})}),z.splice(0,z.length,...s)}}),Ue().then(l=>{const e=l.data;if(e)for(const s in e)X.push(e[s])})})(),A(),A([]);const ae=l=>{l.isShow=!l.isShow},de=l=>{S.value=!1,o.data.forEach((e,s)=>{e.secondLevelCheckAll=l,e.skuList.forEach((a,i)=>{a.threeLevelCheckAll=l})}),l?o.data.forEach(e=>{c.mode=="spu"?(d[r+e.goods_id]=e,g.push(e.goods_id)):e.skuList.forEach(s=>{g.push(s.sku_id),d[r+s.sku_id]=U(s),d[r+s.sku_id].goods_name=e.goods_name,d[r+s.sku_id].goods_type_name=e.goods_type_name,d[r+s.sku_id].goods_type=e.goods_type})}):o.data.forEach(e=>{c.mode=="spu"?(g.splice(g.indexOf(e.goods_id),1),delete d[r+e.goods_id]):e.skuList.forEach(s=>{g.splice(g.indexOf(s.sku_id),1),delete d[r+s.sku_id]})})},ne=(l,e)=>{if(e.skuList.forEach((s,a)=>{s.threeLevelCheckAll=l}),M(),c.mode=="spu"?l?(g.push(e.goods_id),d[r+e.goods_id]=U(e)):(g.splice(g.indexOf(e.goods_id),1),delete d[r+e.goods_id]):l?e.skuList.forEach((s,a)=>{g.push(s.sku_id),d[r+s.sku_id]=U(s),d[r+s.sku_id].goods_name=e.goods_name,d[r+s.sku_id].goods_type_name=e.goods_type_name,d[r+s.sku_id].goods_type=e.goods_type}):e.skuList.forEach((s,a)=>{g.splice(g.indexOf(s.sku_id),1),delete d[r+s.sku_id]}),c.max&&c.max>0&&Object.keys(d).length>0&&Object.keys(d).length>c.max){let s=Object.keys(d).length;s=s-c.max,F(g).forEach((i,m,E)=>{if(m<s){let j=g.indexOf(i);delete d[r+g[j]],g.splice(j,1)}}),I()}},ie=(l,e,s)=>{let a=0;e.skuList.forEach((m,E)=>{m.threeLevelCheckAll&&a++}),a>0&&a!=e.skuList.length?(e.secondLevelCheckAll=!1,e.isSecondLevelIndeterminate=!0):a==e.skuList.length?(e.isSecondLevelIndeterminate=!1,e.secondLevelCheckAll=!0):(e.isSecondLevelIndeterminate=!1,e.secondLevelCheckAll=!1),M();let i=U(s);l?(g.push(i.sku_id),i.goods_name=e.goods_name,i.goods_type_name=e.goods_type_name,i.goods_type=e.goods_type,d[r+i.sku_id]=i):(g.splice(g.indexOf(i.sku_id),1),delete d[r+i.sku_id])},M=()=>{let l=0;o.data.forEach((e,s)=>{e.secondLevelCheckAll&&l++}),l>0&&l!=o.data.length?(P.value=!1,S.value=!0):l>0&&l==o.data.length?(S.value=!1,P.value=!0):(S.value=!1,P.value=!1)},V=(l=1,e=null)=>{S.value=!1,P.value=!1,o.loading=!0,o.data=[],o.page=l;const s=F(o.searchParam);if(s.select_type=="selected"){const a=[];for(let i in d)a.push(parseInt(i.replace(r,"")));s[r+"ids"]=a}else s[r+"ids"]="";Fe({page:o.page,limit:o.limit,...s}).then(a=>{let i=F(a.data.data);i.forEach(m=>{m.isShow=!1,m.isSecondLevelIndeterminate=!1,m.secondLevelCheckAll=!1}),c.mode=="sku"&&i.forEach(m=>{m.skuList.length&&m.skuList.forEach(E=>{E.threeLevelCheckAll=!1,E.goods_type=m.goods_type})}),e&&e(c.mode=="spu"?a.data.verify_goods_ids:a.data.verify_sku_ids,a.data.select_goods_list),I(),o.data=i,o.total=a.data.total,o.loading=!1}).catch(()=>{o.loading=!1})},I=()=>{be(()=>{if(c.mode=="spu")for(let l=0;l<o.data.length;l++)o.data[l].secondLevelCheckAll=!1,d[r+o.data[l].goods_id]&&(o.data[l].secondLevelCheckAll=!0);else{let l=!0;for(let e=0;e<o.data.length;e++)o.data[e].secondLevelCheckAll=!1,l=!0,o.data[e].isSecondLevelIndeterminate=!1,o.data[e].skuList.forEach((s,a)=>{s.threeLevelCheckAll=!1,d[r+s.sku_id]?(o.data[e].isSecondLevelIndeterminate=!0,s.threeLevelCheckAll=!0):l=!1}),l&&(o.data[e].isSecondLevelIndeterminate=!1,o.data[e].secondLevelCheckAll=!0)}M()})},ce=l=>{l&&(l.resetFields(),V())},re=()=>{for(let l in d)delete d[l];r=c.mode=="sku"?"sku_":"goods_",c.mode=="sku"?o.searchParam.verify_sku_ids=k.value:o.searchParam.verify_goods_ids=k.value,pe(),V(1,l=>{if(k.value&&k.value.length&&(k.value.splice(0,k.value.length,...l),g.splice(0,g.length,...l),Object.keys(d).length))for(let e in d){let s=Number(e.split(r)[1]);k.value.indexOf(s)==-1&&delete d[e]}}),L.value=!0},pe=()=>{const l=F(o.searchParam);Be({...l}).then(e=>{const s=e.data;if(c.mode=="sku")for(let a=0;a<s.length;a++)s[a].skuList.forEach(i=>{k.value.indexOf(i.sku_id)!=-1&&(i.goods_name=s[a].goods_name,i.goods_type_name=s[a].goods_type_name,i.goods_type=s[a].goods_type,d[r+i.sku_id]=i)});else for(let a=0;a<s.length;a++)k.value.indexOf(s[a].goods_id)!=-1&&(d[r+s[a].goods_id]=s[a]);if(Object.keys(d).length&&k.value.length)for(let a in d){let i=Number(a.split(r)[1]);k.value.indexOf(i)==-1&&delete d[a]}I()})},ue=()=>{for(let l in d)delete d[l];I()},_e=()=>{if(c.min&&b.value<c.min){q({type:"warning",message:`${u("goodsSelectPopupGoodsMinTip")}${c.min}${u("goodsSelectPopupPiece")}`});return}if(c.max&&c.max>0&&b.value&&b.value>c.max){q({type:"warning",message:`${u("goodsSelectPopupGoodsMaxTip")}${c.max}${u("goodsSelectPopupPiece")}`});return}if(c.way=="single"){let e=0,s=0;for(let a in d)d[a].goods_type=="virtual"?s++:d[a].goods_type=="real"&&e++;if(e!=Object.keys(d).length&&s!=Object.keys(d).length){q({type:"warning",message:`${u("wayPlaceholder")}`});return}}let l=[];for(let e in d)l.push(parseInt(e.replace(r,"")));k.value.splice(0,k.value.length,...l),K("goodsSelect",d),ge(),L.value=!1},ge=()=>{o.searchParam.keyword="",o.searchParam.goods_category=[],o.searchParam.select_type="all",o.searchParam.goods_ids="",o.searchParam.verify_goods_ids="",o.searchParam.verify_sku_ids="",o.searchParam.goods_type=""};return le({showDialog:L,selectGoods:d,selectGoodsNum:b}),(l,e)=>{const s=Ce,a=Se,i=Pe,m=Le,E=Ve,j=Ee,me=Ae,H=Ge,Y=we,fe=Oe,he=Ne,ve=Te;return v(),x("div",null,[n("div",{onClick:re},[xe(l.$slots,"default",{},()=>[_(s,null,{default:h(()=>[G(f(p(u)("goodsSelectPopupSelectGoodsButton")),1)]),_:1}),N(n("div",Me,[n("span",null,f(p(u)("goodsSelectPopupSelect")),1),n("span",He,f(p(k).length),1),n("span",null,f(p(u)("goodsSelectPopupPiece")),1)],512),[[$,p(k).length]])],!0)]),_(he,{modelValue:L.value,"onUpdate:modelValue":e[11]||(e[11]=t=>L.value=t),title:p(u)("goodsSelectPopupSelectGoodsDialog"),width:"1000px","close-on-press-escape":!1,"destroy-on-close":!0,"close-on-click-modal":!1},{footer:h(()=>[n("span",As,[_(s,{onClick:e[10]||(e[10]=t=>L.value=!1)},{default:h(()=>[G(f(p(u)("cancel")),1)]),_:1}),_(s,{type:"primary",onClick:_e},{default:h(()=>[G(f(p(u)("confirm")),1)]),_:1})])]),default:h(()=>[_(me,{inline:!0,model:o.searchParam,ref_key:"searchFormRef",ref:W},{default:h(()=>[_(m,{prop:"select_type",class:"form-item-wrap"},{default:h(()=>[_(i,{modelValue:o.searchParam.select_type,"onUpdate:modelValue":e[0]||(e[0]=t=>o.searchParam.select_type=t),onChange:te},{default:h(()=>[_(a,{label:p(u)("goodsSelectPopupAllGoods"),value:"all"},null,8,["label"]),_(a,{label:p(u)("goodsSelectPopupSelectedGoods"),value:"selected"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1}),_(m,{label:p(u)("goodsSelectPopupGoodsName"),prop:"keyword",class:"form-item-wrap"},{default:h(()=>[_(E,{modelValue:o.searchParam.keyword,"onUpdate:modelValue":e[1]||(e[1]=t=>o.searchParam.keyword=t),modelModifiers:{trim:!0},placeholder:p(u)("goodsSelectPopupGoodsNamePlaceholder"),maxlength:"60"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),_(m,{label:p(u)("goodsSelectPopupGoodsCategory"),prop:"goods_category",class:"form-item-wrap"},{default:h(()=>[_(j,{modelValue:o.searchParam.goods_category,"onUpdate:modelValue":e[2]||(e[2]=t=>o.searchParam.goods_category=t),options:z,placeholder:p(u)("goodsSelectPopupGoodsCategoryPlaceholder"),clearable:"",props:{value:"value",label:"label",emitPath:!1}},null,8,["modelValue","options","placeholder"])]),_:1},8,["label"]),_(m,{label:p(u)("goodsSelectPopupGoodsType"),prop:"goods_type",class:"form-item-wrap"},{default:h(()=>[_(i,{modelValue:o.searchParam.goods_type,"onUpdate:modelValue":e[3]||(e[3]=t=>o.searchParam.goods_type=t),placeholder:p(u)("goodsSelectPopupGoodsTypePlaceholder"),clearable:""},{default:h(()=>[(v(!0),x(R,null,J(X,t=>(v(),Q(a,{key:t.type,label:t.name,value:t.type},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),_(m,{class:"form-item-wrap"},{default:h(()=>[_(s,{type:"primary",onClick:e[4]||(e[4]=t=>V())},{default:h(()=>[G(f(p(u)("search")),1)]),_:1}),_(s,{onClick:e[5]||(e[5]=t=>ce(W.value))},{default:h(()=>[G(f(p(u)("reset")),1)]),_:1})]),_:1})]),_:1},8,["model"]),N((v(),x("div",De,[n("div",Re,[Je,n("div",Qe,[_(H,{modelValue:P.value,"onUpdate:modelValue":e[6]||(e[6]=t=>P.value=t),indeterminate:S.value,onChange:de},null,8,["modelValue","indeterminate"])]),qe,Ke,We]),n("div",Xe,[(v(!0),x(R,null,J(o.data,(t,ke)=>(v(),x("div",{key:ke,class:"flex flex-col"},[n("div",Ye,[c.mode=="spu"?(v(),x("div",Ze)):T("",!0),c.mode=="sku"&&t.skuList.length>1?(v(),x("div",{key:1,class:se(["w-[3%] cursor-pointer text-center !text-[10px]",{"iconfont iconxiangyoujiantou":t.skuList.length,"arrow-show":t.isShow}]),onClick:y=>ae(t)},null,10,es)):T("",!0),c.mode=="sku"&&t.skuList.length<=1?(v(),x("div",ss)):T("",!0),n("div",os,[_(H,{modelValue:t.secondLevelCheckAll,"onUpdate:modelValue":y=>t.secondLevelCheckAll=y,indeterminate:t.isSecondLevelIndeterminate,onChange:y=>ne(y,t)},null,8,["modelValue","onUpdate:modelValue","indeterminate","onChange"])]),n("div",ls,[n("div",ts,[t.goods_cover_thumb_small?(v(),Q(Y,{key:0,class:"w-[60px] h-[60px]",src:p(oe)(t.goods_cover_thumb_small),fit:"contain"},{error:h(()=>[as]),_:2},1032,["src"])):(v(),x("img",ds))]),n("div",ns,[n("span",{title:t.goods_name,class:"multi-hidden leading-[1.4]"},f(t.goods_name),9,is),n("span",cs,f(t.goods_type_name),1),t.is_gift==1?(v(),x("span",rs,"赠品")):T("",!0)])]),n("div",ps,"¥"+f(t.goodsSku.price),1),n("div",us,f(t.stock),1)]),N(n("div",null,[(v(!0),x(R,null,J(t.skuList,(y,Z)=>(v(),x("div",{key:Z,class:se(["flex items-center py-[8px] border-solid border-transparent border-b-[1px]",{hidden:!t.isShow,"border-[#e5e7eb]":Z==t.skuList.length-1}])},[_s,n("div",gs,[_(H,{modelValue:y.threeLevelCheckAll,"onUpdate:modelValue":D=>y.threeLevelCheckAll=D,onChange:D=>ie(D,t,y)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),n("div",ms,[n("div",fs,[y.sku_image?(v(),Q(Y,{key:0,class:"w-[60px] h-[60px]",src:p(oe)(y.sku_image),fit:"contain"},{error:h(()=>[hs]),_:2},1032,["src"])):(v(),x("img",vs))]),n("div",ks,[n("span",{title:y.sku_name||t.goods_name,class:"multi-hidden leading-[1.4]"},f(y.sku_name||t.goods_name),9,ys),n("span",xs,f(t.goods_type_name),1)])]),n("div",bs,"¥"+f(y.price),1),n("div",Cs,f(y.stock),1)],2))),128))],512),[[$,c.mode=="sku"&&t.skuList.length>1]])]))),128)),!o.data.length&&!o.loading?(v(),x("div",Ss," 暂无数据 ")):T("",!0)])])),[[ve,o.loading]]),n("div",Ps,[n("div",Ls,[N(n("div",Vs,[n("span",null,f(p(u)("goodsSelectPopupBeforeTip")),1),n("span",Es,f(p(b)),1),n("span",null,f(p(u)("goodsSelectPopupAfterTip")),1)],512),[[$,p(b)]]),N(_(s,{type:"primary",link:"",onClick:ue},{default:h(()=>[G(f(p(u)("goodsSelectPopupClearGoods")),1)]),_:1},512),[[$,p(b)]])]),_(fe,{"current-page":o.page,"onUpdate:current-page":e[7]||(e[7]=t=>o.page=t),"page-size":o.limit,"onUpdate:page-size":e[8]||(e[8]=t=>o.limit=t),layout:"total, sizes, prev, pager, next, jumper",total:o.total,onSizeChange:e[9]||(e[9]=t=>V()),onCurrentChange:V},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue","title"])])}}});const eo=ze(Gs,[["__scopeId","data-v-38bc423e"]]);export{eo as default};
|
|
|