1 line
8.8 KiB
JavaScript
1 line
8.8 KiB
JavaScript
|
|
import{At as e,C as t,D as n,Dt as r,E as i,H as a,S as o,T as s,Tt as c,W as l,a as u,b as d,h as f,it as p,kt as m,w as h,x as g}from"./iconify-DYZHDLa8.js";import"./vue-vendor-DjtlKxRy.js";import{q as ee,z as _}from"./index-Uji7rFqr.js";import"./Teleport-BIYegdAM.js";import"./button-BuRmTYve.js";import{_ as v,f as y,h as b,l as te,u as ne}from"./monisuo-admin.api-dPrln-7F.js";import{r as re}from"./global-layout-BGXP2p6j.js";import{t as ie}from"./Badge-RIbvVUq1.js";var ae={key:0,class:`flex items-center justify-center py-20`},x={key:1,class:`space-y-6`},S={class:`grid gap-3 grid-cols-2 sm:grid-cols-4`},C={class:`flex items-center justify-between`},w={class:`text-xs text-muted-foreground font-medium`},T={class:`text-[11px] text-muted-foreground truncate`},E={key:1},D={class:`rounded-lg border`},O={class:`px-4 pt-3 pb-1 border-b`},k={class:`text-sm font-semibold flex items-center gap-2`},A={class:`p-4`},j={class:`grid gap-4 lg:grid-cols-5`},M={class:`lg:col-span-3 rounded-lg border`},N={class:`px-4 pt-3 pb-1 border-b`},P={class:`text-sm font-semibold flex items-center gap-2`},F={class:`p-4`},I={key:0,class:`px-4 pb-3 border-t`},L={class:`grid grid-cols-3 gap-2 pt-2 text-xs text-center`},R={class:`text-muted-foreground`},z={class:`font-mono font-bold text-sm`},B={class:`text-muted-foreground`},V={class:`lg:col-span-2 space-y-4`},H={class:`rounded-lg border`},U={class:`px-4 pt-3 pb-1 border-b`},oe={class:`text-sm font-semibold flex items-center gap-2`},W={class:`p-3 space-y-2`},G={class:`font-medium w-12`},K={class:`flex-1 h-4 bg-muted/50 rounded-full overflow-hidden`},q={class:`font-mono text-xs w-16 text-right`},se={key:0,class:`text-xs text-muted-foreground text-center py-3`},ce={class:`rounded-lg border`},le={class:`px-4 pt-3 pb-1 border-b`},ue={class:`text-sm font-semibold flex items-center gap-2`},de={class:`divide-y`},fe={class:`text-sm font-medium`},pe={class:`text-[11px] text-muted-foreground ml-2`},me={class:`flex items-center gap-2`},he={class:`font-mono font-bold text-sm`},J=n({__name:`analytics`,setup(n){function J(e){return e?e>=1e4?`${(e/1e4).toFixed(2)}万`:e.toLocaleString(`zh-CN`,{minimumFractionDigits:2,maximumFractionDigits:2}):`0.00`}function Y(e,t){if(!t)return{text:e>0?`+∞`:`0%`,up:e>0};let n=((e-t)/t*100).toFixed(1);return{text:`${Number(n)>=0?`+`:``}${n}%`,up:Number(n)>=0}}let{data:ge,isLoading:_e}=y(),ve=d(()=>ge.value?.data),ye=d(()=>{let e=ve.value;if(!e)return[];let t=Y(e.monthlyDeposit,e.lastMonthDeposit),n=Y(e.monthlyWithdraw,e.lastMonthWithdraw);return[{label:`平台总资产`,value:J(e.totalUserAssets),sub:`资金 ${J(e.fundBalance)} | 持仓 ${J(e.tradeValue)}`,icon:`lucide:wallet`,color:`text-blue-600`,bgColor:`bg-blue-50 dark:bg-blue-950/20`},{label:`净资金流入`,value:J(e.netCapitalInflow),sub:`累计充值 ${J(e.grossDeposit)}`,icon:`lucide:arrow-down-to-line`,color:e.netCapitalInflow>=0?`text-green-600`:`text-red-600`,bgColor:e.netCapitalInflow>=0?`bg-green-50 dark:bg-green-950/20`:`bg-red-50 dark:bg-red-950/20`},{label:`本月充值`,value:J(e.monthlyDeposit),sub:t.text,subUp:t.up,icon:`lucide:trending-up`,color:`text-green-600`,bgColor:`bg-green-50 dark:bg-green-950/20`},{label:`本月提现`,value:J(e.monthlyWithdraw),sub:n.text,subUp:n.up,icon:`lucide:trending-down`,color:`text-orange-600`,bgColor:`bg-orange-50 dark:bg-orange-950/20`},{label:`手续费收入`,value:J(e.totalFeeRevenue),sub:`福利支出 ${J(e.totalBonusDisbursed)}`,icon:`lucide:percent`,color:`text-purple-600`,bgColor:`bg-purple-50 dark:bg-purple-950/20`},{label:`待处理`,value:e.pendingCount,sub:`充值 ${J(e.pendingDeposit)} | 提现 ${J(e.pendingWithdrawal)}`,icon:`lucide:clock`,color:`text-yellow-600`,bgColor:`bg-yellow-50 dark:bg-yellow-950/20`},{label:`用户总数`,value:e.userCount,sub:`本月新增 ${e.monthNewUsers}`,icon:`lucide:users`,color:`text-cyan-600`,bgColor:`bg-cyan-50 dark:bg-cyan-950/20`},{label:`今日活跃`,value:e.todayActiveUsers,sub:`冻结 ${e.totalFrozen}`,icon:`lucide:activity`,color:`text-indigo-600`,bgColor:`bg-indigo-50 dark:bg-indigo-950/20`}]}),{data:be}=te(6),xe=d(()=>{
|