Files
monisuo/monisuo-admin/dist/assets/dashboard-CUg-h3TK.js

1 line
8.4 KiB
JavaScript
Raw Normal View History

2026-04-05 19:44:40 +08:00
import{I as e,Q as t,R as n,b as r,g as i,h as a,l as o,m as s,v as c,wt as l,x as u,xt as d,y as f,yt as p}from"./vue.runtime.esm-bundler-DS0mm12S.js";import{L as ee,U as m,k as h,w as g}from"./index-axPHP3AB.js";import"./Teleport-f0-_cFyq.js";import"./button-xrpYa8G4.js";import{l as _,o as v}from"./monisuo-admin.api-D_Mn0eGz.js";import{t as te}from"./Card-C4ypPl9R.js";import{t as ne}from"./CardContent-CjpRZuCW.js";import{r as re}from"./global-layout-DVspC3_O.js";import{t as ie}from"./decimal-yv3NiyUw.js";var ae={key:0,class:`flex items-center justify-center py-20`},oe={key:1,class:`grid gap-6`},y={class:`space-y-3`},b={class:`text-sm font-medium text-muted-foreground flex items-center gap-2`},x={class:`grid gap-3 grid-cols-1 sm:grid-cols-3`},S={class:`flex items-center justify-between`},C={class:`mt-3 space-y-1`},w={class:`text-xs text-muted-foreground`},T={class:`space-y-3`},E={class:`text-sm font-medium text-muted-foreground flex items-center gap-2`},D={class:`grid gap-3 grid-cols-1 sm:grid-cols-3`},O={class:`flex items-center justify-between`},k={class:`text-xs font-medium text-green-600`},A={class:`mt-3 space-y-1`},j={class:`text-xs text-muted-foreground`},M={class:`grid gap-6 lg:grid-cols-2`},N={class:`space-y-3`},P={class:`text-sm font-medium text-muted-foreground flex items-center gap-2`},F={class:`space-y-3`},I={class:`text-sm font-medium text-muted-foreground flex items-center gap-2`},L={class:`grid gap-6 lg:grid-cols-5`},R={class:`space-y-3 lg:col-span-2`},se={class:`text-sm font-medium text-muted-foreground flex items-center gap-2`},z={class:`grid gap-3 grid-cols-2`},B={class:`flex items-center justify-between`},V={class:`min-w-0`},H={class:`text-xs text-muted-foreground truncate`},U={class:`text-lg sm:text-xl font-bold mt-1 truncate`},W={class:`space-y-3 lg:col-span-3`},G={class:`text-sm font-medium text-muted-foreground flex items-center gap-2`},K={class:`grid gap-3 grid-cols-2 sm:grid-cols-4`},q=u({__name:`dashboard`,setup(u){let q=g(),{data:ce,isLoading:le}=_(),{data:ue,isLoading:de}=v(6),J=s(()=>le.value||de.value),Y=s(()=>ce.value?.data),X=s(()=>ue.value?.data||[]),fe=s(()=>[{label:`在管资金`,value:Y.value?.fundBalance||0,icon:`lucide:wallet`,color:`text-blue-600`,bgColor:`bg-blue-50 dark:bg-blue-950`},{label:`交易账户`,value:Y.value?.tradeValue||0,icon:`lucide:bar-chart-3`,color:`text-purple-600`,bgColor:`bg-purple-50 dark:bg-purple-950`},{label:`总资产`,value:(Y.value?.fundBalance||0)+(Y.value?.tradeValue||0),icon:`lucide:landmark`,color:`text-orange-600`,bgColor:`bg-orange-50 dark:bg-orange-950`}]);function Z(e,t){if(t===0)return e>0?`+100%`:`0%`;let n=new ie(e).minus(t).div(t).mul(100).toDecimalPlaces(1);return`${n.gte(0)?`+`:``}${n}%`}let pe=s(()=>{let e=X.value,t=e.length,n=t>=1?e[t-1]:null,r=t>=2?e[t-2]:null,i=n&&r?Z(n.deposit,r.deposit):`+0%`,a=n&&r?Z(n.withdraw,r.withdraw):`+0%`,o=n&&r?Z(n.netInflow,r.netInflow):`+0%`;return[{label:`累计充值`,value:Y.value?.totalDeposit||0,icon:`lucide:arrow-down-circle`,color:`text-green-600`,bgColor:`bg-green-50 dark:bg-green-950`,trend:i},{label:`累计提现`,value:Y.value?.totalWithdraw||0,icon:`lucide:arrow-up-circle`,color:`text-red-600`,bgColor:`bg-red-50 dark:bg-red-950`,trend:a},{label:`净流入`,value:(Y.value?.totalDeposit||0)-(Y.value?.totalWithdraw||0),icon:`lucide:trending-up`,color:`text-emerald-600`,bgColor:`bg-emerald-50 dark:bg-emerald-950`,trend:o}]}),me=s(()=>({tooltip:{trigger:`axis`},legend:{data:[`充值`,`提现`],bottom:0,top:`auto`},grid:{left:`3%`,right:`4%`,bottom:`15%`,top:`5%`,containLabel:!0},xAxis:{type:`category`,data:X.value.map(e=>e.month)},yAxis:{type:`value`,axisLabel:{formatter:`¥{value}K`}},series:[{name:`充值`,type:`line`,smooth:!0,data:X.value.map(e=>e.deposit),itemStyle:{color:`#10b981`},areaStyle:{color:`rgba(16, 185, 129, 0.1)`}},{name:`提现`,type:`line`,smooth:!0,data:X.value.map(e=>e.withdraw),itemStyle:{color:`#ef4444`},areaStyle:{color:`rgba(239, 68, 68, 0.1)`}}]})),he=s(()=>{let e=Y.value?.fundBalance||0,t=Y.value?.tradeValue||0;return{tooltip:{trigger:`item`,formatter:`{b}: {d}%`},legend: