var e=(e,a,l)=>new Promise((t,o)=>{var u=e=>{try{i(l.next(e))}catch(a){o(a)}},s=e=>{try{i(l.throw(e))}catch(a){o(a)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,s);i((l=l.apply(e,a)).next())});import{d as a,r as l,c as t,A as o,h as u,e as s,w as i,N as d,g as n,i as r,K as p,f as m,v as _,j as c,b2 as v,E as f,O as y,T as g}from"./index-BoIUJTA2.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 */import{c as V}from"./coupons-tpfgWUoF.js";import{a as j,E as b}from"./index-BcfO0-fK.js";import{E as h,a as x}from"./index-D2gD5Tn5.js";import{E as k}from"./index-C_S0YbqD.js";import{a as w,b as U}from"./index-DqTthkO7.js";import{E as q}from"./index-CjpBlozU.js";import{_ as M}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const C={class:"form-tip"},E=M(a({__name:"coupon-dialog",props:{modelValue:{type:Boolean},data:{},mode:{}},emits:["update:modelValue","success"],setup(a,{emit:M}){const E=a,A=M,I=l(),K=l(!1),O=l({name:"",coupon_type:1,discount_type:1,discount_value:0,valid_days:30,status:1,show_in_miniapp:1,remark:""}),P={name:[{required:!0,message:"请输入优惠券名称",trigger:"blur"},{min:2,max:50,message:"长度在 2 到 50 个字符",trigger:"blur"}],coupon_type:[{required:!0,message:"请选择优惠券类型",trigger:"change"}],discount_type:[{required:!0,message:"请选择折扣类型",trigger:"change"}],discount_value:[{required:!0,message:"请输入折扣值",trigger:"blur"},{type:"number",min:0,message:"折扣值不能小于0",trigger:"blur"}],valid_days:[{required:!0,message:"请输入有效期",trigger:"blur"},{type:"number",min:1,message:"有效期至少为1天",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]},T=t(()=>"create"===E.mode?"新增优惠券":"编辑优惠券"),B=t({get:()=>E.modelValue,set:e=>A("update:modelValue",e)}),F=t({get:()=>1===O.value.discount_type?Math.round(O.value.discount_value||0)/100:O.value.discount_value,set:e=>{1===O.value.discount_type?O.value.discount_value=Math.round(100*(e||0)):O.value.discount_value=e||0}}),H=t({get:()=>Math.round(O.value.min_amount||0)/100,set:e=>{O.value.min_amount=Math.round(100*(e||0))}}),N=t({get:()=>Math.round(O.value.max_discount||0)/100,set:e=>{O.value.max_discount=Math.round(100*(e||0))}});function Q(){O.value={name:"",coupon_type:1,discount_type:1,discount_value:0,valid_days:30,status:1,show_in_miniapp:1,remark:""}}o(()=>E.data,e=>{e?O.value={name:e.name,coupon_type:e.coupon_type,discount_type:e.discount_type,discount_value:e.discount_value,min_amount:e.min_amount,max_discount:e.max_discount,valid_days:e.valid_days,total_quantity:e.total_quantity,status:e.status,show_in_miniapp:e.show_in_miniapp,remark:e.remark||""}:Q()},{immediate:!0,flush:"post"});const R=()=>{var e;B.value=!1,null==(e=I.value)||e.resetFields(),Q()},S=()=>e(this,null,function*(){I.value&&(yield I.value.validate(a=>e(this,null,function*(){if(a){K.value=!0;try{let e;"create"===E.mode?e=yield V.create(O.value):E.data&&(e=yield V.update(E.data.id,O.value)),g.success("create"===E.mode?"创建成功":"更新成功"),A("success"),R()}catch(e){g.error("create"===E.mode?"创建失败":"更新失败")}finally{K.value=!1}}})))});return(e,a)=>{const l=p,t=b,o=x,g=h,V=k,M=U,E=w,A=j,Q=f,W=q,X=v;return s(),u(W,{modelValue:B.value,"onUpdate:modelValue":a[11]||(a[11]=e=>B.value=e),title:T.value,width:"600px","close-on-click-modal":!1,onClose:R},{footer:i(()=>[n(Q,{onClick:y(R,["prevent"])},{default:i(()=>[...a[20]||(a[20]=[c("取消",-1)])]),_:1}),n(Q,{type:"primary",onClick:y(S,["prevent"]),loading:K.value},{default:i(()=>[...a[21]||(a[21]=[c(" 确定 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[d((s(),u(A,{ref_key:"formRef",ref:I,model:O.value,rules:P,"label-width":"100px"},{default:i(()=>[n(t,{label:"名称",prop:"name"},{default:i(()=>[n(l,{modelValue:O.value.name,"onUpdate:modelValue":a[0]||(a[0]=e=>O.value.name=e),placeholder:"请输入优惠券名称"},null,8,["modelValue"])]),_:1}),n(t,{label:"类型",prop:"coupon_type"},{default:i(()=>[n(g,{modelValue:O.value.coupon_type,"onUpdate:modelValue":a[1]||(a[1]=e=>O.value.coupon_type=e),placeholder:"请选择优惠券类型"},{default:i(()=>[n(o,{label:"通用券",value:1}),n(o,{label:"活动券",value:2})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"折扣类型",prop:"discount_type"},{default:i(()=>[n(g,{modelValue:O.value.discount_type,"onUpdate:modelValue":a[2]||(a[2]=e=>O.value.discount_type=e),placeholder:"请选择折扣类型"},{default:i(()=>[n(o,{label:"固定金额",value:1}),n(o,{label:"折扣比例",value:2})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"折扣值",prop:"discount_value"},{default:i(()=>[n(V,{modelValue:F.value,"onUpdate:modelValue":a[3]||(a[3]=e=>F.value=e),min:0,precision:1===O.value.discount_type?2:1,step:1===O.value.discount_type?.01:.1},null,8,["modelValue","precision","step"]),m("span",C,_(1===O.value.discount_type?"元":"折"),1)]),_:1}),n(t,{label:"最低消费",prop:"min_amount"},{default:i(()=>[n(V,{modelValue:H.value,"onUpdate:modelValue":a[4]||(a[4]=e=>H.value=e),min:0,precision:2,step:.01},null,8,["modelValue"]),a[12]||(a[12]=m("span",{class:"form-tip"},"元",-1))]),_:1}),2===O.value.discount_type?(s(),u(t,{key:0,label:"最大折扣",prop:"max_discount"},{default:i(()=>[n(V,{modelValue:N.value,"onUpdate:modelValue":a[5]||(a[5]=e=>N.value=e),min:0,precision:2,step:.01},null,8,["modelValue"]),a[13]||(a[13]=m("span",{class:"form-tip"},"元",-1))]),_:1})):r("",!0),n(t,{label:"有效期",prop:"valid_days"},{default:i(()=>[n(V,{modelValue:O.value.valid_days,"onUpdate:modelValue":a[6]||(a[6]=e=>O.value.valid_days=e),min:1},null,8,["modelValue"]),a[14]||(a[14]=m("span",{class:"form-tip"},"天",-1))]),_:1}),n(t,{label:"发放数量",prop:"total_quantity"},{default:i(()=>[n(V,{modelValue:O.value.total_quantity,"onUpdate:modelValue":a[7]||(a[7]=e=>O.value.total_quantity=e),min:0},null,8,["modelValue"]),a[15]||(a[15]=m("span",{class:"form-tip"},"0表示不限量",-1))]),_:1}),n(t,{label:"状态",prop:"status"},{default:i(()=>[n(E,{modelValue:O.value.status,"onUpdate:modelValue":a[8]||(a[8]=e=>O.value.status=e)},{default:i(()=>[n(M,{value:1},{default:i(()=>[...a[16]||(a[16]=[c("启用",-1)])]),_:1}),n(M,{value:2},{default:i(()=>[...a[17]||(a[17]=[c("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"小程序显示",prop:"show_in_miniapp"},{default:i(()=>[n(E,{modelValue:O.value.show_in_miniapp,"onUpdate:modelValue":a[9]||(a[9]=e=>O.value.show_in_miniapp=e)},{default:i(()=>[n(M,{value:1},{default:i(()=>[...a[18]||(a[18]=[c("显示",-1)])]),_:1}),n(M,{value:0},{default:i(()=>[...a[19]||(a[19]=[c("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"备注",prop:"remark"},{default:i(()=>[n(l,{modelValue:O.value.remark,"onUpdate:modelValue":a[10]||(a[10]=e=>O.value.remark=e),type:"textarea",rows:3,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])),[[X,K.value]])]),_:1},8,["modelValue","title"])}}}),[["__scopeId","data-v-4f6163af"]]);export{E as default};