From 2996c061dc8473dcfedc11912f7358a78a70dc3c Mon Sep 17 00:00:00 2001 From: lb Date: Mon, 22 Apr 2024 16:58:15 +0800 Subject: [PATCH] merge bugfix --- src/App.js | 4 +- src/assets/Icon/dontknowwhatitis.png | Bin 0 -> 6004 bytes src/assets/Icon/lightnen.png | Bin 0 -> 7899 bytes src/assets/Icon/oilstation.png | Bin 0 -> 5445 bytes .../Common/AnnealFanRunFrequence/index.jsx | 1 + src/components/Common/CurrentTemp/index.jsx | 2 +- src/components/Common/GraphBase/index.jsx | 7 +- .../Common/GraphBase/index.module.css | 5 + .../GraphBase/selector.style.overwrite.css | 9 +- .../SmokeHandle/SmokeTrendChart/index.jsx | 4 +- .../Common/TodayFaultTotal/index.jsx | 4 +- .../Common/TodayFaultType/index.jsx | 14 ++- .../components/GoodRateChart/index.jsx | 8 +- .../EnergyCostAnalysis/Energy/index.jsx | 53 ++++++---- .../Energy/index.module.css | 28 ++++- .../Modules/EnergyCostAnalysis/NO/index.jsx | 57 +++++------ .../Modules/EnergyCostAnalysis/NO2/index.jsx | 57 +++++------ .../EnergyCostAnalysis/NatGas/index.jsx | 96 ++++++++++++++---- .../Modules/EnergyCostAnalysis/O/index.jsx | 56 +++++----- .../Modules/EnergyCostAnalysis/SO2/index.jsx | 57 +++++------ .../EnergyCostAnalysis/SmokeHandle/index.jsx | 12 ++- .../SmokeHandle/index.module.css | 26 ++++- src/hooks/useSlider.js | 4 + src/pages/EnergyCostAnalysis/index.jsx | 11 +- src/pages/EnergyCostAnalysis/index.module.css | 14 ++- src/utils/index.js | 2 + 26 files changed, 345 insertions(+), 186 deletions(-) create mode 100644 src/assets/Icon/dontknowwhatitis.png create mode 100644 src/assets/Icon/lightnen.png create mode 100644 src/assets/Icon/oilstation.png diff --git a/src/App.js b/src/App.js index 84f8cea..e1ac168 100644 --- a/src/App.js +++ b/src/App.js @@ -11,7 +11,7 @@ import { Switch } from "antd"; import { createPortal } from "react-dom"; const Menus = ["窑炉总览", "窑炉内部", "退火监测", "质检统计", "能耗分析"]; - +const LUNBO_INTERVAL = 60 * 1000; function App() { const { styles, value, setValue } = useSlider(100); const [navActive, setNavActive] = useState("窑炉总览"); @@ -22,7 +22,7 @@ function App() { if (lunbo) { timer = setInterval(() => { handleMenuChange(Menus[(Menus.indexOf(navActive) + 1) % Menus.length]); - }, 5000); + }, LUNBO_INTERVAL); } return () => { clearInterval(timer); diff --git a/src/assets/Icon/dontknowwhatitis.png b/src/assets/Icon/dontknowwhatitis.png new file mode 100644 index 0000000000000000000000000000000000000000..f24e76d220b5e6e9f84a1d3f47cde89225d91e14 GIT binary patch literal 6004 zcmYLt1y>Xdv@Izx;0!4U(yeq364Ef_&?(Xlf^-bs-90ER2-02BICOV+ch~iM@2&gJ zT6^s{`}~0u4powQ4Il*|AtAkn$V#gIW9Wate1(LBeD|hP@Sj1m5K|OGLaL0#el$Y= z=WWfjA?AvTNbmn?Oe8d9Ql$S<y@rVMmcjzumCT5Q^Z{d|(z&FXr@Uddu z_K>}r350W@%RL62cfM$`oRqZ{Hcw?fI^kYEeca~ucFWEIY-Z=?P~_qGcyto*j+lT8UJOy(%i_^07O1LBPW8-pjBHs$EXQrh^uxPJi7Ox!Tw$$2ahssI)w6 zK$C^p57`u#3l?m!&&FZQ$ClClHc0JAgJ196r zJ4V%KJ9#+|TSnH%c>G5R^fj>g=DDK&>8yJG20NR@@v@mO5ga1SeweL2)8>8QLqOXb z>B%2PdUUNjsTzcJZ=7SYYl9gCBMTIAL^X6gOBSUNbHo8rsLvr}6ooW?;mSVi2gBq% zeusqsPea(XI`;esNSR5CsObhpM(gheW)R=DW(gX`oE1KZ^M=S|K;wK>56-)?V1K&$ z5`4CZ!CQYnTR+oOoT-rO>AGU(@}aVz<`Iakx8)%yyeb4<+Dg3eSxc)}mmZn4!Ia07 z9+36u-qFqy)%p}G*vmj`i4zt_Xcq#y{41_DRH96}i=}JDLGnr#FLxL)IY|ku!N4GR za$1nNi#7yP3617dgh)7V3;v?i+{ctCx?M9J@8?4%>Xee1c90~^N3icchS)ft{GKF9 z3)6&Jioyt|9Yp=+B&g?-lkA!ZQPMNIH%BK8!*EgvM%EtKRPYCg5EHuG5?!il0SWY*k)nO+HK^a|EO#zMXwGCrJPa z`{;ak6-hI6&zPKI?B^dT;jRBF2qTU|ZM!p?kF(-||V9CSLr6~a?x4zpge0p4vU=VpV zQsqLU90xZy$NaPIzijle=8k8*8@E>&&dOF&I*~Ia*TX+&g?RxjDGh3qB$j>@=?oV) z?Y(ueRsE4;(qAdQIk?hI?T#h*N)2R@Qs*+^phv)o7++#3*Pqdc?RM_XaE-tCjo?5H z-Yyhd!N6^ombQO83F7}akOHfpjpo%#*V|55G-`?rQ^;Ol#d0cdB#`J%tZ-HpEg3Fi zrb<$mbVo6E2K(V^jW}yA`zM*&J^{~ji46dq)*Z75puK)qaL7WfS4`8MPkIP$(7 z9boWz6T8NuYP%!h0^Fl!24d?T=SX(cspeb^FYG-|KfOd?@j=f>sj`Fe8zw&|qujFv1}8iiRYQ)I$mQNox@;`^o7Q@+cW5Q4O2Dhgb24 z*Mad36>~LT{f@($#{9+iEw8&2sU}_3{j*RlXSVCT0#*pmV!V}F)k0CxmxhRV77qff zNj_V4pE5VCW%j#(B7pbm#7mP{C^F%`mf4b-j3*g|-qf=_I#*c|4T%^|MxdP(-cMs= zjsal0nrE;S>qq{w$dhqVL2Y@3yOzIt?|<4R{Tdt8nIzMSGmewr6o2Q}=+1^ixTzr- z$Q{n?bFNsH>2n_Z*fl8n4qaMW0=142_G+T?a?fd}4S_lq`%eC83P31Ag0lM>4S;w* zyiF5R_b}K#})sT-5V6bfh?C9^+HJzn)o)JI^o%#P{O+7+XsuXWr3m)!NIJP*#YW`gHxt|DXx zHIsB}Ib%h|oG9|5p65?vw<$@z8Kezje2ORc*G5Y}>C&$6>rQuM4INUzpa<*Uaq30^ z5qnxt)V?i(i0*WS@}TlR8&0%RtBE~Rifvb>n+3j7o}QC|21Qp0pOkjV{ZiKf4Nbj* zTA4N8jWanf5M&K-KyXuhw{qn-!9GGRb>nL(zKmiVuf@rQTg|PtQF$e0Dn#J3#x(_ePq_%8`fOnlwNp zVxDmhOh-VxcBy7!Ptk0_i)HFKWwX}Mi-)bHPA^KU@V+km`vm)Cq`z^lOgH3DCz~d; z*G!mEt6uf{g7CyzB&(6{na%caXZ!DB<57QO*+e+AD+Npcufd5^glKh+Q~f`0$N+2@#JVrIw;-cD|MH#Ai0#4oH3zje>g zKcHwTQT`U=L=~r>+nfAWKkHld$kD#a*N1B(ElRSz9gMs~WvfzdmZ|ULAG|{Ah&>?6 zJN&n|j?HxOQevQpU3NBlb52BXazHQ*jVg!uX}W&;PCZC^>o~p#l`UqOR;Y|Lt=*t~ zvAt~N#ZP&s-Yi0GIf0XMrN^*?xZY|e(D2vvuaLg;1vH7nuVe7S0HyWuKJaIL-}v`p z=#3w`RKiV`VcX_KyNz6R~ABVft*hzNxI2ZB#WrtX!%T z&O*W{J7Nl%31|n@vQFB&8spNe222)^8N6(|@UrRDV4u)f_M;?Yt~yf+w44MdIMm%m z%wT$Y2ge=mgnu>J<3To=H#pVNs%`-!eMHb3Q3?8_dTCtM2x?=3Ln@X)`h=Q^Esg_fzC1 zS9DkIY;|~m;V3QN?DRj9Br%9=hCeBPU-F#RQkaMSRssrjkn6&*%0w=RFG9z!#6b*IcCY%2V$CS^r-O&@;%|%uzoX``A zEFr6@mPDBy6BT{Qhp0k-IVN2<6%}Q>*vbu1bv+yVm)P0O#Z0s@3Z9oIR?YDG93@gp z0G;!Nz6bxDM<0Ig{i{m2d!SJ+M&*0@%!5k15e`?kU!~%XLXC8` zL~i$j-lz~bhE(0x#0x4$Wx(oWv@LE}XR^3b&B%xiyKuHHE_0e1t|Kyb7Ex}vQ#fO0 z<}^KLL*W;X<5v69hCc2=Zu(((z$kOS%ri5l(wksP zIs{5qK)PDo`p6t_yM+VwmA)@PL@kd{_eIXyf0EMyu&=tY6qxA`W*R8x^w-{3cZvS! z^Xhol_|e^;b?8+dvXse9kPf0X#N76LuwCL8 z7~bDxrGe3TolRe5#G`Zq5uNzi$G=?W(Sa%){rpOXtL#Tjjw!T4ul?hN>3ws3b&BUe zOGO#VenM<6=H2dnQ$=3#m}}T-lE#r!pMtCCSgt?iV&iSfr2qM2sX(F1oD!y3EUqVI zwE9Jv*rgBE3I6F6X;FwCh-R@El;PT{Cz~;v&86&5s;4VAa+@VE> zsO{MTGfA%i>ElOhZ1^O}^+MvVf4e%fMrB6I1|#MUO7F(oJTK+IbI<)1U6~I8P=*E| z`<`f11-32H+1sOGN~H_jYNgS=powayrn2m%j*ox1B76`$CVclFHDj&)LaGb161`bY z+DbrtSd-`V)LHK2vy6A~_8WC=-MpWxGlYc2Od40HEsjZFH24c)KA2w`dAJYq6~_}u<$*lFQqasM{`M6}?)|gbSOPvH&bVOckim3&xVe<1MG=hz`dtelcQSh{o_%9t_K9I|4|TfGo#J?M=F7v{VbZyT>e5;}Qv;8* zu^y1?$PnWv3iwDb_dMuo6G_LwutP_wa<^pb+UF49EFTyy{d>L<0W%iUHya!M*sMo%ohLPNtW$U(}P=UkKu7 zq(rqwhrE4i{78L&B$L{0R*Kh3%V4DH<1G>p7GJrDNq1kTMOS6N+URvvbJCUn!MH;f zbWX=CR!z5C)zw;d$vP?XI)VSIIjg!2mIRsv;rITP#QOE0hAI9t_P z&a)ooDZihRS^zP>DI`5uMV<{vPr1uNdG$2PFpvkX^wvoD-6Lf?p-%bpZ34J9@cW!vH#_Ybs!l-W$lFK z-)^;GuM*i7GZJ~ukb;Fo492!Q;7Nx}s%KQ+D>rZsf#zuOf{#$Q!%1B>4^bmA;&U~k zzPnPnN~GIX8XdYT;{@0I00aB?Nimr#nbWH0wB7hS>1OUx;@pM2w7qRB;QA`R z)}wHE?(T$`T&1&{^dWPP66E1MdkXyupLj0w+}ohNwI$3%dFi02!3&Wm%tAfGm{Tnp zO~k{bVRjJegW{`Ibl#h6QzpCbEVS`2swVZoYV-xEUtO`7wAAuiBqwo`I+#f~-l?0F z4>Dh6TkzMl^Y_{S{J?{A+++TKBso9ycy{=;tmNxa4HjlZh=lJs%JJM}^WR|l@9-ba z98?*-xFSBaE1hI=F{)rUUNOP7d0K@{4W%6os&rgUrFlgRhWSn&kEOjST#eCp#%8l2 z^0S}A<348bb$^csKXdq5HC*Eh<&I?Uu?szW5UzpFw!qlCyEj~bYS3ic&*r9@*Z$kgXpk--mFBt zBfdX=naj?xDcbpck#^sK{VZOi^F!#&6PXB2YJgcZr_SNqa6H;a!`sk`C_!nKns~C!$fk4Q zkt&J6ps_S7eH5&`GzZlc678*Qk`*Nu!M7%rT|IX{hrsV#g&xJdbL^mOo$U`g1W;*` zrzT87%x!*^1R%?vEV6gj*eQcZDulvuU~WB@bq)IQ7FF$1yj$YEwVE*ww#XVnw#z6R zuJ!a_0f~7opgf@Gerr@j9;OD~5`AWpd?q4gAatT->qzSecT&&l>J`8|VczR`P`lTo zaWD^|7~`|FQtbCH$-l5D^d#=}lS*XiVtcXoX~N2=_K;;0;! z%m^Kh-uzazW6(;cII0z~(*M(F`XCl$fG*T7f@} zjPJgKr6O-xXx79WtYG8hXKfFszbv*V57#~FlMtXhOme{o5`g)7=9joqxqX9ATz>^w ze{ae+GSxRVn==-xjQeMa;+?2RJt#cTnZfzKInf*2#;J4fHJ;WW3dzH8>$w>kO`RK# zJ?3h1l_)8;oGlo?0`emcs~CSJn;dfIZaus^5}ZnbDcf@dfOp1Va2 zgBbAqNTnDsYnlD@a&Y46qV#x*gX*{X1cU#uD4nXS^d{w=R4TX8kNB#Ov%rPjM8~7UN#o%(=m+5#9iHoB}$#mAG6aJq2aB^cVs7uL+L|?qc b{DMt`b~i|zSDgCa8yg~}B>7w1FyMax@&av3 literal 0 HcmV?d00001 diff --git a/src/assets/Icon/lightnen.png b/src/assets/Icon/lightnen.png new file mode 100644 index 0000000000000000000000000000000000000000..201de2342969bc222a39f2fbdbe2a8763fa74ea8 GIT binary patch literal 7899 zcmYLu1ydXhuq5v8?(T~xSQaN}a29uWNYLQ!Zo%DI+=IKjEF{Q6aCgbecX#z}s=B&+ zs^e*`af3t4=6}5FtATV10w$nf;CVX2m=F7Kz}tw{O27k zbrr0Xm0{TaX%rX)STdOZy0HHs4om*OS{9ZC2LAu_;b34QY+(@oUqNS^2gPvK z`7vpwuLbHluQ)gk_9-#$;-z<*@JCx>qNO_+LCGYgfqQ+Qv2XKkGg0I+8MBLli8hgV zK+!8Igccwe@Ax#pyoU5ku-EcQ+`_i=@Xy9Y{rS)GE^ApbQVpNts^|LWllq_WbyZHv zF`?cI*?g+4YkwIm4^bwjXB1lHpAnPLtn?)AOf|Tg$0~_ysd+y^xfuu-mtqt?oHcs3 z4a7Nm1f`Pt@@AF1mhd$)^QjwAe;>+js`Qn_aoL~0C74`MVz0DSo?eM6j4*_4E$yL0 zIt8Ehz$=HKyj-~AN}?!#*4grhH>BO@+j?p_Y2svchB!SDO1&eXE_6Ch!FD;xPnd{@ zUg+jO+j{mWPJxpH1D31ZB?)TGDm~l4Q^^PFFAoSj8G6jIrMPr5M{haIDI%BpM4@2| z?jX>NH(l6 zLJbY$XR)&+LrUWcbBQ+i)F1{$*~Yg=8;Eb`N-mEE(S*>+g=cZW3F8$Y$JA|cV@`}N z$jS}J1&9fi%a%C!_fELmtFdd=w_aG%MUx)Jlxx$}gAd4x%vw%&bSshQN<@dnX)T3C zX-d66hII160C3gw%pVI|OS+|~0#JC0D`k?kF1b4zdB5N$mM8P&B&(x!xLR5cd%>yY zMF&kp00Z#*Q~QqQSUd%@mO}Fk0(!ETZFWg{@EAR@G{3#w86DD~qTtUY(q*^yDk3(Z z&?hjXHaOeY55Y{hlXwn1S9|e*!Hh_#iYa;KES5Vtw|)JD-*EhzVB%WB?* z1<+@iMGU(M{qnw(BYh1+9x_2cTaf_LhlhTT zT#eKf;HdCXUOmI1uA7E=qIjMv9v$d?=ub^Riq)WBAU!k;9`z{x1tr~uDV2gl?JIPM z>Y+ZUg1YkCNohKLf1bG}&dl2@g3E&8o93P)c(Bjj4!zFTcQM{#_>elkMs`Bl)S$@QM-aQCsgpG zRzj#H-*XI5Qsr;Y`~;gRY2g_~~+q&6ItIeDqtd#4M(vn7^J?j{pV~>|X$K6;-&fh;8BL4od!Hm-`VR)4ga%Z^dM|DsxIorPP#p5=3}sahqq& zsVbtv!URQHZUwTUDJxt-^&9Lg+!GcSKWe6ShALizeH|6zCM_sxYero3R}6ndomRRc zWx59uIn|H?RpZ!2Wv_SRFRRMiw*`#- zOoO?F(9E@=Q&Ejem+O|^(D1wYlQ7n@eT}izLSy`&86^(in4RyC9qRNFAZBslGQ zmAKoaB!oqE3TbG~8E`q7K&^!Vc!Dk_IGC-`8a+4CxRkNOKbxY%vibR}+cO8($7u{- zJ~rgr#C4CHdh5kh9evR%ltSEBX9tOmB{7r;9f$4U!-`}q3-*&IR9Z6|nb}{hSTTO? z{5?m$hLx!cN0hA*C+=(4*0pu2rz#b1MJA4p$E}d^7?T{DDE|01$B%Kp@7M+8QQL~4 z!smnN47##Z$AYZB7NBH1@T7c(Zg+dP)UG0iy{hPF;jh>bBdG5<0^!Uo!JV~YgE2s>-(LHGlbrZei32~d@X98~ zFE;5;l3pCYN8E?;D3^x!uYi526XJ$#oy^COoEUxQDcW^P>}}?()}=LPZz~h*NZVij zKb`5CXDGh2e4s>6Pm3l%!uNbhwg%Rh!3%HI8NN;Rb1;)&Lk{&mpg7Qx z#h;&Nv;#0a-TNDNb=`L>2eo+UEwyOFHw+aN__&nn<{+Eb9D4vh%GbqG?7qU=Cx6eK zr+KLt+_YifDB2OJ5fRP#bfk%&iJGJZB>DG7=o4w4ielXN=HJ>9mlnKq zT|Z|C99h5JysTt|T&Lpt{5<5M9pjb!qe@9`>c?GSVt*vQdHTY`^Eb)HZ_*pX;b@OO z=EYO5eJ;s;T<&5wi;L!q^4oYb~z zDG%9!Kc0T=F5kF|V`Z)lw^6wfW|dqrj86}vYpp^~85i%t1+nNF*Q>UL+XR7s{y_g*A$OhA*`c!ujw3jb_iJHnCyls~rAIdpXwE#28jWpiZOE;f>a!BGoBCvTd7op? z_|*?JYAAY1n3H`qDdB0~=%_5z%zYplpj?f{i#rTeTq|-b0P2(&RIL- z`yjlbNemV_-9#51Z>M|x%gFx6-79J>C#$REz(hECP#0(na1PY={w8zVBu;3lN|8rf zQ}LtqTBnu)IIDHplxZZIMJxtTgVt-WT{e9!DOre`Z1uXbm%_BXSo8yeG% z(A>;2B>4SfqT+SV5~3PW$a(#*x#_2dstC*7mAz!bZa#Z|%$(_WVN!xg$@YC4sx;Se zTQ1^_D<`n@&kSkX>FLH`XxPFx`SnQ!(-uk$TxA2=U6T6?@=yXTwIb})Dhu9xfdXce z0Po3)_SI2Bh2|=nyn*jkA7+HwQL{2Jg3EmD^yq?A7JM@8H{roQZ$1*7U)&(;I`QH| z(e?F~cvS<3m1pdn*5gyjYW(SF8zqT7opTro(NGq--cV*0#>bf9%5n-f~imP!&B zpuAWjBhGY7z8p7lYj2<_p{t%QiiKOR7P-4828^VoBQ@O9?8sUckzpTZkYXba*H~4P zUgHCaSyu7IGQN)Ks5=q@_=Xp`m``$R7KyP}Z46KOc8Kfw*%h^%HW*KpMT(FeRjvCs z7c2}hCd!Sv;jGp4DmmeDWhK}KCm6{8WQocv9wi2QjIcMkv7wex16Fl(A}t5D6ytd1 zZr0kI(to=*Al80o%l(<8;%7(yDViFL%d+i0zr}+xfytVwAQGbhu*zPapPJ4A*1;XI z9wz&m-lCmO7PzUujYZ$G6KQ+$|2(rX!_APhTs#0KZtJ)#WbMNe$z!Mwg>$gDbP`w` z+zz>~*xNL|W4+JMW=Pq}y@)RoMz4P5y#OjQj$aQ&pl$O}GDj&@S4EsfT$@|hK;Co9 z93gYlVhI)lW>=w$D|>2t)@aleiKv01`vgLT%&8w|LivcOT6$EX`u(I<(eC_8IJ|C~ zdo=W>?UU8ha=h5YXmipe_L$sK2fI}2O|r4Nnkg&x}xgbt3QW zHt7T$CluBh)23@8x+<--rWI|Uft=5@Hzur&kyhs4_J9Y)UZ)E7wEcHUqqV9H7dUV) zw2oZT#3syLA5uimZaRAR*hhN2G!lj;HRUT|WjD)HLq$DET675Hnk1C5sw8u^caz`l zGQ)xxKAm>PGY{c2HoMb)VkM;&kNSLpmHd3Dj4;H1KXFfvpO20wy*P-a?`4)Oi!y_T zzEL>s( z`)wkaV{K;R9FwB#es>m|*UV*Grdhp^ntj5LLXMMk0{v|f`FP@(zUZcrBWBk@Tc5)T zVk+VV(l`%tz1&YKWXf|?#BLEe>#uAszIRw7&dTv8+*{v^h=3ZOnRJ>=S+5~f^Guz1 zPUF5?{WWn-#2WQr>MRE>G< zLUuVAXC5awdl1~%<)q}F6>p;#eqfWpmxuhVcJlf5EPjg16rmOCYkrPR1?y;pH)?MM zQCP?!g%_HNsdqC~V4aag-I`AD<8MyXwy2;|d)&+68w2#3$z!_}-JfW@>YXoLjWMe5 zZNK@mnb(b=@e{(qqr{C-ho)NI9Hh@-mai0Uulh~ z-1p4lQf_73oe7-AG_{U_@5pK7)O5HTI|o?@%CwmotQ9mnAA2~fIj6DCs@s=w^=gKh z8LiWuIT#v9IIddX&_t*FY4+4@VZ(gU#@7#;&HR)=81*}J&mSC=R&auT;@qY0>rx4t z{Cw{MG@ah1SMKDp-kjZf#71KGgYuytvh;&*gxzvhc_;mfZFZ`rRvM^gyx9Fk4k8#i zgh4nlmpk3b2VvG0h3M53N?WEYyvFvfIYbz|89iw}B<$N^H7t9&fEm8LogbrAdqMC1 z6UY}729MsMPa&>d1QsK`?4{n_jBjr>see^&%r$W(>N!|jPe7;Rr_8$n=I{4II;AGQ zXebNffriyL*<$F$FG_M_S-NN##iPPhN@MtAJz@!$i+Ph$shiah61@zZ2nbnhK|PFx zOq|v0UMZd`PH?B8-Lr6H(^{p<1!J+A-CE=0fFDSwkKb2uMS;+vl95F=L7zkiyd49EyNrHvRVR` z_C9v9jbGq-*@p?PPuYioqMrWH3rnka$1fSBTYr0sHl`2xAf|fXLt{!_F}X;KSlrEB{9aOu)|lofB}1K31jW;UPM_n71pDU z$|d2fX>qKLm*39-C(T``hpvd54;Ykv&<$-j*Z)ik%>GJxDL7d*Eb!cBTGY!>k||jQ zQ|P$V@>o16(yl0n_!9Y-NS@T#esj?hM9$#hOOmmo59u3aP&RR z1P}@ZKE73*;N?3jLLf{pE2#&ssCku6$I?)M#K;__kENL%E7f`#Y`I}$UjNhVs)8`) zJ3p`9MlJE zom+3#ydrB>mO)(QMHctD>2CQz2$XWPC>vGQHfFS*+CnLkCeWZuPHG~OBNOA}{hl~hh+wSydHgjm}XQQ-Ztr3;CytuL+PB0Lnja?Be7+ z%R1F^FP9!j#-V2#Rp0us6vqUmsWE7=DSl=8k<n7A#{Uq=RR=xqJ{-i&&M^(d6GKTaWBA^Ht@-^VaV=4@KyVwwuD1$T}07pv8#b* z!6Z)LWO*jsJUEH)lij4ygHp5oU;V3=s|1h1+`_HQC-V}$Wkhjujj(c;JPN&PO_~~AXBG#0CxrM!tq=A5b8eTf8kWhDMEbz0v?C8fBNc^?e?yz!?w8Dc$IJJUc z-_2Ht`*Btcww0fhQ0LHDtiQx_r#gCA7~K6@FF9N@AK!7J7*FZ=-BHbHiEf8W6rzVWXuCh8glWeev2v2|QfeIH7bhGqVhX%WEuuCY# zQ1t7uN~&l3MVp~bje^nd{_@!;{xI#VBkM2cOlQF#F|MsC#ULpS+MLGsM6Qu?x$6zZ zP}y{eH-8+F&u7ule*z-ABr|WN`4>L(O>uHNv6ff#o(<6QFzBK?9M9We}$Ejt9 z@}x;9F3bhu{AgiK$nxd3nnV7&oL((-imLs&PdeC@=kJ@?RG){cqF~`b?hWD&Vi4XS z97nM6Rt_i(Owje`98^o7Etsxv*mgvs9hvVseAICy${dK}hNamIFk&h@t>N^~Vbc{i zG79Ci`I5VsbQzDM+}>Lu^gC3aG?85u@c#L{7rg=9eX?%fGBv1P)P*sat^KILuM{Rb z&4kBK{7NA3)7KQLMe8$4wce-V$U(z0zC=Z&MMAbfF60>z(fWS< zCb!%)D`=01^h#PngZ=uMNsrfL-b9GbFOlk~JRXDn?d?$Ago%3p!;c)LWxIObZhKhf=X(uQl~__&9XT*^qr zSIK5*(%8=L(0Sa0;t$XE83R2=-Ob^RZfuVO=91zvq&oNvK2H5YtR;St`dYO933JAd zBwM{1Zc#s5=6qwihjH&!)&@;5>9I0KXF5BO2S1AwI|enP+a;Fh z-P{7UcsBep8+&1aEItn4heGTfq9AlDD?^0hkuWTk@&+>!-A1q7a3=lb8A4z02RiHM0vtjm^S_wDIsV^FKkqxc%sKa zv_H;N4-54j3Wc<@1BH%wP*zk~PvNF4d4}^5^p78WN1i-ehd+}+?;1W|Y-Jq%aMpdg z9-9~jQ>XK1(}aaDLYD(jDPu#53w2uvUNIQWIS{s2KY$AiXrP*mE z;7p?P^g8}cZmc_jT~l6sFcS$aZ)q}iynG}QoAlmwXiI24#Px+rWL~96EupW(wV|=x z^~4kc!Aj4!{v`X=$bQdU>zZmt&K$+yc3ADm@|&9vF7ctZmz8dx0czQLbNCrb9@G|gRElL#Dbs}ebw_kJ`QBOjh{Tn-%Kw~OHr zSu^8~pe>gj4J}Y3aZ6eUzupWZJ;dLwxa)ep>L)U%juh0`?;5+tJVJ3^$*liab$J5r zL`dpvE{f<(+m~A?W7qZN+TQ0Y1Tn{+jT0`&_Tp$U8bHS3gt1}rMUVAD%G@u6vBxt= zRHmZ>m8Orfd(HrnI2YjKV{PIc)N;4Fz2ZDzqOkyy022z99@RRMYs@aeer2%v!AZ~! zg__b^DT$JIG#f$4QfP|d`T|-{9F-q@5aFt;N`v1 zA~J7o2#Q%Yd~!GzQM-)EBryxK(fbyC)i%h=-X-R<*@a__Gopn#@cFaG>b57~P3m;t zFPESo(RxlYIdl#A@?v6lBmW9%AWxFvEKIAm8F{y>{6R8~`}aqb+WFK-_1pfz&sQV>biAwHK4>& zwQ#hDh({-E1=dz-v>1GKYUHE$l*0<-ME;HI3^T*gS)5~rPU#!o>@2?>m22s-!?Z>S zwvi_O6(d&C<7#+1O>*_EWxX`_sPx# literal 0 HcmV?d00001 diff --git a/src/assets/Icon/oilstation.png b/src/assets/Icon/oilstation.png new file mode 100644 index 0000000000000000000000000000000000000000..973a5da635ef90db0dd53c85f0e705ab7f949161 GIT binary patch literal 5445 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 vxpdFcccb-995<>D^0(t???bNqe{K996sR_A literal 0 HcmV?d00001 diff --git a/src/components/Common/AnnealFanRunFrequence/index.jsx b/src/components/Common/AnnealFanRunFrequence/index.jsx index 1c9d8fa..72641b0 100644 --- a/src/components/Common/AnnealFanRunFrequence/index.jsx +++ b/src/components/Common/AnnealFanRunFrequence/index.jsx @@ -109,6 +109,7 @@ function WindFrequence(props) { }, }; } else { + console.log('runstate changeD!......') dataList = runState != null ? Object.keys(runState).map((fan) => ({ diff --git a/src/components/Common/CurrentTemp/index.jsx b/src/components/Common/CurrentTemp/index.jsx index de53760..9707512 100644 --- a/src/components/Common/CurrentTemp/index.jsx +++ b/src/components/Common/CurrentTemp/index.jsx @@ -57,7 +57,7 @@ function WindFrequence(props) { currentTempList[1 + lines.indexOf(dataSource) + "#"]) || [] ); - }, [dataSource]); + }, [dataSource, currentTempList]); return ( ["#ffd160", "#2760ff", "#15e8f5"], []); const [showChart, setShowChart] = useState(true); @@ -72,9 +73,9 @@ function GraphBase(props) { - 无 - @@ -105,7 +106,7 @@ function GraphBase(props) {
#

{title}

- {desc &&
{desc}
} + {desc &&
{desc}
}
{switchOptions && ( diff --git a/src/components/Common/GraphBase/index.module.css b/src/components/Common/GraphBase/index.module.css index 53cf323..2f10baa 100644 --- a/src/components/Common/GraphBase/index.module.css +++ b/src/components/Common/GraphBase/index.module.css @@ -93,6 +93,11 @@ color: #76fff9; } +.graphBaseDescSmall { + font-size: 16px; + color: #76fff9; +} + .graphBaseSwitch { position: absolute; top: 30px; diff --git a/src/components/Common/GraphBase/selector.style.overwrite.css b/src/components/Common/GraphBase/selector.style.overwrite.css index 23faebf..d62230e 100644 --- a/src/components/Common/GraphBase/selector.style.overwrite.css +++ b/src/components/Common/GraphBase/selector.style.overwrite.css @@ -9,6 +9,7 @@ .xc-date-selector-menu .ant-select-item-option-content { text-align: center; + font-size: calc(14px * var(--scale)); } .xc-date-selector-menu .ant-select-item-option-selected { @@ -20,10 +21,16 @@ background-color: #02457E !important; color: #fff !important; } + +.xc-date-selector-menu .ant-select-item-option { + /* padding: 5px 8px; */ + padding: .3em .35em; + min-height: unset; +} /* .ant-select-selector::after { content: '\25BC' !important; - visibility: visible !important; + visibility: visible !important; L position: absolute; top: 2px; right: 22px; diff --git a/src/components/Common/SmokeHandle/SmokeTrendChart/index.jsx b/src/components/Common/SmokeHandle/SmokeTrendChart/index.jsx index 20602a3..87cfd66 100644 --- a/src/components/Common/SmokeHandle/SmokeTrendChart/index.jsx +++ b/src/components/Common/SmokeHandle/SmokeTrendChart/index.jsx @@ -33,9 +33,9 @@ const SmokeTrendChart = (props) => { switch (period) { case "day": setDesc( - dayjs().subtract(1, "day").format("YYYY.MM.DD") + + dayjs().format("YYYY.MM.DD") + " 7点 - " + - dayjs().format("YYYY.MM.DD") + + dayjs().add(1, "day").format("YYYY.MM.DD") + " 7点" ); break; diff --git a/src/components/Common/TodayFaultTotal/index.jsx b/src/components/Common/TodayFaultTotal/index.jsx index 3c23393..5be853f 100644 --- a/src/components/Common/TodayFaultTotal/index.jsx +++ b/src/components/Common/TodayFaultTotal/index.jsx @@ -33,10 +33,9 @@ function FaultTotal(props) { // time hint let timeDesc = ""; - const now = new Date(); switch (currentSelect) { case "日": - timeDesc = dayjs().subtract(1, 'day').format('YYYY.MM.DD') + " 7点 - " + dayjs().format('YYYY.MM.DD') + " 7点"; + timeDesc = dayjs().format('YYYY.MM.DD') + " 7点 - " + dayjs().add(1, 'day').format('YYYY.MM.DD') + " 7点"; break; case "周": timeDesc = dayjs().subtract(7, 'day').format('YYYY.MM.DD') + " - " + dayjs().subtract(1, 'day').format('YYYY.MM.DD') ; @@ -52,7 +51,6 @@ function FaultTotal(props) { item.name); const CHART_TYPE = "line"; // "pie" | "line"; + const timestr = + dayjs().format("YYYY.MM.DD") + + " 7点 - " + + dayjs().add(1, "d").format("YYYY.MM.DD") + + " 7点"; useEffect(() => { if (init == false) return; @@ -46,6 +52,8 @@ function FaultType(props) { - item.value == null || isNaN(+item.value) ? null : (+item.value).toFixed(0) + item.value == null || isNaN(+item.value) + ? null + : (+item.value).toFixed(0) ), }, ], diff --git a/src/components/Common/TodayGood/components/GoodRateChart/index.jsx b/src/components/Common/TodayGood/components/GoodRateChart/index.jsx index 57c012e..e0b3895 100644 --- a/src/components/Common/TodayGood/components/GoodRateChart/index.jsx +++ b/src/components/Common/TodayGood/components/GoodRateChart/index.jsx @@ -29,9 +29,9 @@ const GoodRateChart = (props) => { } const [timestr, setTimestr] = useState( - dayjs().subtract(1, "day").format("YYYY.MM.DD") + + dayjs().format("YYYY.MM.DD") + " 7点 - " + - dayjs().format("YYYY.MM.DD") + + dayjs().add(1, "day").format("YYYY.MM.DD") + " 7点" ); function handleDateChange(value) { @@ -40,9 +40,9 @@ const GoodRateChart = (props) => { switch (value) { case "日": setTimestr( - dayjs().subtract(1, "day").format("YYYY.MM.DD") + + dayjs().format("YYYY.MM.DD") + " 7点 - " + - dayjs().format("YYYY.MM.DD") + + dayjs().add(1, "day").format("YYYY.MM.DD") + " 7点" ); break; diff --git a/src/components/Modules/EnergyCostAnalysis/Energy/index.jsx b/src/components/Modules/EnergyCostAnalysis/Energy/index.jsx index fd2cb6f..0b4b1b9 100644 --- a/src/components/Modules/EnergyCostAnalysis/Energy/index.jsx +++ b/src/components/Modules/EnergyCostAnalysis/Energy/index.jsx @@ -2,33 +2,40 @@ import cls from "./index.module.css"; import GradientText from "../../../Common/GradientText"; import { useSelector } from "react-redux"; import { useEffect, useState } from "react"; +import eIcon1 from "../../../../assets/Icon/dontknowwhatitis.png"; +import eIcon2 from "../../../../assets/Icon/lightnen.png"; function Energy(props) { - const [isPage1, setIsPage1] = useState(true); + const [isPage1] = useState(props.page === 1); const energyInfo = useSelector((state) => state.energy?.info); - useEffect(() => { - const timer = setInterval(() => { - setIsPage1((pre) => !pre); - }, 10000); + // useEffect(() => { + // const timer = setInterval(() => { + // setIsPage1((pre) => !pre); + // }, 10000); - return () => { - clearInterval(timer); - } - }, []); + // return () => { + // clearInterval(timer); + // } + // }, []); return (
- + {isPage1 ? ( + eicon1 + ) : ( + eicon2 + )} + {!isPage1 && (
-
+
智慧能源光伏发电(总量)/kWh
-
+
许昌安彩光伏发电(总量)/kWh
余热发电(总量)/kWh - + 电耗量/kWh {(+energyInfo?.elecQty2)?.toFixed(2) || 0} - + 天然气II/Nm³ {energyInfo?.ngQty2?.replace("Nm³", "") || "0Nm³"} diff --git a/src/components/Modules/EnergyCostAnalysis/Energy/index.module.css b/src/components/Modules/EnergyCostAnalysis/Energy/index.module.css index b5ab979..2df0858 100644 --- a/src/components/Modules/EnergyCostAnalysis/Energy/index.module.css +++ b/src/components/Modules/EnergyCostAnalysis/Energy/index.module.css @@ -4,7 +4,8 @@ /* grid-template-columns: 133px 158px 292px 292px; */ grid-template-columns: 125px 250px 250px 250px; /* grid-template-rows: 60px 60px; */ - grid-template-rows: 129px 129px; + grid-template-rows: auto; + height: 100%; } .shadowBorder { @@ -13,6 +14,29 @@ padding: 4px; } +.shadowBorder.border { + position: relative; + border-bottom: 2px solid #00fff7; +} + +.shadowBorder.border::before, +.shadowBorder.border::after { + content: ""; + position: absolute; + bottom: 0; + display: inline-block; + height: 100%; + width: 2px; + background: linear-gradient(to top, #00fff7, #00fff708, transparent); +} + +.shadowBorder.border::before { + left: 0; +} +.shadowBorder.border::after { + right: 0; +} + .infoText { text-align: center; font-size: 22px; @@ -27,6 +51,6 @@ } .infoText > span:last-child { - color: #00FFF7; + color: #00fff7; font-size: 24px; } diff --git a/src/components/Modules/EnergyCostAnalysis/NO/index.jsx b/src/components/Modules/EnergyCostAnalysis/NO/index.jsx index 05cbf80..2dcf951 100644 --- a/src/components/Modules/EnergyCostAnalysis/NO/index.jsx +++ b/src/components/Modules/EnergyCostAnalysis/NO/index.jsx @@ -6,17 +6,38 @@ import { useState } from "react"; import * as echarts from "echarts"; import dayjs from "dayjs"; +function getTimeStr(period) { + return { + 日: + dayjs().format("YYYY.MM.DD") + + " 7点 - " + + dayjs().add(1, "d").format("YYYY.MM.DD") + + " 7点", + 年: + dayjs().subtract(1, "year").endOf("year").format("YYYY.MM.") + + "29 - " + + dayjs().endOf("year").format("YYYY.MM.") + + "28", + 周: + dayjs().subtract(7, "day").format("YYYY.MM.DD") + + " - " + + dayjs().subtract(1, "day").format("YYYY.MM.DD"), + 月: + dayjs().subtract(1, "month").format("YYYY.MM.") + + "29 - " + + dayjs().format("YYYY.MM.") + + "28", + }[period]; +} + function NO(props) { const dayTrend = useSelector((state) => state.smoke?.dayTrend); const weekTrend = useSelector((state) => state.smoke?.weekTrend); const monthTrend = useSelector((state) => state.smoke?.monthTrend); const yearTrend = useSelector((state) => state.smoke?.yearTrend); const [period, setPeriod] = useState("日"); - const [timestr, setTimestr] = useState( - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD") - ); + + let timestr = getTimeStr(period); const currentTrend = period === "日" @@ -33,35 +54,13 @@ function NO(props) { function handleDateChange(value) { setPeriod(value); - setTimestr( - { - 日: - dayjs().subtract(1, "day").format("YYYY.MM.DD") + - " 7点 - " + - dayjs().format("YYYY.MM.DD") + - " 7点", - 年: - dayjs().subtract(1, "year").endOf("year").format("YYYY.MM.") + - "29 - " + - dayjs().endOf("year").format("YYYY.MM.") + - "28", - 周: - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD"), - 月: - dayjs().subtract(1, "month").format("YYYY.MM.") + - "29 - " + - dayjs().format("YYYY.MM.") + - "28", - }[value] - ); + timestr = getTimeStr(value); } return ( state.smoke?.dayTrend); const weekTrend = useSelector((state) => state.smoke?.weekTrend); const monthTrend = useSelector((state) => state.smoke?.monthTrend); const yearTrend = useSelector((state) => state.smoke?.yearTrend); const [period, setPeriod] = useState("日"); - const [timestr, setTimestr] = useState( - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD") - ); + + let timestr = getTimeStr(period); const currentTrend = period === "日" ? dayTrend @@ -32,36 +53,14 @@ function Dust(props) { function handleDateChange(value) { setPeriod(value); - setTimestr( - { - 日: - dayjs().subtract(1, "day").format("YYYY.MM.DD") + - " 7点 - " + - dayjs().format("YYYY.MM.DD") + - " 7点", - 年: - dayjs().subtract(1, "year").endOf("year").format("YYYY.MM.") + - "29 - " + - dayjs().endOf("year").format("YYYY.MM.") + - "28", - 周: - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD"), - 月: - dayjs().subtract(1, "month").format("YYYY.MM.") + - "29 - " + - dayjs().format("YYYY.MM.") + - "28", - }[value] - ); + timestr = getTimeStr(value); } return ( state.energy.trend.natGas1); + const natGasTrend = useSelector((state) => state.energy.trend.natGas1); + const gasTrend = useSelector((state) => state.energy.trend.natGas2); const [period, setPeriod] = useState("周"); const [timestr, setTimestr] = useState( dayjs().subtract(7, "day").format("YYYY.MM.DD") + @@ -18,7 +19,7 @@ function NatGas(props) { const options = getOptions( { 周: "week", 月: "month", 年: "year" }[period], - elecTrend ?? { week: [], month: [], year: [] } + [natGasTrend, gasTrend] ?? { week: [], month: [], year: [] } ); function handleSwitch(v) { @@ -50,7 +51,7 @@ function NatGas(props) { return ( +
+
+
+ 天然气I +
+
+
+ 天然气II +
+
{/* real echarts here */} {options && ( - item != null ? (+item).toFixed(2) : null - ), - type: "line", - symbol: "circle", - symbolSize: 6, - areaStyle: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { offset: 0, color: colors[0] + "40" }, - { offset: 0.5, color: colors[0] + "20" }, - { offset: 1, color: colors[0] + "00" }, - ]), + series: [ + { + data: trendArr[0][period].map((item) => + item != null ? (+item).toFixed(2) : null + ), + type: "line", + symbol: "circle", + symbolSize: 6, + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { offset: 0, color: colors[0] + "40" }, + { offset: 0.5, color: colors[0] + "20" }, + { offset: 1, color: colors[0] + "00" }, + ]), + }, }, - }, + { + data: trendArr[1][period].map((item) => + item != null ? (+item).toFixed(2) : null + ), + type: "line", + symbol: "circle", + symbolSize: 6, + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { offset: 0, color: colors[1] + "40" }, + { offset: 0.5, color: colors[1] + "20" }, + { offset: 1, color: colors[1] + "00" }, + ]), + }, + }, + ], // series: seriesData.map((arr, index) => ({ // name: index + 1 + '#' + name, // data: arr, diff --git a/src/components/Modules/EnergyCostAnalysis/O/index.jsx b/src/components/Modules/EnergyCostAnalysis/O/index.jsx index d55302c..d61a7fc 100644 --- a/src/components/Modules/EnergyCostAnalysis/O/index.jsx +++ b/src/components/Modules/EnergyCostAnalysis/O/index.jsx @@ -6,17 +6,37 @@ import { useState } from "react"; import * as echarts from "echarts"; import dayjs from "dayjs"; +function getTimeStr(period) { + return { + 日: + dayjs().format("YYYY.MM.DD") + + " 7点 - " + + dayjs().add(1, "d").format("YYYY.MM.DD") + + " 7点", + 年: + dayjs().subtract(1, "year").endOf("year").format("YYYY.MM.") + + "29 - " + + dayjs().endOf("year").format("YYYY.MM.") + + "28", + 周: + dayjs().subtract(7, "day").format("YYYY.MM.DD") + + " - " + + dayjs().subtract(1, "day").format("YYYY.MM.DD"), + 月: + dayjs().subtract(1, "month").format("YYYY.MM.") + + "29 - " + + dayjs().format("YYYY.MM.") + + "28", + }[period]; +} + function Oxygen(props) { const dayTrend = useSelector((state) => state.smoke?.dayTrend); const weekTrend = useSelector((state) => state.smoke?.weekTrend); const monthTrend = useSelector((state) => state.smoke?.monthTrend); const yearTrend = useSelector((state) => state.smoke?.yearTrend); const [period, setPeriod] = useState("日"); - const [timestr, setTimestr] = useState( - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD") - ); + let timestr = getTimeStr(period); const currentTrend = period === "日" @@ -33,35 +53,13 @@ function Oxygen(props) { function handleDateChange(value) { setPeriod(value); - setTimestr( - { - 日: - dayjs().subtract(1, "day").format("YYYY.MM.DD") + - " 7点 - " + - dayjs().format("YYYY.MM.DD") + - " 7点", - 年: - dayjs().subtract(1, "year").endOf("year").format("YYYY.MM.") + - "29 - " + - dayjs().endOf("year").format("YYYY.MM.") + - "28", - 周: - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD"), - 月: - dayjs().subtract(1, "month").format("YYYY.MM.") + - "29 - " + - dayjs().format("YYYY.MM.") + - "28", - }[value] - ); + timestr = getTimeStr(value); } return ( state.smoke?.dayTrend); const weekTrend = useSelector((state) => state.smoke?.weekTrend); @@ -21,47 +45,22 @@ function SO2(props) { : period === "月" ? monthTrend : yearTrend; - const [timestr, setTimestr] = useState( - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD") - ); + + let timestr = getTimeStr(period); const options = getOptions("SO2_float", period, currentTrend); function handleSwitch(v) {} function handleDateChange(value) { setPeriod(value); - setTimestr( - { - 日: - dayjs().subtract(1, "day").format("YYYY.MM.DD") + - " 7点 - " + - dayjs().format("YYYY.MM.DD") + - " 7点", - 年: - dayjs().subtract(1, "year").endOf("year").format("YYYY.MM.") + - "29 - " + - dayjs().endOf("year").format("YYYY.MM.") + - "28", - 周: - dayjs().subtract(7, "day").format("YYYY.MM.DD") + - " - " + - dayjs().subtract(1, "day").format("YYYY.MM.DD"), - 月: - dayjs().subtract(1, "month").format("YYYY.MM.") + - "29 - " + - dayjs().format("YYYY.MM.") + - "28", - }[value] - ); + timestr = getTimeStr(value); } return ( state.smoke?.info); return (
- + eIcon1 + - + 二氧化硫浓度 mg/m³ {(+smokeInfo?.SO2_float)?.toFixed(2) || 0} - + 颗粒物浓度 mg/m³ {(+smokeInfo?.dust_float)?.toFixed(2) || 0} diff --git a/src/components/Modules/EnergyCostAnalysis/SmokeHandle/index.module.css b/src/components/Modules/EnergyCostAnalysis/SmokeHandle/index.module.css index 649e168..e979e91 100644 --- a/src/components/Modules/EnergyCostAnalysis/SmokeHandle/index.module.css +++ b/src/components/Modules/EnergyCostAnalysis/SmokeHandle/index.module.css @@ -3,7 +3,8 @@ gap: 6px; grid-template-columns: 187px 347px 347px; /* grid-template-rows: 60px 60px; */ - grid-template-rows: 129px 129px; + /* grid-template-rows: 129px 129px; */ + grid-template-rows: auto; height: 100%; } @@ -13,6 +14,29 @@ padding: 4px; } +.shadowBorder.border { + position: relative; + border-bottom: 2px solid #00fff7; +} + +.shadowBorder.border::before, +.shadowBorder.border::after { + content: ""; + position: absolute; + bottom: 0; + display: inline-block; + height: 100%; + width: 2px; + background: linear-gradient(to top, #00fff7, #00fff708, transparent); +} + +.shadowBorder.border::before { + left: 0; +} +.shadowBorder.border::after { + right: 0; +} + .infoText { text-align: center; font-size: 24px; diff --git a/src/hooks/useSlider.js b/src/hooks/useSlider.js index bb23c59..bfe7fd0 100644 --- a/src/hooks/useSlider.js +++ b/src/hooks/useSlider.js @@ -17,6 +17,10 @@ export default function useSlider(defaultSize) { const v = (value / 100).toFixed(2); + useEffect(() => { + document.documentElement.style.setProperty('--scale', v); + }, [v]) + const styles = { transform: `scale(${v})`, // transform: `scale(${v * 24 / 33}, ${v})`, diff --git a/src/pages/EnergyCostAnalysis/index.jsx b/src/pages/EnergyCostAnalysis/index.jsx index 65114aa..4f2edf4 100644 --- a/src/pages/EnergyCostAnalysis/index.jsx +++ b/src/pages/EnergyCostAnalysis/index.jsx @@ -37,19 +37,22 @@ function EnergyAnalysis(props) {
- + {/* */} +
- +
- + + {/* */}
- + {/* */} +
diff --git a/src/pages/EnergyCostAnalysis/index.module.css b/src/pages/EnergyCostAnalysis/index.module.css index ce74bc7..c8b8a00 100644 --- a/src/pages/EnergyCostAnalysis/index.module.css +++ b/src/pages/EnergyCostAnalysis/index.module.css @@ -27,10 +27,18 @@ gap: 24px; grid-template-rows: 128px 389px 389px; } + .vvgrid { - display: grid; - gap: 24px; - grid-template-rows: 258px 258px 389px; + display: flex; + flex-direction: column; + gap: 32px; + /* display: grid; + gap: 32px; + grid-template-rows: 280px 280px 410px; */ +} + +.vvgrid > div { + flex: 1; } .shadowBorder { diff --git a/src/utils/index.js b/src/utils/index.js index d81aba8..428270f 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -23,6 +23,8 @@ class XClient { this.name = config.name; this.ws = new WebSocket(config.url); this.timeout = config.timeout || 1000 * 5; + this.heartbeatDelay = 1000 * 60 * 3; + this.reconnectCount = 0; this.ws.onopen = () => { console.log(`[*] ${this.name} 初始化连接成功`);