1import{j as e,q as ua,g as ca,a2 as _a,m as Le,k as $e,J as Qe,F as de,n as Ze,B as Ee,a8 as Re,M as La}from"./semi-ui-BdHKwknM.js";import{r as u}from"./react-core-COlR2Z2o.js";import{A as Pe,D as p,s as H,u as De,a5 as Ie,a1 as O,v as ra,y as ea,Z as oe,$ as Oe,ae as aa,_ as Da,a4 as C,a2 as ba,a3 as qe,aG as $a,I as Be}from"./index-DQBkrZ7s.js";import{a as I,r as D}from"./render-BFqM93yW.js";import{D as ta}from"./index-qAHotc3U.js";import{c as Te}from"./consume-nbkNXRkQ.js";import{c as Ae}from"./coin-D9H4TFzo.js";import{E as da,e as Ue,C as za,F as we,W as Oa,r as Qa}from"./WarningBanner-DZ_XiSc0.js";import{C as We}from"./CommonFilterSkeleton-D2ECgsU8.js";import{u as je}from"./useHasPermission-CI4o3mEb.js";import{I as Ve}from"./common.constant-DqR16uoN.js";import{a as sa,f as qa,s as Ua,o as Wa}from"./statistics-DfASawtv.js";import{U as Ka}from"./UserSelectDropdown-CdMijPlr.js";import{M as Ke}from"./index-B3MhbyYZ.js";import{M as Ha}from"./index-Cn7ZKqVo.js";import{e as Ga}from"./empty-Xsj95Dho.js";import{m as Xa}from"./model-B36xf0WZ.js";import{s as Ce}from"./index.module-DILtnHUn.js";import{L as He}from"./List-DSfFcJnU.js";import{M as Ja}from"./index-0JX8_yit.js";import{M as ia}from"./index-BowlAeVP.js";import{M as Za}from"./index--ooFKTR3.js";import{T as Ye}from"./index-ChP8z9TB.js";import"./tools-B3g0pDdL.js";import"./semantic-Boc-EMN9.js";import"./react-components-DLnDDvsT.js";import"./DatePickerPresetSlot-eGIX_B95.js";import"./Picker-ov-QR4jP.js";import"./use-refs-D8GAKMjn.js";import"./debounce-DUYOftf6.js";import"./constant-BBsDgHEU.js";import"./Clear-BU2yFZpA.js";import"./channel.constants-DExk1R2V.js";import"./method-QdXFT5cn.js";import"./Badge-DfKgWV1t.js";import"./icon_warn-C_q7nWhB.js";const et="_headerBar_gaon9_1",at="_spacer_gaon9_7",tt="_summaryWrap_gaon9_10",st="_summarySkeleton_gaon9_20",lt="_summaryCard_gaon9_31",nt="_summaryIcon_gaon9_41",it="_summaryIconImg_gaon9_49",ot="_summaryIconConsume_gaon9_53",ut="_summaryIconCoin_gaon9_56",ct="_summaryText_gaon9_65",rt="_summaryTitle_gaon9_70",dt="_summaryValue_gaon9_74",mt="_filters_gaon9_79",ht="_tabs_gaon9_96",pt="_mobileTabs_gaon9_113",ft="_recalculateBtn_gaon9_140",gt="_cardListWrap_gaon9_186",yt="_card_gaon9_186",xt="_cardTitle_gaon9_203",Ct="_cardSub_gaon9_224",jt="_cardMetaValue_gaon9_235",Ft="_mobileFilterBar_gaon9_242",vt="_filterIcon_gaon9_249",o={headerBar:et,spacer:at,summaryWrap:tt,summarySkeleton:st,summaryCard:lt,summaryIcon:nt,summaryIconImg:it,summaryIconConsume:ot,summaryIconCoin:ut,summaryText:ct,summaryTitle:rt,summaryValue:dt,filters:mt,tabs:ht,mobileTabs:pt,recalculateBtn:ft,cardListWrap:gt,card:yt,cardTitle:xt,cardSub:Ct,cardMetaValue:jt,mobileFilterBar:Ft,filterIcon:vt},_t=async({page:t=1,pageSize:a,startTime:l,endTime:s,dateType:n="cst",username:i="",instance:c="",modelName:_="",factory:y="",tokenName:v="",abnormal:R=!1,useTimeRangeType:b=""}={})=>{const w=await Pe.get("/api/statistics/domestic/",{params:{p:t,page_size:a,startTime:l,endTime:s,date_type:n,username:i,instance:c,modelName:_,factory:y,tokenName:v,abnormal:R,useTimeRangeType:b}});return w==null?void 0:w.data},ma=async({page:t=1,pageSize:a,startTime:l,endTime:s,dateType:n="cst",username:i="",instance:c="",modelName:_="",factory:y="",tokenName:v="",abnormal:R=!1,useTimeRangeType:b=""}={})=>Pe.get("/api/statistics/domestic/export",{params:{p:t,page_size:a,startTime:l,endTime:s,date_type:n,username:i,instance:c,modelName:_,factory:y,tokenName:v,abnormal:R,useTimeRangeType:b},responseType:"blob",timeout:3e5}),ka=async({page:t=1,pageSize:a,startTime:l,endTime:s,dateType:n="cst",username:i=""}={})=>{const c=await Pe.get("/api/statistics/domestic/generate",{params:{p:t,page_size:a,startTime:l,endTime:s,username:i}});return c==null?void 0:c.data},Pa=async({page:t=1,pageSize:a,startTime:l,endTime:s,dateType:n="cst",username:i=""}={})=>Pe.get("/api/statistics/domestic/exportGenerate",{params:{p:t,page_size:a,startTime:l,endTime:s,date_type:n,username:i},responseType:"blob",timeout:3e5}),Sa=async({page:t=1,pageSize:a,startTime:l,endTime:s,dateType:n="cst",username:i="",instance:c=""}={})=>{const _=await Pe.get("/api/statistics/domestic/groupByUserPage",{params:{p:t,page_size:a,startTime:l,endTime:s,date_type:n,username:i,instance:c}});return _==null?void 0:_.data},Na=async({startTime:t,endTime:a,dateType:l="cst",username:s="",instance:n=""}={})=>Pe.get("/api/statistics/domestic/exportUser",{params:{startTime:t,endTime:a,date_type:l,username:s,instance:n},responseType:"blob"}),Ta=async({page:t=1,pageSize:a,startTime:l,endTime:s,dateType:n="cst",tokenName:i="",username:c="",instance:_=""}={})=>{const y=await Pe.get("/api/statistics/domestic/groupByTokenPage",{params:{p:t,page_size:a,startTime:l,endTime:s,date_type:n,tokenName:i,username:c,instance:_}});return y==null?void 0:y.data},Ba=async({startTime:t,endTime:a,dateType:l="cst",tokenName:s="",username:n="",instance:i=""}={})=>Pe.get("/api/statistics/domestic/exportToken",{params:{startTime:t,endTime:a,date_type:l,tokenName:s,username:n,instance:i},responseType:"blob"}),Dt=async({instance:t,startTime:a,endTime:l}={})=>{const s=await Pe.get("/api/statistics/domestic/recalculateBillStatistics",{params:{instance:t,startTime:a,endTime:l}});return s==null?void 0:s.data},Va=async({page:t=1,pageSize:a,startTime:l,endTime:s,dateType:n="cst",channelIds:i="",model:c="",providerId:_="",factory:y=""}={})=>{const v=await Pe.get("/api/statistics/domestic/modelChannels",{params:{p:t,page_size:a,startTime:l,endTime:s,date_type:n,channel_ids:i,model:c,provider_id:_,factory:y}});return v==null?void 0:v.data},Ea=async({startTime:t,endTime:a,dateType:l="cst",channelIds:s="",model:n="",providerId:i="",factory:c=""}={})=>Pe.get("/api/statistics/domestic/exportModelChannels",{params:{startTime:t,endTime:a,date_type:l,channel_ids:s,model:n,provider_id:i,factory:c},responseType:"blob"}),bt=async({startTime:t,endTime:a}={})=>{const l=await Pe.get("/api/statistics/domestic/recalculateStatisticsModelChannels",{params:{startTime:t,endTime:a}});return l==null?void 0:l.data},pa=()=>[p().subtract(6,"days").startOf("day").toDate(),p().endOf("day").toDate()],kt=()=>{try{return JSON.parse(localStorage.getItem("user")||"{}")}catch{return{}}},Aa=({dateType:t="cst"}={})=>{const a=u.useRef(0),l=u.useRef(null),s=u.useMemo(()=>
1kt(),[]),n=(s==null?void 0:s.role)===3,i=n&&(s==null?void 0:s.sk_name)||"",[c,_]=u.useState([]),[y,v]=u.useState([]),[R,b]=u.useState(0),[w,te]=u.useState(0),[N,M]=u.useState(!0),[X,V]=u.useState(!1),[J,Z]=u.useState(!0),[q,Q]=u.useState(1),[F,U]=u.useState(Ve),[d,T]=u.useState(""),[W,f]=u.useState(""),[E,h]=u.useState(""),[Y,k]=u.useState(""),[z,B]=u.useState([]),[ee,j]=u.useState(()=>n?i:""),[g,le]=u.useState(!1),[fe,ie]=u.useState(0),[xe,Fe]=u.useState(!1),[r,m]=u.useState(pa()),[S,K]=u.useState((t||"cst").toLowerCase());u.useEffect(()=>{K((t||"cst").toLowerCase())},[t]);const G=(x={})=>{T(x.username??""),f(x.modelName??""),h(x.factory??""),k(x.useTimeRangeType??""),j(x.tokenName??""),le(!!x.abnormal)},$=()=>{var ae,re;const x=((re=(ae=l.current)==null?void 0:ae.getValues)==null?void 0:re.call(ae))||{},P={username:x.username??d,modelName:x.modelName??W,factory:x.factory??E,useTimeRangeType:x.useTimeRangeType??Y,tokenName:x.tokenName??ee,abnormal:x.abnormal??g};return n&&(P.tokenName=i),P},ue=async()=>{try{const x=await sa(),{success:P,message:ae,data:re}=x||{};if(!P){H(ae);return}v(Array.isArray(re)?re:[])}catch(x){H(x.message)}},he=async()=>{var x;try{const P=await qa({key:"ModelUseTimeDistribution"}),{success:ae,message:re}=P||{};if(!ae){re&&H(re),B([]);return}const ge=((x=P==null?void 0:P.data)==null?void 0:x.value)??(P==null?void 0:P.data)??(P==null?void 0:P.value)??"";let _e=[];if(typeof ge=="string"&&ge.trim())try{const ye=JSON.parse(ge);Array.isArray(ye)&&(_e=ye)}catch{_e=[]}else Array.isArray(ge)&&(_e=ge);const be=_e.filter(ye=>ye&&typeof ye=="object").sort((ye,Ne)=>Number(ye.min||0)-Number(Ne.min||0)),ke=[],pe=new Set;for(const ye of be){const Ne=ye.type;if(Ne==null||Ne==="")continue;const Me=String(Ne);if(pe.has(Me))continue;pe.add(Me);const Je=ye.min??"",me=ye.max??"",ze=Je!==""||me!==""?`${Je}s - ${me}s`:Me;ke.push({label:ze,value:Me})}B(ke)}catch(P){H(P.message),B([])}},se=async({page:x=q,size:P=F,filters:ae,range:re,append:ge=!1}={})=>{const _e=++a.current;ge?V(!0):(M(!0),Z(!0));try{const be=Array.isArray(re)&&re.length===2?re:r,ke=ae||$(),pe=p(be[0]).startOf("day").format("YYYY-MM-DD"),ye=p(be[1]).endOf("day").format("YYYY-MM-DD"),Ne=await _t({page:x,pageSize:P,startTime:pe,endTime:ye,dateType:S,username:ke.username,vip_type:ke.vip_type,modelName:ke.modelName,factory:ke.factory,tokenName:ke.tokenName,abnormal:ke.abnormal,useTimeRangeType:ke.useTimeRangeType});if(_e!==a.current)return;const{success:Me,message:Je,data:me}=Ne||{};if(!Me){H(Je);return}const ze=Array.isArray(me==null?void 0:me.items)?me.items:[];_(Ya=>ge?[...Ya,...ze]:ze),ie((me==null?void 0:me.total)||0),b((me==null?void 0:me.totalQuota)||0),te((me==null?void 0:me.totalCalculateQuota)||0),Q(x),U(P),Fe(x*P>=((me==null?void 0:me.total)||0)||ze.length<P)}catch(be){if(_e!==a.current)return;H(be.message)}finally{_e===a.current&&(ge?V(!1):M(!1),ge||Z(!1))}};return u.useEffect(()=>{ue().catch(()=>{}),he().catch(()=>{}),se({page:1,size:F}).catch(()=>{})},[]),{abnormal:g,activePage:q,billings:c,dateRange:r,factory:E,factoryOptions:y,finished:xe,formApi:l,handleExport:async()=>{try{const x=$(),P=p(r[0]).startOf("day").format("YYYY-MM-DD"),ae=p(r[1]).endOf("day").format("YYYY-MM-DD"),re=await ma({page:q,pageSize:F,startTime:P,endTime:ae,dateType:S,username:x.username,vip_type:x.vip_type,modelName:x.modelName,factory:x.factory,tokenName:x.tokenName,abnormal:x.abnormal,useTimeRangeType:x.useTimeRangeType}),ge=new Blob([re.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),_e=URL.createObjectURL(ge),be=document.createElement("a");be.href=_e,be.download=`statistics_${p(r[0]).format("YYYY-MM-DD")}_${p(r[1]).format("YYYY-MM-DD")}.xlsx`,be.click(),URL.revokeObjectURL(_e)}catch(x){H(x.message)}},handleLoadMore:async()=>{N||J||xe||await se({page:q+1,size:F,append:!0})},handlePageChange:async x=>{await se({page:x,size:F})},handlePageSizeChange:async x=>{await se({page:1,size:x})},handleReset:async()=>{const x=pa(),P={username:"",modelName:"",factory:"",useTimeRangeType:"",tokenName:n?i:"",vip_type:"",abnormal:!1};l.current&&(l.current.reset(),l.current.setValues({...P})),m(x),G(P),await se({page:1,size:F,filters:P,range:x})},handleSearch:async()=>{const x=$();G(x),n&&l.current&&l.current.setValue("tokenName",i),await se({page:1,size:F,filters:x})},isSkUser:n,loading:N,loadingMore:X,loadingStat:J,localDateType:S,modelName:W,pageSize:F,setAbnormal:le,setDateRange:m,setFactory:h,setLocalDateType:K,setModelName:f,setTokenName:j,setUseTimeRangeType:k,setUsername:T,tokenName:ee,total:fe,totalCalculateQuota:w,totalQuota:R,useTimeRangeOptions:z,useTimeRangeType:Y,username:d}},fa={display:"flex",alignItems:"center",gap:8,color:"#666",fontSize:12},ga={color:"#121212"},ya=(t,a)=>t&&t.id!==void 0&&t.id!==null?t.id:t&&t.key!==void 0&&t.key!==null?t.key:`${t.username}-${t.day_time}-${t.token_name}-${t.model_name}-${a}`,Pt=(t,a)=>[{key:"promptTokens",label:a("detailPage.statistics.usage.promptTokens",{defaultValue:"è¾å
¥ Token"}),value:I(t.prompt_token_used),dotColor:"#759DFA",tagColor:"blue"},{key:"completionTokens",label:a("detailPage.statistics.usage.completionTokens",{defaultValue:"è¾åº Token"}),value:I(t.complete_token_used),dotColor:"#67BA60",tagColor:"green"},{key:"cacheCreationTokens",label:a("detailPage.statistics.usage.cacheCreationTokens",{defaultValue:"ç¼ååå
¥ Token"}),value:I(t.cache_creation_input_token_used),dotColor:"#C894D6",tagColor:"purple"},{key:"cacheReadTokens",label:a("detailPage.statistics.usage.cacheReadTokens",{defaultValue:"å½ä¸ç¼å Token"}),value:I(t.cache_read_input_token_used),dotColor:"#E39349",tagColor:"orange"},{key:"hiddenCacheReadTokens",label:a("detailPage.statistics.usage.hiddenCacheReadTokens",{defaultValue:"éå¼ç¼å Token"}),value:I(t.input_cached_token_hidden),dotColor:"#13A8A8",tagColor:"cyan"},{key:"thoughtsTokens",label:a("detailPage.statistics.usage.thoughtsTokens",{defaultValue:"æè Token"}),value:I(t.thoughts_token_used),dotColor:"#F8CF43",tagColor:"yellow"}],St=(t,a)=>[{key:"inputPrice",label:a("detailPage.statistics.ratio.inputPrice",{defaultValue:"è¾å
¥ä»·æ ¼"}),value:I(t.calculate_prompt_ratio),dotColor:"#759DFA",tagColor:"blue"},{key:"outputPrice",label:a("detailPage.statistics.ratio.outputPrice",{defaultValue:"è¾åºä»·æ ¼"}),value:I(t.calculate_complete_ratio),dotColor:"#67BA60",tagColor:"green"},{key:"cacheCreationPrice",label:a("detailPage.statistics.ratio.cacheCreationPrice",{defaultValue:"ç¼ååå
¥ä»·æ ¼"}),value:I(t.calculate_cache_creation_input_token_ratio),dotColor:"#C894D6",tagColor:"purple"},{key:"cacheReadPrice",label:a("detailPage.statistics.ratio.cacheReadPrice",{defaultValue:"å½ä¸ç¼åä»·æ ¼"}),value:I(t.calculate_cache_read_input_token_ratio),dotColor:"#E39349",tagColor:"orange"},{key:"hiddenCacheReadPrice",label:a("detailPage.statistics.ratio.hiddenCacheReadPrice",{defaultValue:"éå¼ç¼åä»·æ ¼"}),value:I(t.calculate_cache_read_hidden_input_token_ratio),dotColor:"#13A8A8",tagColor:"cyan"},{key:"thoughtsPrice",label:a("detailPage.statistics.ratio.thoughtsPrice",{defaultValue:"æèä»·æ ¼"}),value:I(t.calculate_thoughts_token_ratio),dotColor:"#F8CF43",tagColor:"yellow"}],Nt=({dateType:t="cst"})=>{const a=je("statistics_permission_root"),l=je("statistics_table_useTimeRange"),{t:s}=De(),[n,i]=u.useState({}),[c,_]=u.useState({}),{abnormal:y,activePage:v,billings:R,dateRange:b,factory:w,factoryOptions:te,formApi:N,handleExport:M,handlePageChange:X,handlePageSizeChange:V,handleReset:J,handleSearch:Z,isSkUser:q,loading:Q,loadingStat:F,localDateType:U,modelName:d,pageSize:T,setAbnormal:W,setDateRange:f,setFactory:E,setLocalDateType:h,setModelName:Y,setTokenName:k,setUseTimeRangeType:z,setUsername:B,tokenName:ee,total:j,totalCalculateQuota:g,totalQuota:le,useTimeRangeOptions:fe,useTimeRangeType:ie,username:xe}=Aa({dateType:t}),Fe=[{title:s("detailPage.statistics.columns.date",{defaultValue:"æ¥æ"}),width:120,dataIndex:"day_time"},{title:s("detailPage.statistics.columns.username",{defaultValue:"ç¨æ·å"}),width:120,ellipsis:!0,dataIndex:"username",render:(m,S)=>e.jsx(Ie,{needCopy:!0,children:S.display_name||m})},{title:s("detailPage.statistics.columns.tokenName",{defaultValue:"Token"}),width:140,ellipsis:!0,dataIndex:"token_name",render:m=>e.jsx(Ie,{needCopy:!0,children:m})},{title:s("detailPage.statistics.columns.modelName",{defaultValue:"模å"}),width:160,ellipsis:!0,dataIndex:"model_name",render:(m,S)=>e.jsx("div",{className:O.ellipsisWrap,onClick:K=>{K.stopPropagation(),ra(m),ea(s("detailPage.statistics.success.copy",{defaultValue:"å¤å¶æå"})+m)},children:S.model_stage_type!==""?`${m} ï¼${S.model_stage_type}ï¼`:m})},{title:s("detailPage.statistics.columns.factory",{defaultValue:"æå±åå"}),width:120,ellipsis:!0,dataIndex:"factory",render:m=>e.jsx(Ie,{needCopy:!0,children:m})},{title:s("detailPage.statistics.columns.requestCount",{defaultValue:"è¯·æ±æ¬¡æ°"}),align:"center",width:100,dataIndex:"request_count"},{title:s("detailPage.statistics.columns.usage",{defaultValue:"ç¨éç»è®¡"}),width:320,dataIndex:"usage",render:(m,S,K)=>{const G=ya(S,K),$=!!n[G];return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},onClick:ue=>{ue.stopPropagation();const he=!$;i(se=>({...se,[G]:he})),_(se=>({...se,[G]:he}))},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",ga
1p:8},children:[e.jsxs("div",{style:{fontSize:14,color:"#121212",textAlign:"left"},children:[s("detailPage.statistics.usage.totalUsed",{defaultValue:"æ»æ¶èé:"})," ",I(S.token_used)]}),e.jsx("div",{style:{display:"flex",alignItems:"center",gap:4,cursor:"pointer",fontSize:12,color:"#666666"},children:$?e.jsx(ua,{size:"12px"}):e.jsx(ca,{size:"12px"})})]}),e.jsx(da,{isExpanded:$,outStyle:fa,textStyle:ga,items:Pt(S,s)})]})}},{title:s("detailPage.statistics.columns.fee",{defaultValue:"è´¹ç¨"}),dataIndex:"quota",align:"center",width:140,render:(m,S)=>e.jsxs(_a,{spacing:2,vertical:!0,children:[e.jsx(Le,{content:s("detailPage.statistics.fee.actual",{defaultValue:"å®é
æ£è´¹"}),children:e.jsx($e,{color:"red",size:"large",children:D(S.quota,6)})}),a?e.jsx(Le,{content:s("detailPage.statistics.fee.calculated",{defaultValue:"è®¡ç®æ£è´¹"}),children:e.jsx($e,{color:"blue",size:"large",children:D(S.calculate_quota,6)})}):null]})},{title:s("detailPage.statistics.columns.modelFeePerMTok",{defaultValue:"模åè´¹ç¨ï¼$/MTokï¼"}),width:280,dataIndex:"ratio",render:(m,S,K)=>{const G=ya(S,K),$=!!c[G];return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},onClick:ue=>{ue.stopPropagation();const he=!$;_(se=>({...se,[G]:he})),i(se=>({...se,[G]:he}))},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",gap:8},children:[e.jsx("div",{style:{fontSize:14,color:"#121212",textAlign:"left"},children:s("detailPage.statistics.ratio.detail",{defaultValue:"è´¹ç¨è¯¦æ
"})}),e.jsx("div",{style:{display:"flex",alignItems:"center",gap:4,cursor:"pointer",fontSize:12,color:"#666666"},children:$?e.jsx(ua,{size:"12px"}):e.jsx(ca,{size:"12px"})})]}),e.jsx(da,{isExpanded:$,outStyle:fa,textStyle:ga,items:St(S,s)})]})}}],r=e.jsxs("div",{className:o.summaryWrap,children:[e.jsx("div",{className:o.summarySkeleton}),a?e.jsx("div",{className:o.summarySkeleton}):null]});return e.jsxs("div",{style:{marginTop:a?0:16},children:[e.jsx(Qe,{placeholder:r,loading:F,active:!0,children:e.jsxs("div",{className:o.summaryWrap,children:[e.jsxs("div",{className:o.summaryCard,children:[e.jsx("div",{className:o.summaryIcon+" "+o.summaryIconConsume,children:e.jsx("img",{className:o.summaryIconImg,src:Te,alt:"consume"})}),e.jsxs("div",{className:o.summaryText,children:[e.jsx("div",{className:o.summaryTitle,children:s("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"})}),e.jsx("div",{className:o.summaryValue,children:D(le,6)})]})]}),a?e.jsxs("div",{className:o.summaryCard,children:[e.jsx("div",{className:o.summaryIcon+" "+o.summaryIconCoin,children:e.jsx("img",{className:o.summaryIconImg,src:Ae,alt:"coin"})}),e.jsxs("div",{className:o.summaryText,children:[e.jsx("div",{className:o.summaryTitle,children:s("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»åç计ç®é¢åº¦"})}),e.jsx("div",{className:o.summaryValue,children:D(g,6)})]})]}):null]})}),e.jsx(We,{loading:F,children:e.jsx(de,{layout:"horizontal",style:{marginBottom:16,width:"100%"},getFormApi:m=>N.current=m,onSubmit:()=>{Z().catch(()=>{})},children:e.jsxs("div",{className:o.filters,children:[e.jsx(ta,{dateType:U,onDateTypeChange:m=>h((m||"CST").toLowerCase()),dateRange:b,onDateRangeChange:f}),a?e.jsx(de.Input,{noLabel:!0,showClear:!0,field:"username",className:oe.formInput,placeholder:s("detailPage.statistics.filters.usernamePlaceholder",{defaultValue:"ç¨æ·å"}),value:xe,onChange:B,style:{width:150},initValue:""}):null,e.jsx(de.Input,{noLabel:!0,showClear:!0,field:"modelName",className:oe.formInput,placeholder:s("detailPage.statistics.filters.modelNamePlaceholder",{defaultValue:"模å"}),value:d,onChange:Y,style:{width:150},initValue:""}),e.jsx(Oe,{field:"factory",showClear:!0,noLabel:!0,placeholder:s("detailPage.statistics.filters.factoryPlaceholder",{defaultValue:"æå±åå"}),style:{width:160},value:w,onChange:E,className:oe.selectInput,children:te.map(m=>e.jsx(Ze.Option,{value:m,children:m},m))}),l&&e.jsx(Oe,{field:"useTimeRangeType",showClear:!0,noLabel:!0,placeholder:s("detailPage.statistics.filters.useTimeRangeTypePlaceholder",{defaultValue:"è°ç¨æ¶é´"}),style:{width:140},value:ie,onChange:m=>z(m||""),className:oe.selectInput,children:fe.map(m=>e.jsx(Ze.Option,{value:m.value,children:m.label},m.value))}),q?null:e.jsx(de.Input,{noLabel:!0,showClear:!0,field:"tokenName",className:oe.formInput,placeholder:s("detailPage.statistics.filters.tokenNamePlaceholder",{defaultValue:"api key"}),value:ee,onChange:k,style:{width:150},initValue:""}),a?e.jsxs(e.Fragment,{children:[e.jsx(de.Switch,{noLabel:!0,field:"abnormal",labelPosition:"left",label:s("detailPage.statistics.filters.abnormal",{defaultValue:"å¼å¸¸æ°æ®"}),className:oe.formSwitch,value:y,onChange:W}),e.jsx("span",{style:{marginLeft:-4,color:y?"#121212":"#666666"},children:s("detailPage.statistics.filters.abnormal",{defaultValue:"å¼å¸¸æ°æ®"})})]}):null,e.jsx(Ee,{className:O.resetBtn,onClick:()=>
1{J().catch(()=>{})},children:s("common.action.reset",{defaultValue:"éç½®"})}),e.jsx(Ee,{className:O.searchBtn,htmlType:"submit",children:s("common.action.search",{defaultValue:"æ¥è¯¢"})}),e.jsxs("div",{className:O.exportBtn,style:{marginLeft:"auto"},onClick:M,children:[e.jsx("img",{src:Ue,alt:s("common.action.export",{defaultValue:"导åº"}),className:O.exportIcon}),e.jsx("span",{children:s("common.action.export",{defaultValue:"导åº"})})]})]})})}),e.jsx(aa,{columns:Fe,dataSource:R,pagination:{currentPage:v,pageSize:T,total:j,pageSizeOpts:[10,20,50,100],onPageChange:m=>{X(m).catch(()=>{})},onPageSizeChange:m=>{V(m).catch(()=>{})}},loading:Q})]})},Tt=({items:t=[],loading:a=!1})=>{if(!t.length)return null;const l=e.jsx("div",{className:o.summaryWrap,children:t.map(s=>e.jsx("div",{className:o.summarySkeleton},s.key||s.title))});return e.jsx(Qe,{placeholder:l,loading:a,active:!0,children:e.jsx("div",{className:o.summaryWrap,children:t.map(s=>e.jsxs("div",{className:o.summaryCard,children:[e.jsx("div",{className:`${o.summaryIcon} ${s.iconClassName||""}`,children:e.jsx("img",{className:o.summaryIconImg,src:s.icon,alt:s.alt||s.title})}),e.jsxs("div",{className:o.summaryText,children:[e.jsx("div",{className:o.summaryTitle,children:s.title}),e.jsx("div",{className:o.summaryValue,children:s.value})]})]},s.key||s.title))})})},ha=({marginTop:t=16,summaryItems:a=[],summaryLoading:l=!1,desktopFilters:s=null,desktopContent:n=null})=>e.jsxs("div",{style:{marginTop:t},children:[e.jsx(Tt,{items:a,loading:l}),s,n]}),xa=()=>[p().subtract(6,"days").startOf("day").toDate(),p().endOf("day").toDate()],Bt=(t,a)=>{const l=new Blob([t.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),s=URL.createObjectURL(l),n=document.createElement("a");n.href=s,n.download=a,n.click(),URL.revokeObjectURL(s)},Ge=({dateType:t="cst",initialFilters:a={},fetcher:l,exporter:s,getExportFilename:n}={})=>{const i=u.useRef(0),c=u.useRef(null),[_,y]=u.useState([]),[v,R]=u.useState(!0),[b,w]=u.useState(!1),[te,N]=u.useState(!0),[M,X]=u.useState(1),[V,J]=u.useState(Ve),[Z,q]=u.useState(0),[Q,F]=u.useState(!1),[U,d]=u.useState(0),[T,W]=u.useState(0),[f,E]=u.useState(a),[h,Y]=u.useState(xa()),[k,z]=u.useState((t||"cst").toLowerCase());u.useEffect(()=>{z((t||"cst").toLowerCase())},[t]);const B=(r,m)=>{E(S=>({...S,[r]:m}))},ee=()=>{var S,K;const r=((K=(S=c.current)==null?void 0:S.getValues)==null?void 0:K.call(S))||{},m={...f,...Object.keys(a).reduce((G,$)=>(G[$]=r[$]??f[$],G),{})};return E(m),m},j=async({page:r=M,size:m=V,nextFilters:S,range:K,append:G=!1}={})=>{const $=++i.current;G?w(!0):(R(!0),N(!0));try{const ue=Array.isArray(K)&&K.length===2?K:h,he=S||f,se=p(ue[0]).startOf("day").format("YYYY-MM-DD"),Se=p(ue[1]).endOf("day").format("YYYY-MM-DD"),A=await l({page:r,pageSize:m,startTime:se,endTime:Se,dateType:k,...he});if($!==i.current)return;const{success:ne,message:ce,data:L}=A||{};if(!ne){H(ce);return}const ve=Array.isArray(L==null?void 0:L.items)?L.items:[];y(x=>G?[...x,...ve]:ve),q((L==null?void 0:L.total)||0),d((L==null?void 0:L.totalQuota)||0),W((L==null?void 0:L.totalCalculateQuota)||0),X(r),J(m),F(r*m>=((L==null?void 0:L.total)||0)||ve.length<m)}catch(ue){if($!==i.current)return;H(ue.message)}finally{$===i.current&&(G?w(!1):(R(!1),N(!1)))}};return u.useEffect(()=>{j({page:1,size:V,nextFilters:a}).catch(()=>{})},[]),{activePage:M,dateRange:h,filters:f,finished:Q,formApi:c,handleExport:async()=>{try{const r=ee(),m=p(h[0]).startOf("day").format("YYYY-MM-DD"),S=p(h[1]).endOf("day").format("YYYY-MM-DD"),K=await s({startTime:m,endTime:S,dateType:k,...r}),G=(n==null?void 0:n(h))||"statistics.xlsx";Bt(K,G)}catch(r){H(r.message)}},handleLoadMore:async()=>{v||b||Q||await j({page:M+1,size:V,append:!0})},handlePageChange:async r=>{await j({page:r,size:V})},handlePageSizeChange:async r=>{await j({page:1,size:r})},handleReset:async({filters:r,range:m}={})=>{const S=m||xa(),K=r||{...a};c.current&&(c.current.reset(),c.current.setValues(K)),E(K),Y(S),await j({page:1,size:V,nextFilters:K,range:S})},handleSearch:async()=>{const r=ee();await j({page:1,size:V,nextFilters:r})},items:_,loading:v,loadingMore:b,localDateType:k,pageSize:V,setDateRange:Y,setFilterValue:B,setLocalDateType:z,summaryLoading:te,total:Z,totalCalculateQuota:T,totalQuota:U}},Vt=(t,a)=>t&&t.id!==void 0&&t.id!==null?t.id:t&&t.key!==void 0&&t.key!==null?t.key:t&&t.user_id!==void 0&&t.user_id!==null?`${t.user_id}-${t.day_time}-${a}`:`${t.username}-${t.day_time}-${a}`,Et=(t,{permissionRoot:a,t:l})=>
1{if(!t||typeof t!="object")return"-";const s=Object.entries(t).filter(([,n])=>n&&typeof n=="object").sort(([n],[i])=>String(n).localeCompare(String(i),"zh-Hans-CN"));return s.length?e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:6},children:s.map(([n,i])=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("div",{style:{minWidth:92,color:"#666666"},children:n}),e.jsx(Le,{content:l("detailPage.statistics.fee.actual",{defaultValue:"å®é
æ£è´¹"}),children:e.jsx($e,{color:"red",size:"small",children:D(i.quota,6)})}),a?e.jsx(Le,{content:l("detailPage.statistics.fee.calculated",{defaultValue:"åç»åç计ç®"}),children:e.jsx($e,{color:"blue",size:"small",children:D(i.calculate_quota,6)})}):null]},n))}):"-"},At=({permissionRoot:t,t:a,totalQuota:l,totalCalculateQuota:s})=>{const n=[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:a("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(l,6)}];return t&&n.push({key:"totalCalculateQuota",icon:Ae,iconClassName:o.summaryIconCoin,title:a("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»åç计ç®é¢åº¦"}),value:D(s,6)}),n},Ca=t=>String(t||"").replace(/[\[\]\:\*\?\/\\]/g," ").replace(/\s+/g," ").trim().slice(0,31)||"Sheet",ja=(t,a)=>{const l=Ca(t);if(!a.has(l))return a.add(l),l;for(let n=1;n<999;n+=1){const i=`_${n}`,c=Ca(l.length+i.length>31?l.slice(0,31-i.length)+i:l+i);if(!a.has(c))return a.add(c),c}const s=`${l.slice(0,28)}_99`;return a.add(s),s},It=async(t,a)=>{if(!a||!a["!ref"])return!0;const l=t.utils.sheet_to_json(a,{header:1,blankrows:!1,defval:""});return!l.length||l.length===1?!0:!l.some((n,i)=>i===0?!1:Array.isArray(n)&&n.some(c=>String(c||"").trim()))},wt=({dateType:t="cst"})=>{const{t:a}=De(),l=je("statistics_permission_root"),[s,n]=u.useState(!1),{activePage:i,dateRange:c,filters:_,formApi:y,handlePageChange:v,handlePageSizeChange:R,handleReset:b,handleSearch:w,items:te,loading:N,localDateType:M,pageSize:X,setDateRange:V,setFilterValue:J,setLocalDateType:Z,summaryLoading:q,total:Q,totalCalculateQuota:F,totalQuota:U}=Ge({dateType:t,initialFilters:{username:""},fetcher:ka}),d=u.useMemo(()=>At({permissionRoot:l,t:a,totalQuota:U,totalCalculateQuota:F}),[l,a,U,F]),T=u.useMemo(()=>[{title:a("detailPage.statistics.columns.date",{defaultValue:"æ¥æ"}),width:120,dataIndex:"day_time"},{title:a("detailPage.statistics.columns.username",{defaultValue:"ç¨æ·å"}),width:140,ellipsis:!0,dataIndex:"username",render:(h,Y)=>e.jsx(Ie,{needCopy:!0,children:Y.display_name||h})},{title:a("detailPage.statistics.columns.fee",{defaultValue:"è´¹ç¨"}),width:160,dataIndex:"total_quota",align:"center",render:(h,Y)=>e.jsxs(_a,{spacing:2,vertical:!0,children:[e.jsx(Le,{content:a("detailPage.statistics.fee.actual",{defaultValue:"å®é
æ£è´¹"}),children:e.jsx($e,{color:"red",size:"large",children:D(Y.total_quota,6)})}),l?e.jsx(Le,{content:a("detailPage.statistics.fee.calculated",{defaultValue:"è®¡ç®æ£è´¹"}),children:e.jsx($e,{color:"blue",size:"large",children:D(Y.total_calculate_quota,6)})}):null]})},{title:a("detailPage.statistics.columns.usage",{defaultValue:"ç¨éç»è®¡"}),dataIndex:"factory_details",width:360,render:(h,Y)=>Et(Y.factory_details,{permissionRoot:l,t:a})}],[l,a]),W=async()=>{var h,Y,k,z;if(!s){n(!0);try{const B=await Da(()=>import("./xlsx-Yp4_-Dky.js"),[]),ee=new Set,j=Array.isArray(c)?c:[],g=p(j[0]).startOf("day").format("YYYY-MM-DD"),le=p(j[1]).endOf("day").format("YYYY-MM-DD"),ie=(((Y=(h=y.current)==null?void 0:h.getValues)==null?void 0:Y.call(h))||{}).username??_.username??"",Fe=await(await Pa({page:i,pageSize:X,startTime:g,endTime:le,dateType:M,username:ie})).data.arrayBuffer(),r=B.read(Fe,{type:"array"}),m=B.utils.book_new(),S=ja("æ¦è§ç»è®¡",ee),K=(k=r.SheetNames)==null?void 0:k[0],G=K?r.Sheets[K]:null;G&&B.utils.book_append_sheet(m,G,S);const $=await sa(),{success:ue,message:he,data:se}=$||{};if(!ue){H(he);return}const Se=Array.isArray(se)?se:[];for(const ve of Se){const P=await(await ma({page:1,pageSize:X,startTime:g,endTime:le,dateType:M,username:ie,instance:"",modelName:"",factory:ve,tokenName:"",abnormal:!1})).data.arrayBuffer(),ae=B.read(P,{type:"array"}),re=(z=ae.SheetNames)==null?void 0:z[0],ge=re?ae.Sheets[re]:null;await It(B,ge)||B.utils.book_append_sheet(m,ge,ja(ve,ee))}const A=B.write(m,{bookType:"xlsx",type:"array"}),ne=new Blob([A],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),ce=URL.createObjectURL(ne),L=document.createElement("a");L.href=ce,L.download=`statistics_overview_${p(j[0]).format("YYYY-MM-DD")}_${p(j[1]).format("YYYY-MM-DD")}.xlsx`,L.click(),URL.revokeObjectURL(ce)}catch(B){H((B==null?void 0:B.message)||B)}finally{n(!1)}}},f=e.jsx(We,{loading:q,children:e.jsx(de,{layout:"horizontal",style:{marginBottom:16,width:"100%"},getFormApi:h=>y.current=h,onSubmit:()=>{w().catch(()=>{})},children:e.jsxs("div",{className:o.filters,children:[e.jsx(ta,{dateType:M,onDateTypeChange:h=>Z((h||"CST").toLowerCase()),dateRange:c,onDateRangeChange:V}),e.jsx(de.Input,{noLabel:!0,showClear:!0,field:"username",className:oe.formInput,placeholder:a("detailPage.statistics.filters.usernamePlaceholder",{defaultValue:"ç¨æ·å"}),value:_.username||"",onChange:h=>J("username",h),style:{width:150},initValue:""}),e.jsx(Ee,{className:O.resetBtn,onClick:()=>{b({filters:{username:""}}).catch(()=>{})},disabled:s,children:a("common.action.reset",{defaultValue:"éç½®"})}),e.jsx(Ee,{className:O.searchBtn,htmlType:"submit",disabled:s,children:a("common.action.search",{defaultValue:"æ¥è¯¢"})}),e.jsxs("div",{className:O.exportBtn,style:{marginLeft:"auto"},onClick:W,children:[e.jsx("img",{src:Ue,alt:a("common.action.export",{defaultValue:"导åº"}),className:O.exportIcon}),e.jsx("span",{children:s?a("common.loading",{defaultValue:"导åºä¸..."}):a("common.action.export",{defaultValue:"导åº"})})]})]})})}),E=e.jsx(aa,{rowKey:Vt,columns:T,dataSource:te,pagination:{currentPage:i,pageSize:X,total:Q,pageSizeOpts:[10,20,50,100],onPageChange:h=>{v(h).catch(()=>{})},onPageSizeChange:h=>{R(h).catch(()=>{})}},loading:N});return e.jsx(ha,{marginTop:l?0:16,summaryItems:d,summaryLoading:q,desktopFilters:f,desktopContent:E})},Ia=({dateType:t="cst",permissionRoot:a=!1,fetcher:l,exporter:s,getExportFilename:n,initialFilters:i={},columns:c=[],desktopFilterFields:_=[],getSummaryItems:y,getResetFilters:v,onReset:R,marginTop:b})=>{const{t:w}=De(),{activePage:te,dateRange:N,filters:M,formApi:X,handleExport:V,handlePageChange:J,handlePageSizeChange:Z,handleReset:q,handleSearch:Q,items:F,loading:U,localDateType:d,pageSize:T,setDateRange:W,setFilterValue:f,setLocalDateType:E,summaryLoading:h,total:Y,totalCalculateQuota:k,totalQuota:z}=Ge({dateType:t,initialFilters:i,fetcher:l,exporter:s,getExportFilename:n}),B=u.useMemo(()=>(y==null?void 0:y({permissionRoot:a,t:w,totalQuota:z,totalCalculateQuota:k}))||[],[y,a,w,z,k]),ee=e.jsx(We,{loading:h,children:e.jsx(de,{layout:"horizontal",style:{marginBottom:16,width:"100%"},getFormApi:g=>X.current=g,onSubmit:()=>{Q().catch(()=>{})},children:e.jsxs("div",{className:o.filters,children:[e.jsx(ta,{dateType:d,onDateTypeChange:g=>E((g||"CST").toLowerCase()),dateRange:N,onDateRangeChange:W}),_.filter(g=>g.visible!==!1).map(g=>{const le=w(g.placeholderKey,{defaultValue:g.defaultValue}),fe=g.width||150;return g.type==="select"?e.jsx(Oe,{field:g.key,showClear:!0,noLabel:!0,placeholder:le,className:oe.selectInput,style:{width:fe},value:M[g.key]||"",onChange:ie=>{const xe=ie||"";f(g.key,xe),typeof g.onChange=="function"&&g.onChange(xe)},children:(g.options||[]).map(ie=>e.jsx(Ze.Option,{value:String(ie.value),children:ie.label},String(ie.value)))},g.key):e.jsx(de.Input,{noLabel:!0,showClear:!0,field:g.key,className:oe.formInput,placeholder:le,value:M[g.key]||"",onChange:ie=>{f(g.key,ie),typeof g.onChange=="function"&&g.onChange(ie)},style:{width:fe},initValue:""},g.key)}),e.jsx(Ee,{className:O.resetBtn,onClick:()=>{typeof R=="function"&&R();const g=typeof v=="function"?v():void 0;q(g?{filters:g}:void 0).catch(()=>{})},children:w("common.action.reset",{defaultValue:"éç½®"})}),e.jsx(Ee,{className:O.searchBtn,htmlType:"submit",children:w("common.action.search",{defaultValue:"æ¥è¯¢"})}),e.jsx("div",{className:O.exportBtn,style:{marginLeft:"auto"},onClick:V,children:e.jsx("span",{children:w("common.action.export",{defaultValue:"导åº"})})})]})})}),j=e.jsx(aa,{columns:c,dataSource:F,pagination:{currentPage:te,pageSize:T,total:Y,pageSizeOpts:[10,20,50,100],onPageChange:g=>{J(g).catch(()=>{})},onPageSizeChange:g=>
1{Z(g).catch(()=>{})}},loading:U});return e.jsx(ha,{marginTop:b,summaryItems:B,summaryLoading:h,desktopFilters:ee,desktopContent:j})},Mt=({permissionRoot:t,t:a,totalQuota:l,totalCalculateQuota:s})=>t?[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:a("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(l,6)},{key:"totalCalculateQuota",icon:Ae,iconClassName:o.summaryIconCoin,title:a("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»åç计ç®é¢åº¦"}),value:D(s,6)}]:[],Rt=({dateType:t="cst"})=>{const a=je("statistics_permission_root"),l=[{title:"æ¥æ",dataIndex:"day_time"},{title:"ç¨æ·å",dataIndex:"username",render:(s,n)=>e.jsx(Ie,{needCopy:!0,children:n.display_name||s})},{title:"è´¹ç¨",dataIndex:"quota",render:s=>e.jsx("span",{style:{color:"#121212"},children:D(s,6)})},{title:"计ç®è´¹ç¨",dataIndex:"calculate_quota",className:a?"tableShow":"tableHiddle",render:(s,n)=>e.jsx("span",{style:{color:"#121212"},children:D(n.calculate_quota,6)})}];return e.jsx(Ia,{dateType:t,permissionRoot:a,fetcher:Sa,exporter:Na,initialFilters:{username:"",instance:""},columns:l,desktopFilterFields:[{key:"username",placeholderKey:"detailPage.statistics.filters.usernamePlaceholder",defaultValue:"ç¨æ·å",visible:a}],mobileFilterFields:[{key:"username",placeholderKey:"detailPage.statistics.filters.usernamePlaceholder",defaultValue:"ç¨æ·å",visible:a}],getResetFilters:()=>({username:"",instance:""}),onReset:()=>{},getSummaryItems:Mt,getExportFilename:s=>`statistics_user_${s.map(n=>p(n).format("YYYY-MM-DD")).join("_")}.xlsx`,renderMobileCard:s=>e.jsxs("div",{className:o.card,children:[e.jsx("div",{className:o.cardTitle,children:s.day_time}),a?e.jsxs("div",{className:o.cardSub,children:["ç¨æ·åï¼",s.display_name||s.username||"-"]}):null,e.jsxs("div",{className:o.cardMetaValue,children:[e.jsxs("span",{children:["è´¹ç¨ï¼",D(s.quota,6)]}),a?e.jsxs("span",{children:["ç»è®¡è´¹ç¨ï¼",D(s.calculate_quota,6)]}):null]})]},s.id||s.key||`${s.username}-${s.day_time}`)})},Yt=({permissionRoot:t,t:a,totalQuota:l,totalCalculateQuota:s})=>t?[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:a("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(l,6)},{key:"totalCalculateQuota",icon:Ae,iconClassName:o.summaryIconCoin,title:a("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»åç计ç®é¢åº¦"}),value:D(s,6)}]:[],Lt=({dateType:t="cst"})=>{const a=je("statistics_permission_root"),l=[{title:"æ¥æ",dataIndex:"day_time"},{title:"ç¨æ·å",dataIndex:"username",render:(s,n)=>e.jsx(Ie,{needCopy:!0,children:n.display_name||s})},{title:"api key",dataIndex:"token_name",render:s=>e.jsx(Ie,{needCopy:!0,children:s})},{title:"è´¹ç¨",dataIndex:"quota",render:s=>e.jsx("span",{style:{color:"#121212"},children:D(s,6)})},{title:"计ç®è´¹ç¨",dataIndex:"calculate_quota",className:a?"tableShow":"tableHiddle",render:(s,n)=>e.jsx("span",{style:{color:"#121212"},children:D(n.calculate_quota,6)})}];return e.jsx(Ia,{dateType:t,permissionRoot:a,fetcher:Ta,exporter:Ba,initialFilters:{tokenName:"",username:"",instance:""},columns:l,desktopFilterFields:[{key:"tokenName",placeholderKey:"detailPage.statistics.filters.tokenNamePlaceholder",defaultValue:"Token"},{key:"username",placeholderKey:"detailPage.statistics.filters.usernamePlaceholder",defaultValue:"ç¨æ·å"}],mobileFilterFields:[{key:"tokenName",placeholderKey:"detailPage.statistics.filters.tokenNamePlaceholder",defaultValue:"Token"},{key:"username",placeholderKey:"detailPage.statistics.filters.usernamePlaceholder",defaultValue:"ç¨æ·å",visible:a}],getResetFilters:()=>({tokenName:"",username:"",instance:""}),onReset:()=>{},getSummaryItems:Yt,getExportFilename:s=>`statistics_token_${s.map(n=>p(n).format("YYYY-MM-DD")).join("_")}.xlsx`,renderMobileCard:s=>e.jsxs("div",{className:o.card,children:[e.jsx("div",{className:o.cardTitle,children:e.jsx("span",{children:s.day_time})}),a?e.jsxs("div",{className:o.cardSub,children:["ç¨æ·åï¼",s.display_name||s.username||"-"]}):null,e.jsxs("div",{className:o.cardSub,children:["api keyï¼",s.token_name]}),e.jsxs("div",{className:o.cardMetaValue,children:[e.jsxs("span",{children:["è´¹ç¨ï¼",D(s.quota,6)]}),a?e.jsxs("span",{children:["ç»è®¡è´¹ç¨ï¼",D(s.calculate_quota,6)]}):null]})]},s.id||s.key||`${s.username}-${s.day_time}-${s.token_name}`)})},Fa=()=>[p().subtract(6,"days").format("YYYY-MM-DD"),p().format("YYYY-MM-DD")],$t=(t,a)=>{const l=new Set(t.map(n=>n.id)),s=[...t];return a.forEach(n=>{l.has(n.id)||s.push(n)}),s},zt=(t,a)=>{const l=new Blob([t.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),s=URL.createObjectURL(l),n=document.createElement("a");n.href=s,n.download=a,n.click(),URL.revokeObjectURL(s)},wa=({fetcher:t,exporter:a,getExportFilename:l,dateType:s="cst",initialFilters:n={}}={})=>{const i=u.useRef(0),c=u.useRef(null),[_,y]=u.useState([]),[v,R]=u.useState(!0),[b,w]=u.useState(!1),[te,N]=u.useState(!0),[M,X]=u.useState(1),[V,J]=u.useState(Ve),[Z,q]=u.useState(0),[Q,F]=u.useState(!1),[U,d]=u.useState(0),[T,W]=u.useState(Fa()),[f,E]=u.useState((s||"cst").toLowerCase()),[h,Y]=u.useState(n),[k,z]=u.useState([]),[B,ee]=u.useState(!1),[j,g]=u.useState(1),[le,fe]=u.useState(0),[ie,xe]=u.useState([]);u.useEffect(()=>{E((s||"cst").toLowerCase())},[s]);const Fe=(A,ne)=>
1{Y(ce=>({...ce,[A]:ne}))},r=async()=>{try{const A=await sa(),{success:ne,message:ce,data:L}=A||{};if(!ne){H(ce);return}xe(Array.isArray(L)?L:[])}catch(A){H(A.message||A)}},m=async({page:A=M,size:ne=V,nextFilters:ce,range:L=T,nextDateType:ve=f,append:x=!1}={})=>{const P=++i.current;x?w(!0):(R(!0),N(!0));try{const ae=ce||h,re=p(L[0]).format("YYYY-MM-DD"),ge=p(L[1]).format("YYYY-MM-DD"),_e=await t({page:A,pageSize:ne,startTime:re,endTime:ge,dateType:ve,...ae});if(P!==i.current)return;const{success:be,message:ke,data:pe}=_e||{};if(!be){H(ke);return}const ye=Array.isArray(pe==null?void 0:pe.items)?pe.items:[];y(Ne=>x?[...Ne,...ye]:ye),q((pe==null?void 0:pe.total)||0),d((pe==null?void 0:pe.totalQuota)||0),X(A),J(ne),F(A*ne>=((pe==null?void 0:pe.total)||0)||ye.length<ne)}catch(ae){if(P!==i.current)return;H(ae.message||ae)}finally{P===i.current&&(x?w(!1):(R(!1),N(!1)))}};u.useEffect(()=>{r().catch(()=>{}),m({page:1,size:V,nextFilters:n}).catch(()=>{})},[]);const S=async()=>{await m({page:1,size:V,nextFilters:h,range:T,nextDateType:f})},K=async()=>{const A=Fa(),ne={...n},ce=(s||"cst").toLowerCase();c.current&&c.current.reset(),W(A),Y(ne),E(ce),await m({page:1,size:V,nextFilters:ne,range:A,nextDateType:ce})},G=async A=>{await m({page:A,size:V})},$=async A=>{await m({page:1,size:A})},ue=async()=>{v||b||Q||await m({page:M+1,size:V,append:!0})},he=async()=>{if(a)try{const A=p(T[0]).format("YYYY-MM-DD"),ne=p(T[1]).format("YYYY-MM-DD"),ce=await a({startTime:A,endTime:ne,dateType:f,...h}),L=(l==null?void 0:l(T))||`statistics_channels_${p(T[0]).format("YYYY-MM-DD")}_${p(T[1]).format("YYYY-MM-DD")}.xlsx`;zt(ce,L)}catch(A){H(A.message||A)}},se=async({page:A=1,size:ne=Ve,keyword:ce=""}={})=>{ee(!0);try{const L=await Ua({page:A,pageSize:ne,keyword:ce,idSort:!1}),{success:ve,message:x,data:P}=L||{};if(!ve){H(x);return}const ae=Array.isArray(P==null?void 0:P.items)?P.items:[];z(re=>A===1?ae:$t(re,ae)),fe((P==null?void 0:P.total)||ae.length),g(A)}catch(L){H(L.message||L)}finally{ee(!1)}};return{activePage:M,dateRange:T,factoryOptions:ie,filters:h,finished:Q,formApi:c,handleExport:he,handleLoadMore:ue,handleLoadMoreChannels:async()=>{const A=Math.ceil(le/Ve);B||j>=A||await se({page:j+1,size:Ve})},handlePageChange:G,handlePageSizeChange:$,handleReset:K,handleSearch:S,items:_,loading:v,loadingMore:b,localDateType:f,mobileChannelHasMore:Math.ceil(le/Ve)>j,mobileChannelLoading:B,mobileChannelPage:j,mobileChannelTotal:le,mobileChannels:k,pageSize:V,setDateRange:W,setFilterValue:Fe,setLocalDateType:E,summaryLoading:te,total:Z,totalQuota:U,loadMobileChannels:se}},Ot=({dateType:t="cst",fetcher:a,exporter:l,getExportFilename:s,initialFilters:n={},columns:i=[],getSummaryItems:c,marginTop:_=16,showModelFilter:y=!1,showProviderFilter:v=!1,showFactoryFilter:R=!1})=>{const{t:b}=De(),{activePage:w,dateRange:te,filters:N,factoryOptions:M,formApi:X,handleExport:V,handlePageChange:J,handlePageSizeChange:Z,handleReset:q,handleSearch:Q,items:F,loading:U,localDateType:d,pageSize:T,setDateRange:W,setFilterValue:f,setLocalDateType:E,summaryLoading:h,total:Y,totalQuota:k}=wa({fetcher:a,exporter:l,getExportFilename:s,dateType:t,initialFilters:n}),z=u.useMemo(()=>(c==null?void 0:c({t:b,totalQuota:k}))||[],[c,b,k]),B=e.jsx(We,{loading:h,isShowRight:!1,children:e.jsx(de,{layout:"horizontal",style:{marginBottom:16,width:"100%"},getFormApi:j=>X.current=j,onSubmit:()=>{Q().catch(()=>{})},children:e.jsxs("div",{className:o.filters,children:[e.jsx(ta,{dateType:d,onDateTypeChange:j=>E((j||"CST").toLowerCase()),dateRange:te,onDateRangeChange:W}),v?e.jsx(Ka,{initUserId:N.providerId||"",roles:"2",width:200,onChange:j=>{f("providerId",(j==null?void 0:j.id)||"")}}):null,R?e.jsx(Oe,{field:"factory",showClear:!0,noLabel:!0,placeholder:b("detailPage.statistics.filters.factoryPlaceholder",{defaultValue:"æå±åå"}),style:{width:160},value:N.factory||"",onChange:j=>f("factory",j||""),className:oe.selectInput,children:M.map(j=>e.jsx(Ze.Option,{value:j,children:j},j))}):null,e.jsx(za,{initIds:N.channelIds||"",onChange:j=>f("channelIds",j),placeholder:b("detailPage.statistics.filters.channelIdsPlaceholder",{defaultValue:"æ¸ é"}),width:200}),y&&e.jsx(de.Input,{noLabel:!0,showClear:!0,field:"model",className:oe.formInput,placeholder:b("detailPage.statistics.filters.modelNamePlaceholder",{defaultValue:"模å"}),value:N.model||"",onChange:j=>
1f("model",j),style:{width:150},initValue:""}),e.jsx(Ee,{className:O.resetBtn,onClick:()=>{q().catch(()=>{})},children:b("common.action.reset",{defaultValue:"éç½®"})}),e.jsx(Ee,{className:O.searchBtn,htmlType:"submit",children:b("common.action.search",{defaultValue:"æ¥è¯¢"})}),l?e.jsxs("div",{className:O.exportBtn,style:{marginLeft:"auto"},onClick:V,children:[e.jsx("img",{src:Ue,alt:b("common.action.export",{defaultValue:"导åº"}),className:O.exportIcon}),e.jsx("span",{children:b("common.action.export",{defaultValue:"导åº"})})]}):null]})})}),ee=e.jsx(aa,{columns:i,dataSource:F,pagination:{currentPage:w,pageSize:T,total:Y,pageSizeOpts:[10,20,50,100],onPageChange:j=>{J(j).catch(()=>{})},onPageSizeChange:j=>{Z(j).catch(()=>{})}},loading:U});return e.jsx(ha,{marginTop:_,summaryItems:z,summaryLoading:h,desktopFilters:B,desktopContent:ee})},Ma={display:"flex",alignItems:"center",gap:8,color:"#666",fontSize:12},Qt={color:"#121212"},qt=(t,a)=>t&&t.id!==void 0&&t.id!==null?t.id:t&&t.key!==void 0&&t.key!==null?t.key:`${t.channel_id}-${t.day_time}-${t.model_name}-${a}`,Ut=({t,totalQuota:a})=>[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:t("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(a,6)}],Ra=(t,a)=>[{key:"promptTokens",label:a("detailPage.statistics.usage.promptTokens",{defaultValue:"è¾å
¥ Token"}),value:I(t.prompt_token_used),dotColor:"#759DFA",tagColor:"blue"},{key:"completionTokens",label:a("detailPage.statistics.usage.completionTokens",{defaultValue:"è¾åº Token"}),value:I(t.complete_token_used),dotColor:"#67BA60",tagColor:"green"},{key:"cacheCreationTokens",label:a("detailPage.statistics.usage.cacheCreationTokens",{defaultValue:"ç¼ååå
¥ Token"}),value:I(t.cache_creation_input_token_used),dotColor:"#C894D6",tagColor:"purple"},{key:"cacheReadTokens",label:a("detailPage.statistics.usage.cacheReadTokens",{defaultValue:"å½ä¸ç¼å Token"}),value:I(t.cache_read_input_token_used),dotColor:"#E39349",tagColor:"orange"},{key:"hiddenCacheReadTokens",label:a("detailPage.statistics.usage.hiddenCacheReadTokens",{defaultValue:"éå¼ç¼å Token"}),value:I(t.input_cached_token_hidden),dotColor:"#13A8A8",tagColor:"cyan"},{key:"thoughtsTokens",label:a("detailPage.statistics.usage.thoughtsTokens",{defaultValue:"æè Token"}),value:I(t.thoughts_token_used),dotColor:"#F8CF43",tagColor:"yellow"}],Wt=(t,a)=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:a("detailPage.statistics.detail.basic",{defaultValue:"åºç¡ä¿¡æ¯"})}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4,fontSize:13},children:[e.jsxs("span",{children:["æ¥æ: ",t.day_time||"-"]}),e.jsxs("span",{children:["æ¸ éID: ",t.channel_id??"-"]}),e.jsxs("span",{children:["æ¸ éåç§°: ",t.channel_name||"-"]}),e.jsxs("span",{children:["模å: ",t.model_name||"-"]}),e.jsxs("span",{children:["è¯·æ±æ°: ",t.request_count??0]})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:a("detailPage.statistics.columns.usage",{defaultValue:"ç¨éç»è®¡"})}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[e.jsxs("div",{style:{fontSize:13,color:"#121212"},children:[a("detailPage.statistics.usage.totalUsed",{defaultValue:"æ»æ¶èé:"})," ",I(t.token_used)]}),Ra(t,a).map(l=>e.jsxs("div",{style:Ma,children:[e.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:l.dotColor,display:"inline-block"}}),l.label,"ï¼",l.value]},l.key))]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"è´¹ç¨"}),e.jsx("div",{style:{fontSize:13,color:"#121212"},children:D(t.quota,6)})]})]}),Kt=({dateType:t="cst"})=>{const{t:a}=De(),[l,s]=u.useState({}),n=[{title:a("detailPage.statistics.columns.date",{defaultValue:"æ¥æ"}),dataIndex:"day_time",width:120,key:"day_time"},{title:a("detailPage.statistics.columns.channelID",{defaultValue:"æ¸ éID"}),width:80,align:"center",dataIndex:"channel_id",key:"channel_id"},{title:a("detailPage.statistics.columns.channelName",{defaultValue:"æ¸ éåç§°"}),width:260,ellipsis:!0,dataIndex:"channel_name",render:i=>e.jsx("div",{className:O.ellipsisWrap,onClick:c=>{c.stopPropagation(),ra(i),ea(a("detailPage.statistics.success.copy",{defaultValue:"å¤å¶æå"})+i)},children:i})},{title:a("detailPage.statistics.columns.factory",{defaultValue:"æå±åå"}),width:160,ellipsis:!0,dataIndex:"factory"},{title:a("detailPage.statistics.columns.modelName",{defaultValue:"模å"}),width:160,ellipsis:!0,dataIndex:"model_name",render:(i,c)=>e.jsx("div",{className:O.ellipsisWrap,onClick:_=>{_.stopPropagation(),ra(i),ea(a("detailPage.statistics.success.copy",{defaultValue:"å¤å¶æå"})+i)},children:c.model_stage_type!==""?`${i} ï¼${c.model_stage_type}ï¼`:i})},{title:a("detailPage.statistics.columns.requestCount",{defaultValue:"è¯·æ±æ°"}),width:120,align:"center",dataIndex:"request_count",key:"request_count"},{title:a("detailPage.statistics.columns.usage",{defaultValue:"ç¨éç»è®¡"}),width:320,dataIndex:"usage",render:(i,c,_)=>{const y=qt(c,_),v=!!l[y];return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},onClick:R=>{R.stopPropagation(),s(b=>({...b,[y]:!v}))},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",ga
1p:8},children:[e.jsxs("div",{style:{fontSize:14,color:"#121212",textAlign:"left"},children:["æ»æ¶èé: ",I(c.token_used)]}),e.jsx("div",{style:{display:"flex",alignItems:"center",gap:4,cursor:"pointer",fontSize:12,color:"#666666"},children:v?e.jsx(ua,{size:"12px"}):e.jsx(ca,{size:"12px"})})]}),e.jsx(da,{isExpanded:v,outStyle:Ma,textStyle:Qt,items:Ra(c,a)})]})}},{title:a("detailPage.statistics.columns.fee",{defaultValue:"è´¹ç¨"}),width:120,align:"center",dataIndex:"quota",key:"quota",render:i=>D(i,6)}];return e.jsx(Ot,{dateType:t,fetcher:Va,exporter:Ea,initialFilters:{channelIds:"",model:"",providerId:"",factory:""},columns:n,getSummaryItems:Ut,showModelFilter:!0,showFactoryFilter:!0,renderMobileCard:(i,{onClick:c})=>e.jsxs("div",{className:o.card,onClick:c,children:[e.jsx("div",{className:o.cardTitle,children:i.day_time}),e.jsxs("div",{className:o.cardSub,children:[i.channel_id," / ",i.channel_name]}),e.jsxs("div",{className:o.cardSub,children:["模åï¼",i.model_name]}),e.jsxs("div",{className:o.cardMetaValue,children:[e.jsxs("span",{children:["è¯·æ±æ°ï¼",i.request_count]}),e.jsxs("span",{children:["è´¹ç¨ï¼",D(i.quota,6)]})]})]},i.id||i.key||`${i.channel_id}-${i.day_time}`),renderMobileDetail:i=>Wt(i,a)})},Xe=({loading:t,hasData:a,children:l})=>t?e.jsx(Qe,{active:!0,placeholder:e.jsxs("div",{className:C.mobileListSkeleton,children:[e.jsx("div",{className:C.mobileListSkeletonItem}),e.jsx("div",{className:C.mobileListSkeletonItem})]})}):a?e.jsx("div",{className:o.cardListWrap,children:l}):e.jsxs("div",{className:C.emptyWrap,children:[e.jsx("div",{className:C.emptyIcon,children:e.jsx("img",{src:Ga,alt:"empty",className:C.emptyIconInner})}),e.jsx("div",{children:"ææ æ°æ®"})]}),Ht=({billings:t=[],loading:a=!1,finished:l=!0,onLoadMore:s,onCardClick:n})=>{const{t:i}=De();return t.length?e.jsx(He,{finished:l,loading:a,onLoad:()=>{s==null||s()},children:t.map(c=>e.jsxs("div",{className:Ce.card,onClick:()=>n==null?void 0:n(c),children:[e.jsxs("div",{className:Ce.cardTitle,children:[e.jsx("img",{src:Xa,alt:""}),e.jsx("div",{children:(c.model_stage_type!==""?`${c.model_name} ï¼${c.model_stage_type}ï¼`:c.model_name)||"-"})]}),e.jsxs("div",{className:Ce.cardSub,children:[i("detailPage.statistics.columns.tokenName",{defaultValue:"api key"}),"ï¼",c.token_name||"-"]}),e.jsxs("div",{className:Ce.cardSub,children:[i("detailPage.statistics.columns.factory",{defaultValue:"æå±åå"}),"ï¼",c.factory||"-"]}),e.jsxs("div",{className:Ce.cardMeta,children:[e.jsx("span",{children:c.day_time||"-"}),e.jsxs("span",{children:[i("detailPage.statistics.columns.requestCount",{defaultValue:"è¯·æ±æ¬¡æ°"}),"ï¼",c.request_count??0]})]})]},c.id||c.key||`${c.username}-${c.day_time}-${c.token_name}-${c.model_name}`))}):null},Gt=t=>({width:6,height:6,borderRadius:"50%",background:t,display:"inline-block"}),Xt={display:"flex",alignItems:"center",gap:8,color:"#666666",fontSize:13},oa={fontSize:14,fontWeight:500,marginBottom:8},va=(t=[])=>t.map(a=>e.jsxs("div",{style:Xt,children:[e.jsx("span",{style:Gt(a.dotColor)}),e.jsx("span",{children:a.label}),e.jsx("span",{children:"ï¼"}),e.jsx("span",{style:{color:"#121212"},children:a.value})]},a.key)),Jt=({visible:t,record:a,onClose:l,permissionRoot:s})=>{const{t:n}=De();if(!a)return null;const i=[{key:"promptTokens",label:n("detailPage.statistics.usage.promptTokens",{defaultValue:"è¾å
¥ Token"}),value:I(a.prompt_token_used),dotColor:"#759DFA"},{key:"completionTokens",label:n("detailPage.statistics.usage.completionTokens",{defaultValue:"è¾åº Token"}),value:I(a.complete_token_used),dotColor:"#67BA60"},{key:"cacheCreationTokens",label:n("detailPage.statistics.usage.cacheCreationTokens",{defaultValue:"ç¼ååå
¥ Token"}),value:I(a.cache_creation_input_token_used),dotColor:"#C894D6"},{key:"cacheReadTokens",label:n("detailPage.statistics.usage.cacheReadTokens",{defaultValue:"å½ä¸ç¼å Token"}),value:I(a.cache_read_input_token_used),dotColor:"#E39349"},{key:"hiddenCacheReadTokens",label:n("detailPage.statistics.usage.hiddenCacheReadTokens",{defaultValue:"éå¼ç¼å Token"}),value:I(a.input_cached_token_hidden),dotColor:"#13A8A8"},{key:"thoughtsTokens",label:n("detailPage.statistics.usage.thoughtsTokens",{defaultValue:"æè Token"}),value:I(a.thoughts_token_used),dotColor:"#F8CF43"}],c=[{key:"inputPrice",label:n("detailPage.statistics.ratio.inputPrice",{defaultValue:"è¾å
¥ä»·æ ¼"}),value:I(a.calculate_prompt_ratio),dotColor:"#759DFA"},{key:"outputPrice",label:n("detailPage.statistics.ratio.outputPrice",{defaultValue:"è¾åºä»·æ ¼"}),value:I(a.calculate_complete_ratio),dotColor:"#67BA60"},{key:"cacheCreationPrice",label:n("detailPage.statistics.ratio.cacheCreationPrice",{defaultValue:"ç¼ååå
¥ä»·æ ¼"}),value:I(a.calculate_cache_creation_input_token_ratio),dotColor:"#C894D6"},{key:"cacheReadPrice",label:n("detailPage.statistics.ratio.cacheReadPrice",{defaultValue:"å½ä¸ç¼åä»·æ ¼"}),value:I(a.calculate_cache_read_input_token_ratio),dotColor:"#E39349"},{key:"hiddenCacheReadPrice",label:n("detailPage.statistics.ratio.hiddenCacheReadPrice",{defaultValue:"éå¼ç¼åä»·æ ¼"}),value:I(a.calculate_cache_read_hidden_input_token_ratio),dotColor:"#13A8A8"},{key:"thoughtsPrice",label:n("detailPage.statistics.ratio.thoughtsPrice",{defaultValue:"æèä»·æ ¼"}),value:I(a.calculate_thoughts_token_ratio),dotColor:"#F8CF43"}];return e.jsx(Ja,{visible:t,title:n("detailPage.statistics.detailTitle",{defaultValue:"ç»è®¡è¯¦æ
"}),onClose:l,children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[e.jsxs("div",{children:[e.jsx("div",{style:oa,children:n("detailPage.statistics.columns.usage",{defaultValue:"ç¨éç»è®¡"})}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[e.jsxs("div",{style:{fontSize:13,color:"#121212"},children:[n("detailPage.statistics.usage.totalUsed",{defaultValue:"æ»æ¶èé:"}),I(a.token_used)]}),va(i)]})]}),e.jsxs("div",{children:[e.jsx("div",{style:oa,children:n("detailPage.statistics.columns.fee",{defaultValue:"è´¹ç¨"})}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4,fontSize:13},children:[e.jsxs("span",{children:[n("detailPage.statistics.fee.actual",{defaultValue:"å®é
æ£è´¹"}),"ï¼",D(a.quota,6)]}),s&&e.jsxs("span",{children:[n("detailPage.statistics.fee.calculated",{defaultValue:"è®¡ç®æ£è´¹"}),"ï¼",D(a.calculate_quota,6)]})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:oa,children:n("detailPage.statistics.columns.modelFeePerMTok",{defaultValue:"模åè´¹ç¨ï¼$/MTokï¼"})}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:6},children:va(c)})]})]})})},Zt=({dateType:t="cst"})=>{const{t:a}=De(),l=je("statistics_permission_root"),[s,n]=u.useState(!1),[i,c]=u.useState(null),{abnormal:_,billings:y,dateRange:v,factory:R,factoryOptions:b,finished:w,formApi:te,handleExport:N,handleLoadMore:M,handleReset:X,handleSearch:V,isSkUser:J,loading:Z,loadingMore:q,loadingStat:Q,localDateType:F,modelName:U,setAbnormal:d,setDateRange:T,setFactory:W,setLocalDateType:f,setModelName:E,setTokenName:h,setUsername:Y,tokenName:k,totalCalculateQuota:z,totalQuota:B,username:ee}=Aa({dateType:t}),j=e.jsxs("div",{className:o.summaryWrap,children:[e.jsx("div",{className:o.summarySkeleton}),l?e.jsx("div",{className:o.summarySkeleton}):null]});return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{marginTop:l?0:16},children:[e.jsx(Qe,{placeholder:j,loading:Q,active:!0,children:e.jsxs("div",{className:o.summaryWrap,children:[e.jsxs("div",{className:o.summaryCard,children:[e.jsx("div",{className:o.summaryIcon+" "+o.summaryIconConsume,children:e.jsx("img",{className:o.summaryIconImg,src:Te,alt:"consume"})}),e.jsxs("div",{className:o.summaryText,children:[e.jsx("div",{className:o.summaryTitle,children:a("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"})}),e.jsx("div",{className:o.summaryValue,children:D(B,6)})]})]}),l?e.jsxs("div",{className:o.summaryCard,children:[e.jsx("div",{className:o.summaryIcon+" "+o.summaryIconCoin,children:e.jsx("img",{className:o.summaryIconImg,src:Ae,alt:"coin"})}),e.jsxs("div",{className:o.summaryText,children:[e.jsx("div",{className:o.summaryTitle,children:a("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»è®¡ç®é¢åº¦"})}),e.jsx("div",{className:o.summaryValue,children:D(z,6)})]})]}):null]})}),e.jsx(We,{loading:Q,children:e.jsxs("div",{className:o.mobileFilterBar,children:[e.jsx("div",{className:o.filterIcon,onClick:()=>n(!0),children:e.jsx("img",{src:ba,alt:"filter"})}),e.jsxs("div",{className:O.exportBtn,onClick:N,children:[e.jsx("img",{src:Ue,className:O.exportIcon,alt:"export"}),e.jsx("span",{children:a("common.action.export",{defaultValue:"导åº"})})]})]})}),e.jsx(Xe,{loading:Z,hasData:y&&y.length>0,children:e.jsx(Ht,{billings:y,loading:q,finished:w,onLoadMore:()=>{M().catch(()=>{})},onCardClick:g=>c(g)})})]}),e.jsx(qe,{round:!0,visible:s,position:"bottom",onClose:()=>n(!1),children:e.jsxs("div",{className:C.mobileFilterPopup,children:[e.jsxs("div",{className:C.mobileFilterPopupHeader,children:[e.jsx("div",{className:C.mobileFilterPopupTitle,children:a("logs.filters.filterTitle",{defaultValue:"çé"})}),e.jsx("div",{className:C.mobileFilterPopupClose,onClick:()=>n(!1),children:"Ã"})]}),e.jsx("div",{className:C.mobileFilterPopupBody,children:e.jsx(de,{layout:"vertical",style:{width:"100%"},className:C.mobileFilterPopupForm,getFormApi:g=>te.current=g,children:e.jsxs("div",{className:o.filters,children:[e.jsx(Ke,{mode:"date",value:[v!=null&&v[0]?p(v[0]).format("YYYY-MM-DD"):"",v!=null&&v[1]?p(v[1]).format("YYYY-MM-DD"):""],onChange:g=>{const le=g&&g[0],fe=g&&g[1];T([le?p(le).startOf("day").toDate():p().subtract(6,"days").startOf("day").toDate(),fe?p(fe).endOf("day").toDate():p().endOf("day").toDate()])},dateType:F,onDateTypeChange:g=>f((g||"CST").toLowerCase())}),l?e.jsx(de.Input,{noLabel:!0,field:"username",className:oe.formInput,placeholder:a("detailPage.statistics.filters.usernamePlaceholder",{defaultValue:"ç¨æ·å"}),value:ee,onChange:Y}):null,e.jsx(de.Input,{noLabel:!0,field:"modelName",className:oe.formInput,placeholder:a("detailPage.statistics.filters.modelNamePlaceholder",{defaultValue:"模å"}),value:U,onChange:E}),b.length>0?e.jsx(Ha,{value:R||"",onChange:g=>W(g),options:b.map(g=>({label:g,value:g})),displayLabel:a("detailPage.statistics.filters.factoryPlaceholder",{defaultValue:"æå±åå"})}):null,J?null:e.jsx(de.Input,{noLabel:!0,field:"tokenName",className:oe.formInput,placeholder:a("detailPage.statistics.filters.tokenNamePlaceholder",{defaultValue:"api key"}),value:k,onChange:h}),l?e.jsx(de.Switch,{labelPosition:"left",field:"abnormal",label:a("detailPage.statistics.filters.abnormal",{defaultValue:"å¼å¸¸æ°æ®"}),checked:_,onChange:d}):null,e.jsxs("div",{className:C.actionsInline,children:[e.jsx("div",{className:`${O.resetBtn} ${C.mobileBtn}`,onClick:()=>{X().catch(()=>{})},children:a("common.action.reset",{defaultValue:"éç½®"})}),e.jsx("div",{className:`${O.searchBtn} ${C.mobileBtn} ${C.searchBtnMobile}`,onClick:()=>{n(!1),V().catch(()=>{})},children:a("common.action.search",{defaultValue:"æ¥è¯¢"})})]})]})})})]})}),e.jsx(Jt,{visible:!!i,record:i,permissionRoot:l,onClose:()=>c(null)})]})},la=({items:t=[],loading:a=!1})=>{if(!t.length)return null;const l=e.jsx("div",{className:Ce.summaryWrap,children:t.map(s=>e.jsx("div",{className:Ce.summarySkeleton},s.key||s.title))});return e.jsx(Qe,{placeholder:l,loading:a,active:!0,children:e.jsx("div",{className:Ce.summaryWrap,children:t.map(s=>e.jsxs("div",{className:Ce.summaryCard,children:[e.jsx("div",{className:`${Ce.summaryIcon} ${s.iconClassName||""}`,children:e.jsx("img",{className:Ce.summaryIconImg,src:s.icon,alt:s.alt||s.title})}),e.jsxs("div",{className:Ce.summaryText,children:[e.jsx("div",{className:Ce.summaryTitle,children:s.title}),e.jsx("div",{className:Ce.summaryValue,children:s.value})]})]},s.key||s.title))})})},na=({onOpenFilter:t,onExport:a,exportLabel:l})=>e.jsxs("div",{className:Ce.mobileFilterBar,children:[e.jsx("div",{className:Ce.filterIcon,onClick:t,children:e.jsx("img",{src:ba,alt:"filter"})}),a?e.jsxs("div",{className:O.exportBtn,onClick:a,children:[e.jsx("img",{src:Ue,className:O.exportIcon,alt:"export"}),e.jsx("span",{children:l})]}):null]}),es=({permissionRoot:t,t:a,totalQuota:l,totalCalculateQuota:s})=>{const n=[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:a("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(l,6)}];return t&&n.push({key:"totalCalculateQuota",icon:Ae,iconClassName:o.summaryIconCoin,title:a("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»åç计ç®é¢åº¦"}),value:D(s,6)}),n},as=(t,{permissionRoot:a})=>{if(!t||typeof t!="object")return null;const l=Object.entries(t).filter(([,s])=>s&&typeof s=="object").sort(([s],[n])=>String(s).localeCompare(String(n),"zh-Hans-CN"));return l.length?e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:6},children:l.map(([s,n])=>e.jsxs("div",{className:o.cardSub,children:[e.jsxs("span",{style:{color:"#666666"},children:[s,"ï¼"]}),e.jsxs("span",{children:[" ",D(n.quota,6)]}),a?e.jsxs("span",{style:{marginLeft:8,color:"#666666"},children:["/ ",D(n.calculate_quota,6)]}):null]},s))}):null},ts=({dateType:t="cst"})=>{const{t:a}=De(),l=je("statistics_permission_root"),[s,n]=u.useState(!1),{dateRange:i,filters:c,formApi:_,handleLoadMore:y,handleReset:v,handleSearch:R,items:b,loading:w,loadingMore:te,finished:N,localDateType:M,setDateRange:X,setFilterValue:V,setLocalDateType:J,summaryLoading:Z,totalCalculateQuota:q,totalQuota:Q}=Ge({dateType:t,initialFilters:{username:""},fetcher:ka}),F=u.useMemo(()=>es({permissionRoot:l,t:a,totalQuota:Q,totalCalculateQuota:q}),[l,a,Q,q]),U=f=>String(f||"").replace(/[\[\]\:\*\?\/\\]/g," ").replace(/\s+/g," ").trim().slice(0,31)||"Sheet",d=(f,E)=>{const h=U(f);if(!E.has(h))return E.add(h),h;for(let k=1;k<999;k+=1){const z=`_${k}`,B=U(h.length+z.length>31?h.slice(0,31-z.length)+z:h+z);if(!E.has(B))return E.add(B),B}const Y=`${h.slice(0,28)}_99`;return E.add(Y),Y},T=async(f,E)=>{if(!E||!E["!ref"])return!0;const h=f.utils.sheet_to_json(E,{header:1,blankrows:!1,defval:""});return!h.length||h.length===1?!0:!h.some((k,z)=>z===0?!1:Array.isArray(k)&&k.some(B=>String(B||"").trim()))},W=async()=>{var f,E,h,Y;try{const k=await Da(()=>import("./xlsx-Yp4_-Dky.js"),[]),z=new Set,B=Array.isArray(i)?i:[],ee=p(B[0]).startOf("day").format("YYYY-MM-DD"),j=p(B[1]).endOf("day").format("YYYY-MM-DD"),le=(((E=(f=_==null?void 0:_.current)==null?void 0:f.getValues)==null?void 0:E.
1call(f))||{}).username??c.username??"",ie=await(await Pa({page:1,pageSize:10,startTime:ee,endTime:j,dateType:M,username:le})).data.arrayBuffer(),xe=k.read(ie,{type:"array"}),Fe=k.utils.book_new(),r=d("æ¦è§ç»è®¡",z),m=(h=xe.SheetNames)==null?void 0:h[0],S=m?xe.Sheets[m]:null;S&&k.utils.book_append_sheet(Fe,S,r);const K=await sa(),{success:G,message:$,data:ue}=K||{};if(!G){H($);return}const he=Array.isArray(ue)?ue:[];for(const ce of he){const ve=await(await ma({page:1,pageSize:10,startTime:ee,endTime:j,dateType:M,username:le,instance:"",modelName:"",factory:ce,tokenName:"",abnormal:!1})).data.arrayBuffer(),x=k.read(ve,{type:"array"}),P=(Y=x.SheetNames)==null?void 0:Y[0],ae=P?x.Sheets[P]:null;await T(k,ae)||k.utils.book_append_sheet(Fe,ae,d(ce,z))}const se=k.write(Fe,{bookType:"xlsx",type:"array"}),Se=new Blob([se],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),A=URL.createObjectURL(Se),ne=document.createElement("a");ne.href=A,ne.download=`statistics_domestic_overview_${p(B[0]).format("YYYY-MM-DD")}_${p(B[1]).format("YYYY-MM-DD")}.xlsx`,ne.click(),URL.revokeObjectURL(A)}catch(k){H((k==null?void 0:k.message)||k)}};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{marginTop:16},children:[e.jsx(la,{items:F,loading:Z}),e.jsx(na,{onOpenFilter:()=>n(!0),onExport:W,exportLabel:a("common.action.export",{defaultValue:"导åº"})}),e.jsx(Xe,{loading:w,hasData:(b||[]).length>0,children:e.jsx(He,{finished:N,loading:te,onLoad:()=>{y().catch(()=>{})},children:b.map((f,E)=>e.jsxs("div",{className:o.card,children:[e.jsx("div",{className:o.cardTitle,children:f.day_time}),e.jsxs("div",{className:o.cardSub,children:["ç¨æ·åï¼",f.display_name||f.username||"-"]}),e.jsxs("div",{className:o.cardMetaValue,children:[e.jsxs("span",{children:["è´¹ç¨ï¼",D(f.total_quota,6)]}),l?e.jsxs("span",{children:["ç»è®¡è´¹ç¨ï¼",D(f.total_calculate_quota,6)]}):null]}),as(f.factory_details,{permissionRoot:l})]},f.id||f.key||`${f.user_id}-${f.day_time}-${E}`))})})]}),e.jsx(qe,{round:!0,visible:s,position:"bottom",onClose:()=>n(!1),children:e.jsxs("div",{className:C.mobileFilterPopup,children:[e.jsxs("div",{className:C.mobileFilterPopupHeader,children:[e.jsx("div",{className:C.mobileFilterPopupTitle,children:a("logs.filters.filterTitle",{defaultValue:"çé"})}),e.jsx("div",{className:C.mobileFilterPopupClose,onClick:()=>n(!1),children:"Ã"})]}),e.jsx("div",{className:C.mobileFilterPopupBody,children:e.jsx(we,{layout:"vertical",style:{width:"100%"},className:C.mobileFilterPopupForm,getFormApi:f=>_.current=f,children:e.jsxs("div",{className:o.filters,children:[e.jsx(Ke,{mode:"date",value:[i!=null&&i[0]?p(i[0]).format("YYYY-MM-DD"):"",i!=null&&i[1]?p(i[1]).format("YYYY-MM-DD"):""],onChange:f=>{const E=f&&f[0],h=f&&f[1];X([E?p(E).startOf("day").toDate():p().subtract(6,"days").startOf("day").toDate(),h?p(h).endOf("day").toDate():p().endOf("day").toDate()])},dateType:M,onDateTypeChange:f=>J((f||"CST").toLowerCase())}),e.jsx(we.Input,{noLabel:!0,field:"username",className:oe.formInput,placeholder:a("detailPage.statistics.filters.usernamePlaceholder",{defaultValue:"ç¨æ·å"}),value:c.username||"",onChange:f=>V("username",f)}),e.jsxs("div",{className:C.actionsInline,children:[e.jsx("div",{className:`${O.resetBtn} ${C.mobileBtn}`,onClick:()=>{v({filters:{username:""}}).catch(()=>{})},children:a("common.action.reset",{defaultValue:"éç½®"})}),e.jsx("div",{className:`${O.searchBtn} ${C.mobileBtn} ${C.searchBtnMobile}`,onClick:()=>{n(!1),R().catch(()=>{})},children:a("common.action.search",{defaultValue:"æ¥è¯¢"})})]})]})})})]})})]})},ss=({permissionRoot:t,t:a,totalQuota:l,totalCalculateQuota:s})=>t?[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:a("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(l,6)},{key:"totalCalculateQuota",icon:Ae,iconClassName:o.summaryIconCoin,title:a("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»åç计ç®é¢åº¦"}),value:D(s,6)}]:[],ls=({dateType:t="cst"})=>{const{t:a}=De(),l=je("statistics_permission_root"),[s,n]=u.useState(!1),{dateRange:i,filters:c,formApi:_,handleExport:y,handleLoadMore:v,handleReset:R,handleSearch:b,items:w,loading:te,loadingMore:N,finished:M,localDateType:X,setDateRange:V,setFilterValue:J,setLocalDateType:Z,summaryLoading:q,totalCalculateQuota:Q,totalQuota:F}=Ge({dateType:t,initialFilters:{username:"",instance:""},fetcher:Sa,exporter:Na,getExportFilename:d=>`statistics_domestic_user_${d.map(T=>p(T).format("YYYY-MM-DD")).join("_")}.xlsx`}),U=u.useMemo(()=>ss({permissionRoot:l,t:a,totalQuota:F,totalCalculateQuota:Q}),[l,a,F,Q]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{marginTop:16},children:[e.jsx(la,{items:U,loading:q}),e.jsx(na,{onOpenFilter:()=>n(!0),onExport:y,exportLabel:a("common.action.export",{defaultValue:"导åº"})}),e.jsx(Xe,{loading:te,hasData:(w||[]).length>0,children:e.jsx(He,{finished:M,loading:N,onLoad:()=>{v().catch(()=>{})},children:w.map(d=>e.jsxs("div",{className:o.card,children:[e.jsx("div",{className:o.cardTitle,children:d.day_time}),l?e.jsxs("div",{className:o.cardSub,children:["ç¨æ·åï¼",d.display_name||d.username||"-"]}):null,e.jsxs("div",{className:o.cardMetaValue,children:[e.jsxs("span",{children:["è´¹ç¨ï¼",D(d.quota,6)]}),l?e.jsxs("span",{children:["ç»è®¡è´¹ç¨ï¼",D(d.calculate_quota,6)]}):null]})]},d.id||d.key||`${d.username}-${d.day_time}`))})})]}),e.jsx(qe,{round:!0,visible:s,position:"bottom",onClose:()=>n(!1),children:e.jsxs("div",{className:C.mobileFilterPopup,children:[e.jsxs("div",{className:C.mobileFilterPopupHeader,children:[e.jsx("div",{className:C.mobileFilterPopupTitle,children:a("logs.filters.filterTitle",{defaultValue:"çé"})}),e.jsx("div",{className:C.mobileFilterPopupClose,onClick:()=>n(!1),children:"Ã"})]}),e.jsx("div",{className:C.mobileFilterPopupBody,children:e.jsx(we,{layout:"vertical",style:{width:"100%"},className:C.mobileFilterPopupForm,getFormApi:d=>_.current=d,children:e.jsxs("div",{className:o.filters,children:[e.jsx(Ke,{mode:"date",value:[i!=null&&i[0]?p(i[0]).format("YYYY-MM-DD"):"",i!=null&&i[1]?p(i[1]).format("YYYY-MM-DD"):""],onChange:d=>{const T=d&&d[0],W=d&&d[1];V([T?p(T).startOf("day").toDate():p().subtract(6,"days").startOf("day").toDate(),W?p(W).endOf("day").toDate():p().endOf("day").toDate()])},dateType:X,onDateTypeChange:d=>Z((d||"CST").toLowerCase())}),l?e.jsx(we.Input,{noLabel:!0,field:"username",className:oe.formInput,placeholder:a("detailPage.statistics.filters.usernamePlaceholder",{defaultValue:"ç¨æ·å"}),value:c.username||"",onChange:d=>J("username",d)}):null,e.jsxs("div",{className:C.actionsInline,children:[e.jsx("div",{className:`${O.resetBtn} ${C.mobileBtn}`,onClick:()=>{R({filters:{username:"",instance:""}}).catch(()=>{})},children:a("common.action.reset",{defaultValue:"éç½®"})}),e.jsx("div",{className:`${O.searchBtn} ${C.mobileBtn} ${C.searchBtnMobile}`,onClick:()=>{n(!1),b().catch(()=>{})},children:a("common.action.search",{defaultValue:"æ¥è¯¢"})})]})]})})})]})})]})},ns=({permissionRoot:t,t:a,totalQuota:l,totalCalculateQuota:s})=>t?[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:a("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(l,6)},{key:"totalCalculateQuota",icon:Ae,iconClassName:o.summaryIconCoin,title:a("detailPage.statistics.summary.totalCalculateQuota",{defaultValue:"åç»åç计ç®é¢åº¦"}),value:D(s,6)}]:[],is=({dateType:t="cst"})=>{const{t:a}=De(),l=je("statistics_permission_root"),[s,n]=u.useState(!1),{dateRange:i,filters:c,formApi:_,handleExport:y,handleLoadMore:v,handleReset:R,handleSearch:b,items:w,loading:te,loadingMore:N,finished:M,localDateType:X,setDateRange:V,setFilterValue:J,setLocalDateType:Z,summaryLoading:q,totalCalculateQuota:Q,totalQuota:F}=Ge({dateType:t,initialFilters:{tokenName:"",username:"",instance:""},fetcher:Ta,exporter:Ba,getExportFilename:d=>`statistics_domestic_token_${d.map(T=>p(T).format("YYYY-MM-DD")).join("_")}.xlsx`}),U=u.useMemo(()=>ns({permissionRoot:l,t:a,totalQuota:F,totalCalculateQuota:Q}),[l,a,F,Q]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{marginTop:16},children:[e.jsx(la,{items:U,loading:q}),e.jsx(na,{onOpenFilter:()=>n(!0),onExport:y,exportLabel:a("common.action.export",{defaultValue:"导åº"})}),e.jsx(Xe,{loading:te,hasData:(w||[]).length>0,children:e.jsx(He,{finished:M,loading:N,onLoad:()=>{v().catch(()=>{})},children:w.map(d=>e.jsxs("div",{className:o.card,children:[e.jsx("div",{className:o.cardTitle,children:e.jsx("span",{children:d.day_time})}),l?e.jsxs("div",{className:o.cardSub,children:["ç¨æ·åï¼",d.display_name||d.username||"-"]}):null,e.jsxs("div",{className:o.cardSub,children:["api keyï¼",d.token_name]}),e.jsxs("div",{className:o.cardMetaValue,children:[e.jsxs("span",{children:["è´¹ç¨ï¼",D(d.quota,6)]}),l?e.jsxs("span",{children:["ç»è®¡è´¹ç¨ï¼",D(d.calculate_quota,6)]}):null]})]},d.id||d.key||`${d.username}-${d.day_time}-${d.token_name}`))})})]}),e.jsx(qe,{round:!0,visible:s,position:"bottom",onClose:()=>n(!1),children:e.jsxs("div",{className:C.mobileFilterPopup,children:[e.jsxs("div",{className:C.mobileFilterPopupHeader,children:[e.jsx("div",{className:C.mobileFilterPopupTitle,children:a("logs.filters.filterTitle",{defaultValue:"çé"})}),e.jsx("div",{className:C.mobileFilterPopupClose,onClick:()=>n(!1),children:"Ã"})]}),e.jsx("div",{className:C.mobileFilterPopupBody,children:e.jsx(we,{layout:"vertical",style:{width:"100%"},className:C.mobileFilterPopupForm,getFormApi:d=>_.current=d,children:e.jsxs("div",{className:o.filters,children:[e.jsx(Ke,{mode:"date",value:[i!=null&&i[0]?p(i[0]).format("YYYY-MM-DD"):"",i!=null&&i[1]?p(i[1]).format("YYYY-MM-DD"):""],onChange:d=>{const T=d&&d[0],W=d&&d[1];V([T?p(T).startOf("day").toDate():p().subtract(6,"days").startOf("day").toDate(),W?p(W).endOf("day").toDate():p().endOf("day").toDate()])},dateType:X,onDateTypeChange:d=>Z((d||"CST").toLowerCase())}),e.jsx(we.Input,{noLabel:!0,field:"tokenName",className:oe.formInput,placeholder:a("detailPage.statistics.filters.tokenNamePlaceholder",{defaultValue:"Token"}),value:c.tokenName||"",onChange:d=>J("tokenName",d)}),l?e.jsx(we.Input,{noLabel:!0,field:"username",className:oe.formInput,placeholder:a("detailPage.statistics.filters.usernamePlaceholder",{defaultValue:"ç¨æ·å"}),value:c.username||"",onChange:d=>J("username",d)}):null,e.jsxs("div",{className:C.actionsInline,children:[e.jsx("div",{className:`${O.resetBtn} ${C.mobileBtn}`,onClick:()=>{R({filters:{tokenName:"",username:"",instance:""}}).catch(()=>{})},children:a("common.action.reset",{defaultValue:"éç½®"})}),e.jsx("div",{className:`${O.searchBtn} ${C.mobileBtn} ${C.searchBtnMobile}`,onClick:()=>{n(!1),b().catch(()=>{})},children:a("common.action.search",{defaultValue:"æ¥è¯¢"})})]})]})})})]})})]})},os={display:"flex",alignItems:"center",gap:8,color:"#666666",fontSize:13},us=t=>String(t||"").split(",").map(a=>
1a.trim()).filter(Boolean).map(a=>Number(a)),cs=t=>String(t||"").split(",").map(a=>a.trim()).filter(Boolean).map(a=>Number(a)),rs=t=>t?[t]:[],ds=({t,totalQuota:a})=>[{key:"totalQuota",icon:Te,iconClassName:o.summaryIconConsume,title:t("detailPage.statistics.summary.totalQuota",{defaultValue:"æ»æ¶èé¢åº¦"}),value:D(a,6)}],ms=(t,a)=>[{key:"promptTokens",label:a("detailPage.statistics.usage.promptTokens",{defaultValue:"è¾å
¥ Token"}),value:I(t.prompt_token_used),dotColor:"#759DFA"},{key:"completionTokens",label:a("detailPage.statistics.usage.completionTokens",{defaultValue:"è¾åº Token"}),value:I(t.complete_token_used),dotColor:"#67BA60"},{key:"cacheCreationTokens",label:a("detailPage.statistics.usage.cacheCreationTokens",{defaultValue:"ç¼ååå
¥ Token"}),value:I(t.cache_creation_input_token_used),dotColor:"#C894D6"},{key:"cacheReadTokens",label:a("detailPage.statistics.usage.cacheReadTokens",{defaultValue:"å½ä¸ç¼å Token"}),value:I(t.cache_read_input_token_used),dotColor:"#E39349"},{key:"hiddenCacheReadTokens",label:a("detailPage.statistics.usage.hiddenCacheReadTokens",{defaultValue:"éå¼ç¼å Token"}),value:I(t.input_cached_token_hidden),dotColor:"#13A8A8"},{key:"thoughtsTokens",label:a("detailPage.statistics.usage.thoughtsTokens",{defaultValue:"æè Token"}),value:I(t.thoughts_token_used),dotColor:"#F8CF43"}],hs=(t,a)=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:a("detailPage.statistics.detail.basic",{defaultValue:"åºç¡ä¿¡æ¯"})}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4,fontSize:13},children:[e.jsxs("span",{children:["æ¥æ: ",t.day_time||"-"]}),e.jsxs("span",{children:["æ¸ éID: ",t.channel_id??"-"]}),e.jsxs("span",{children:["æ¸ éåç§°: ",t.channel_name||"-"]}),e.jsxs("span",{children:["模å: ",(t.model_stage_type!==""?`${t.model_name} ï¼${t.model_stage_type}ï¼`:t.model_name)||"-"]}),e.jsxs("span",{children:["è¯·æ±æ°: ",t.request_count??0]})]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:a("detailPage.statistics.columns.usage",{defaultValue:"ç¨éç»è®¡"})}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[e.jsxs("div",{style:{fontSize:13,color:"#121212"},children:[a("detailPage.statistics.usage.totalUsed",{defaultValue:"æ»æ¶èé:"})," ",I(t.token_used)]}),ms(t,a).map(l=>e.jsxs("div",{style:os,children:[e.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:l.dotColor,display:"inline-block"}}),l.label,"ï¼",l.value]},l.key))]})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:14,fontWeight:500,marginBottom:8},children:"è´¹ç¨"}),e.jsx("div",{style:{fontSize:13,color:"#121212"},children:D(t.quota,6)})]})]}),ps=({dateType:t="cst"})=>{const{t:a}=De(),[l,s]=u.useState(!1),[n,i]=u.useState(null),[c,_]=u.useState([]),[y,v]=u.useState(!1),[R,b]=u.useState(1),[w,te]=u.useState(0),N=Ve,{dateRange:M,factoryOptions:X,filters:V,formApi:J,handleExport:Z,handleLoadMore:q,handleLoadMoreChannels:Q,handleReset:F,handleSearch:U,items:d,loading:T,loadingMore:W,finished:f,localDateType:E,loadMobileChannels:h,mobileChannelHasMore:Y,mobileChannelLoading:k,mobileChannels:z,setDateRange:B,setFilterValue:ee,setLocalDateType:j,summaryLoading:g,totalQuota:le}=wa({fetcher:Va,exporter:Ea,dateType:t,initialFilters:{channelIds:"",model:"",providerId:"",factory:""}});u.useEffect(()=>{!l||z.length>0||k||h({page:1}).catch(()=>{})},[h,k,z.length,l]);const fe=async(r=1,m=N)=>{v(!0);try{const S=await $a({page:r,pageSize:m,roles:"2"}),{success:K,message:G,data:$}=S||{};if(!K){H(G);return}const ue=Array.isArray($==null?void 0:$.items)?$.items:[];_(r===1?ue:he=>{const se=new Set(he.map(A=>A.id)),Se=[...he];return ue.forEach(A=>{se.has(A.id)||Se.push(A)}),Se}),te(($==null?void 0:$.total)||ue.length),b(r)}catch(S){H(S.message||S)}finally{v(!1)}};u.useEffect(()=>{l&&(c.length>0||y||fe(1,N).catch(()=>{}))},[l,y,c.length]);const ie=Math.ceil(w/N)>R,xe=()=>{if(!ie||y)return;const r=R+1;fe(r,N).catch(()=>{})},Fe=u.useMemo(()=>ds({t:a,totalQuota:le}),[a,le]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{marginTop:16},children:[e.jsx(la,{items:Fe,loading:g}),e.jsx(na,{onOpenFilter:()=>s(!0),onExport:Z,exportLabel:a("common.action.export",{defaultValue:"导åº"})}),e.jsx(Xe,{loading:T,hasData:(d||[]).length>0,children:e.jsx(He,{finished:f,loading:W,onLoad:()=>{q().catch(()=>{})},children:d.map(r=>e.jsxs("div",{className:o.card,onClick:()=>i(r),children:[e.jsx("div",{className:o.cardTitle,children:r.day_time}),e.jsxs("div",{className:o.cardSub,children:[r.channel_id," / ",r.channel_name]}),e.jsxs("div",{className:o.cardSub,children:["æå±ååï¼",r.factory]}),e.jsxs("div",{className:o.cardSub,children:["模åï¼",r.model_stage_type!==""?`${r.model_name} ï¼${r.model_stage_type}ï¼`:r.model_name]}),e.jsxs("div",{className:o.cardMetaValue,children:[e.jsxs("span",{children:["è¯·æ±æ°ï¼",r.request_count]}),e.jsxs("span",{children:["è´¹ç¨ï¼",D(r.quota,6)]})]})]},r.id||r.key||`${r.channel_id}-${r.day_time}-${r.model_name}`))})})]}),e.jsx(qe,{round:!0,visible:l,position:"bottom",onClose:()=>s(!1),children:e.jsxs("div",{className:C.mobileFilterPopup,children:[e.jsxs("div",{className:C.mobileFilterPopupHeader,children:[e.jsx("div",{className:C.mobileFilterPopupTitle,children:a("logs.filters.filterTitle",{defaultValue:"çé"})}),e.jsx("div",{className:C.mobileFilterPopupClose,onClick:()=>s(!1),children:"Ã"})]}),e.jsx("div",{className:C.mobileFilterPopupBody,children:e.jsx(de,{layout:"vertical",style:{width:"100%"},className:C.mobileFilterPopupForm,getFormApi:r=>J.current=r,children:e.jsxs("div",{className:o.filters,children:[e.jsx(Ke,{mode:"date",value:M,onChange:B,dateType:E,onDateTypeChange:r=>j((r||"CST").toLowerCase())}),e.jsx(ia,{value:cs(V.providerId),options:c.map(r=>({label:r.display_name||r.username||`${a("common.table.id",{defaultValue:"ID"})}: ${r.id}
1`,value:r.id})),placeholder:a("common.filters.user",{defaultValue:"ç¨æ·"}),title:a("common.filters.selectUser",{defaultValue:"éæ©ç¨æ·"}),onChange:r=>{ee("providerId",(r||[]).join(","))},onReachBottom:xe,hasMore:ie,loading:y}),e.jsx(ia,{value:rs(V.factory),options:X.map(r=>({label:r,value:r})),placeholder:a("detailPage.statistics.filters.factoryPlaceholder",{defaultValue:"æå±åå"}),title:a("detailPage.statistics.filters.factoryPlaceholder",{defaultValue:"æå±åå"}),onChange:r=>{const m=Array.isArray(r)&&r[r.length-1]||"";ee("factory",m)}}),e.jsx(ia,{value:us(V.channelIds),options:z.map(r=>({label:r.name||`${a("common.table.id",{defaultValue:"ID"})}: ${r.id}`,value:r.id})),placeholder:a("detailPage.statistics.filters.channelIdsPlaceholder",{defaultValue:"æ¸ éID"}),title:a("detailPage.filters.channelPlaceholder",{defaultValue:"éæ©éé"}),onChange:r=>{ee("channelIds",(r||[]).join(","))},onReachBottom:()=>{Q().catch(()=>{})},hasMore:Y,loading:k}),e.jsx(de.Input,{noLabel:!0,showClear:!0,field:"model",className:oe.formInput,placeholder:a("detailPage.statistics.filters.modelNamePlaceholder",{defaultValue:"模å"}),value:V.model||"",onChange:r=>ee("model",r),initValue:""}),e.jsxs("div",{className:C.actionsInline,children:[e.jsx("div",{className:`${O.resetBtn} ${C.mobileBtn}`,onClick:()=>{F().catch(()=>{})},children:a("common.action.reset",{defaultValue:"éç½®"})}),e.jsx("div",{className:`${O.searchBtn} ${C.mobileBtn} ${C.searchBtnMobile}`,onClick:()=>{s(!1),U().catch(()=>{})},children:a("common.action.search",{defaultValue:"æ¥è¯¢"})})]})]})})})]})}),e.jsx(Za,{visible:!!n,onClose:()=>i(null),title:a("detailPage.statistics.detailTitle",{defaultValue:"ç»è®¡è¯¦æ
"}),children:n?hs(n,a):null})]})},Xs=()=>{const{t}=De(),a=je("statistics_permission_root"),l=je("statistics_overview"),s=je("statistics_token"),n=je("statistics_user"),i=je("statistics_table"),c=je("statistics_gys"),_=je("statistics_recalculate"),[y,v]=u.useState(l?"overview":"detail"),[R,b]=u.useState(!1),[w,te]=u.useState(!1),[N,M]=u.useState({instance:"",dateRange:[p().subtract(6,"days"),p()]}),[X,V]=u.useState([]),J=async()=>{try{const{success:F,message:U,data:d}=await Wa();F?V(d.map(T=>({label:T.name,value:T.name}))):H(U)}catch(F){H(F.message)}};u.useEffect(()=>{J()},[]);const Z=F=>{v(F)},q=async()=>{if(!N.instance&&y!=="gys"){H("è¯·éæ©å®ä¾");return}if(!N.dateRange||N.dateRange.length!==2){H("è¯·éæ©æ¶é´èå´");return}te(!0);try{const F=p(N.dateRange[0]).format("YYYY-MM-DD"),U=p(N.dateRange[1]).format("YYYY-MM-DD");let d=null;y==="gys"?d=await bt({startTime:F,endTime:U}):d=await Dt({instance:N.instance,startTime:F,endTime:U});const{success:T,message:W}=d||{};T?(ea(W),b(!1)):H(W)}catch(F){H(F.message)}finally{te(!1)}},Q=()=>{M({instance:"",dateRange:[p().subtract(6,"days"),p()]}),b(!0)};return e.jsxs("div",{className:o.page,children:[e.jsx(Oa,{text:t("statistics.warning.distribute",{defaultValue:"请注æï¼è´¦åå¨ç¬¬äºå¤©UTC 2:00~4
1:00çæ"}),style:{marginBottom:16}}),e.jsxs("div",{className:o.headerBar,children:[e.jsx("div",{style:{display:"flex",alignItems:"center",gap:8,flex:1},children:Be()?e.jsxs(Ye,{value:y,onChange:Z,lineWidth:28,ellipsis:!1,className:o.mobileTabs,children:[l&&e.jsx(Ye.TabPane,{title:t("detailPage.statistics.tabs.overview",{defaultValue:"æ¦è§ç»è®¡"}),name:"overview"}),i&&e.jsx(Ye.TabPane,{title:t("detailPage.statistics.tabs.detail",{defaultValue:"æç»ç»è®¡"}),name:"detail"}),n&&e.jsx(Ye.TabPane,{title:t("detailPage.statistics.tabs.user",{defaultValue:"ç¨æ·ç»è®¡"}),name:"user"}),s&&e.jsx(Ye.TabPane,{title:t("detailPage.statistics.tabs.token",{defaultValue:"API Keysç»è®¡"}),name:"token"}),c&&e.jsx(Ye.TabPane,{title:t("detailPage.statistics.tabs.gys",{defaultValue:"ä¾åºåç»è®¡"}),name:"gys"})]}):e.jsxs(Re,{type:"line",size:"large",activeKey:y,onChange:Z,className:o.tabs,children:[l&&e.jsx(Re.TabPane,{tab:t("detailPage.statistics.tabs.overview",{defaultValue:"æ¦è§ç»è®¡"}),itemKey:"overview"}),i&&e.jsx(Re.TabPane,{tab:t("detailPage.statistics.tabs.detail",{defaultValue:"æç»ç»è®¡"}),itemKey:"detail"}),n&&e.jsx(Re.TabPane,{tab:t("detailPage.statistics.tabs.user",{defaultValue:"ç¨æ·ç»è®¡"}),itemKey:"user"}),s&&e.jsx(Re.TabPane,{tab:t("detailPage.statistics.tabs.token",{defaultValue:"令çç»è®¡"}),itemKey:"token"}),c&&e.jsx(Re.TabPane,{tab:t("detailPage.statistics.tabs.gys",{defaultValue:"ä¾åºåç»è®¡"}),itemKey:"gys"})]})}),a&&!Be()&&e.jsx("div",{className:o.spacer}),_&&!Be()&&e.jsxs("div",{className:o.recalculateBtn,onClick:Q,children:[e.jsx("img",{src:Qa,alt:"recalculate"}),y==="gys"?t("detailPage.statistics.recalculate.channel",{defaultValue:"éè·æ¸ é"}):t("detailPage.statistics.recalculate.title",{defaultValue:"éè·è´¦å"})]})]}),y==="overview"?Be()?e.jsx(ts,{}):e.jsx(wt,{}):y==="detail"?Be()?e.jsx(Zt,{}):e.jsx(Nt,{}):y==="user"?Be()?e.jsx(ls,{}):e.jsx(Rt,{}):y==="token"?Be()?e.jsx(is,{}):e.jsx(Lt,{}):y==="gys"?Be()?e.jsx(ps,{}):e.jsx(Kt,{}):null,e.jsx(La,{title:y==="gys"?t("detailPage.statistics.recalculate.channel",{defaultValue:"éè·æ¸ é"}):t("detailPage.statistics.recalculate.title",{defaultValue:"éè·è´¦å"}),visible:R,onOk:q,onCancel:()=>b(!1),confirmLoading:w,okButtonProps:{className:oe.submit},cancelButtonProps:{className:oe.cancel},okText:t("detailPage.statistics.recalculate.ok",{defaultValue:"确认éè·"}),cancelText:t("common.action.cancel",{defaultValue:"åæ¶"}),children:e.jsxs("div",{style:{padding:"20px 0"},children:[e.jsx("p",{style:{marginBottom:"20px",color:"#666"},children:t("detailPage.statistics.recalculate.desc",{defaultValue:"æ¤æä½å°å 餿宿¶é´èå´å
çç»è®¡æ°æ®ï¼å¹¶éæ°è®¡ç®è´¦åã请谨æ
æä½ï¼ä¸å¡å¿
ä¿è¯æ°æ®å¨å¯¹åºå®ä¾å·²ä¿®æ£å¹¶å¨å
¶ä»å段记å½äºä¿®æ£ä¿¡æ¯ï¼æ¯å¦åç¨attempts_logåæ®µä¸è®°å½æ¤æ¬¡ä¿®æ£çä¿¡æ¯ï¼"})}),e.jsxs(de,{layout:"vertical",children:[y!=="gys"&&e.jsx(Oe,{field:"instance",label:t("detailPage.statistics.filters.instancePlaceholder",{defaultValue:"éæ©å®ä¾"}),placeholder:t("detailPage.statistics.recalculate.instancePlaceholder",{defaultValue:"è¯·éæ©è¦éè·è´¦åçå®ä¾"}),optionList:X,value:N.instance,onChange:F=>M({...N,instance:F}),style:{width:"100%",marginBottom:"16px"}}),e.jsx(de.DatePicker,{field:"dateRange",className:oe.formDatePicker,label:t("detailPage.statistics.recalculate.dateRangeLabel",{defaultValue:"æ¶é´èå´"}),type:"dateRange",value:N.dateRange,onChange:F=>M({...N,dateRange:F}),style:{width:"100%"}})]})]})})]})};export{Xs 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.