const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BeZn6wgH.js","assets/index-Cu58CwP1.css"])))=>i.map(i=>d[i]); var e=Object.defineProperty,l=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,o=(l,t,a)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,i=(e,l,t)=>new Promise((a,o)=>{var i=e=>{try{u(t.next(e))}catch(l){o(l)}},r=e=>{try{u(t.throw(e))}catch(l){o(l)}},u=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,l)).next())});import{d as r,C as u,r as s,c as n,aZ as d,f as p,a as m,o as c,j as v,b,w as _,p as f,N as y,i as V,q as h,L as g,m as j,H as w,I as x,G as q,J as U,aD as S,aV as B,T as k}from"./index-BeZn6wgH.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as C}from"./index-BbMTea7d.js";import{_ as M}from"./index-BIoKEsJe.js";import{_ as N}from"./index.vue_vue_type_script_setup_true_lang-Cwz1VPh7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{h as O,m as E,n as I,o as A}from"./adminActivities-Dndna7OD.js";import{f as F}from"./product-BgjZetTQ.js";import{E as L,a as P}from"./index-B43cMk6T.js";import{E as $}from"./index-BXzCnZ_d.js";import{E as R}from"./index-gJfKG9HJ.js";import{E as z}from"./index-rM5MDBEe.js";import{a as T,E as D}from"./index-Dn4yxdMr.js";import{E as H}from"./index-DfDWpFb3.js";import"./el-pagination-BybCuExY.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-table-column-Us9hXTbB.js";import"./index-s8Fl0Qzt.js";import"./index-CnhjG_Ys.js";import"./index-A3hG-0VQ.js";import"./index-DC47MImW.js";import"./_initCloneObject-BHiCRTfC.js";import"./isArrayLikeObject-D4Ef3RBY.js";import"./raf-CY4TyS52.js";import"./_baseIteratee-sVeOpCU9.js";import"./castArray-BakW2F2h.js";import"./debounce-C7sIggI-.js";import"./index-BtwYQklV.js";import"./index-DZdoPtEQ.js";/* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";import"./el-popover-BY7WM4__.js";import"./el-dropdown-item-D3gOKOyu.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-BQI7d56A.js";/* empty css */import"./token-DWNpOE8r.js";import"./index-DdvpTWQd.js";import"./use-dialog-D_t6_hoT.js";const G={class:"mb-3"},J={class:"mb-2"},Q={class:"mb-2"},K={key:0,class:"mb-2"},W={key:1},X={class:"flex justify-between items-center"},Y={class:"ml-2 text-gray-500 text-sm"},Z={key:2},ee={class:"flex justify-between items-center"},le={class:"ml-2 text-gray-500 text-sm"},te=r({__name:"index",setup(e){const r=u(),te=Number(r.params.activityId),ae=Number(r.params.issueId),oe=s({name:"",level:null,isBoss:null,priceMin:null,priceMax:null,sortBy:"level",sortOrder:"asc"}),ie=s(!1),re=s([]),ue=s([{prop:"weight",label:"权重"},{prop:"quantity",label:"数量"},{prop:"original_qty",label:"原始数量"},{prop:"product_id",label:"商品",useSlot:!0},{prop:"product_price",label:"单价",useSlot:!0},{prop:"level",label:"等级",useSlot:!0},{prop:"remain",label:"剩余/总量",useSlot:!0},{prop:"expected",label:"期望概率",useSlot:!0},{prop:"sort",label:"排序"},{prop:"is_boss",label:"Boss",useSlot:!0},{prop:"actions",label:"操作",useSlot:!0}]),se=s(!1),ne=n(()=>"create"===de.value?"新增奖励":"编辑奖励"),de=s("create"),pe=s([]),me=s(null),ce=s([]),ve=s({}),be=s(),{width:_e}=d(),fe=n(()=>`${Math.min(1100,Math.max(720,_e.value-120))}px`),ye=n(()=>re.value.reduce((e,l)=>e+(Number(l.weight)||0),0)),Ve=n(()=>{const e=oe.value.level,l=oe.value.isBoss;let t=re.value.slice();null!=e&&(t=t.filter(l=>Number(l.level)===e)),null!=l&&(t=t.filter(e=>Number(e.is_boss)===l));const a=oe.value.priceMin,o=oe.value.priceMax;null!=a&&(t=t.filter(e=>(ve.value[e.product_id]||0)>=a)),null!=o&&(t=t.filter(e=>(ve.value[e.product_id]||0)<=o));const i=oe.value.sortBy||"level",r="desc"===oe.value.sortOrder?-1:1;return t.sort((e,l)=>{const t=e=>"price"===i?ve.value[e.product_id]||0:"weight"===i?Number(e.weight)||0:"sort"===i?Number(e.sort)||0:Number(e.level)||0,a=t(e),o=t(l);return a!==o?(a-o)*r:((Number(e.sort)||0)-(Number(l.sort)||0))*r}),t});function he(e){const l=ye.value||0,t=Number(e.weight)||0;return l<=0||t<=0?"0.00":(t/l*100).toFixed(2)}const ge=n(()=>re.value.reduce((e,l)=>e+(ve.value[l.product_id]||0)*(Number(l.quantity)||0),0));function je(e){return ve.value[e]||0}const we=[{prop:"weight",label:"权重",useSlot:!0,width:120},{prop:"quantity",label:"数量",useSlot:!0,width:120},{prop:"original_qty",label:"原始数量",useSlot:!0,width:140},{prop:"level",label:"等级",useSlot:!0,width:120},{prop:"sort",label:"排序",useSlot:!0,width:120},{prop:"is_boss",label:"Boss",useSlot:!0,width:120},{prop:"product_id",label:"商品",useSlot:!0,minWidth:200},{prop:"product_price",label:"单价",useSlot:!0,width:120},{prop:"actions",label:"删除",useSlot:!0,width:110}];function xe(){de.value="create",pe.value=[],se.value=!0}function qe(e){de.value="edit",me.value=((e,i)=>{for(var r in i||(i={}))t.call(i,r)&&o(e,r,i[r]);if(l)for(var r of l(i))a.call(i,r)&&o(e,r,i[r]);return e})({},e),pe.value=[me.value],se.value=!0}function Ue(e){switch(e){case 1:return"S";case 2:return"A";case 3:return"B";case 4:return"C";default:return String(e)}}function Se(e){const l=ce.value.find(l=>l.id===e);return l?l.name:e}function Be(){pe.value.push({weight:0,quantity:0,original_qty:0,level:1,sort:0,is_boss:0})}function ke(){pe.value=[]}function Ce(){return i(this,null,function*(){var e,l;if("create"===de.value){if(!function(){if(0===pe.value.length)return!0;for(const e of pe.value){if(!e.product_id||e.product_id<=0)return!1;if(!e.level||e.level<=0)return!1;if(!e.weight||e.weight<=0)return!1;if(!e.quantity||e.quantity<=0)return!1;if(void 0===e.original_qty||e.original_qty<0)return!1}return!0}())return;yield O(te,ae,pe.value)}else if("edit"===de.value&&me.value){if(!1!==(yield null==(l=(e=be.value).validate)?void 0:l.call(e))){const e=me.value;yield E(te,ae,e.id,{product_id:e.product_id,weight:e.weight,quantity:e.quantity,original_qty:e.original_qty,level:e.level,sort:e.sort,is_boss:e.is_boss})}}se.value=!1,yield Me(),S(()=>import("./index-BeZn6wgH.js").then(e=>e.eH),__vite__mapDeps([0,1])).then(e=>{e.default.emit("issue-prize-changed",{activityId:te,issueId:ae})})})}function Me(){return i(this,null,function*(){ie.value=!0;const e=yield I(te,ae);re.value=e.list,ie.value=!1})}return p(()=>{Me(),function(){i(this,null,function*(){const e=yield F({page:1,page_size:100});ce.value=e.list.map(e=>({id:e.id,name:e.name,price:e.price}));for(const l of e.list)ve.value[l.id]=Number(l.price||0)/100})}()}),(e,l)=>{const t=y,a=$,o=z,r=D,u=T,s=H;return c(),m("div",null,[v("div",G,[b(t,{type:"primary",onClick:xe},{default:_(()=>[...l[16]||(l[16]=[f("新增奖励",-1)])]),_:1})]),v("div",J,[b(V(R),null,{default:_(()=>[b(V(L),{modelValue:V(oe).level,"onUpdate:modelValue":l[0]||(l[0]=e=>V(oe).level=e),placeholder:"等级",clearable:"",style:{width:"140px"}},{default:_(()=>[b(V(P),{value:1,label:"S"}),b(V(P),{value:2,label:"A"}),b(V(P),{value:3,label:"B"}),b(V(P),{value:4,label:"C"})]),_:1},8,["modelValue"]),b(V(L),{modelValue:V(oe).isBoss,"onUpdate:modelValue":l[1]||(l[1]=e=>V(oe).isBoss=e),placeholder:"Boss",clearable:"",style:{width:"140px"}},{default:_(()=>[b(V(P),{value:1,label:"是"}),b(V(P),{value:0,label:"否"})]),_:1},8,["modelValue"]),b(a,{modelValue:V(oe).priceMin,"onUpdate:modelValue":l[2]||(l[2]=e=>V(oe).priceMin=e),min:0,precision:2,placeholder:"最低价",style:{width:"140px"}},null,8,["modelValue"]),b(a,{modelValue:V(oe).priceMax,"onUpdate:modelValue":l[3]||(l[3]=e=>V(oe).priceMax=e),min:0,precision:2,placeholder:"最高价",style:{width:"140px"}},null,8,["modelValue"]),b(V(L),{modelValue:V(oe).sortBy,"onUpdate:modelValue":l[4]||(l[4]=e=>V(oe).sortBy=e),placeholder:"排序字段",style:{width:"140px"}},{default:_(()=>[b(V(P),{value:"level",label:"按等级"}),b(V(P),{value:"sort",label:"按排序"}),b(V(P),{value:"price",label:"按价格"}),b(V(P),{value:"weight",label:"按权重"})]),_:1},8,["modelValue"]),b(V(L),{modelValue:V(oe).sortOrder,"onUpdate:modelValue":l[5]||(l[5]=e=>V(oe).sortOrder=e),placeholder:"顺序",style:{width:"120px"}},{default:_(()=>[b(V(P),{value:"asc",label:"升序"}),b(V(P),{value:"desc",label:"降序"})]),_:1},8,["modelValue"])]),_:1})]),v("div",Q,"总权重:"+h(V(ye))+",奖品数:"+h(V(re).length)+",总成本:¥"+h(V(ge).toFixed(2)),1),b(M,{columns:V(ue),"onUpdate:columns":l[6]||(l[6]=e=>g(ue)?ue.value=e:null),loading:V(ie),onRefresh:Me},null,8,["columns","loading"]),b(C,{loading:V(ie),data:V(Ve),columns:V(ue),stripe:!0,border:!0},{product_id:_(({row:e})=>[v("span",null,h(Se(e.product_id)),1)]),product_price:_(({row:e})=>[v("span",null,"¥"+h(je(e.product_id).toFixed(2)),1)]),is_boss:_(({row:e})=>[b(o,{type:1===e.is_boss?"warning":"info"},{default:_(()=>[f(h(1===e.is_boss?"是":"否"),1)]),_:2},1032,["type"])]),level:_(({row:e})=>[v("span",null,h(Ue(e.level)),1)]),remain:_(({row:e})=>[v("span",null,h(e.quantity)+"/"+h(e.original_qty),1)]),expected:_(({row:e})=>[v("span",null,h(he(e))+"%",1)]),actions:_(({row:e})=>[b(N,{type:"edit",onClick:l=>qe(e)},null,8,["onClick"]),b(N,{type:"delete",onClick:l=>function(e){return i(this,null,function*(){var l,t;try{const l=e.product_name||"该奖励";yield B.confirm(`确定要删除奖励"${l}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,l,t)=>{"confirm"===e?(l.confirmButtonLoading=!0,t()):t()}}),yield A(te,ae,e.id),k.success({message:`"${l}"已成功删除`,duration:3e3}),yield Me(),S(()=>import("./index-BeZn6wgH.js").then(e=>e.eH),__vite__mapDeps([0,1])).then(e=>{e.default.emit("issue-prize-changed",{activityId:te,issueId:ae})})}catch(a){if("cancel"===a)return;const o=(null==(t=null==(l=null==a?void 0:a.response)?void 0:l.data)?void 0:t.message)||a.message||"删除失败",i=e.product_name||"该奖励";k.error({message:`"${i}"删除失败:${o}`,duration:4e3})}})}(e)},null,8,["onClick"])]),_:1},8,["loading","data","columns"]),b(s,{modelValue:V(se),"onUpdate:modelValue":l[15]||(l[15]=e=>g(se)?se.value=e:null),title:V(ne),width:V(fe)},{footer:_(()=>[b(t,{onClick:l[14]||(l[14]=e=>se.value=!1)},{default:_(()=>[...l[20]||(l[20]=[f("取消",-1)])]),_:1}),b(t,{type:"primary",onClick:Ce},{default:_(()=>[...l[21]||(l[21]=[f("提交",-1)])]),_:1})]),default:_(()=>["create"===V(de)?(c(),m("div",K,[b(t,{type:"primary",onClick:Be},{default:_(()=>[...l[17]||(l[17]=[f("新增一行",-1)])]),_:1}),b(t,{class:"ml-2",onClick:ke},{default:_(()=>[...l[18]||(l[18]=[f("清空",-1)])]),_:1})])):j("",!0),"create"===V(de)?(c(),m("div",W,[b(C,{data:V(pe),columns:we,tableLayout:"auto",stripe:!0,border:!0},{weight:_(({row:e})=>[b(a,{modelValue:e.weight,"onUpdate:modelValue":l=>e.weight=l,min:0,controls:!1,step:1},null,8,["modelValue","onUpdate:modelValue"])]),quantity:_(({row:e})=>[b(a,{modelValue:e.quantity,"onUpdate:modelValue":l=>e.quantity=l,min:0,controls:!1,step:1},null,8,["modelValue","onUpdate:modelValue"])]),original_qty:_(({row:e})=>[b(a,{modelValue:e.original_qty,"onUpdate:modelValue":l=>e.original_qty=l,min:0,controls:!1,step:1},null,8,["modelValue","onUpdate:modelValue"])]),level:_(({row:e})=>[b(V(L),{modelValue:e.level,"onUpdate:modelValue":l=>e.level=l,modelModifiers:{number:!0}},{default:_(()=>[b(V(P),{value:1,label:"S"}),b(V(P),{value:2,label:"A"}),b(V(P),{value:3,label:"B"}),b(V(P),{value:4,label:"C"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),sort:_(({row:e})=>[b(a,{modelValue:e.sort,"onUpdate:modelValue":l=>e.sort=l,min:0,controls:!1,step:1},null,8,["modelValue","onUpdate:modelValue"])]),is_boss:_(({row:e})=>[b(V(L),{modelValue:e.is_boss,"onUpdate:modelValue":l=>e.is_boss=l,modelModifiers:{number:!0}},{default:_(()=>[b(V(P),{value:0,label:"否"}),b(V(P),{value:1,label:"是"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),product_id:_(({row:e})=>[b(V(L),{modelValue:e.product_id,"onUpdate:modelValue":l=>e.product_id=l,modelModifiers:{number:!0},filterable:"",placeholder:"选择商品"},{default:_(()=>[(c(!0),m(w,null,x(V(ce),e=>(c(),q(V(P),{key:e.id,value:e.id,label:e.name},{default:_(()=>[v("div",X,[v("span",null,h(e.name),1),v("span",Y,"¥"+h((Number(e.price||0)/100).toFixed(2)),1)])]),_:2},1032,["value","label"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"])]),actions:_(({$index:e})=>[b(t,{text:"",type:"danger",onClick:l=>{return t=e,void pe.value.splice(t,1);var t}},{default:_(()=>[...l[19]||(l[19]=[f("删除",-1)])]),_:1},8,["onClick"])]),_:1},8,["data"])])):(c(),m("div",Z,[b(u,{model:V(me),ref_key:"editFormRef",ref:be,"label-width":"100px"},{default:_(()=>[b(r,{label:"商品",prop:"product_id",rules:[{required:!0,message:"请选择商品"}]},{default:_(()=>[b(V(L),{modelValue:V(me).product_id,"onUpdate:modelValue":l[7]||(l[7]=e=>V(me).product_id=e),modelModifiers:{number:!0},filterable:"",placeholder:"选择商品"},{default:_(()=>[(c(!0),m(w,null,x(V(ce),e=>(c(),q(V(P),{key:e.id,value:e.id,label:e.name},{default:_(()=>[v("div",ee,[v("span",null,h(e.name),1),v("span",le,"¥"+h((Number(e.price||0)/100).toFixed(2)),1)])]),_:2},1032,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),b(r,{label:"单价"},{default:_(()=>[b(V(U),{value:V(me).product_id?`¥${je(V(me).product_id).toFixed(2)}`:"¥0.00",readonly:""},null,8,["value"])]),_:1}),b(r,{label:"等级",prop:"level",rules:[{required:!0,message:"请选择等级"}]},{default:_(()=>[b(V(L),{modelValue:V(me).level,"onUpdate:modelValue":l[8]||(l[8]=e=>V(me).level=e),modelModifiers:{number:!0}},{default:_(()=>[b(V(P),{value:1,label:"S"}),b(V(P),{value:2,label:"A"}),b(V(P),{value:3,label:"B"}),b(V(P),{value:4,label:"C"})]),_:1},8,["modelValue"])]),_:1}),b(r,{label:"Boss",prop:"is_boss",rules:[{required:!0,message:"请选择"}]},{default:_(()=>[b(V(L),{modelValue:V(me).is_boss,"onUpdate:modelValue":l[9]||(l[9]=e=>V(me).is_boss=e),modelModifiers:{number:!0}},{default:_(()=>[b(V(P),{value:0,label:"否"}),b(V(P),{value:1,label:"是"})]),_:1},8,["modelValue"])]),_:1}),b(r,{label:"权重",prop:"weight",rules:[{required:!0,message:"请输入权重"}]},{default:_(()=>[b(a,{modelValue:V(me).weight,"onUpdate:modelValue":l[10]||(l[10]=e=>V(me).weight=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1}),b(r,{label:"数量",prop:"quantity",rules:[{required:!0,message:"请输入数量"}]},{default:_(()=>[b(a,{modelValue:V(me).quantity,"onUpdate:modelValue":l[11]||(l[11]=e=>V(me).quantity=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1}),b(r,{label:"原始数量",prop:"original_qty",rules:[{required:!0,message:"请输入原始数量"}]},{default:_(()=>[b(a,{modelValue:V(me).original_qty,"onUpdate:modelValue":l[12]||(l[12]=e=>V(me).original_qty=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1}),b(r,{label:"排序",prop:"sort"},{default:_(()=>[b(a,{modelValue:V(me).sort,"onUpdate:modelValue":l[13]||(l[13]=e=>V(me).sort=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]))]),_:1},8,["modelValue","title","width"])])}}});export{te as default};