var e=(e,i,t)=>new Promise((a,o)=>{var r=e=>{try{s(t.next(e))}catch(i){o(i)}},l=e=>{try{s(t.throw(e))}catch(i){o(i)}},s=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,l);s((t=t.apply(e,i)).next())});import{d as i,a as t,r as a,w as o,y as r,f as l,z as s,p as d,e as m,F as n,G as p,h as u,m as c,l as v,O as f}from"./index-ip5gDR6L.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{f as j}from"./product-ti2LZz-w.js";import{E as y,a as x}from"./index-CxGOZAw2.js";import{E as _,a as g}from"./index-Br3btmwp.js";import{E as h}from"./index-D1xXI5gl.js";import{E as k}from"./index-HtXsSizM.js";import{E as b}from"./index-DfrOVkw6.js";import{E as w}from"./index-opP5No9I.js";import{E as q}from"./index-BpP4itD-.js";import{_ as P}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./use-form-common-props-BwBs_jod.js";import"./index-D-10FtUD.js";import"./index-CHAf6FpU.js";import"./index-fnD_mPvE.js";import"./use-form-item-BDb3ZgPk.js";import"./_initCloneObject-DwsgJamq.js";import"./index-C9KXwj2c.js";import"./index-DbRz3Zuu.js";import"./token-DWNpOE8r.js";import"./scroll-ChxXkPhM.js";import"./debounce-B9s63_mG.js";import"./index-Jz5GfFad.js";import"./vnode-6FKeug3R.js";import"./index-BbcTNOqF.js";import"./index-D-iZIej9.js";import"./index-D17cYxP7.js";import"./use-dialog-Cj8YneNA.js";import"./index-D6zsJoyl.js";import"./refs-Cw5r5QN8.js";const V={class:"flex items-center justify-between"},E={class:"font-medium"},C={class:"text-sm text-gray-500"},A=P(i({__name:"grant-reward-dialog",props:{visible:{type:Boolean},playerId:{}},emits:["update:visible","submit"],setup(i,{emit:P}){const A=i,I=P,U=t(),z=t(!1),B=t(!1),M=a({product_id:void 0,quantity:1,activity_id:void 0,reward_id:void 0,remark:""}),F=t([]);t([]),t([]);const L=t([]),O={product_id:[{required:!0,message:"请选择商品",trigger:"change"}],quantity:[{required:!0,message:"请输入发放数量",trigger:"blur"},{type:"number",min:1,max:100,message:"发放数量必须在1-100之间",trigger:"blur"}]},R=i=>e(this,null,function*(){B.value=!0;try{const e=(yield j({name:i||void 0,status:1,page:1,page_size:50})).list.map(e=>({id:e.id,name:e.name,price:e.price,stock:e.stock||0}));F.value=e,0===e.length?f.info(i?"未找到相关商品":"暂无可用商品"):f.success(`成功加载 ${e.length} 个商品`)}catch(e){const t=[{id:1,name:"iPhone 15 Pro",stock:100,price:9999},{id:2,name:"MacBook Air",stock:50,price:8999},{id:3,name:"AirPods Pro",stock:200,price:1999},{id:4,name:"iPad Air",stock:80,price:4399},{id:5,name:"Apple Watch",stock:150,price:2999},{id:6,name:"iPhone 15",stock:120,price:7999},{id:7,name:"MacBook Pro",stock:30,price:15999},{id:8,name:"AirPods Max",stock:75,price:4399}],a=i?t.filter(e=>e.name.toLowerCase().includes(i.toLowerCase())):t;F.value=a,f.warning("商品数据加载失败,使用演示数据")}finally{B.value=!1}}),X=()=>e(this,null,function*(){if(A.playerId)try{L.value=[]}catch(e){}}),$=()=>e(this,null,function*(){U.value&&A.playerId&&(yield U.value.validate(i=>e(this,null,function*(){if(i){z.value=!0;try{const e={product_id:M.product_id,quantity:M.quantity,activity_id:M.activity_id||void 0,reward_id:M.reward_id||void 0,remark:M.remark};I("submit",e),G()}catch(e){f.error(e.message||"奖励发放失败")}finally{z.value=!1}}})))}),G=()=>{I("update:visible",!1)},N=()=>{var e;null==(e=U.value)||e.resetFields(),M.quantity=1,M.activity_id=void 0,M.reward_id=void 0,M.remark="",F.value=[]};return o(()=>A.playerId,e=>{e&&(X(),R(""))},{immediate:!0}),o(()=>A.visible,e=>{e&&0===F.value.length&&R("")}),(e,t)=>{const a=h,o=g,f=_,j=x,P=k,A=b,L=y,X=w,Q=q;return l(),r(Q,{title:"给用户发放奖励","model-value":i.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>I("update:visible",e)),width:"600px","close-on-click-modal":!1,onClosed:N},{footer:s(()=>[d(X,{onClick:G},{default:s(()=>[...t[5]||(t[5]=[v("取消",-1)])]),_:1}),d(X,{type:"primary",loading:z.value,onClick:$},{default:s(()=>[...t[6]||(t[6]=[v(" 确认发放 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[d(L,{ref_key:"formRef",ref:U,model:M,rules:O,"label-width":"100px",class:"reward-form"},{default:s(()=>[d(j,{label:"选择商品",prop:"product_id"},{default:s(()=>[d(f,{modelValue:M.product_id,"onUpdate:modelValue":t[0]||(t[0]=e=>M.product_id=e),placeholder:"请选择要发放的商品",filterable:"",remote:"","remote-method":R,loading:B.value,style:{width:"100%"}},{default:s(()=>[(l(!0),m(n,null,p(F.value,e=>(l(),r(o,{key:e.id,label:e.name,value:e.id},{default:s(()=>[u("div",V,[u("div",null,[u("div",E,c(e.name),1),u("div",C,"¥"+c(e.price),1)]),d(a,{size:"small",type:e.stock>0?"success":"danger"},{default:s(()=>[v(" 库存: "+c(e.stock||0),1)]),_:2},1032,["type"])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),d(j,{label:"发放数量",prop:"quantity"},{default:s(()=>[d(P,{modelValue:M.quantity,"onUpdate:modelValue":t[1]||(t[1]=e=>M.quantity=e),min:1,max:100,"controls-position":"right",style:{width:"120px"}},null,8,["modelValue"]),t[4]||(t[4]=u("span",{class:"ml-2 text-sm text-gray-500"},"最多可发放100个",-1))]),_:1}),d(j,{label:"备注",prop:"remark"},{default:s(()=>[d(A,{modelValue:M.remark,"onUpdate:modelValue":t[2]||(t[2]=e=>M.remark=e),type:"textarea",rows:2,placeholder:"请输入发放备注(可选)",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"])}}}),[["__scopeId","data-v-f38c8dc4"]]);export{A as default};