From 5c5f144e6018f663530f84f44aad12bafaf7e893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=86=89=E5=86=89?= Date: Fri, 29 Aug 2025 17:21:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=92=8C=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/line.png | Bin 0 -> 4533 bytes src/assets/styles/index.scss | 6 + src/components/echartsList/bar.vue | 65 +++-- src/components/echartsList/pie.vue | 179 ++++++++++---- src/components/table/index.vue | 6 +- .../disRevenue/resource/register/handle.vue | 56 ++--- .../disRevenue/resource/resMonitor/index.vue | 163 ++++++++----- src/views/index.vue | 226 ++++++++++-------- 8 files changed, 458 insertions(+), 243 deletions(-) create mode 100644 src/assets/images/line.png diff --git a/src/assets/images/line.png b/src/assets/images/line.png new file mode 100644 index 0000000000000000000000000000000000000000..3909745df7117262b0cc602b3e2947b004c9f4c0 GIT binary patch literal 4533 zcmZv92UJs8(0@V^h)ZuOz4wG7(h_&1bN-`^*!695Z2{4`&q6#}e=~ zrc4!y)5YmG=s3(76KTGm-C-=ERo1vH47$Xh0J0|(d^O+^pdS3Yd66q!hB_!3{a4N1uo5*4`t(A1u++W_54vG8cH8hxt4cf%>CUQQw# zkJwsSR@R`wPwDQO6jrntqR(6WP{ML(1}!;=4po;?F5AGEf1U0Q2+{O@cO1okd`Wq{ zT16v`U4lvch<)I0T8Sgp$?H~{k(o$^iu?j%*NUwBMF`eI39#?}V@rKHp`qimh@MJ` z{5EFz)560luY&S*PK}=I5k^OnC)0I}9{$0AKYg7VN5Hd>FyFT5Y{)7la%oJ3b8C$Q zPaTEwM!;Fd17DV}AGCXI?F~i07&wA==|2v@W(W_tzSZ)6e7Q44gHJ`v(w;AKb6sVX zQ(=pDIdU*Gb)v`f=m4)%2-8xteXPb1CG5SEG&rW1%gJ`3C!StePqUIkmqBj;f(3;B zgySUn+%d#_vuiR0eof9+_gKwKy-h_1%}tNP0B+wqEp=Enee8DFDqV`3xETS#6XgX3 z>M;M)&MZ&KN`MqK@4%W(fc2SEvqL}Xg2F98t**cdfYuEppP&#-M|#Tn zGakSOs?>#|=vs6E$~T7czrg&NKSpv(607&*Hu^ zZYSt{1*H*K-S`Q@{Dw)=H#BdbKC8!bL!mdGA|fQsNR0nfVJJ<{p=awu-^e4IU|s?8 z(LpjC(v%Xwx(*fK72s=DW&>;mL=hzU42j~qkhI+WM*$Noejm-t4B_uT858OFF*jw=^em{&k}g(plOGdiztm}FLVc?_IUNTctg@9FDx zw^f8I8Wkv8s4j^waV%+jv26jbKOcW6iIS?XdGh&(PjTOvBH23uu1PxAbgp+@73$99v|Htb)RtKbK9! znK@LbeEz&08m$$Fw1U5IwYuBv`oIqBJY%Ti)TP^HbDRo%74Lo{;Nj@4QMcFDlZsQp ziS8Y924V#E9#gl*p4y(3DspN_{Wr~duX$ccKgoa`Xijuae~qUd>xBG->_m(gN+rp$ z=v~mG4@(bQueLsIA3w;W518{2X`BjtrOKevAC=)_`KCk=o-Hw_Ppr! zCg87V(j4Vl>!qdek;9;Mx6+`vmwQ?14TyL|0^;82rAxR=q`>NRm{vpSgO7e~JZ)+} zcz(q0!+vzIa3#AXhp_~*%D ze}qu*q#%<#O|B-#h2ZAx`&=?7Q+WHD#b-It9CtbUmi9+xw66pw^bjiPKb}VLfL$WP zvid5wjl6l}h1cK_2>;J#o5_2kyP{?`FEl5^Vy+k-OCOMN9Uu2fSG#z(h!1j6`8RW8 zKR*2!ye?H-K6IsMs-T^W%bBl%6_bmNirbna1L_nm%8tqjOr2|Q^5u)W^zHG^2VQKK zlb7q`2!@bkyoqa+b=0tBPib+)<@;<%%7g8@0hH<{|3gw{TU6WT+BeF?Lx&jb;520a z+J5xT{yO%qGD%h|9(E&UcK2DqRRJB9%cOg6Yr%C#_F{KG-%GCze1N-qPwRG=j~&bz za$iWhefI0R*tCh$IeESxYUAhN8HB3wD##VHgX(?MEcx+#+B~yVn&q0NnT8{UPF2DG zTp-W+ou=Mqd?`r%&D$^UqrW@cbM?1eEhRy#LcJy&KfUXI#JT)^EWMPsT&VR%sQazJ zkPlVYLwGlvlA9y`1hwNA8#WiO3yfso94Mrc&M%>Vy;kjOT3XGREDlnqs7FoAEe%@s zkJVhVY<3FLnh9Djnhg7q(O-HxqGR*V&i>Ab!^;DQq>Yu0=`wm)Tu1vfFYCBadsM-G z@PW;d$H@FADWcU-nIG)_-soC$pLTzz%Hi~(TA7h{%=xDRk$=Vf*mPw$U7k~(&-|I? zO~=Eykm#w1pFf6oAq=jmuIZUvhZWoXq{*5GRtKMVm(yRhyn3dVt;UH}Yqz`Nur+-Y z_W?CEHNkpTs85IIitRCSzwle@JbW#`;+uqPi0g1yVVwV=;LpQvhJC%)3dH6t(rKg( z=N3Ex({BN~84U5Ee1$?wRxc*(Xb@LuE!clrL18$nR51YafU*V;d5kug%ZBsX;uf%g zKeZAH4DgnkD0~;;XIaiA|NVKx3*YPwK}sp>k;sI~f$Nu}Wsqdm`>R(-$26{Zh8`Qe z)Hdqfm54!^c_9!0S*pwkpaY%*&{HKKm9&9;zhz^fG=TP(o(2F&_65-W<6}wXC*uZ{ zPB4FS+Uz6%19ingrN~<}zrFKr(f*e8sWyO~oq?GdmD_oQVlY8CA1wa%pL7FM1yiu8 zBMt!IkvJisnXUL&YWz38NE9B0u+a3t27=u^v1kl9GBEfg4geadNfiSzcz5B*zY;#(3c|ZbDg@!g{toj0;uvCZ9-+R$ zcwcOg@JU>EG&T$m6BRv4^n3jMo|s7Ae=`N){@E6FgOC#oLp{k}A*VuS2yQmWO*SNC_OkyV`uDB7EB{s7~*T;zrU&q;Q< zV#IsBdalH10t$posgCzFVjHIU3}py|(=GsfKL+__Z|@$m{>gI|{GgXjb~xl!YD1rBQLswsZCvj6E_^ zvmzI5X1SD++qp#Zl5IrZr>O3^FCc5(l29O1dpfebFi8U4T05ZHo4qUU(rc^RAew>! zhA6NP8yS(f?dyk&9d?V4!!vher=4Ft-}Bo)rb!i10Iy&*dF<;;b4<3j$2qF&CS_}E z9uNy#G)|-A8a-PH19fj!I;+BkdC-NC{rd8YR!IW)Sk1Tav}l=XqDM+1st%mY`{LE( zwXVgGuqTC`lKuo#O70W(>tQjI7L%mGjqrEQ<$!9$CLWI z4ct3vjP;@pb6P#N_+^eNY4!uLTZF{YL@PJvgd$VLtC~&W$dMr9Evi(Yv)KtF(TS);9A<%oS4>jKdo}Fh&Fj|lj1Rr zccZ26?^9smC0pZPh_5G9mrK^XFvopbcgjd`CztTC{R0l)u7c~{BQLmbBk@*WE^jaF zjvl{KxOv*vl+rrg28&v6!AVH=R}OM(a`fuU_bR*c%I4iai>!b7-gk-2<%E(??7AW8 zDT@}#iw=$56KB0o>J;QY&#GqpaeRk;xbhbIEK4CO{d(Szl03>qb}$U*KXsoHlY$8m z&YO!z*`IpM7pkh?Hyxxa-#a9SaTVd=yRDqHk3!1J@^G&*056Y|b!$;cv|5|?NmshI z#%z6be2(NA`S%=(BB;;K+J~pMKK?ZDin*s_ZMg|ss62z0xq`#!%Ko8M{Y;}w)k2v4 zJmruUKQsUS&uXEJgZ+G5?lMu&BenaDi006(FE~F~O~(eeVe1u-M=AMc! item.name === name); - // 返回带数量的图例文本 - return `${name} ${item.value}${dataList.unit}`; - } + // formatter: function(name) { + // // 查找对应数据项 + // const item = dataList.data.find(item => item.name === name); + // // 返回带数量的图例文本 + // return `${name} ${item.value}${dataList.unit}`; + // } }, series: [{ name: 'Access From', type: 'pie', radius: dataList && dataList.radius || ['40%', '70%'], - // center: dataList && dataList.center || ['20%', '50%'], label: { - show: false, - position: 'center' - }, - emphasis: { - label: { - show: false, - } - }, - labelLine: { - show: false + normal: { + show: true, + position: 'center', + color: '#333', + fontSize: 16, + formatter: function () { + // let total = 0; + // for (let i = 0; i < m2R2Data.length; i++) { + // const val = parseFloat(m2R2Data[i].value); + // if (!isNaN(val)) total += val; + // } + return `{value|${dataList.centerVal}}\n{unit|${dataList.lastVal}}`; + }, + rich: { + value: { + fontSize: 24, + fontFamily: 'HarmonyOS Sans SC', + fontweight: 'bold', + color: '#333', + }, + unit: { + fontFamily: 'HarmonyOS Sans SC', + fontSize: 10, + color: '#333', + }, + }, + }, }, data: dataList.data }], - graphic: [{ - type: 'text', - left: 'center', - top: 'middle', - style: { - text: `${dataList.centerVal}${dataList.unit}`, - textBaseline: 'middle', - textAlign: 'center', - fontSize: 20, - fill: '#333' - } - }], + // graphic: [{ + // type: 'text', + // left: 'center', + // top: 'middle', + // style: { + // text: `${dataList.centerVal}\n${dataList.lastVal}`, + // textBaseline: 'middle', + // textAlign: 'center', + // fontSize: 20, + // fill: '#333' + // } + // }], }; + // let option = { + // title: { + // text: '{a|' + Math.round((dataList.value * 100) / dataList.total) + '%}\n{b|' + dataList.lastVal + '}', // 显示标题 + // show: true, // 是否显示 + // x: 'center', // x轴位置 + // y: 'center', // y轴位置 + // textStyle: { // 样式配置 + // rich: { + // a: { + // fontSize: 24, // 字体大小 + // color: '#333333', // 字体颜色 + // padding: [0, 0, 5, 0], // 边距 + // }, + // b: { + // fontSize: 14, // 字体大小 + // color: '#808080', // 字体颜色 + // }, + // }, + // }, + // }, + // angleAxis: { + // max: dataList.total, + // clockwise: false, // 逆时针 + // // 隐藏刻度线 + // show: false, + // // 开始的角度 + // startAngle: 180 + // }, + // radiusAxis: { + // type: 'category', + // show: true, + // axisLabel: { + // show: false, // 是否显示标签 + // }, + // axisLine: { + // show: false, // 是否显示轴线 + // }, + // axisTick: { + // show: false, // 是否显示刻度 + // }, + // }, + // polar: [ + // { + // radius: ['54%', '66%'] //图形大小 + // } + // ], + // series: [ + // { + // type: 'bar', + // z: 10, + // data: [dataList.value], // 数据 + // coordinateSystem: 'polar', // 坐标 + // roundCap: true, // 是否在环形柱条两侧使用圆弧效果 + // barWidth: 20, // 大的占比环 + // itemStyle: { // 图形样式 + // normal: { + // color: "#2A91D9", + // } + // } + // }, + // { + // type: 'pie', + // name: '内层细圆环', + // radius: ['55%', '65%'], // 饼图的半径 + // hoverAnimation: false, // 悬浮突出 + // itemStyle: { // 图形样式 + // color: "#DFE0EF", // 颜色 + // }, + // label: { + // show: false // 是否显示 + // }, + // data: [dataList.total] + // } + // ] + // }; pieDataListIntance.setOption(option); // window.addEventListener("resize", () => { // pieDataListIntance.resize() diff --git a/src/components/table/index.vue b/src/components/table/index.vue index 8d2917c..6f4e4a3 100644 --- a/src/components/table/index.vue +++ b/src/components/table/index.vue @@ -11,7 +11,7 @@ - +