Files
machartaa_admin_dist/dist/assets/index-98310d72.js
T
2026-08-23 14:52:55 +03:30

2 lines
6.4 KiB
JavaScript

import{d as S,i as l,x as V,o as A,c as D,e as o,w as p,b as r,f as L,K as j,l as k,E as _,_ as J}from"./index-a28be152.js";import{_ as W}from"./BasicModal.vue_vue_type_style_index_0_lang-c3017354.js";import{_ as X}from"./BasicMainCard-774c1aa2.js";import{_ as K,u as q}from"./useBaseTable-6d1e031d.js";import{_ as z}from"./button.vue_vue_type_style_index_0_lang-29638cb6.js";import{e as G,f as H,h as Q}from"./competition-5f8922f8.js";import{t as Y,a as Z}from"./useDataTime-4239bab9.js";import{I as C}from"./Icon-c8a211f1.js";import{_ as ee}from"./TextPreview.vue_vue_type_script_setup_true_lang-8e9148a1.js";import{a as te}from"./index-2849b35f.js";import"./index-dd708aca.js";import"./isSymbol-25ca88cb.js";import"./_plugin-vue_export-helper-f8ecc290.js";import"./vnode-4742fc96.js";import"./index-8cc4eae2.js";import"./DialogWrap-617bda84.js";import"./shallowequal-4c00a664.js";import"./omit-8084e33b.js";import"./pickAttrs-38902005.js";import"./index-3bdda65d.js";import"./styleChecker-8c6ff79a.js";import"./FormItemContext-e50ee5a3.js";import"./Grid-442881e7.js";import"./index-96443f0e.js";import"./index-4a3fe357.js";import"./index-5222fc6e.js";import"./useState-277534ff.js";import"./useRefs-e22a3bf7.js";import"./_flatRest-08328244.js";import"./isMobile-e2e89480.js";import"./index-51b737a4.js";import"./Col-86738adb.js";import"./isPlainObject-450bf3c7.js";import"./updateLocale-619fe8a7.js";import"./useMemo-832cfde0.js";import"./lodash-5d3e4f7d.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-1d4fd99b.js";import"./index-f317ca53.js";import"./SearchOutlined-4a5562a8.js";import"./index-61ef5439.js";import"./Badge-7dd6b925.js";import"./isNumeric-3f69e2aa.js";import"./index-dbebb139.js";import"./index-1e365e2e.js";import"./index-12d303fc.js";import"./css-aae66f86.js";import"./toArray-bdec6b87.js";import"./index-f3f71242.js";import"./textUtils-c37780ad.js";const oe=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:m=>m.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:m=>m.record.score||0},{title:"زمان",dataIndex:"created_at",key:"created_at",customRender:m=>Y(m.record.created_at)}],ae={class:"flex justify-between items-center mb-4"},le=r("h2",null,"امتیازات و برندگان مسابقات",-1),ie={class:"flex gap-2"},re={class:"space-y-4"},ne=r("div",{class:"mb-1 text-sm text-gray-600"},"انتخاب مسابقه",-1),se={class:"space-y-4"},ce=r("div",{class:"mb-1 text-sm text-gray-600"},"انتخاب مسابقه",-1),rt=S({__name:"index",setup(m){const w=te,E=l(null),[B,de]=q(),f=l(!1),g=l(!1),n=l(void 0),s=l(void 0),d=l([]),h=l(!1),b=l(!1),$=l(!1),T=l({columns:oe,api:G,defaultPageLimit:20});async function y(){try{h.value=!0;const t=await H();d.value=(t||[]).map(e=>({label:e.title||`مسابقه ${e.id}`,value:e.id}))}catch(t){console.error("Error loading matchs:",t),_.error("خطا در بارگذاری لیست مسابقات")}finally{h.value=!1}}function R(){n.value=void 0,f.value=!0,d.value.length===0&&y()}function I(){f.value=!1,n.value=void 0}function F(){s.value=void 0,g.value=!0,d.value.length===0&&y()}function M(){g.value=!1,s.value=void 0}function N(){if(!s.value){_.warning("لطفاً مسابقه را انتخاب کنید");return}const t=d.value.find(v=>v.value===s.value),e=encodeURIComponent((t==null?void 0:t.label)||`مسابقه_${s.value}`),i=`/lottery?matchId=${s.value}&title=${e}`;window.open(i,"_blank","width=1200,height=800"),M()}async function P(){if(!n.value){_.warning("لطفاً مسابقه را انتخاب کنید");return}try{b.value=!0;const t=await Q(n.value);if(t.length===0){_.warning("برای این مسابقه برنده‌ای یافت نشد");return}const e=t.map((c,O)=>({ردیف:O+1,"نام مسابقه":c.match_title||"","شرح مسابقه":c.match_description||"","نام کاربر":c.user_name||"","شماره همراه":c.user_mobile||"","امتیاز کسب شده":c.score||0,تاریخ:Z(c.created_at||"")})),i=await J(()=>import("./xlsx-6ed613d4.js"),[]),v=i.utils.json_to_sheet(e),x=i.utils.book_new();i.utils.book_append_sheet(x,v,"برندگان");const u=d.value.find(c=>c.value===n.value),U=`برندگان_${(u==null?void 0:u.label)||`مسابقه_${n.value}`}_${new Date().getTime()}.xlsx`;i.writeFile(x,U),_.success("فایل اکسل با موفقیت دانلود شد"),I()}catch(t){console.error("Error exporting to Excel:",t),_.error("خطا در تولید فایل اکسل")}finally{b.value=!1}}return V(()=>{y()}),(t,e)=>{const i=z,v=K,x=X,u=W;return A(),D("div",null,[o(x,null,{default:p(()=>[r("div",ae,[le,r("div",ie,[o(i,{onClick:F,style:{backgroundColor:"#FF6B35",borderColor:"#FF6B35",color:"#fff"},class:"lottery-btn"},{default:p(()=>[o(C,{icon:"vuesax-linear:gift",class:"mr-1"}),L(" قرعه کشی ")]),_:1}),o(i,{onClick:R,style:{backgroundColor:"#217346",borderColor:"#217346",color:"#fff"},class:"excel-export-btn"},{default:p(()=>[o(C,{icon:"vuesax-linear:document-download",class:"mr-1"}),L(" خروجی اکسل ")]),_:1})])]),o(v,j(T.value,{ref_key:"table",ref:E,onRegister:k(B)}),{match_description:p(({record:a})=>[o(ee,{text:a.match_description},null,8,["text"])]),_:1},16,["onRegister"])]),_:1}),o(u,{visible:f.value,"onUpdate:visible":e[1]||(e[1]=a=>f.value=a),title:"خروجی اکسل برندگان مسابقه",onOk:P,onCancel:I,confirmLoading:b.value},{default:p(()=>[r("div",re,[r("div",null,[ne,o(k(w),{value:n.value,"onUpdate:value":e[0]||(e[0]=a=>n.value=a),options:d.value,placeholder:"لطفاً مسابقه را انتخاب کنید",loading:h.value,class:"w-full","allow-clear":""},null,8,["value","options","loading"])])])]),_:1},8,["visible","confirmLoading"]),o(u,{visible:g.value,"onUpdate:visible":e[3]||(e[3]=a=>g.value=a),title:"قرعه کشی برندگان مسابقه",onOk:N,onCancel:M,confirmLoading:$.value},{default:p(()=>[r("div",se,[r("div",null,[ce,o(k(w),{value:s.value,"onUpdate:value":e[2]||(e[2]=a=>s.value=a),options:d.value,placeholder:"لطفاً مسابقه را انتخاب کنید",loading:h.value,class:"w-full","allow-clear":""},null,8,["value","options","loading"])])])]),_:1},8,["visible","confirmLoading"])])}}});export{rt as default};