2 lines
5.6 KiB
JavaScript
2 lines
5.6 KiB
JavaScript
import{d as te,v as U,r as g,a as le,G as ae,g as n,z as h,k as u,w as l,c as b,H as B,e as a,b as r,l as se,m as oe,x as d,F as P,y as R,t as m,E as D,N as O,_ as ne}from"./index-DPvNEb09.js";import{a as ie}from"./user-CShwNvoE.js";const de={key:0,class:"user-info"},re={class:"user-detail"},ue={class:"nickname"},ce={class:"uid"},me={class:"goods-option"},pe={class:"prize-option"},ge={class:"prize-title"},_e={class:"prize-price"},fe={class:"prize-detail"},ve={key:0,class:"quantity-tip"},ye=te({__name:"GiftCardDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","success"],setup(_,{emit:H}){const x=_,F=H,k=U({get:()=>x.modelValue,set:s=>F("update:modelValue",s)}),V=g(),L=g(!1),w=g(!1),I=g(!1),q=g([]),p=g([]),o=le({goodsId:0,goodsListId:0,quantity:1}),M={goodsId:[{required:!0,message:"请选择盒子",trigger:"change"}],goodsListId:[{required:!0,message:"请选择奖品",trigger:"change"}],quantity:[{required:!0,message:"请输入赠送数量",trigger:"blur"},{type:"number",min:1,message:"数量必须大于0",trigger:"blur"}]},i=U(()=>p.value.find(s=>s.id===o.goodsListId)),Q=U(()=>{var s;return(s=i.value)!=null&&s.stock?i.value.stock:999}),G=s=>({1:"danger",2:"warning",3:"success",4:"info",5:""})[s]||"",$=async()=>{var s;w.value=!0;try{const t=await O({url:"/admin/business/goods",method:"get",params:{status:1,page:1,pageSize:1e3}});q.value=((s=t.data)==null?void 0:s.list)||[]}catch(t){console.error("加载盒子列表失败",t),q.value=[]}finally{w.value=!1}},j=async s=>{var t;if(!s){p.value=[];return}I.value=!0;try{const c=await O({url:`/admin/business/goods/${s}/prizes`,method:"get",params:{page:1,pageSize:1e3}});p.value=((t=c.data)==null?void 0:t.list)||[]}catch(c){console.error("加载奖品列表失败",c),p.value=[]}finally{I.value=!1}},A=s=>{o.goodsListId=0,o.quantity=1,j(s)},J=()=>{var s;o.goodsId=0,o.goodsListId=0,o.quantity=1,p.value=[],(s=V.value)==null||s.resetFields(),$()},C=()=>{k.value=!1},K=async()=>{var t;if(!x.user){D.warning("用户信息不存在");return}if(await((t=V.value)==null?void 0:t.validate())){L.value=!0;try{await ie(x.user.id,o),D.success("赠送成功"),F("success"),C()}catch(c){D.error(c.message||"赠送失败")}finally{L.value=!1}}};return ae(()=>o.goodsListId,()=>{o.quantity=1}),(s,t)=>{const c=n("el-icon"),W=n("el-avatar"),z=n("el-image"),N=n("el-option"),S=n("el-select"),f=n("el-form-item"),T=n("el-tag"),v=n("el-descriptions-item"),X=n("el-descriptions"),Y=n("el-input-number"),Z=n("el-form"),E=n("el-button"),ee=n("el-dialog");return u(),h(ee,{modelValue:k.value,"onUpdate:modelValue":t[3]||(t[3]=e=>k.value=e),title:"赠送卡牌",width:"700px","close-on-click-modal":!1,onClose:C,onOpen:J},{footer:l(()=>[a(E,{onClick:C},{default:l(()=>[...t[4]||(t[4]=[m("取消",-1)])]),_:1}),a(E,{type:"primary",onClick:K,loading:L.value},{default:l(()=>[...t[5]||(t[5]=[m("确定赠送",-1)])]),_:1},8,["loading"])]),default:l(()=>[_.user?(u(),b("div",de,[a(W,{src:_.user.avatar,size:40},{default:l(()=>[a(c,null,{default:l(()=>[a(se(oe))]),_:1})]),_:1},8,["src"]),r("div",re,[r("div",ue,d(_.user.nickname||"-"),1),r("div",ce,"UID: "+d(_.user.id),1)])])):B("",!0),a(Z,{ref_key:"formRef",ref:V,model:o,rules:M,"label-width":"100px"},{default:l(()=>[a(f,{label:"选择盒子",prop:"goodsId"},{default:l(()=>[a(S,{modelValue:o.goodsId,"onUpdate:modelValue":t[0]||(t[0]=e=>o.goodsId=e),placeholder:"请选择盒子",style:{width:"100%"},filterable:"",loading:w.value,onChange:A},{default:l(()=>[(u(!0),b(P,null,R(q.value,e=>(u(),h(N,{key:e.id,label:e.title,value:e.id},{default:l(()=>[r("div",me,[a(z,{src:e.imgUrl,style:{width:"30px",height:"30px","margin-right":"8px"},fit:"cover"},null,8,["src"]),r("span",null,d(e.title),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),a(f,{label:"选择奖品",prop:"goodsListId"},{default:l(()=>[a(S,{modelValue:o.goodsListId,"onUpdate:modelValue":t[1]||(t[1]=e=>o.goodsListId=e),placeholder:"请先选择盒子",style:{width:"100%"},filterable:"",loading:I.value,disabled:!o.goodsId},{default:l(()=>[(u(!0),b(P,null,R(p.value,e=>(u(),h(N,{key:e.id,label:e.title,value:e.id},{default:l(()=>{var y;return[r("div",pe,[a(z,{src:e.imgUrl,style:{width:"30px",height:"30px","margin-right":"8px"},fit:"cover"},null,8,["src"]),r("span",ge,d(e.title),1),a(T,{type:G(e.level),size:"small",class:"prize-level"},{default:l(()=>[m(d(e.levelText),1)]),_:2},1032,["type"]),r("span",_e,"¥"+d((y=e.price)==null?void 0:y.toFixed(2)),1)])]}),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading","disabled"])]),_:1}),i.value?(u(),h(f,{key:0,label:"奖品详情"},{default:l(()=>[r("div",fe,[a(z,{src:i.value.imgUrl,style:{width:"80px",height:"80px"},fit:"cover"},null,8,["src"]),a(X,{column:2,border:"",size:"small",class:"prize-desc"},{default:l(()=>[a(v,{label:"奖品名称"},{default:l(()=>[m(d(i.value.title),1)]),_:1}),a(v,{label:"奖品等级"},{default:l(()=>[a(T,{type:G(i.value.level),size:"small"},{default:l(()=>[m(d(i.value.levelText),1)]),_:1},8,["type"])]),_:1}),a(v,{label:"奖品价值"},{default:l(()=>{var e;return[m("¥"+d((e=i.value.price)==null?void 0:e.toFixed(2)),1)]}),_:1}),a(v,{label:"剩余库存"},{default:l(()=>[m(d(i.value.stock??"不限"),1)]),_:1})]),_:1})])]),_:1})):B("",!0),a(f,{label:"赠送数量",prop:"quantity"},{default:l(()=>{var e;return[a(Y,{modelValue:o.quantity,"onUpdate:modelValue":t[2]||(t[2]=y=>o.quantity=y),min:1,max:Q.value,style:{width:"200px"}},null,8,["modelValue","max"]),(e=i.value)!=null&&e.stock?(u(),b("span",ve," (最多可赠送 "+d(i.value.stock)+" 个) ",1)):B("",!0)]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),xe=ne(ye,[["__scopeId","data-v-59c0c0f3"]]);export{xe as default};
|