1import{G as zt,u as Ft,z as Lt,q as c,g as At,h as Rt,o,c as i,a as e,d as r,j as l,F as m,i as p,R as x,aq as f,D as dt,r as _,t as a,v as gt,U as Nt,k as $,n as ft,b as Xt,p as rt,O as Gt,x as Yt,_ as jt}from"./tzJnjie6.js";import{u as Kt}from"./BOyzDctL.js";import{u as qt}from"./Bl4xsHaL.js";import{_ as Ot}from"./DCv2hk3m.js";const Jt={class:"rp-page"},Qt={class:"rp-wrap"},Wt={key:0,class:"rp-note"},Zt={key:1,class:"rp-deny"},te={class:"rp-controls"},ee={class:"rp-modes"},se={class:"rp-radio"},ne={class:"rp-radio"},le={class:"rp-radio"},ae={class:"rp-radio"},oe={key:0,class:"rp-fields"},ie=["value"],de=["value"],re={key:1,class:"rp-fields"},ce=["value"],ue={key:2,class:"rp-fields"},pe={class:"rp-lbl"},he={class:"rp-lbl"},me={key:3,class:"rp-allnote"},be={class:"rp-filter"},ye={class:"rp-actions"},ge=["disabled"],fe={class:"rp-section"},ve={class:"rp-sec-head"},_e={class:"rp-h2"},xe={class:"rp-count"},$e={class:"rp-export rp-export-sec"},ke=["disabled"],we={key:0,class:"rp-summary"},Te={class:"rp-tablewrap"},Ve={class:"rp-table"},Ie={key:0,class:"c"},Pe={key:0},Ce=["colspan"],Ee={class:"c"},De={class:"c"},Ue={class:"c"},Se={class:"c rp-code"},He={class:"c"},Be={class:"c"},Me=["title"],ze={class:"c"},Fe=["title"],Le=["title"],Ae={key:0,class:"c"},Re=["title","onClick"],Ne={class:"rp-section"},Xe={class:"rp-sec-head"},Ge={class:"rp-h2"},Ye={class:"rp-count"},je={class:"rp-export rp-export-sec"},Ke={class:"rp-radio"},qe={class:"rp-radio"},Oe=["disabled"],Je={key:0,class:"rp-summary"},Qe={class:"rp-tablewrap"},We={class:"rp-table"},Ze={key:0},ts={class:"c"},es={class:"c"},ss={class:"c"},ns={class:"c rp-code"},ls={class:"c"},as=["title"],os={class:"c"},is={class:"rp-section"},ds={class:"rp-sec-head"},rs={class:"rp-h2"},cs={class:"rp-count"},us={class:"rp-export rp-export-sec"},ps={class:"rp-radio"},hs={class:"rp-radio"},ms=["disabled"],bs={key:0,class:"rp-summary"},ys={class:"rp-tablewrap"},gs={class:"rp-table"},fs={key:0},vs={class:"c"},_s={class:"c"},xs={class:"c"},$s={class:"c rp-code"},ks={class:"c"},ws={class:"rp-section"},Ts={class:"rp-sec-head"},Vs={class:"rp-h2"},Is={class:"rp-count"},Ps={class:"rp-export rp-export-sec"},Cs={class:"rp-radio"},Es={class:"rp-radio"},Ds=["disabled"],Us={key:0,class:"rp-summary"},Ss={class:"rp-tablewrap"},Hs={class:"rp-table"},Bs={key:0},Ms={class:"c"},zs={class:"c"},Fs={class:"c"},Ls={class:"c"},As=zt({__name:"index",setup(Rs){Ft({title:"Báo cáo · Admin"});const{success:M,error:k}=Kt(),{getUserToken:vt}=Yt(),{isFullAdmin:_t,can:ct,fetchPermissions:xt}=qt(),tt=rt(()=>_t.value||ct("reports")),et=rt(()=>ct("chat_with_user"));function $t(n,t){window.open(`/admin/chat/?uid=${n}&name=${encodeURIComponent(t||"")}`,"_blank")}const P=Lt().public.apiBase,ut=c(!1),z=c(!1),u=c("month"),h=new Date,R=c(h.getMonth()+1),w=c(h.getFullYear()),pt=rt(()=>{const n=[];for(let t=h.getFullYear();t>=2020;t--)n.push(t);return n}),b=n=>String(n).padStart(2,"0"),C=c(""),E=c("");At(async()=>{await xt(),ut.value=!0;const n=h.getFullYear(),t=h.getMonth()+1;C.value=`${n}-${b(t)}-01`,E.value=`${n}-${b(t)}-${b(new Date(n,t,0).getDate())}`,tt.value&&await O(),document.addEventListener("visibilitychange",N),window.addEventListener("focus",N)}),Rt(()=>{document.removeEventListener("visibilitychange",N),window.removeEventListener("focus",N)});let ht=0;function N(){document.visibilityState==="visible"&&(!tt.value||z.value||Date.now()-ht<5e3||O())}function X(){if(u.value==="all")return{};if(u.value==="year"){const n=w.value;return{from:`${n}-01-01`,to:`${n}-12-31`}}if(u.value==="month"){const n=w.value,t=R.value,s=new Date(n,t,0).getDate();return{from:`${n}-${b(t)}-01`,to:`${n}-${b(t)}-${b(s)}`}}return!C.value||!E.value?(k("Chá»n Äá»§ ngà y bắt Äầu và ngà y kết thúc"),null):C.value>E.value?(k("Ngà y bắt Äầu phải trưá»c hoặc bằng ngà y kết thúc"),null):{from:C.value,to:E.value}}function D(n){return{...n.from&&n.to?{from:n.from,to:n.to}:{},unique:q.value?1:0}}function st(n){return n.from&&n.to?`${n.from}_den_${n.to}`:"Tat_ca"}function mt(n){return n.from&&n.to?kt(n.from,n.to):"Toà n bá» dữ liá»u (từ trưá»c tá»i nay)"}const G=c([]),Y=c([]),j=c([]),F=c([]),K=c([]),nt=c([]),lt=c([]),at=c([]),q=c(!1);function kt(n,t){const s=d=>{const[T,L,H]=d.split("-");return`${H}/${L}/${T}`};return`Từ ${s(n)} Äến ${s(t)}`}function U(n={}){const t=vt();return{...t?{Authorization:`Bearer ${t}`}:{},...n}}async function O(){const n=X();if(n){z.value=!0;try{const t=await $fetch(`${P}/admin/reports/vip`,{headers:U(),params:D(n)});G.value=t?.activated||[],Y.value=t?.deactivated||[],j.value=t?.expired||[],nt.value=t?.activated_plan_summary||[],lt.value=t?.deactivated_plan_summary||[],at.value=t?.expired_plan_summary||[],ht=Date.now()}catch(t){k(t?.data?.detail||"Không tải ÄÆ°á»£c báo cáo")}finally{z.value=!1}await wt(n)}}async function wt(n){try{const t=await $fetch(`${P}/admin/reports/upgrade-clicks`,{headers:U(),params:D(n)});F.value=t?.rows||[],K.value=t?.plan_summary||[]}catch{F.value=[],K.value=[]}}function bt(n){const t=String(n||"").trim();if(!t)return"â";const s=t.match(/(\d+)\s*(NÄM|NAM|THÃNG|THANG)/i);return s?`${s[1]} ${/^n/i.test(s[2])?"NÄm":"Tháng"}`:t}function Tt(n){return n==="pending"?"rp-pending":n==="unpaid"?"rp-unpaid":"rp-none"}function ot(n,t){const s=URL.createObjectURL(n),d=document.createElement("a");d.href=s,d.download=t,document.body.appendChild(d),d.click(),d.remove(),URL.revokeObjectURL(s)}const J=c(!1);async function Vt(){const n=X();if(n){J.value=!0;try{const t=await $fetch(`${P}/admin/reports/upgrade-clicks/export`,{headers:U(),params:D(n),responseType:"blob"});
1ot(t,`BaoCao_BamThanhToan_${st(n)}.xlsx`),M("Äã tải file Excel (Äã bấm nút thanh toán)")}catch(t){k(t?.data?.detail||"Xuất file thất bại")}finally{J.value=!1}}}const it={activated:{file:"BaoCao_KichHoat_VIP",label:"ÄÆ°á»£c kÃch hoạt VIP"},deactivated:{file:"BaoCao_HuyVIP",label:"Bá» huá»· VIP"}},y=Gt({activated:{fmt:"excel",busy:!1},deactivated:{fmt:"excel",busy:!1}});async function yt(n){const t=X();if(!t)return;const s=y[n];s.busy=!0;try{s.fmt==="excel"?await Et(t,n):await Dt(t,n)}catch(d){k(d?.data?.detail||"Xuất file thất bại")}finally{s.busy=!1}}const S=c("excel"),Q=c(!1);async function It(){const n=X();if(n){Q.value=!0;try{S.value==="excel"?await Pt(n):await Ct(n)}catch(t){k(t?.data?.detail||"Xuất file thất bại")}finally{Q.value=!1}}}async function Pt(n){const t=await $fetch(`${P}/admin/reports/vip/expired/export`,{headers:U(),params:D(n),responseType:"blob"});ot(t,`BaoCao_HetHan_VIP_${st(n)}.xlsx`),M("Äã tải file Excel (Hết hạn VIP)")}async function Ct(n){const t=await $fetch(`${P}/admin/reports/vip`,{headers:U(),params:D(n)}),s=t?.expired||[],d=t?.expired_plan_summary||[],T=mt(n),L=s.length?s.map(v=>`<tr> 2 <td class="c">${v.stt}</td> 3 <td class="c">${g(String(v.account_id))}</td> 4 <td>${g(v.fullname)}</td> 5 <td>${g(v.email)}</td> 6 <td class="c">${g(v.plan_label||"â")}</td> 7 <td class="c">${g(v.at_display)}</td> 8 <td class="c">Hết hạn</td></tr>`).join(""):'<tr><td colspan="7" class="empty">(Không có dữ liá»u trong khoảng thá»i gian nà y)</td></tr>',H=d.length?`<div class="summary">Thá»ng kê gói: ${d.map(v=>`${g(v.label)}: <b>${v.count}</b>`).join(" · ")}</div>`:"",W=`<!doctype html><html lang="vi"><head><meta charset="utf-8"> 9 <title>Báo cáo danh sách hết hạn VIP (${T})</title> 10 <style> 11 * { box-sizing: border-box; } 12 body { font-family: 'Segoe UI', Arial, sans-serif; color: #1e293b; margin: 24px; } 13 h1 { text-align: center; font-size: 20px; margin: 0 0 4px; color: #1e3a5f; text-transform: uppercase; } 14 .period { text-align: center; font-style: italic; color: #475569; margin-bottom: 2px; } 15 .meta { text-align: center; font-size: 11px; color: #94a3b8; margin-bottom: 18px; } 16 h2 { font-size: 14px; color: #1e3a5f; margin: 22px 0 8px; border-left: 4px solid #1e3a5f; padding-left: 8px; } 17 table { width: 100%; border-collapse: collapse; font-size: 12px; } 18 th, td { border: 1px solid #b0b7c3; padding: 6px 8px; vertical-align: middle; } 19 th { background: #1e3a5f; color: #fff; text-align: center; font-weight: 600; } 20 td.c { text-align: center; } 21 tbody tr:nth-child(even) { background: #f4f7fb; } 22 .empty { text-align: center; font-style: italic; color: #94a3b8; } 23 .summary { font-size: 12px; color: #1e3a5f; font-style: italic; margin: 0 0 8px; } 24 @page { size: A4 landscape; margin: 12mm; } 25 @media print { body { margin: 0; } h2 { page-break-after: avoid; } tr { page-break-inside: avoid; } } 26 </style></head><body> 27 <h1>Báo cáo danh sách hết hạn VIP</h1> 28 <div class="period">(${T})</div> 29 <div class="meta">Xuất lúc ${b(h.getHours())}:${b(h.getMinutes())} ${b(h.getDate())}/${b(h.getMonth()+1)}/${h.getFullYear()}</div> 30 31 <h2>Danh sách hết hạn VIP â tá»± Äá»ng vá» thưá»ng (${s.length} user)</h2> 32 ${H} 33 <table><thead><tr> 34 <th style="width:6%">STT</th><th style="width:9%">ID</th><th style="width:22%">Há» tên</th> 35 <th style="width:27%">Email</th><th style="width:10%">Gói</th><th style="width:17%">Thá»i gian hết hạn VIP</th><th style="width:9%">Trạng thái</th> 36 </tr></thead><tbody>${L}</tbody></table> 37 </body></html>`,V=window.open("","_blank");if(!V){k("Trình duyá»t chặn cá»a sá» in. Hãy cho phép popup rá»i thá» lại.");return}V.document.open(),V.document.write(W),V.document.close(),V.focus(),setTimeout(()=>{V.print()},400),M("Äã má» bản in PDF (Hết hạn VIP)")}async function Et(n,t){const s=await $fetch(`${P}/admin/reports/vip/export`,{headers:U(),params:{...D(n),kind:t},responseType:"blob"});ot(s,`${it[t].file}_${st(n)}.xlsx`),M(`Äã tải file Excel (${it[t].label})`)}function g(n){return String(n??"").replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}async function Dt(n,t){const s=await $fetch(`${P}/admin/reports/vip`,{headers:U(),params:D(n)}),d=t==="activated",T=(d?s?.activated:s?.deactivated)||[],L=(d?s?.activated_plan_summary:s?.deactivated_plan_summary)||[],H=mt(n),W=d?"Báo cáo danh sách ÄÆ°á»£c kÃch hoạt VIP":"Báo cáo danh sách bá» huá»· VIP",V=d?`II. Danh sách ÄÆ°á»£c kÃch hoạt VIP (${T.length} user)`:`III. Danh sách bá» huá»· VIP â VIP â thưá»ng (${T.length} user)`,v=d?"Thá»i gian kÃch hoạt VIP":"Thá»i gian huá»· VIP",Ut=d?"VIP":"Trạng thái",St=d?"YES":"Äã huá»·",Ht=(A,Z)=>A.length?A.map(I=>`<tr> 38 <td class="c">${I.stt}</td> 39 <td class="c">${g(String(I.account_id))}</td> 40 <td>${g(I.fullname)}</td> 41 <td>${g(I.email)}</td> 42 <td class="c">${g(I.plan_label||"â")}</td> 43 <td class="c">${g(I.method_label||"â")}</td> 44 <td class="c">${g(I.at_display)}</td> 45 <td class="c">${Z(I)}</td></tr>`).join(""):'<tr><td colspan="8" class="empty">(Không có dữ liá»u trong khoảng thá»i gian nà y)</td></tr>',Bt=A=>A.length?`<div class="summary">Thá»ng kê gói: ${A.map(Z=>`${g(Z.label)}: <b>${Z.count}</b>`).join(" · ")}</div>`:"",Mt=`<!doctype html><html lang="vi"><head><meta charset="utf-8"> 46 <title>${W} (${H})</title> 47 <style> 48 * { box-sizing: border-box; } 49 body { font-family: 'Segoe UI', Arial, sans-serif; color: #1e293b; margin: 24px; } 50 h1 { text-align: center; font-size: 20px; margin: 0 0 4px; color: #1e3a5f; text-transform: uppercase; } 51 .period { text-align: center; font-style: italic; color: #475569; margin-bottom: 2px; } 52 .meta { text-align: center; font-size: 11px; color: #94a3b8; margin-bottom: 18px; } 53 h2 { font-size: 14px; color: #1e3a5f; margin: 22px 0 8px; border-left: 4px solid #1e3a5f; padding-left: 8px; } 54 table { width: 100%; border-collapse: collapse; font-size: 12px; } 55 th, td { border: 1px solid #b0b7c3; padding: 6px 8px; vertical-align: middle; } 56 th { background: #1e3a5f; color: #fff; text-align: center; font-weight: 600; } 57 td.c { text-align: center; } 58 tbody tr:nth-child(even) { background: #f4f7fb; } 59 .empty { text-align: center; font-style: italic; color: #94a3b8; } 60 .summary { font-size: 12px; color: #1e3a5f; font-style: italic; margin: 0 0 8px; } 61 @page { size: A4 landscape; margin: 12mm; } 62 @media print { body { margin: 0; } h2 { page-break-after: avoid; } tr { page-break-inside: avoid; } } 63 </style></head><body> 64 <h1>${W}</h1> 65 <div class="period">(${H})</div> 66 <div class="meta">Xuất lúc ${b(h.getHours())}:${b(h.getMinutes())} ${b(h.getDate())}/${b(h.getMonth()+1)}/${h.getFullYear()}</div> 67 68 <h2>${V}</h2> 69 ${Bt(L)} 70 <table><thead><tr> 71 <th style="width:6%">STT</th><th style="width:9%">ID</th><th style="width:22%">Há» tên</th> 72 <th style="width:23%">Email</th><th style="width:9%">Gói</th><th style="width:11%">Phương thức</th><th style="width:15%">${v}</th><th style="width:8%">${Ut}</th> 73 </tr></thead><tbody>${Ht(T,()=>St)}</tbody></table> 74 </body></html>`,B=window.open("","_blank");if(!B){k("Trình duyá»t chặn cá»a sá» in. Hãy cho phép popup rá»i thá» lại.");return}B.document.open(),B.document.write(Mt),B.document.close(),B.focus(),setTimeout(()=>{B.print()},400),M(`Äã má» bản in PDF (${it[t].label})`)}return(n,t)=>(o(),i("div",Jt,[e("div",Qt,[t[63]||(t[63]=e("h1",{class:"rp-title"},[r("ð Báo cáo danh sách user VIP "),e("span",{class:"rp-ver"},"v1.10.0")],-1)),l(ut)?l(tt)?(o(),i(m,{key:2},[e("div",te,[e("div",ee,[e("label",se,[p(e("input",{type:"radio",value:"month","onUpdate:modelValue":t[0]||(t[0]=s=>f(u)?u.value=s:null)},null,512),[[x,l(u)]]),t[18]||(t[18]=r(" Theo tháng",-1))]),e("label",ne,[p(e("input",{type:"radio",value:"year","onUpdate:modelValue":t[1]||(t[1]=s=>f(u)?u.value=s:null)},null,512),[[x,l(u)]]),t[19]||(t[19]=r(" Theo nÄm",-1))]),e("label",le,[p(e("input",{type:"radio",value:"range","onUpdate:modelValue":t[2]||(t[2]=s=>f(u)?u.value=s:null)},null,512),[[x,l(u)]]),t[20]||(t[20]=r(" Khoảng ngà y tuỳ chá»n",-1))]),e("label",ae,[p(e("input",{type:"radio",value:"all","onUpdate:modelValue":t[3]||(t[3]=s=>f(u)?u.value=s:null)},null,512),[[x,l(u)]]),t[21]||(t[21]=r(" Tất cả dữ liá»u",-1))])]),l(u)==="month"?(o(),i("div",oe,[p(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>f(R)?R.value=s:null),class:"rp-input"},[(o(),i(m,null,_(12,s=>e("option",{key:s,value:s},"Tháng "+a(s),9,ie)),64))],512),[[dt,l(R),void 0,{number:!0}]]),p(e("select",{"onUpdate:modelValue":t[5]||(t[5]=s=>f(w)?w.value=s:null),class:"rp-input"},[(o(!0),i(m,null,_(l(pt),s=>(o(),i("option",{key:s,value:s},"NÄm "+a(s),9,de))),128))],512),[[dt,l(w),void 0,{number:!0}]])])):l(u)==="year"?(o(),i("div",re,[p(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>f(w)?w.value=s:null),class:"rp-input"},[(o(!0),i(m,null,_(l(pt),s=>(o(),i("option",{key:"y"+s,value:s},"Cả nÄm "+a(s),9,ce))),128))],512),[[dt,l(w),void 0,{number:!0}]])])):l(u)==="range"?(o(),i("div",ue,[e("label",pe,[t[22]||(t[22]=r("Từ ngà y ",-1)),p(e("input",{type:"date","onUpdate:modelValue":t[7]||(t[7]=s=>f(C)?C.value=s:null),class:"rp-input"},null,512),[[gt,l(C)]])]),e("label",he,[t[23]||(t[23]=r("Äến ngà y ",-1)),p(e("input",{type:"date","onUpdate:modelValue":t[8]||(t[8]=s=>f(E)?E.value=s:null),class:"rp-input"},null,512),[[gt,l(E)]])])])):(o(),i("p",me,"Không giá»i hạn thá»i gian â lấy toà n bá» dữ liá»u từ trưá»c tá»i nay.")),e("label",be,[p(e("input",{type:"checkbox","onUpdate:modelValue":t[9]||(t[9]=s=>f(q)?q.value=s:null),onChange:O},null,544),[[Nt,l(q)]]),t[24]||(t[24]=e("span",null,[r("Chá» tÃnh "),e("strong",null,"lần kÃch hoạt VIP Äá
74º§u tiên"),r(" cá»§a má»i user (gá»p các lần trùng)")],-1))]),e("div",ye,[e("button",{onClick:O,disabled:l(z),class:"rp-btn rp-btn-primary"},a(l(z)?"Äang tải...":"ð Xem báo cáo"),9,ge)])]),e("section",fe,[e("div",ve,[e("h2",_e,[t[25]||(t[25]=r(" I. Danh sách user Äã bấm nút thanh toán ",-1)),t[26]||(t[26]=e("span",{class:"rp-sub"},"(chưa hoà n tất â thanh toán xong sẽ tá»± chuyá»n sang bảng II)",-1)),e("span",xe,a(l(F).length),1)]),e("div",$e,[e("button",{onClick:Vt,disabled:l(J),class:"rp-btn rp-btn-export"},a(l(J)?"Äang xuất...":"â¬ï¸ Xuất Excel"),9,ke)])]),l(K).length?(o(),i("div",we,[t[27]||(t[27]=e("span",{class:"rp-summary-label"},"Thá»ng kê gói:",-1)),(o(!0),i(m,null,_(l(K),(s,d)=>(o(),i("span",{key:"us"+d,class:"rp-summary-item"},[r(a(bt(s.label))+": ",1),e("strong",null,a(s.count),1)]))),128))])):$("",!0),e("div",Te,[e("table",Ve,[e("thead",null,[e("tr",null,[t[28]||(t[28]=e("th",{class:"c"},"STT",-1)),t[29]||(t[29]=e("th",{class:"c"},"ID",-1)),t[30]||(t[30]=e("th",null,"Há» tên",-1)),t[31]||(t[31]=e("th",null,"Email",-1)),t[32]||(t[32]=e("th",null,"Sá» Äiá»n thoại",-1)),t[33]||(t[33]=e("th",{class:"c"},"Gói",-1)),t[34]||(t[34]=e("th",{class:"c"},"Mã ÄÆ¡n",-1)),t[35]||(t[35]=e("th",{class:"c"},"Thá»i gian bấm",-1)),t[36]||(t[36]=e("th",{class:"c"},"TT",-1)),t[37]||(t[37]=e("th",{class:"c"},"VIP",-1)),l(et)?(o(),i("th",Ie,"Chat")):$("",!0)])]),e("tbody",null,[l(F).length?$("",!0):(o(),i("tr",Pe,[e("td",{colspan:l(et)?11:10,class:"rp-empty"},"Chưa có dữ liá»u.",8,Ce)])),(o(!0),i(m,null,_(l(F),s=>(o(),i("tr",{key:"u"+s.stt},[e("td",Ee,a(s.stt),1),e("td",De,a(s.account_id),1),e("td",null,a(s.fullname||"â"),1),e("td",null,a(s.email||"â"),1),e("td",null,a(s.phone||"â"),1),e("td",Ue,a(bt(s.plan_label)),1),e("td",Se,a(s.order_code||"â"),1),e("td",He,a(s.at_display),1),e("td",Be,[e("span",{class:ft(["rp-status-icon",Tt(s.pay_status)]),title:s.pay_status_label||s.raw_status||"Không có ÄÆ¡n"},[s.pay_status==="pending"?(o(),i(m,{key:0},[r("â³")],64)):s.pay_status==="unpaid"?(o(),i(m,{key:1},[r("â")],64)):(o(),i(m,{key:2},[r("â")],64))],10,Me)]),e("td",ze,[s.is_vip?(o(),i("span",{key:0,class:"rp-yes",title:s.vip_note||"Äã là VIP"},"YES",8,Fe)):(o(),i("span",{key:1,class:"rp-none",title:s.vip_note||"Chưa là VIP"},"â",8,Le))]),l(et)?(o(),i("td",Ae,[e("button",{type:"button",class:"rp-chat-btn",title:`Chat vá»i ${s.fullname||"user #"+s.account_id}`,onClick:d=>$t(s.account_id,s.fullname)},"ð¬ Chat",8,Re)])):$("",!0)]))),128))])])])]),e("section",Ne,[e("div",Xe,[e("h2",Ge,[t[38]||(t[38]=r("II. Danh sách ÄÆ°á»£c kÃch hoạt VIP ",-1)),e("span",Ye,a(l(G).length),1)]),e("div",je,[e("label",Ke,[p(e("input",{type:"radio",value:"excel","onUpdate:modelValue":t[10]||(t[10]=s=>l(y).activated.fmt=s)},null,512),[[x,l(y).activated.fmt]]),t[39]||(t[39]=r(" Excel",-1))]),e("label",qe,[p(e("input",{type:"radio",value:"pdf","onUpdate:modelValue":t[11]||(t[11]=s=>l(y).activated.fmt=s)},null,512),[[x,l(y).activated.fmt]]),t[40]||(t[40]=r(" PDF",-1))]),e("button",{onClick:t[12]||(t[12]=s=>yt("activated")),disabled:l(y).activated.busy,class:"rp-btn rp-btn-export"},a(l(y).activated.busy?"Äang xuất...":"â¬ï¸ Xuất bảng nà y"),9,Oe)])]),l(nt).length?(o(),i("div",Je,[t[41]||(t[41]=e("span",{class:"rp-summary-label"},"Thá»ng kê gói:",-1)),(o(!0),i(m,null,_(l(nt),(s,d)=>(o(),i("span",{key:"as"+d,class:"rp-summary-item"},[r(a(s.label)+": ",1),e("strong",null,a(s.count),1)]))),128))])):$("",!0),e("div",Qe,[e("table",We,[t[44]||(t[44]=e("thead",null,[e("tr",null,[e("th",{class:"c"},"STT"),e("th",{class:"c"},"ID"),e("th",null,"Há» tên"),e("th",null,"Email"),e("th",{class:"c"},"Gói"),e("th",{class:"c"},"Mã ÄÆ¡n"),e("th",{class:"c"},"Phương thức"),e("th",{class:"c"},"Thá»i gian kÃch hoạt VIP"),e("th",{class:"c"},"VIP")])],-1)),e("tbody",null,[l(G).length?$("",!0):(o(),i("tr",Ze,[...t[42]||(t[42]=[e("td",{colspan:"9",class:"rp-empty"},"Chưa có dữ liá»u.",-1)])])),(o(!0),i(m,null,_(l(G),s=>(o(),i("tr",{key:"a"+s.stt},[e("td",ts,a(s.stt),1),e("td",es,a(s.account_id),1),e("td",null,a(s.fullname||"â"),1),e("td",null,a(s.email||"â"),1),e("td",ss,a(s.plan_label||"â"),1),e("td",ns,a(s.order_code||"â"),1),e("td",ls,[e("span",{class:ft(s.method==="auto"?"rp-auto":"rp-manual"),title:s.actor_name||""},a(s.method==="auto"?"â¡ Tá»± Äá»ng":"ð¤ Thá»§ công"),11,as)]),e("td",os,a(s.at_display),1),t[43]||(t[43]=e("td",{class:"c"},[e("span",{class:"rp-yes"},"YES")],-1))]))),128))])])])]),e("section",is,[e("div",ds,[e("h2",rs,[t[45]||
74(t[45]=r("III. Danh sách bá» huá»· VIP ",-1)),t[46]||(t[46]=e("span",{class:"rp-sub"},"(VIP â thưá»ng)",-1)),t[47]||(t[47]=r()),e("span",cs,a(l(Y).length),1)]),e("div",us,[e("label",ps,[p(e("input",{type:"radio",value:"excel","onUpdate:modelValue":t[13]||(t[13]=s=>l(y).deactivated.fmt=s)},null,512),[[x,l(y).deactivated.fmt]]),t[48]||(t[48]=r(" Excel",-1))]),e("label",hs,[p(e("input",{type:"radio",value:"pdf","onUpdate:modelValue":t[14]||(t[14]=s=>l(y).deactivated.fmt=s)},null,512),[[x,l(y).deactivated.fmt]]),t[49]||(t[49]=r(" PDF",-1))]),e("button",{onClick:t[15]||(t[15]=s=>yt("deactivated")),disabled:l(y).deactivated.busy,class:"rp-btn rp-btn-export"},a(l(y).deactivated.busy?"Äang xuất...":"â¬ï¸ Xuất bảng nà y"),9,ms)])]),l(lt).length?(o(),i("div",bs,[t[50]||(t[50]=e("span",{class:"rp-summary-label"},"Thá»ng kê gói:",-1)),(o(!0),i(m,null,_(l(lt),(s,d)=>(o(),i("span",{key:"ds"+d,class:"rp-summary-item"},[r(a(s.label)+": ",1),e("strong",null,a(s.count),1)]))),128))])):$("",!0),e("div",ys,[e("table",gs,[t[53]||(t[53]=e("thead",null,[e("tr",null,[e("th",{class:"c"},"STT"),e("th",{class:"c"},"ID"),e("th",null,"Há» tên"),e("th",null,"Email"),e("th",{class:"c"},"Gói"),e("th",{class:"c"},"Mã ÄÆ¡n"),e("th",{class:"c"},"Thá»i gian huá»· VIP"),e("th",{class:"c"},"Trạng thái")])],-1)),e("tbody",null,[l(Y).length?$("",!0):(o(),i("tr",fs,[...t[51]||(t[51]=[e("td",{colspan:"8",class:"rp-empty"},"Chưa có dữ liá»u.",-1)])])),(o(!0),i(m,null,_(l(Y),s=>(o(),i("tr",{key:"d"+s.stt},[e("td",vs,a(s.stt),1),e("td",_s,a(s.account_id),1),e("td",null,a(s.fullname||"â"),1),e("td",null,a(s.email||"â"),1),e("td",xs,a(s.plan_label||"â"),1),e("td",$s,a(s.order_code||"â"),1),e("td",ks,a(s.at_display),1),t[52]||(t[52]=e("td",{class:"c"},[e("span",{class:"rp-no"},"Äã huá»·")],-1))]))),128))])])])]),e("section",ws,[e("div",Ts,[e("h2",Vs,[t[54]||(t[54]=r("IV. Danh sách hết hạn VIP ",-1)),t[55]||(t[55]=e("span",{class:"rp-sub"},"(tá»± Äá»ng vá» thưá»ng)",-1)),t[56]||(t[56]=r()),e("span",Is,a(l(j).length),1)]),e("div",Ps,[e("label",Cs,[p(e("input",{type:"radio",value:"excel","onUpdate:modelValue":t[16]||(t[16]=s=>f(S)?S.value=s:null)},null,512),[[x,l(S)]]),t[57]||(t[57]=r(" Excel",-1))]),e("label",Es,[p(e("input",{type:"radio",value:"pdf","onUpdate:modelValue":t[17]||(t[17]=s=>f(S)?S.value=s:null)},null,512),[[x,l(S)]]),t[58]||(t[58]=r(" PDF",-1))]),e("button",{onClick:It,disabled:l(Q),class:"rp-btn rp-btn-export"},a(l(Q)?"Äang xuất...":"â¬ï¸ Xuất bảng nà y"),9,Ds)])]),l(at).length?(o(),i("div",Us,[t[59]||(t[59]=e("span",{class:"rp-summary-label"},"Thá»ng kê gói:",-1)),(o(!0),i(m,null,_(l(at),(s,d)=>(o(),i("span",{key:"es"+d,class:"rp-summary-item"},[r(a(s.label)+": ",1),e("strong",null,a(s.count),1)]))),128))])):$("",!0),e("div",Ss,[e("table",Hs,[t[62]||(t[62]=e("thead",null,[e("tr",null,[e("th",{class:"c"},"STT"),e("th",{class:"c"},"ID"),e("th",null,"Há» tên"),e("th",null,"Email"),e("th",null,"Sá» Äiá»n thoại"),e("th",{class:"c"},"Gói"),e("th",{class:"c"},"Thá»i gian hết hạn VIP"),e("th",{class:"c"},"Trạng thái")])],-1)),e("tbody",null,[l(j).length?$("",!0):(o(),i("tr",Bs,[...t[60]||(t[60]=[e("td",{colspan:"8",class:"rp-empty"},"Chưa có dữ liá»u.",-1)])])),(o(!0),i(m,null,_(l(j),s=>(o(),i("tr",{key:"e"+s.stt},[e("td",Ms,a(s.stt),1),e("td",zs,a(s.account_id),1),e("td",null,a(s.fullname||"â"),1),e("td",null,a(s.email||"â"),1),e("td",null,a(s.phone||"â"),1),e("td",Fs,a(s.plan_label||"â"),1),e("td",Ls,a(s.at_display),1),t[61]||(t[61]=e("td",{class:"c"},[e("span",{class:"rp-expired"},"Hết hạn")],-1))]))),128))])])])])],64)):(o(),i("div",Zt,"ð Bạn không có quyá»n xem báo cáo.")):(o(),i("div",Wt,"Äang tải..."))]),Xt(Ot)]))}}),js=jt(As,[["__scopeId","data-v-c5b269fb"]]);export{js as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.