var e=(e,t,a)=>new Promise((l,s)=>{var i=e=>{try{r(a.next(e))}catch(t){s(t)}},o=e=>{try{r(a.throw(e))}catch(t){s(t)}},r=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,o);r((a=a.apply(e,t)).next())});import{d as t,r as a,k as l,o as s,b as i,e as o,f as r,g as n,N as d,i as p,K as u,P as c,w as m,E as f,j as x,b2 as v,I as _,J as g,v as y,h as b,q as j,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{E as w}from"./el-empty-CV-PB2A2.js";/* empty css */import{f as k,a as z}from"./dashboard-Csmn9wla.js";import{E as V,a as C}from"./index-D2gD5Tn5.js";import{E as F}from"./index-C1haaLtB.js";import{E}from"./index-CjpBlozU.js";import{E as U,a as I}from"./index-BjuMygln.js";import{E as K}from"./index-DvejFoOw.js";import{E as P}from"./index-BjQJlHTd.js";import{E as q}from"./index-ZsMdSUVI.js";import{_ as A}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";import"./index-1OHUSGeP.js";const D={class:"activity-profit-loss"},T={class:"art-card h-auto min-h-[450px] p-5 max-sm:mb-4 relative z-0"},O={class:"art-card-header"},S={class:"extra flex items-center gap-4"},B={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mt-4"},J=["onClick"],L={class:"flex justify-between items-start mb-4"},N={class:"flex-1"},Q={class:"flex items-center gap-2 mb-1"},X={class:"text-xs text-g-400"},$={class:"text-base font-bold text-g-800 line-clamp-1 group-hover:text-primary transition-colors"},G={class:"text-right"},H={class:"grid grid-cols-2 gap-3 mb-4"},M={class:"stat-item flex-1"},R={class:"text-lg font-black font-mono text-g-900"},W={class:"flex gap-2 mt-1 text-[10px] transform scale-95 origin-left"},Y={key:0,class:"text-green-600 bg-green-50 px-1 rounded",title:"现金/优惠券抽奖"},Z={key:1,class:"text-blue-600 bg-blue-50 px-1 rounded",title:"次卡抽奖"},ee={key:2,class:"text-red-500 bg-red-50 px-1 rounded",title:"退款/取消"},te={class:"stat-item"},ae={class:"text-lg font-black font-mono text-g-900"},le={class:"space-y-2"},se={class:"flex justify-between items-center text-sm"},ie={class:"font-bold font-mono text-g-900"},oe={key:0,class:"flex justify-between items-center text-sm"},re={class:"font-bold font-mono text-orange-500"},ne={key:1,class:"flex justify-between items-center text-sm"},de={class:"font-bold font-mono text-blue-500"},pe={class:"flex justify-between items-center text-sm"},ue={class:"font-bold font-mono text-g-700"},ce={class:"flex justify-between items-center pt-2 border-t border-dashed border-g-200"},me={key:0,class:"py-20 text-center"},fe={class:"mt-6 flex justify-end"},xe={class:"detail-filter-row"},ve={class:"text-xs text-g-500"},_e={class:"flex items-center"},ge={class:"text-sm font-bold"},ye={class:"text-[10px] text-g-400 ml-1"},be={class:"text-xs text-g-500 font-mono"},je={class:"flex items-center"},he={class:"text-sm mr-2"},we={class:"flex flex-col gap-1"},ke={class:"flex items-center gap-2"},ze={class:"font-mono font-bold text-base"},Ve={class:"flex items-center gap-1 flex-wrap"},Ce={class:"font-mono text-g-500"},Fe={class:"flex justify-end mt-4"},Ee=A(t({__name:"activity-profit-loss",setup(t){const A=a(!1),Ee=a([]),Ue=a(0),Ie=l({page:1,page_size:9,name:"",status:0,sort_by:""}),Ke=()=>{Ie.page=1,Pe()},Pe=()=>e(this,null,function*(){A.value=!0;try{const e=yield k(Ie);Ee.value=e.list||[],Ue.value=e.total}catch(e){h.error("获取活动盈亏数据失败: "+(e.message||"未知错误"))}finally{A.value=!1}}),qe=a(!1),Ae=a(!1),De=a(null),Te=a([]),Oe=a(1),Se=a(10),Be=a(0),Je=a(""),Le=a(""),Ne=()=>e(this,null,function*(){if(De.value){Ae.value=!0;try{const e=yield z(De.value.activity_id,Oe.value,Se.value,void 0,{playerKeyword:Je.value,prizeKeyword:Le.value});Te.value=e.list||[],Be.value=e.total}catch(e){h.error("获取抽奖详情失败")}finally{Ae.value=!1}}}),Qe=()=>{Oe.value=1,Ne()},Xe=()=>{Je.value="",Le.value="",Oe.value=1,Ne()};return s(()=>{Pe()}),(e,t)=>{var a;const l=u,s=C,h=V,k=f,z=q,$e=w,Ge=F,He=I,Me=K,Re=P,We=U,Ye=E,Ze=v;return o(),i("div",D,[r("div",T,[r("div",O,[t[11]||(t[11]=r("div",{class:"title"},[r("h4",null,"活动盈亏分析"),r("p",null,"分析各活动营收、成本及盈利表现")],-1)),r("div",S,[n(l,{modelValue:Ie.name,"onUpdate:modelValue":t[0]||(t[0]=e=>Ie.name=e),placeholder:"搜索活动名称",clearable:"",size:"small",style:{width:"180px"},onKeyup:c(Ke,["enter"])},{prefix:m(()=>[...t[9]||(t[9]=[r("i",{class:"ri-search-line"},null,-1)])]),_:1},8,["modelValue"]),n(h,{modelValue:Ie.status,"onUpdate:modelValue":t[1]||(t[1]=e=>Ie.status=e),placeholder:"属性",clearable:"",size:"small",style:{width:"100px"},onChange:Ke},{default:m(()=>[n(s,{label:"全部状态",value:0}),n(s,{label:"进行中",value:1}),n(s,{label:"已结束",value:2})]),_:1},8,["modelValue"]),n(h,{modelValue:Ie.sort_by,"onUpdate:modelValue":t[2]||(t[2]=e=>Ie.sort_by=e),placeholder:"排序",size:"small",style:{width:"120px"},onChange:Ke},{default:m(()=>[n(s,{label:"默认排序",value:""}),n(s,{label:"盈利最高",value:"profit"}),n(s,{label:"亏损最多",value:"profit_asc"}),n(s,{label:"盈利率",value:"profit_rate"}),n(s,{label:"抽奖次数",value:"draw_count"})]),_:1},8,["modelValue"]),n(k,{type:"primary",size:"small",onClick:Ke},{default:m(()=>[...t[10]||(t[10]=[r("i",{class:"ri-refresh-line mr-1"},null,-1),x(" 刷新 ",-1)])]),_:1})])]),d((o(),i("div",B,[(o(!0),i(_,null,g(Ee.value,e=>(o(),i("div",{key:e.activity_id,class:"profit-card cursor-pointer",onClick:t=>(e=>{De.value=e,Oe.value=1,Je.value="",Le.value="",qe.value=!0,Ne()})(e)},[r("div",L,[r("div",N,[r("div",Q,[n(z,{type:1===e.status?"success":"info",size:"small",effect:"dark"},{default:m(()=>[x(y(1===e.status?"进行中":"已结束"),1)]),_:2},1032,["type"]),r("span",X,"ID: "+y(e.activity_id),1)]),r("h5",$,y(e.activity_name),1)]),r("div",G,[r("div",{class:j(["text-2xl font-black font-mono tracking-tighter",e.profit>0?"text-red-500":e.profit<0?"text-green-500":"text-g-500"])},y(e.profit>0?"+":"")+y(((e.profit||0)/100).toFixed(2)),3),t[12]||(t[12]=r("div",{class:"text-[10px] uppercase font-bold text-g-400 mt-1"},"净盈亏 (元)",-1))])]),r("div",H,[r("div",M,[t[13]||(t[13]=r("div",{class:"text-xs text-g-500 mb-1"},"抽奖次数",-1)),r("div",R,y(e.draw_count),1),r("div",W,[e.payment_count>0?(o(),i("span",Y," 钱"+y(e.payment_count),1)):p("",!0),e.game_pass_count>0?(o(),i("span",Z," 卡"+y(e.game_pass_count),1)):p("",!0),e.refund_count>0?(o(),i("span",ee," 退"+y(e.refund_count),1)):p("",!0)])]),r("div",te,[t[14]||(t[14]=r("div",{class:"text-xs text-g-500 mb-1"},"参与人数",-1)),r("div",ae,y(e.player_count),1)])]),r("div",le,[r("div",se,[t[15]||(t[15]=r("span",{class:"text-g-500"},"现金收入",-1)),r("span",ie,"¥"+y(((e.total_revenue||0)/100).toFixed(2)),1)]),e.total_discount>0?(o(),i("div",oe,[t[16]||(t[16]=r("span",{class:"text-g-500"},"优惠券抵扣",-1)),r("span",re,"¥"+y(((e.total_discount||0)/100).toFixed(2)),1)])):p("",!0),e.total_game_pass_value>0?(o(),i("div",ne,[t[17]||(t[17]=r("span",{class:"text-g-500"},"次卡价值",-1)),r("span",de,"¥"+y(((e.total_game_pass_value||0)/100).toFixed(2)),1)])):p("",!0),r("div",pe,[t[18]||(t[18]=r("span",{class:"text-g-500"},"产出成本",-1)),r("span",ue,"¥"+y(((e.total_cost||0)/100).toFixed(2)),1)]),r("div",ce,[t[19]||(t[19]=r("span",{class:"text-g-500 font-medium"},"盈利率",-1)),r("span",{class:j(["font-black text-sm",e.profit_rate>0?"text-red-500":e.profit_rate<0?"text-green-500":"text-g-500"])},y((100*e.profit_rate).toFixed(2))+"% ",3)])])],8,J))),128))])),[[Ze,A.value]]),0!==Ee.value.length||A.value?p("",!0):(o(),i("div",me,[n($e,{description:"暂无活动数据"})])),r("div",fe,[n(Ge,{"current-page":Ie.page,"onUpdate:currentPage":t[3]||(t[3]=e=>Ie.page=e),"page-size":Ie.page_size,"onUpdate:pageSize":t[4]||(t[4]=e=>Ie.page_size=e),total:Ue.value,layout:"total, prev, pager, next",background:"",onCurrentChange:Pe},null,8,["current-page","page-size","total"])])]),n(Ye,{modelValue:qe.value,"onUpdate:modelValue":t[8]||(t[8]=e=>qe.value=e),title:`抽奖记录 - ${null==(a=De.value)?void 0:a.activity_name}`,width:"80%","destroy-on-close":""},{default:m(()=>[d((o(),i("div",null,[r("div",xe,[n(l,{modelValue:Je.value,"onUpdate:modelValue":t[5]||(t[5]=e=>Je.value=e),placeholder:"搜索玩家(昵称 / ID / 手机号)",clearable:"",size:"small",class:"filter-input",onKeyup:c(Qe,["enter"])},null,8,["modelValue"]),n(l,{modelValue:Le.value,"onUpdate:modelValue":t[6]||(t[6]=e=>Le.value=e),placeholder:"搜索奖品(名称 / ID)",clearable:"",size:"small",class:"filter-input",onKeyup:c(Qe,["enter"])},null,8,["modelValue"]),n(k,{type:"primary",size:"small",onClick:Qe},{default:m(()=>[...t[20]||(t[20]=[x("查询",-1)])]),_:1}),n(k,{size:"small",onClick:Xe},{default:m(()=>[...t[21]||(t[21]=[x("重置",-1)])]),_:1})]),n(We,{data:Te.value,style:{width:"100%"},height:"500px"},{default:m(()=>[n(He,{label:"抽奖时间",width:"170"},{default:m(({row:e})=>{return[r("span",ve,y((t=e.created_at,t?t.replace("T"," ").replace(/\.\d+/,"").slice(0,19):"-")),1)];var t}),_:1}),n(He,{label:"玩家","min-width":"150"},{default:m(({row:e})=>[r("div",_e,[n(Me,{size:24,src:e.avatar,class:"mr-2"},null,8,["src"]),r("span",ge,y(e.nickname),1),r("span",ye,"("+y(e.user_id)+")",1)])]),_:1}),n(He,{label:"订单号","min-width":"140"},{default:m(({row:e})=>[r("span",be,y(e.order_no||"-"),1)]),_:1}),n(He,{label:"中奖产品","min-width":"250"},{default:m(({row:e})=>[r("div",je,[n(Re,{src:e.product_image,class:"w-8 h-8 rounded mr-2",fit:"cover"},null,8,["src"]),r("span",he,y(e.product_name),1),n(z,{size:"small",type:(e.product_quantity||1)>1?"primary":"info",effect:"plain",class:"font-bold"},{default:m(()=>[x(" x"+y(e.product_quantity||1),1)]),_:2},1032,["type"])])]),_:1}),n(He,{label:"支付详情","min-width":"300"},{default:m(({row:e})=>{var a,l,s,i,n;return[r("div",we,[r("div",ke,[r("span",ze,"¥"+y((e.order_amount/100).toFixed(2)),1),4===e.order_status?(o(),b(z,{key:0,type:"danger",size:"small",effect:"dark"},{default:m(()=>[...t[22]||(t[22]=[x("已退款",-1)])]),_:1})):3===e.order_status?(o(),b(z,{key:1,type:"info",size:"small",effect:"dark"},{default:m(()=>[...t[23]||(t[23]=[x("已取消",-1)])]),_:1})):p("",!0)]),r("div",Ve,[e.order_amount>0&&!(null==(a=e.payment_details)?void 0:a.game_pass_used)?(o(),b(z,{key:0,type:"success",size:"small",effect:"plain"},{default:m(()=>[t[24]||(t[24]=r("i",{class:"ri-money-cny-circle-line mr-1"},null,-1)),x("现金 ¥"+y((e.order_amount/100).toFixed(2)),1)]),_:2},1024)):p("",!0),(null==(l=e.payment_details)?void 0:l.coupon_used)?(o(),b(z,{key:1,type:"warning",size:"small",effect:"plain"},{default:m(()=>[t[25]||(t[25]=r("i",{class:"ri-coupon-3-line mr-1"},null,-1)),x(y(e.payment_details.coupon_name||"优惠券")+" -¥"+y((e.payment_details.coupon_discount/100).toFixed(2)),1)]),_:2},1024)):p("",!0),(null==(s=e.payment_details)?void 0:s.item_card_used)?(o(),b(z,{key:2,type:"primary",size:"small",effect:"plain"},{default:m(()=>[t[26]||(t[26]=r("i",{class:"ri-vip-crown-line mr-1"},null,-1)),x(y(e.payment_details.item_card_name||"道具卡"),1)]),_:2},1024)):p("",!0),(null==(i=e.payment_details)?void 0:i.game_pass_used)?(o(),b(z,{key:3,size:"small",effect:"plain"},{default:m(()=>[t[27]||(t[27]=r("i",{class:"ri-ticket-2-line mr-1"},null,-1)),x(y(e.payment_details.game_pass_info||"次数卡"),1)]),_:2},1024)):p("",!0),(null==(n=e.payment_details)?void 0:n.points_used)?(o(),b(z,{key:4,type:"success",size:"small",effect:"plain"},{default:m(()=>[t[28]||(t[28]=r("i",{class:"ri-coin-line mr-1"},null,-1)),x("积分 -¥"+y((e.payment_details.points_discount/100).toFixed(2)),1)]),_:2},1024)):p("",!0)])])]}),_:1}),n(He,{label:"产品成本",width:"120",align:"right"},{default:m(({row:e})=>[r("span",Ce,"¥"+y((e.product_price/100).toFixed(2)),1)]),_:1}),n(He,{label:"本单盈亏",width:"120",align:"right"},{default:m(({row:e})=>[r("span",{class:j(["font-mono font-bold",e.profit>0?"text-red-500":e.profit<0?"text-green-500":"text-g-500"])},y(e.profit>0?"+":"")+y((e.profit/100).toFixed(2)),3)]),_:1})]),_:1},8,["data"]),r("div",Fe,[n(Ge,{"current-page":Oe.value,"onUpdate:currentPage":t[7]||(t[7]=e=>Oe.value=e),"page-size":Se.value,total:Be.value,layout:"prev, pager, next",onCurrentChange:Ne},null,8,["current-page","page-size","total"])])])),[[Ze,Ae.value]])]),_:1},8,["modelValue","title"])])}}}),[["__scopeId","data-v-4afd189b"]]);export{Ee as default};