HaniBlindBox/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/GiftCouponDialog-ClTp6bnF.js
2026-01-17 20:21:30 +08:00

2 lines
4.3 KiB
JavaScript

import{d as K,v as y,r as g,a as P,D as W,g as r,z as I,k as u,w as t,c,G as D,e as o,b as p,l as X,m as Y,x as s,F as m,y as Z,t as d,E as B,T as $,_ as ee}from"./index--wUHvPGi.js";import{f as te}from"./user-DjzArC70.js";const ae={key:0,class:"user-info"},le={class:"user-detail"},oe={class:"nickname"},se={class:"uid"},ne={class:"coupon-option"},ue={class:"coupon-title"},ie={class:"coupon-value"},re={key:0,class:"quantity-tip"},de=K({__name:"GiftCouponDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","success"],setup(_,{emit:T}){const k=_,L=T,b=y({get:()=>k.modelValue,set:a=>L("update:modelValue",a)}),V=g(),h=g(!1),x=g(!1),f=g([]),i=P({couponId:0,quantity:1}),U={couponId:[{required:!0,message:"请选择优惠券",trigger:"change"}],quantity:[{required:!0,message:"请输入赠送数量",trigger:"blur"},{type:"number",min:1,message:"数量必须大于0",trigger:"blur"}]},l=y(()=>f.value.find(a=>a.id===i.couponId)),z=y(()=>l.value?{1:"满减券",2:"折扣券",3:"无门槛券"}[l.value.type]||"未知":""),E=y(()=>{var a;return(a=l.value)!=null&&a.stock?l.value.stock:999}),F=async()=>{x.value=!0;try{const a=await $({url:"/admin/business/coupons/templates",method:"get",params:{status:1}});f.value=a.data||[]}catch(a){console.error("加载优惠券列表失败",a),f.value=[]}finally{x.value=!1}},G=()=>{var a;i.couponId=0,i.quantity=1,(a=V.value)==null||a.resetFields(),F()},C=()=>{b.value=!1},M=async()=>{var n;if(!k.user){B.warning("用户信息不存在");return}if(await((n=V.value)==null?void 0:n.validate())){h.value=!0;try{await te(k.user.id,i),B.success("赠送成功"),L("success"),C()}catch(q){B.error(q.message||"赠送失败")}finally{h.value=!1}}};return W(()=>i.couponId,()=>{i.quantity=1}),(a,n)=>{const q=r("el-icon"),R=r("el-avatar"),O=r("el-option"),S=r("el-select"),w=r("el-form-item"),v=r("el-descriptions-item"),Q=r("el-descriptions"),j=r("el-input-number"),A=r("el-form"),N=r("el-button"),H=r("el-dialog");return u(),I(H,{modelValue:b.value,"onUpdate:modelValue":n[2]||(n[2]=e=>b.value=e),title:"赠送优惠券",width:"600px","close-on-click-modal":!1,onClose:C,onOpen:G},{footer:t(()=>[o(N,{onClick:C},{default:t(()=>[...n[3]||(n[3]=[d("取消",-1)])]),_:1}),o(N,{type:"primary",onClick:M,loading:h.value},{default:t(()=>[...n[4]||(n[4]=[d("确定赠送",-1)])]),_:1},8,["loading"])]),default:t(()=>[_.user?(u(),c("div",ae,[o(R,{src:_.user.avatar,size:40},{default:t(()=>[o(q,null,{default:t(()=>[o(X(Y))]),_:1})]),_:1},8,["src"]),p("div",le,[p("div",oe,s(_.user.nickname||"-"),1),p("div",se,"UID: "+s(_.user.id),1)])])):D("",!0),o(A,{ref_key:"formRef",ref:V,model:i,rules:U,"label-width":"100px"},{default:t(()=>[o(w,{label:"选择优惠券",prop:"couponId"},{default:t(()=>[o(S,{modelValue:i.couponId,"onUpdate:modelValue":n[0]||(n[0]=e=>i.couponId=e),placeholder:"请选择优惠券",style:{width:"100%"},filterable:"",loading:x.value},{default:t(()=>[(u(!0),c(m,null,Z(f.value,e=>(u(),I(O,{key:e.id,label:e.title,value:e.id},{default:t(()=>[p("div",ne,[p("span",ue,s(e.title),1),p("span",ie,[e.type===1?(u(),c(m,{key:0},[d("满"+s(e.minMoney)+"减"+s(e.money),1)],64)):e.type===2?(u(),c(m,{key:1},[d(s(e.discount)+"折",1)],64)):(u(),c(m,{key:2},[d(s(e.money)+"元",1)],64))])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),l.value?(u(),I(w,{key:0,label:"优惠券详情"},{default:t(()=>[o(Q,{column:2,border:"",size:"small"},{default:t(()=>[o(v,{label:"名称"},{default:t(()=>[d(s(l.value.title),1)]),_:1}),o(v,{label:"类型"},{default:t(()=>[d(s(z.value),1)]),_:1}),o(v,{label:"面值"},{default:t(()=>[l.value.type===1?(u(),c(m,{key:0},[d("满"+s(l.value.minMoney)+"减"+s(l.value.money),1)],64)):l.value.type===2?(u(),c(m,{key:1},[d(s(l.value.discount)+"折",1)],64)):(u(),c(m,{key:2},[d(s(l.value.money)+"元",1)],64))]),_:1}),o(v,{label:"剩余数量"},{default:t(()=>[d(s(l.value.stock??"不限"),1)]),_:1})]),_:1})]),_:1})):D("",!0),o(w,{label:"赠送数量",prop:"quantity"},{default:t(()=>{var e;return[o(j,{modelValue:i.quantity,"onUpdate:modelValue":n[1]||(n[1]=J=>i.quantity=J),min:1,max:E.value,style:{width:"200px"}},null,8,["modelValue","max"]),(e=l.value)!=null&&e.stock?(u(),c("span",re," (最多可赠送 "+s(l.value.stock)+" 张) ",1)):D("",!0)]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),pe=ee(de,[["__scopeId","data-v-5333f49e"]]);export{pe as default};