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
6.2 KiB
1 lines
6.2 KiB
import{d as J,M as D,r as C,l as N,h as v,c as b,a as d,b as Q,e as s,w as r,i as y,t as i,u as l,k as o,J as S,a9 as w,m as q,Q as K,aG as W,P as T,E as X,D as Y,G as Z,H as ee,$ as te,a0 as ae,a1 as le,V as oe,L as ne}from"./index-775ec1fd.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 */import"./el-tooltip-4ed993c7.js";/* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import{g as se}from"./marketing-c3d9ac30.js";import{_ as ie}from"./_plugin-vue_export-helper-c27b6911.js";const pe={class:"inline-block ml-[10px] text-[14px]"},re={class:"text-primary mx-[2px]"},de={key:0},ue={key:1},ce={key:0},me={key:1},_e={class:"mt-[16px] flex"},fe={class:"flex items-center flex-1"},ge={class:"layui-table-bottom-left-container mr-[10px]"},he={class:"text-primary mx-[2px]"},ve={class:"dialog-footer"},ye=J({__name:"coupon-select-popup",props:{modelValue:{type:String,default:""},max:{type:Number,default:0},min:{type:Number,default:0}},emits:["update:modelValue","couponSelect"],setup(z,{expose:F,emit:V}){const _=z,c=D({get(){return _.modelValue},set(a){V("update:modelValue",a)}}),g=C(!1),p=N({}),f=D(()=>Object.keys(p).length),t=N({page:1,limit:10,total:0,loading:!0,data:[],searchParam:{title:"",status:1,verify_coupon_ids:""}}),E=C(),k=C();C([]);const I=(a,e)=>{let u=!1;for(let m=0;m<a.length;m++)if(a[m].id==e.id){u=!0;break}u?p["coupon_"+e.id]=e:delete p["coupon_"+e.id]},L=a=>{a.length?a.forEach(e=>{p["coupon_"+e.id]=e}):t.data.forEach(e=>{delete p["coupon_"+e.id]})},x=(a=1,e=null)=>{t.loading=!0,t.page=a;const u=K(t.searchParam);se({page:t.page,limit:t.limit,...u}).then(m=>{t.loading=!1,t.data=m.data.data,t.total=m.data.total,e&&e(m.data.verify_coupon_ids),$()}).catch(()=>{t.loading=!1})},$=()=>{W(()=>{if(k.value)for(let a=0;a<t.data.length;a++)k.value.toggleRowSelection(t.data[a],!1),p["coupon_"+t.data[a].id]&&k.value.toggleRowSelection(t.data[a],!0)})},R=a=>{a&&(a.resetFields(),x())},B=()=>{t.searchParam.verify_coupon_ids=c.value,x(1,a=>{if(c.value){c.value.splice(0,c.value.length,...a);for(let e in p){const u=e.replace("coupon_","");c.value.includes(Number(u))||delete p[e]}c.value.forEach(e=>{p["coupon_"+e]||(p["coupon_"+e]={})});for(let e=0;e<t.data.length;e++)c.value.indexOf(t.data[e].id)!=-1&&(p["coupon_"+t.data[e].id]=t.data[e])}}),g.value=!0},U=()=>{for(let a in p)delete p[a];$()},M=()=>{if(_.min&&f.value<_.min){T({type:"warning",message:`${o("所选优惠券数量不能少于")}${_.min}${o("张")}`});return}if(_.max&&_.max>0&&f.value&&f.value>_.max){T({type:"warning",message:`${o("所选优惠券数量不能超过")}${_.max}${o("张")}`});return}let a=[];for(let e in p)a.push(parseInt(e.replace("coupon_","")));c.value.splice(0,c.value.length,...a),V("couponSelect",p),g.value=!1};return F({showDialog:g,selectCoupon:p,selectCouponNum:f}),(a,e)=>{const u=X,m=Y,P=Z,j=ee,h=te,A=ae,G=le,O=oe,H=ne;return v(),b("div",null,[d("div",{onClick:B},[Q(a.$slots,"default",{},()=>[s(u,null,{default:r(()=>[y(i(l(o)("选择优惠券")),1)]),_:1}),S(d("div",pe,[d("span",null,i(l(o)("已选")),1),d("span",re,i(l(c).length),1),d("span",null,i(l(o)("张")),1)],512),[[w,l(c).length]])],!0)]),s(O,{modelValue:g.value,"onUpdate:modelValue":e[7]||(e[7]=n=>g.value=n),title:l(o)("优惠券选择"),width:"1000px","close-on-press-escape":!1,"destroy-on-close":!0,"close-on-click-modal":!1},{footer:r(()=>[d("span",ve,[s(u,{onClick:e[6]||(e[6]=n=>g.value=!1)},{default:r(()=>[y(i(l(o)("cancel")),1)]),_:1}),s(u,{type:"primary",onClick:M},{default:r(()=>[y(i(l(o)("confirm")),1)]),_:1})])]),default:r(()=>[s(j,{inline:!0,model:t.searchParam,ref_key:"searchFormRef",ref:E},{default:r(()=>[s(P,{label:l(o)("优惠券名称"),prop:"keyword",class:"form-item-wrap"},{default:r(()=>[s(m,{modelValue:t.searchParam.title,"onUpdate:modelValue":e[0]||(e[0]=n=>t.searchParam.title=n),modelModifiers:{trim:!0},placeholder:l(o)("请输入优惠券名称"),maxlength:"60"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(P,{class:"form-item-wrap"},{default:r(()=>[s(u,{type:"primary",onClick:e[1]||(e[1]=n=>x())},{default:r(()=>[y(i(l(o)("search")),1)]),_:1}),s(u,{onClick:e[2]||(e[2]=n=>R(E.value))},{default:r(()=>[y(i(l(o)("reset")),1)]),_:1})]),_:1})]),_:1},8,["model"]),S((v(),q(A,{data:t.data,size:"large",ref_key:"couponListTableRef",ref:k,"max-height":"400",onSelect:I,onSelectAll:L},{empty:r(()=>[d("span",null,i(t.loading?"":l(o)("emptyData")),1)]),default:r(()=>[s(h,{type:"selection",width:"55"}),s(h,{prop:"title",label:l(o)("名称"),"min-width":"130"},null,8,["label"]),s(h,{prop:"type_name",label:l(o)("类型"),"min-width":"130"},null,8,["label"]),s(h,{prop:"price",label:l(o)("面值"),"min-width":"130"},{default:r(({row:n})=>[d("span",null,"¥"+i(n.price),1)]),_:1},8,["label"]),s(h,{label:l(o)("使用门槛"),"min-width":"130"},{default:r(({row:n})=>[n.min_condition_money=="0.00"?(v(),b("span",de,"无门槛")):(v(),b("span",ue,"满"+i(n.min_condition_money)+"元可用",1))]),_:1},8,["label"]),s(h,{label:l(o)("有效期"),"min-width":"210"},{default:r(({row:n})=>[n.valid_type==1?(v(),b("span",ce," 领取之日起"+i(n.length||"")+" 天内有效",1)):(v(),b("span",me," 使用截止时间至"+i(n.valid_end_time||""),1))]),_:1},8,["label"])]),_:1},8,["data"])),[[H,t.loading]]),d("div",_e,[d("div",fe,[S(d("div",ge,[d("span",null,i(l(o)("已选择")),1),d("span",he,i(l(f)),1),d("span",null,i(l(o)("张优惠券")),1)],512),[[w,l(f)]]),S(s(u,{type:"primary",link:"",onClick:U},{default:r(()=>[y(i(l(o)("取消选择")),1)]),_:1},512),[[w,l(f)]])]),s(G,{"current-page":t.page,"onUpdate:current-page":e[3]||(e[3]=n=>t.page=n),"page-size":t.limit,"onUpdate:page-size":e[4]||(e[4]=n=>t.limit=n),layout:"total, sizes, prev, pager, next, jumper",total:t.total,onSizeChange:e[5]||(e[5]=n=>x()),onCurrentChange:x},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue","title"])])}}});const Me=ie(ye,[["__scopeId","data-v-545e4dfd"]]);export{Me as default};
|
|
|