2 lines
5.6 KiB
JavaScript
2 lines
5.6 KiB
JavaScript
import{d as j,r as l,i as A,o as X,c as q,b as a,w as m,a as n,e as C,a2 as J,L as w,a0 as v,a3 as W}from"./index-260f63b0.js";import{_ as z}from"./BasicModal.vue_vue_type_style_index_0_lang-e0d329f4.js";import{_ as G}from"./BasicMainCard-9edb4232.js";import{_ as H,a as K}from"./BaseTable.vue_vue_type_style_index_0_lang-f65f1796.js";import{_ as Q}from"./button.vue_vue_type_style_index_0_lang-ea92fa48.js";import{g as B,a as Y}from"./competition-86a7673c.js";import{t as $}from"./useDataTime-e4373e38.js";import{u as Z}from"./useBaseTable-3aeb2499.js";import{I as E}from"./Icon-ccc00c8a.js";import{_ as ee}from"./TextPreview.vue_vue_type_script_setup_true_lang-02f6d9cf.js";import"./styleChecker-374d2ded.js";import"./vnode-6bdcaa2c.js";import"./_plugin-vue_export-helper-d55e1a74.js";import"./index-47eeaac6.js";import"./index-1163b725.js";import"./index-236af065.js";import"./useState-8a5c81ea.js";import"./Col-7e1ac8ad.js";const te=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:u=>u.record.index+1},{title:"نام مسابقه",dataIndex:"match_title",key:"match_title"},{title:"شرح مسابقه",dataIndex:"match_description",key:"match_description",slot:"match_description"},{title:"نام کاربر",dataIndex:"user_name",key:"user_name"},{title:"شماره همراه",dataIndex:"user_mobile",key:"user_mobile"},{title:"امتیاز کسب شده",dataIndex:"score",key:"score",align:"center",customRender:u=>u.record.score||0},{title:"تاریخ",dataIndex:"created_at",key:"created_at",customRender:u=>$(u.record.created_at)}],oe={class:"flex justify-between items-center mb-4"},ae=n("h2",null,"امتیازات و برندگان مسابقات",-1),le={class:"flex gap-2"},ne={class:"space-y-4"},se=n("div",{class:"mb-1 text-sm text-gray-600"},"انتخاب مسابقه",-1),ie={class:"space-y-4"},re=n("div",{class:"mb-1 text-sm text-gray-600"},"انتخاب مسابقه",-1),Ee=j({__name:"index",setup(u){const I=K,T=l(null),[R,ce]=Z(),f=l(!1),g=l(!1),s=l(void 0),i=l(void 0),c=l([]),h=l(!1),b=l(!1),F=l(!1),N=l({columns:te,api:B,defaultPageLimit:20});async function y(){try{h.value=!0;const t=await Y();c.value=(t||[]).map(e=>({label:e.title||`مسابقه ${e.id}`,value:e.id}))}catch(t){console.error("Error loading matchs:",t),v.error("خطا در بارگذاری لیست مسابقات")}finally{h.value=!1}}function P(){s.value=void 0,f.value=!0,c.value.length===0&&y()}function L(){f.value=!1,s.value=void 0}function U(){i.value=void 0,g.value=!0,c.value.length===0&&y()}function M(){g.value=!1,i.value=void 0}function O(){if(!i.value){v.warning("لطفاً مسابقه را انتخاب کنید");return}const t=c.value.find(p=>p.value===i.value),e=encodeURIComponent((t==null?void 0:t.label)||`مسابقه_${i.value}`),d=`/lottery?matchId=${i.value}&title=${e}`;window.open(d,"_blank","width=1200,height=800"),M()}async function V(){if(!s.value){v.warning("لطفاً مسابقه را انتخاب کنید");return}try{b.value=!0;const t={page:1,limit:1e4,filters:[{field:"match_id",op:"eq",value:s.value,cr:"and",hidden:!1,type:"number"}]},d=(await B(t)).rows||[];if(d.length===0){v.warning("برای این مسابقه برندهای یافت نشد");return}const p=d.map((r,S)=>({ردیف:S+1,"نام مسابقه":r.match_title||"","شرح مسابقه":r.match_description||"","نام کاربر":r.user_name||"","شماره همراه":r.user_mobile||"","امتیاز کسب شده":r.score||0,تاریخ:$(r.created_at||"")})),_=await W(()=>import("./xlsx-6ed613d4.js"),[]),x=_.utils.json_to_sheet(p),o=_.utils.book_new();_.utils.book_append_sheet(o,x,"برندگان");const k=c.value.find(r=>r.value===s.value),D=`برندگان_${(k==null?void 0:k.label)||`مسابقه_${s.value}`}_${new Date().getTime()}.xlsx`;_.writeFile(o,D),v.success("فایل اکسل با موفقیت دانلود شد"),L()}catch(t){console.error("Error exporting to Excel:",t),v.error("خطا در تولید فایل اکسل")}finally{b.value=!1}}return A(()=>{y()}),(t,e)=>{const d=Q,p=H,_=G,x=z;return X(),q("div",null,[a(_,null,{default:m(()=>[n("div",oe,[ae,n("div",le,[a(d,{onClick:U,style:{backgroundColor:"#FF6B35",borderColor:"#FF6B35",color:"#fff"},class:"lottery-btn"},{default:m(()=>[a(E,{icon:"vuesax-linear:gift",class:"mr-1"}),C(" قرعه کشی ")]),_:1}),a(d,{onClick:P,style:{backgroundColor:"#217346",borderColor:"#217346",color:"#fff"},class:"excel-export-btn"},{default:m(()=>[a(E,{icon:"vuesax-linear:document-download",class:"mr-1"}),C(" خروجی اکسل ")]),_:1})])]),a(p,J(N.value,{ref_key:"table",ref:T,onRegister:w(R)}),{match_description:m(({record:o})=>[a(ee,{text:o.match_description},null,8,["text"])]),_:1},16,["onRegister"])]),_:1}),a(x,{visible:f.value,"onUpdate:visible":e[1]||(e[1]=o=>f.value=o),title:"خروجی اکسل برندگان مسابقه",onOk:V,onCancel:L,confirmLoading:b.value},{default:m(()=>[n("div",ne,[n("div",null,[se,a(w(I),{value:s.value,"onUpdate:value":e[0]||(e[0]=o=>s.value=o),options:c.value,placeholder:"لطفاً مسابقه را انتخاب کنید",loading:h.value,class:"w-full","allow-clear":""},null,8,["value","options","loading"])])])]),_:1},8,["visible","confirmLoading"]),a(x,{visible:g.value,"onUpdate:visible":e[3]||(e[3]=o=>g.value=o),title:"قرعه کشی برندگان مسابقه",onOk:O,onCancel:M,confirmLoading:F.value},{default:m(()=>[n("div",ie,[n("div",null,[re,a(w(I),{value:i.value,"onUpdate:value":e[2]||(e[2]=o=>i.value=o),options:c.value,placeholder:"لطفاً مسابقه را انتخاب کنید",loading:h.value,class:"w-full","allow-clear":""},null,8,["value","options","loading"])])])]),_:1},8,["visible","confirmLoading"])])}}});export{Ee as default};
|