From dbff76c78acb936ef8a81c5db91656e469a590c2 Mon Sep 17 00:00:00 2001 From: zhangqun <179111901@qq.com> Date: Thu, 29 Feb 2024 14:52:55 +0800 Subject: [PATCH] 1 --- src/assets/CommandPlatform/c8112e.png | Bin 0 -> 11203 bytes src/assets/CommandPlatform/dd.png | Bin 0 -> 3646 bytes src/assets/CommandPlatform/j520.png | Bin 0 -> 10839 bytes src/assets/CommandPlatform/r1.png | Bin 0 -> 1761 bytes src/assets/CommandPlatform/r2.png | Bin 0 -> 1765 bytes src/assets/CommandPlatform/r3.png | Bin 0 -> 1860 bytes src/assets/CommandPlatform/r4.png | Bin 0 -> 1869 bytes src/assets/CommandPlatform/r5.png | Bin 0 -> 1950 bytes src/assets/CommandPlatform/z10.png | Bin 0 -> 6459 bytes src/assets/CommandPlatform/z4.png | Bin 0 -> 1269 bytes src/assets/CommandPlatform/z5.png | Bin 0 -> 1258 bytes src/assets/CommandPlatform/z6.png | Bin 0 -> 1257 bytes src/assets/CommandPlatform/z7.png | Bin 0 -> 6009 bytes src/assets/CommandPlatform/数字框.png | Bin 0 -> 7768 bytes src/assets/CommandPlatform/用车公车.png | Bin 0 -> 3238 bytes .../CommandPlatform/left/BarChart2.js | 170 ++++++++++++++++++ .../CommandPlatform/left/Congestion.js | 37 ++-- .../CommandPlatform/left/Congestion.less | 170 +++++++++++++++--- .../CommandPlatform/left/CongestionTrend.js | 104 +++++------ .../CommandPlatform/left/CongestionTrend.less | 35 +++- .../CommandPlatform/left/Pyramid.js | 155 +--------------- .../CommandPlatform/left/Pyramid.less | 0 src/components/CommandPlatform/left/Rank.js | 10 +- src/components/CommandPlatform/left/Rank.less | 122 +++++++++++-- .../CommandPlatform/left/SituationDispose.js | 2 +- .../left/SituationDispose.less | 19 +- .../CommandPlatform/left/SituationNum.js | 21 ++- .../CommandPlatform/left/SituationNum.less | 165 ++++++++++++++--- .../CommandPlatform/left/SituationTable.js | 103 +++++------ .../CommandPlatform/left/SituationTable.less | 8 + .../CommandPlatform/left/SpeedTrend.js | 106 +++++------ .../CommandPlatform/left/SpeedTrend.less | 35 +++- src/pages/CommandPlatform/One.js | 12 +- src/pages/CommandPlatform/One.less | 3 +- 34 files changed, 853 insertions(+), 424 deletions(-) create mode 100644 src/assets/CommandPlatform/c8112e.png create mode 100644 src/assets/CommandPlatform/dd.png create mode 100644 src/assets/CommandPlatform/j520.png create mode 100644 src/assets/CommandPlatform/r1.png create mode 100644 src/assets/CommandPlatform/r2.png create mode 100644 src/assets/CommandPlatform/r3.png create mode 100644 src/assets/CommandPlatform/r4.png create mode 100644 src/assets/CommandPlatform/r5.png create mode 100644 src/assets/CommandPlatform/z10.png create mode 100644 src/assets/CommandPlatform/z4.png create mode 100644 src/assets/CommandPlatform/z5.png create mode 100644 src/assets/CommandPlatform/z6.png create mode 100644 src/assets/CommandPlatform/z7.png create mode 100644 src/assets/CommandPlatform/数字框.png create mode 100644 src/assets/CommandPlatform/用车公车.png create mode 100644 src/components/CommandPlatform/left/BarChart2.js delete mode 100644 src/components/CommandPlatform/left/Pyramid.less diff --git a/src/assets/CommandPlatform/c8112e.png b/src/assets/CommandPlatform/c8112e.png new file mode 100644 index 0000000000000000000000000000000000000000..d1c88ab8b7975e668d0684ce6da890bd2ea6425f GIT binary patch literal 11203 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 Q9smFU07*qoM6N<$f~YtV4gdfE literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/j520.png b/src/assets/CommandPlatform/j520.png new file mode 100644 index 0000000000000000000000000000000000000000..a439bde4647144e02154ba3ace41ec8c0443dd0d GIT binary patch literal 10839 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 literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/r1.png b/src/assets/CommandPlatform/r1.png new file mode 100644 index 0000000000000000000000000000000000000000..b1814528fa640ad4c62163498624d0ee3c8bbc92 GIT binary patch literal 1761 zcmV<71|Io|P)%Q@GsyB z@Mqv0@VC7J$R3Ez15X2|*VFEaEBQQEvwdu&9X3tISPTFiwJg|zrE<(l@gI&&wpcDl z7lB^_Klj8R2(c9SCh*Mp-qPaQ+yd9qu74XWf<;j3DGZ8136n?45v$vqoE&c40-gna z0+jy`u@3;hd8v2su?usH+(NYirDr%GK7yy4I4ZWu+MM z?c1+cz$xIjcO&*N@XF5?R{EFnJ`-aYNy13nb8HMnw3T5y6;Kf`P!XuNF>Ga~mX5V_ zwW6!;nOn>8$$+nKUL61*2L8Squ@qQ)vA_J-pLz!=#IS7=wk2WY2~Hx76<%Xj1PiFw znxGiKc#UO|#&S=nYb|qHF=s0>wS0VdlT(BBSAkW$w zBu-nN+(Zmx-zSn#h+$%qhNSn>vK||h#{Pm0DuRf!MG;6*{+adIr`7U%i{U1)=FGvh zdEl7~bBh4po;)#6YGfSAv2nIG@-`RjZnts0#=kouLAIwX{ot^SIi;X$-wUYOpdoU{&xo6pY_@6|5+# z3Stoiqk<9RJ=TzlWg>=5l>)=Hw99(hJ+WMl9yP!xujDQ;2uDEajkuiBNQv{r_|z}) z2%cu6`?2!Jg!KZOliwejA8$!13#87fS>fkqqZl)7|z3Qt>thf`U52su%&Qf<+q{o>U7< z-3@ZxMJ^vSz(aRTR);Tf*N99!rw|coUq{n(VSQWnZgZ~RF&V%^DbOGJ!!Q;E?wXkf zRwU}pJ8=^lhiK$!TZZ4}_TdX77jX6s@6cv|L06mjAh7cyv5Cv5LSUDA0V#$|Efqp4ip9F`QmtLj zNZYf5?TNCJK*#~qHW(2mfah|~0Iw~Vql-t%k&85a;*iymrxO(BQgtAiy0z_(*%`G4 zjf7w^o06S-IT@BC06g}yp36Hb8Tl*l5qvU| zMrUOSJauZY{>qKC)4!DW@s5I6MFfn|I>^hU30>|teaqCPZ>I+9Tey-zUC)@A@c!t) z`;)6#?`=(Zj}}9|bB_scXkP@L|LMX?ayfr{N(2v2w)n>88x^iZ@WM2KyA@SF3%qc) zzdS#ys8UKhPHPdH+R9yuDqFypfU~=S|F1ICFEm%`om&i9rU zUY7#+N$nuBFaPxKigY zfIIgBwijY?dj$9t@HkCzI21t!G{xbUfj@8`#o_+~RA?bHn7CO800000NkvXXu0mjf D)Rari literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/r2.png b/src/assets/CommandPlatform/r2.png new file mode 100644 index 0000000000000000000000000000000000000000..551234a6551de07e313fd51317d8677bf0bff330 GIT binary patch literal 1765 zcmV<$$%%_4j(VJe-C^f`18Gh zeHyrQ#VUz#FOLKE4Diy$ zYPq}~X7LCI6db5yWN?*PElwpUVql6hxYEG71UdvJBrt)eKsoDn`D(dQ0bc@s_Flj~ z16=<8=uGh!oo0k%U{D7X(PB6%%`Mix95fb_2-PJ*O-P`Jr$gYh?DNgex(8N)U%VUG zBf#rFs+MQg!z@FC8fX#WaE!EIgd~f31Ra}7Nz-UkiP90z1QDtyo*teqfirHG3+2Wh z@Dbo<4N_)MC2;AoUz%ADv&m9@gBnmU)W%|?%)f$;`Iu<(vks1mfL9@iM*-E?P=NI? z%Vobbvs!Fk0#>lUwfN5IUJdq*SN!~!f8|f%5&D$LQhkFuAe+t>q{G{t{}hT4gv_FX zN^MmTff8j?AK(G};s@NnZUbwzJ3w4KpMN#X0VGGyEmfBfa2%wmjqgL8LFZ*_V*@%= zmiaA!>He0nB(UeM`GpfZ+KYm%!vQX{lw+taDQc|Mw%pL_MmeMwv2T*oSpPs{yB+Ou z%`coF?k)-J{8~5(kd)-pHB5?%q`1m_t9KDXjm-3c+jhN9OC8s355MR~)~fICVHt3LGVY(x5u(7>Q#`C%L6l zXBXwpV-9#~Bg_DpLR&nw9H<31kP-0&pNs`KvE)^(l~APdp?a2r%q4; z0w@k4*n1A1%TI>^gzb1x_>com?P}K+N?M~=TRd|(%@$L}pbo23>(jEP`DV+?rh8Yr z0H;b|W_n5k=iAVD8)>xz9cz)x9hWnR>)MRt|MYUeUN5;`vk5ol_EmqE zY{F#h`%&%MGU{?$P7e>T=YTh7Wf+gcQXh*Wv7l)~uIoi~4CL-XZ^X&@el^Al(emEf{>NzYnYQ#al=hZ~n)5O65-G61;YfVGDu1}@EU z`0!^ED77HQz}xQy!P+)`50hP&0gPp>1g#^ z{<7L<#0Jm+G;%xjyM(6RBrLlvh zha+T&Z|MRsh8LkZ_FOzyY`r}vgBUbeG&4bzkN~|<@wk*$*E<= z;G|1nP6nJSw*CoR%)$17?>*^u09w&Z4^P*Ehn~UK!9)#z`0Z2Rk%EwMS!MtL)BS?6 zw4$UESi9_(9{;VMXN04FUxJawmvX2{@l2X!KT&M6T5SFi_$U^POm&_)W~y_Y znCkoqu=`$=9S1DG9tA!HJVBEjp0RIxG|A!DfM0VD$>DzkGBR8Gm_{e(00000NkvXX Hu0mjf#OY5A literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/r3.png b/src/assets/CommandPlatform/r3.png new file mode 100644 index 0000000000000000000000000000000000000000..ea678fb69b7e6b9b8282ecd970c71c73f72bdb33 GIT binary patch literal 1860 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 literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/z10.png b/src/assets/CommandPlatform/z10.png new file mode 100644 index 0000000000000000000000000000000000000000..3dde92a8703a234e2c654db7e9a4e06a17b2e3d3 GIT binary patch literal 6459 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 literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/z5.png b/src/assets/CommandPlatform/z5.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fb533c021ccd3ff7540ddfc9430aac719a64cf GIT binary patch literal 1258 zcmVp-eP z#R3WgD~&IfB*uFGSAkuVf;w+DkTjY(@I)>O?*+EGu2|BzVn}>6up6A(k)|R>yRAK} z_ps75#44wQfrUIIUSMdYF}+$t9Nq@Dx#G#dO5=$N@w)lTw}Fik@(0`mAdP88st~`L zu{jjjEf$`nvBl20*1$g3FNeg^xaQMS)${FBeZpQ5-X@$wfn5Xt0-vz(B#mK4%HaC#8^?yk z|J3if%}%?vEYOrc2hTw=M+o2tcsMuqI=jKsXLCRPe{6~W(Hq5 z6j;cc0G0z@l%&HBR*0cJuur62JCZJIZ9C*bUL*f=uuW}&eI_OSBMytDp~Z0cCkNILhql1(NH@Q~<0E6Fp~XYPSG07F zU4i|9Yl@{yn3IOWKR7e6Ti_1Y6ib&7x1D#ijApxfSOY6vMl-Ny_pmGS0a@O|O2cX1 z!=BZ{LaJCj;Q?9Fkm9kzPo&Hp)fLzcX(95iZfh?q^>0SraMSu&rmnzJ{}IpIk%luT z^{$Uy4NC%hM?RU|A+glIIBET^t6@oCzmlImVPK{HElC;s+SRbMhuzkH^ynH#NoQM< z*FCf<3G4&8QatNuE9rDmA%5s;SQ6Og&9GBDQomv++#@M#tx5t5X>KSAPfqPf{h5(> z>2xX$?25GI=U2RsmHMixWqToH^3Jh5=(trlCt%!q;Y9r??~h88|-1FKHZSA z)mb5i^1$Ac56H4oEcGW2zPc}MT;i5A#&&8)>Q_a|)@@1S(!j=wQ#cb5w zQ=Ll^!>NJ&QGdq0vC{i3NSPWWu-{3QtR)3&9wl{Jk}~zZ^aG~^_LlTb;7I_|`&Ga% zq)gqGe(03I#vwh+`u_%2I$uRzmRMZGJteS^);s=9Dn%Pu>3ngbM$sDL;Ho9*id4Iu z9i?>TZ(Q!%A1gz)Dxdz)Dx-KZoc- U6cW4sUH||907*qoM6N<$f*E0CH~;_u literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/z6.png b/src/assets/CommandPlatform/z6.png new file mode 100644 index 0000000000000000000000000000000000000000..a63839353ae6d4c902e94df0ce5219c8d243b17e GIT binary patch literal 1257 zcmV=P);4I21jR9YF&*gUH>pihtiJzq{RK%EVKVduNGdn0|24SM_^l_vdg!Z=RAfB^ zR-~S`8u(%)?Y99|5m<0oERETUI&Bas#v?Mhh8);c{l*mMWu-BRwGu1Hfn7G9k<=zK`6jR%^7M|qtTY}`blR#CZyF6GjmPWEO*61jY?|WKjx+|*yKYVEK&nE; z0ty2w4KJ1?#(MuZfnAbo~D!-)#=Jka{y5bYN!sg)9R(+7?_n3@dswT* z(&@!=-~~qvi5KK!I}EIJdPfI#2|Uz4yEj%kk9aK10|yR?H^47E2|zlhSVJ7y+p;gP zkoV$U<5oNAT(C|U4dPZ79wxzw)V18|0d)OH?5Cl>Iy9NAMv~$>2#)~ z-u0=gVM$=`$S1QqB$oOYC#~OgH7p724f*L423G3doRqPfu7;&O?7IG=d)GKhI@+AP z?x9slU?0ep;z>taNr#IH@k3X`lE5}^hMn4x`V~9jo=911RT5Z8b3;*ha%xBF&xE{7 zr&DQQ7o;sepYc9c>eGyruSIF&5b|sbiCfYb+o>I?Ull1^wc>G-I&fHE?@5!pU$O8c^8;56MI;x4_Bm2 zbuLK^hX(es{)~HLrH`ADGIf%`{v=hh<`k@Xl+?}1Lwe@*{|&5kyo$UmvABqPNMIqYcl=H&MH^V@cyXde(Hi35swL@yRGW<* zrF1FEhr~DEPInd3|J`4=Ma>)%OBdwOq7ztblKNJ4H%aVar3+$Ur3+$Ur3>;O(T74O TC9JgN00000NkvXXu0mjf5#3Mi literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/z7.png b/src/assets/CommandPlatform/z7.png new file mode 100644 index 0000000000000000000000000000000000000000..ca605b81f724ff89a9d9f06fa9b7b0adf1ce2056 GIT binary patch literal 6009 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 literal 0 HcmV?d00001 diff --git a/src/assets/CommandPlatform/数字框.png b/src/assets/CommandPlatform/数字框.png new file mode 100644 index 0000000000000000000000000000000000000000..e764bef675b2cdacc65fc50c68417dfe901f4298 GIT binary patch literal 7768 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 Y2fP){R}I+QXaE2J07*qoM6N<$f`H)^A^-pY literal 0 HcmV?d00001 diff --git a/src/components/CommandPlatform/left/BarChart2.js b/src/components/CommandPlatform/left/BarChart2.js new file mode 100644 index 0000000..6966927 --- /dev/null +++ b/src/components/CommandPlatform/left/BarChart2.js @@ -0,0 +1,170 @@ +export function BarChart2(data) { + // 计算总数 + const getAll = () => { + if (data.yData && data.yData.length > 0) { + return data.yData.reduce((a, b) => a + b); + } + return 0; + }; + const loadingFunnel = { + title: '', + arrDataX: [], + arrDataY: [], + }; + // title标示文字,标示线 + loadingFunnel.title = (text, top, left, color, fontStyle, fontFamily, fontSize) => ({ + text, + top, + left, + textStyle: { + color, + fontStyle, + fontFamily, + fontSize, + }, + }); + loadingFunnel.arrDataX = data?.xData; + loadingFunnel.arrDataY = data?.yData; + const option = { + title: [ + loadingFunnel.title( + `———— ${loadingFunnel.arrDataX[0]} ${loadingFunnel.arrDataY[0]} ${(loadingFunnel + .arrDataY[0] / + getAll()) * + 100}%`, + '12%', + '42%', + '#ffffff', + 'normal', + '', + '14' + ), + + loadingFunnel.title( + `—— ${loadingFunnel.arrDataX[1]} ${loadingFunnel.arrDataY[1]} ${(loadingFunnel.arrDataY[1] / + getAll()) * + 100}%`, + '33%', + '50%', + '#ffffff', + 'normal', + '', + '14' + ), + + loadingFunnel.title( + `— ${loadingFunnel.arrDataX[2]} ${loadingFunnel.arrDataY[2]} ${(loadingFunnel.arrDataY[2] / + getAll()) * + 100}%`, + '52%', + '54%', + '#ffffff', + 'normal', + '', + '14' + ), + ], + tooltip: { + show: false, + formatter(params) { + console.log(params); + return `${params.marker + params.name}:${params.data.number}万`; + }, + }, + grid: { + // containLabel: true, + left: '10%', + top: '10%', + bottom: '0%', + }, + xAxis: { + show: false, + data: ['', '', '', ''], + axisTick: { + show: false, + }, + axisLabel: { + color: '#5EA2ED', + interval: 0, + }, + axisLine: { + lineStyle: { + color: '#1B5BBA', + }, + }, + }, + yAxis: { + show: false, + splitLine: { + show: false, + }, + axisLine: { + lineStyle: { + color: '#1B5BBA', + }, + }, + axisLabel: { + color: '#5EA2ED', + interval: 0, + }, + }, + series: [ + { + type: 'pictorialBar', + // labelLine:{ + // show:true, + // length2:20, + // lineStyle:{ + // color:'red', + // width:5 + // } + + // }, + // label: { + // show: true, + // position: 'right', + // formatter: '{b}{c} 万头', + // fontSize: 16, + // color: '#e54035', + // verticalAlign:'top' + // }, + data: [ + { + name: loadingFunnel.arrDataX[0], + z: 100, + value: 20, + number: loadingFunnel.arrDataY[0], + symbolSize: ['130%', '90%'], + symbolPosition: 'center', + symbolOffset: ['60%', '-250%'], + symbol: + 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABDCAYAAAAh43M3AAAEXUlEQVR4nOXbPYxVRRjG8d9uVqCBRQuVBW2IQZBeWFypaF0CSAFEMeFTrChAPqKxkF3sxF0TNVFJRAtiY7SjwsJY0hgaEqMJiSSS4BaEkIDFnKuX5X7OmTPnLvyTk+zunXnPO092Zp53zrlDe3/8ywCwFL/9fWsO1mGu3nQYrjuBgg+xqrjO1JwLBkOYDTjS9Pvb2FhTLv9RtzBP4It5eQzjcyyqJaOmJOrkONa3+Pt6HMucywPUKcwanOrw+amiTS3UJcwQPsOSDm2WCFNqKEtG86hLmH3Y3EO7V4u22alDmBU420f7j4o+WalDmI/xZB/tl+NcRbm0Jbcwr+H1iH47ir7ZyCnMUsyW6D9bxMhCTmGmBMsfy6oiRhZyCbMRhxPEOYzxBHG6kkOYRYIfSXGvbOVCDmGOaW37Y3lJhnKhamHW4HQFcU+ruFyoUpghoXJeXEHsxUXsysqFKoXZh4kK409gf1XBqxJmhWDlq+YsxqoIXJUw5wQrXzXLhRIjOVUIMylY+FzsKO6ZlNTCLMNM4pi9MFPcOxmphTmjnO2PJXm5kFKYcWlsfyyHJCwXUgmT0vbHMix4myTlQqqBHBeset2sE3IpTQphXtT5tD83p4ScSlFWmCFhClVh+2NZLMHThbLC7Fet7Y9lAgfKBCgjzJj+TvtzU6pcKCNMLtsfy6gSTxdihZnE9tibZmS7yHIhRphlyp3252ZWRLkQI8wUVkb0q4uVmO63U7/CjAvWe6FxEJv66dCPMIs8/JLPQqHvpwv9DPJdwXIvVNYJY+iJXoVZi5NR6QwWJ4WxdKUXYRov+QyS7Y+l53KhF2EOGEzbH8srwmLckW7CDLrtj2Val3KhmzCfCNb6UWNUGFtbOgmzFduSpjNYbBPG2JJ2wtR12p+bGW1mRDthpi0s2x/LSm2eLrQSZpMeVu1HiENalAvzhWns8wvR9sfS8nh2vgAL3fbH8lC50CzMWpzIms5gcUJTudAQZhBP+3PzwMtIDWEOClb5cWeT4rxpWLDGfZ9wPcJMYWxYB5PzmDKKmRF8gN+xG0/XmdEAcAMXcH4YV3BUeMdkEhdxp77csnNHGPNWQYOjuDLS1OAufiiup7ALe/By3jyz8Su+wbe4Of/Ddg73prD2bBD29rO4XlGCObkujGWtMLYZLUShN+t/VXCFz2GLMAdvJ0kzD7eFnLfgeWEsV7t1GunWoIl7uFRco8LjzzeFY89avtDZgfv4GefxPW71G6AfYZq5hS+LazXeEHa11ZHxUnFNWDPOFz9Hk6KKvob38YLwzdiv8U+CuL0yV9xzc5HDe0qKQtrjhfu4jLfwrLCjXRKmYGoa03oPninuebnIIQmxU6kbjQXvgrBo78Je5d+Nuyr8d3yHP0rG6kiOA6k//b9FjguvZbTcIttwE58WfRvWoVJRyH9S9wveEQrXnfhJMJbzuVt8trNoe6Tom42qplI3Gjb8olCf7RbWCfhKmII36kkt8C/As56eiakjhwAAAABJRU5ErkJggg==', + }, + { + name: loadingFunnel.arrDataX[1], + z: 90, + value: 40, + number: loadingFunnel.arrDataY[1], + symbolSize: ['200%', '40%'], + symbolPosition: 'center', + symbolOffset: ['-22%', '-130%'], + symbol: + 'image://data:image/png;base64,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', + }, + { + name: loadingFunnel.arrDataX[2], + z: 80, + value: 60, + number: loadingFunnel.arrDataY[2], + symbolSize: ['280%', '35%'], + symbolPosition: 'center', + symbolOffset: ['-60%', '10%'], + symbol: + 'image://data:image/png;base64,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', + }, + ], + }, + ], + }; + return option; +} diff --git a/src/components/CommandPlatform/left/Congestion.js b/src/components/CommandPlatform/left/Congestion.js index f42928e..a6bcb3e 100644 --- a/src/components/CommandPlatform/left/Congestion.js +++ b/src/components/CommandPlatform/left/Congestion.js @@ -1,7 +1,11 @@ import React from 'react'; import styles from './Congestion.less'; -const up1 = require('@/assets/arrow-up.png'); // 红升 +const car = require('@/assets/CommandPlatform/用车公车.png'); +const up1 = require('@/assets/arrow-up.png'); const down2 = require('@/assets/arrow-down.png'); // 绿降 +const z4 = require('@/assets/CommandPlatform/z4.png'); +const z5 = require('@/assets/CommandPlatform/z5.png'); +const z6 = require('@/assets/CommandPlatform/z6.png'); class Congestion extends React.PureComponent { @@ -13,7 +17,10 @@ class Congestion extends React.PureComponent { render() { return (
-
拥堵预警
+
+ +
拥堵预警
+
拥堵路段数
@@ -47,9 +54,9 @@ class Congestion extends React.PureComponent {
-
-
246
-
一级
+
+
246
+
一级
@@ -65,16 +72,16 @@ class Congestion extends React.PureComponent {
-
+
-
-
246
-
二级
+
+
246
+
二级
@@ -90,16 +97,16 @@ class Congestion extends React.PureComponent {
-
+
-
-
246
-
三级
+
+
246
+
三级
@@ -112,9 +119,9 @@ class Congestion extends React.PureComponent {
0
-
+
-
+
diff --git a/src/components/CommandPlatform/left/Congestion.less b/src/components/CommandPlatform/left/Congestion.less index 9955fbe..bc4719a 100644 --- a/src/components/CommandPlatform/left/Congestion.less +++ b/src/components/CommandPlatform/left/Congestion.less @@ -5,41 +5,78 @@ width: 100%; background: url(../../../assets/CommandPlatform/tit.png); background-size: 100% 100%; - background-repeat:no-repeat; - height: 52px; - padding-left: 128px; - margin-bottom: 28px; + background-repeat: no-repeat; + height: 58px; + font-family: PangMenZhengDao; + font-weight: normal; + font-style: italic; + font-stretch: normal; + line-height: 16px; + letter-spacing: 6px; + color: #ffffff; + box-shadow: 0px 1px 2px 0px rgba(38, 46, 64, 0.27); + margin-bottom: 40px; + position: relative; + + img { + position: absolute; + left: 120px; + top: -20px; + width: 48px; + height: 42px; + } + + div { + position: absolute; + left: 180px; + top: -12px; + font-size: 44px; + } } .containerTop { width: 100%; - height: 58px; - margin-bottom: 24px; + height: 95px; + margin-bottom: 44px; display: flex; .interval { - margin-bottom: 20px; + margin-bottom: 14px; } .top1 { - margin: 0 18px 0 24px; - line-height: 58px; + margin: 0 20px 0 36px; + line-height: 95px; + font-size: 30px; + font-family: MicrosoftYaHei; + font-weight: normal; + font-stretch: normal; + letter-spacing: 3px; } .top2 { - margin-right: 10px; + margin-right: 12px; display: flex; .num { - width: 48px; - height: 58px; - line-height: 58px; + width: 82px; + height: 95px; + line-height: 95px; text-align: center; - font-size: 34px; - border: 1px solid lime; margin-right: 12px; + + font-family: LetsgoDigital-Regular; + font-size: 50px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 8px; + color: #ffffff; + box-shadow: 0px 10px 5px 0px rgba(1, 10, 18, 0.17); + background: url(../../../assets/CommandPlatform/数字框.png); + background-size: 100% 100%; + background-repeat: no-repeat; } } @@ -49,21 +86,45 @@ } .top3 { - margin-right: 28px; - line-height: 58px; + margin-right: 45px; + line-height: 95px; + font-family: MicrosoftYaHei; + font-size: 29px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #b7dff9; } .top4 { margin-right: 18px; + font-family: MicrosoftYaHei; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #b7dff9; } .top5 { display: flex; + + img { + width: 30px; + height: 32px; + margin-top: 10px; + } } .top5>div:nth-child(1) { margin-right: 10px; text-align: right; + font-family: MicrosoftYaHei; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #ffffff; } } @@ -73,21 +134,58 @@ justify-content: space-between; &>div { - width: 142px; + width: 236px; + + .num1 { + background: url(../../../assets/CommandPlatform/z4.png); + + background-size: 100% 100%; + background-repeat: no-repeat; + } + + .num2 { + background: url(../../../assets/CommandPlatform/z5.png); + + background-size: 100% 100%; + background-repeat: no-repeat; + } + + .num3 { + background: url(../../../assets/CommandPlatform/z6.png); + + background-size: 100% 100%; + background-repeat: no-repeat; + } + + &>div { + - .num { width: 100%; - height: 62px; + height: 82px; text-align: center; - padding-bottom: 10px; - margin-bottom: 6px; - - &>div:nth-child(1) { - font-size: 24px; + margin-bottom: 12px; + position: relative; + + .numtop { + width: 100%; + position: absolute; + top: -14px; + font-size: 36px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 5px; + font-family: MicrosoftYaHei; } - &>div:nth-child(2) { - font-size: 20px; + .numbottom { + width: 100%; + position: absolute; + top: 32px; + font-family: MicrosoftYaHei; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 3px; } } @@ -98,17 +196,33 @@ padding: 0 24px; .compareFont { - color: rgba(250, 250, 250, 0.8); + font-family: MicrosoftYaHei; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #b7dff9; } .compareNum { display: flex; text-align: right; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #ffffff; &>div:nth-child(1) { margin-right: 8px; } + + img { + width: 30px; + height: 30px; + margin-top: -6px; + } } } } diff --git a/src/components/CommandPlatform/left/CongestionTrend.js b/src/components/CommandPlatform/left/CongestionTrend.js index 94b28c6..73ea5df 100644 --- a/src/components/CommandPlatform/left/CongestionTrend.js +++ b/src/components/CommandPlatform/left/CongestionTrend.js @@ -3,8 +3,8 @@ import ReactEcharts from 'echarts-for-react'; import styles from './CongestionTrend.less'; import { getNowDate } from '../../../utils/util'; - const serverTime = getNowDate(); - +const serverTime = getNowDate(); + function echartsOption(xAxisData, seriesData) { const option = { grid: { @@ -99,30 +99,30 @@ function echartsOption(xAxisData, seriesData) { return option } -function echartsDay () { - let xAxisData = Array.from({length: 24}, (value, index) => index); - let seriesData = Array.from({length: 24}, (value, index) => index + 1); +function echartsDay() { + let xAxisData = Array.from({ length: 24 }, (value, index) => index); + let seriesData = Array.from({ length: 24 }, (value, index) => index + 1); let option = echartsOption(xAxisData, seriesData) return option } -function echartsWeek () { - let xAxisData = Array.from({length: 7}, (value, index) => index + 1); - let seriesData = [1,333,4,524,66,8888,10984]; +function echartsWeek() { + let xAxisData = Array.from({ length: 7 }, (value, index) => index + 1); + let seriesData = [1, 333, 4, 524, 66, 8888, 10984]; let option = echartsOption(xAxisData, seriesData) return option } -function echartsMonth () { - let xAxisData = Array.from({length: 30}, (value, index) => index + 1); - let seriesData = Array.from({length: 24}, (value, index) => index + 1); +function echartsMonth() { + let xAxisData = Array.from({ length: 30 }, (value, index) => index + 1); + let seriesData = Array.from({ length: 24 }, (value, index) => index + 1); let option = echartsOption(xAxisData, seriesData) return option } -function echartsRegion () { - let xAxisData = Array.from({length: 30}, (value, index) => index + 1); - let seriesData = Array.from({length: 24}, (value, index) => index + 1); +function echartsRegion() { + let xAxisData = Array.from({ length: 30 }, (value, index) => index + 1); + let seriesData = Array.from({ length: 24 }, (value, index) => index + 1); let option = echartsOption(xAxisData, seriesData) return option } @@ -163,57 +163,57 @@ class CongestionTrend extends React.PureComponent {
{ - this.state.tagNum == 0 && + this.state.tagNum == 0 && { - // console.log(e) - }} - option={echartsDay()} - notMerge - lazyUpdate - style={{ width: '100%', height: 160 }} + ref={e => { + // console.log(e) + }} + option={echartsDay()} + notMerge + lazyUpdate + style={{ width: '100%', height: '244px' }} /> - } + } { - this.state.tagNum == 1 && + this.state.tagNum == 1 && { - // console.log(e) - }} - option={echartsWeek()} - notMerge - lazyUpdate - style={{ width: '100%', height: 160 }} + ref={e => { + // console.log(e) + }} + option={echartsWeek()} + notMerge + lazyUpdate + style={{ width: '100%', height: '244px' }} /> - } - { - this.state.tagNum == 2 && + } + { + this.state.tagNum == 2 && { - // console.log(e) - }} - option={echartsMonth()} - notMerge - lazyUpdate - style={{ width: '100%', height: 160 }} + ref={e => { + // console.log(e) + }} + option={echartsMonth()} + notMerge + lazyUpdate + style={{ width: '100%', height: '244px' }} /> - } - { - this.state.tagNum == 3 && + } + { + this.state.tagNum == 3 && { - // console.log(e) - }} - option={echartsRegion()} - notMerge - lazyUpdate - style={{ width: '100%', height: 160 }} + ref={e => { + // console.log(e) + }} + option={echartsRegion()} + notMerge + lazyUpdate + style={{ width: '100%', height: '244px' }} /> - } + }
); } diff --git a/src/components/CommandPlatform/left/CongestionTrend.less b/src/components/CommandPlatform/left/CongestionTrend.less index 77eea1d..c431408 100644 --- a/src/components/CommandPlatform/left/CongestionTrend.less +++ b/src/components/CommandPlatform/left/CongestionTrend.less @@ -1,27 +1,44 @@ .congestionTrend { width: 100%; + .tit { - font-size: 22px; + font-family: MicrosoftYaHei; + font-size: 36px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 4px; + color: #feffff; display: flex; justify-content: space-between; - margin-bottom: 14px; + margin: 0 0 16px 0; + .tag { &>div { - font-size: 16px; - padding: 4px; - border: 1px solid rgb(30, 163, 194);; - margin-right: 4px; + font-family: MicrosoftYaHei; + font-size: 24px; + font-weight: normal; + font-stretch: normal; + line-height: 24px; + letter-spacing: 2px; + color: #cde9fc; + padding: 12px; + background: #0e2752; + border: 1px solid #2e84d7; + margin-right: 6px; text-align: center; line-height: 16px; display: inline-block; cursor: pointer; } - &>div:last-child{ + + &>div:last-child { margin-right: 0; } - .tagNum{ - background: rgb(30, 163, 194); + + .tagNum { + color: #fff; + background: #0799b8; } } } diff --git a/src/components/CommandPlatform/left/Pyramid.js b/src/components/CommandPlatform/left/Pyramid.js index fab0b39..9ec1446 100644 --- a/src/components/CommandPlatform/left/Pyramid.js +++ b/src/components/CommandPlatform/left/Pyramid.js @@ -1,153 +1,8 @@ import React from 'react'; import ReactEcharts from 'echarts-for-react'; +import { BarChart2 } from './BarChart2' import styles from './SituationDispose.less'; -function echartsOption(seriesData) { - let xAxisData = ['', '', '', ''] - - let loadingFunnel = { - title: '', - arrDataX: [], - arrDataY: [] - } - //title标示文字,标示线 - loadingFunnel.title = (text, top, left, color, fontstyle, fontFamily, fontsize) => { - return { - text: text, - top: top, - left: left, - textstyle: { - color: color, - fontstyle: fontstyle, - fontFamily: fontFamily, - fontsize: fontsize, - } - } - } - loadingFunnel.arrDataX = ['已接警', '已到场', '已反馈'] - loadingFunnel.arrDataY = [20, 30, 50] - - - const option = { - title: [ - loadingFunnel.title(loadingFunnel.arrDataX[0], '17%', '32%', '#fff', 'normal', 'sans-serif', '16'), - loadingFunnel.title(loadingFunnel.arrDataY[0], '17%', '42%', '#ffffff', 'normal', 'sans-serif', '16'), - loadingFunnel.title(loadingFunnel.arrDataX[1], '38%', '62%', '#4dc6ff', 'normal', 'sans-serif', '16'), - loadingFunnel.title(loadingFunnel.arrDataY[1], '43%', '62%', '#ffffff', 'normal', 'sans-serif', '16'), - loadingFunnel.title(loadingFunnel.arrDataX[2], '55%', '62%', '#eaad38', 'normal', 'sans-serif', '16'), - loadingFunnel.title(loadingFunnel.arrDataY[2], '61%', '62%', '#ffffff', 'normal', 'sans-serif', '16') - ], - tooltip: { - show: false, - formatter: function (params) { - console.log(params) - return params.marker + params.name + ':' + params.data.number + '万' - } - }, - grid: { - top: "19", - left: "10%", - bottom: "0", - // containLabel: true, - }, - legend: { - selectedMode: false, - right: 0, - textStyle: { - color: '#fff' - }, - }, - xAxis: [ - { - show: false, - type: "category", - data: xAxisData, - axisLabel: { - textStyle: { - color: "#fff", - margin: 14, - }, - }, - axisTick: { - show: false, - }, - axisLine: { - show: false, - lineStyle: { - color: "#9fabc1", - }, - }, - }, - ], - yAxis: [ - { - show: false, - type: "value", - axisLabel: { - textStyle: { - color: "#fff", - }, - }, - axisTick: { - show: false, - }, - axisLine: { - show: false, - lineStyle: { - color: "#9fabc1", - }, - }, - splitLine: { - show: false, - }, - }, - ], - series: [{ - type: 'pictorialBar', - data: [ - { - name: loadingFunnel.arrDataX[0], - // z:100, - value: 20, - number: loadingFunnel.arrDataY[0], - symbolsize: ['130%', '90%'], - symbolPosition: 'center', - symboloffset: ['60%', '-250%'], - symbol: 'image://Funnel1.png', - }, - { - name: loadingFunnel.arrDataX[1], - // z: 90, - value: 40, - number: loadingFunnel.arrDataY[1], - symbolsize: ['200%', '40%'], - symbolPosition: 'center', - symboloffset: ['-22%', '-130%'], - symbol: 'image://Funnel2.png' - }, - { - name: loadingFunnel.arrDataX[2], - // z:80, - value: 60, - number: loadingFunnel.arrDataY[2], - symbolsize: ['280%', '35%'], - symbolPosition: 'center', symboloffset: - ['-60%','10%'], - symbol: 'image://Funnel3.png' - } - ] - }] - } - return option -} - -function echartsData() { - let seriesData = Array.from({ length: 24 }, (value, index) => index + 1); - let option = echartsOption(seriesData) - return option -} - - class SituationDispose extends React.PureComponent { constructor(props) { super(props); @@ -158,6 +13,10 @@ class SituationDispose extends React.PureComponent { } render() { + const chart2Data = { + xData: ['已接警', '已到场', '已反馈'], + yData: [20, 30, 50], + }; return (
@@ -165,10 +24,10 @@ class SituationDispose extends React.PureComponent { ref={e => { // console.log(e) }} - option={echartsData()} + option={BarChart2(chart2Data)} notMerge lazyUpdate - style={{ width: '100%', height: 180 }} + style={{ width: '100%', height: '328px' }} />
diff --git a/src/components/CommandPlatform/left/Pyramid.less b/src/components/CommandPlatform/left/Pyramid.less deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/CommandPlatform/left/Rank.js b/src/components/CommandPlatform/left/Rank.js index dbd542c..c22973e 100644 --- a/src/components/CommandPlatform/left/Rank.js +++ b/src/components/CommandPlatform/left/Rank.js @@ -23,19 +23,19 @@ class Rank extends React.PureComponent {
拥堵路段排名
{ - this.state.arr.map((r,i) => { + this.state.arr.map((r, i) => { return (
- - {r.name} +
{i + 1}
+
{r.name}
-
+
{r.num}
- +
) }) diff --git a/src/components/CommandPlatform/left/Rank.less b/src/components/CommandPlatform/left/Rank.less index b252a74..e70c0db 100644 --- a/src/components/CommandPlatform/left/Rank.less +++ b/src/components/CommandPlatform/left/Rank.less @@ -2,13 +2,18 @@ width: 100%; .tit { - font-size: 22px; - height: 38px; - margin-top: 32px; + height: 46px; + margin: 30px 0 30px 0; + font-family: MicrosoftYaHei; + font-size: 36px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 4px; + color: #feffff; } .progress { - margin-bottom: 24px; + margin-bottom: 48px; .font { @@ -17,16 +22,88 @@ .left { font-size: 18px; + display: flex; + margin-bottom: 10px; + + .name { + font-family: MicrosoftYaHei; + font-size: 32px; + font-weight: normal; + font-stretch: normal; + color: #ffffff; + margin-left: 18px; + line-height: 32px; + } + + .imgs { + width: 38px; + height: 38px; + line-height: 38px; + text-align: center; + background-size: 100% 100%; + background-repeat: no-repeat; + font-family: MicrosoftYaHei; + font-size: 26px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0; + color: #ff420f; + } + + .imgs0 { + background: url(../../../assets/CommandPlatform/r1.png); + } + + .imgs1 { + background: url(../../../assets/CommandPlatform/r2.png); + } + + .imgs2 { + background: url(../../../assets/CommandPlatform/r3.png); + } + + .imgs3 { + background: url(../../../assets/CommandPlatform/r4.png); + } + + .imgs4 { + background: url(../../../assets/CommandPlatform/r5.png); + } } .right { - font-size: 18px; + font-family: MicrosoftYaHei; + font-size: 33px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + + } + + .right0 { + color: #ff1021; + } + + .right1 { + color: #ff4d1d; + } + + .right2 { + color: #ff9f39; + } + + .right3 { + color: #f9cf3b; + } + + .right4 { + color: #bdcd48; } } .progressLine { height: 18px; - border: 1px solid rgb(32, 112, 163); + border: 1px solid #0fa2ff; border-radius: 8px; padding: 0 2px; } @@ -34,23 +111,44 @@ :global(.ant-progress-inner) { margin-top: -8px; } + :global(.ant-progress-inner) { - background-color: rgb(32, 112, 163); + background-color: #1d71a6; + } + + .progress :global(.ant-progress-bg)::after { + content: ''; + position: absolute; + top: -46px; + right: -54px; + width: 104px; + height: 96px; + background: url(../../../assets/CommandPlatform/c8112e.png); + background-size: 100% 100%; + background-repeat: no-repeat; } + .progress0 :global(.ant-progress-bg) { - background-color: rgb(236, 21, 37) !important; + background-color: #ff1021 !important; + position: relative; + + } + .progress1 :global(.ant-progress-bg) { - background-color: rgb(220, 86, 61) !important; + background-color: #ff4d1d !important; } + .progress2 :global(.ant-progress-bg) { - background-color: rgb(226, 157, 79) !important; + background-color: #ff9f39 !important; } + .progress3 :global(.ant-progress-bg) { - background-color: rgb(245, 209, 69) !important; + background-color: #f9cf3b !important; } + .progress4 :global(.ant-progress-bg) { - background-color: rgb(178, 200, 91) !important; + background-color: #bdcd48 !important; } } } \ No newline at end of file diff --git a/src/components/CommandPlatform/left/SituationDispose.js b/src/components/CommandPlatform/left/SituationDispose.js index 4de503e..ca52fe4 100644 --- a/src/components/CommandPlatform/left/SituationDispose.js +++ b/src/components/CommandPlatform/left/SituationDispose.js @@ -129,7 +129,7 @@ class SituationDispose extends React.PureComponent { option={echartsData()} notMerge lazyUpdate - style={{ width: '100%', height: 180, marginBottom: 28 }} + style={{ width: '100%', height: '284px', marginBottom: 28 }} />
diff --git a/src/components/CommandPlatform/left/SituationDispose.less b/src/components/CommandPlatform/left/SituationDispose.less index 84ac798..95d59d3 100644 --- a/src/components/CommandPlatform/left/SituationDispose.less +++ b/src/components/CommandPlatform/left/SituationDispose.less @@ -1,26 +1,35 @@ .situationDispose { width: 100%; + .tit { - font-size: 22px; + font-family: MicrosoftYaHei; + font-size: 36px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 4px; + color: #feffff; display: flex; justify-content: space-between; - margin:28px 0 14px 0; + margin: 40px 0 24px 0; + .tag { &>div { font-size: 16px; padding: 4px; - border: 1px solid rgb(30, 163, 194);; + border: 1px solid rgb(30, 163, 194); margin-right: 4px; text-align: center; line-height: 16px; display: inline-block; cursor: pointer; } - &>div:last-child{ + + &>div:last-child { margin-right: 0; } - .tagNum{ + + .tagNum { background: rgb(30, 163, 194); } } diff --git a/src/components/CommandPlatform/left/SituationNum.js b/src/components/CommandPlatform/left/SituationNum.js index ce2099c..abd3f87 100644 --- a/src/components/CommandPlatform/left/SituationNum.js +++ b/src/components/CommandPlatform/left/SituationNum.js @@ -3,6 +3,7 @@ import styles from './SituationNum.less'; const up1 = require('@/assets/arrow-up.png'); // 红升 const down2 = require('@/assets/arrow-down.png'); // 绿降 +const car = require('@/assets/CommandPlatform/dd.png'); class SituationNum extends React.PureComponent { constructor(props) { @@ -13,7 +14,10 @@ class SituationNum extends React.PureComponent { render() { return (
-
指挥调度
+
+ +
指挥调度
+
今日警情数
@@ -49,8 +53,12 @@ class SituationNum extends React.PureComponent {
-
246
-
拥堵
+
+
+
246
+
拥堵
+
+
@@ -73,8 +81,11 @@ class SituationNum extends React.PureComponent {
-
246
-
事故
+
+
+
246
+
事故
+
diff --git a/src/components/CommandPlatform/left/SituationNum.less b/src/components/CommandPlatform/left/SituationNum.less index 096b862..b95558e 100644 --- a/src/components/CommandPlatform/left/SituationNum.less +++ b/src/components/CommandPlatform/left/SituationNum.less @@ -3,41 +3,80 @@ .tit { width: 100%; - background: lightblue; - height: 52px; - padding-left: 128px; - margin-bottom: 28px; + background: url(../../../assets/CommandPlatform/tit.png); + background-size: 100% 100%; + background-repeat: no-repeat; + height: 58px; + font-family: PangMenZhengDao; + font-weight: normal; + font-style: italic; + font-stretch: normal; + line-height: 16px; + letter-spacing: 6px; + color: #ffffff; + box-shadow: 0px 1px 2px 0px rgba(38, 46, 64, 0.27); + margin-bottom: 40px; + position: relative; + + img { + position: absolute; + left: 120px; + top: -20px; + width: 48px; + height: 42px; + } + + div { + position: absolute; + left: 180px; + top: -12px; + font-size: 44px; + } } .situationNumTop { width: 100%; - height: 58px; - margin-bottom: 24px; + height: 95px; + margin-bottom: 44px; display: flex; .interval { - margin-bottom: 20px; + margin-bottom: 14px; } .top1 { - margin: 0 18px 0 24px; - line-height: 58px; + margin: 0 20px 0 36px; + line-height: 95px; + font-size: 30px; + font-family: MicrosoftYaHei; + font-weight: normal; + font-stretch: normal; + letter-spacing: 3px; } .top2 { - margin-right: 10px; + margin-right: 12px; display: flex; .num { - width: 48px; - height: 58px; - line-height: 58px; + width: 82px; + height: 95px; + line-height: 95px; text-align: center; - font-size: 34px; - border: 1px solid lime; margin-right: 12px; + + font-family: LetsgoDigital-Regular; + font-size: 50px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 8px; + color: #ffffff; + box-shadow: 0px 10px 5px 0px rgba(1, 10, 18, 0.17); + background: url(../../../assets/CommandPlatform/数字框.png); + background-size: 100% 100%; + background-repeat: no-repeat; } } @@ -47,21 +86,45 @@ } .top3 { - margin-right: 28px; - line-height: 58px; + margin-right: 45px; + line-height: 95px; + font-family: MicrosoftYaHei; + font-size: 29px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #b7dff9; } .top4 { margin-right: 18px; + font-family: MicrosoftYaHei; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #b7dff9; } .top5 { display: flex; + + img { + width: 30px; + height: 32px; + margin-top: 10px; + } } .top5>div:nth-child(1) { margin-right: 10px; text-align: right; + font-family: MicrosoftYaHei; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #ffffff; } } @@ -71,21 +134,58 @@ justify-content: space-around; &>div { - width: 230px; + width: 340px; .num { + display: flex; width: 100%; - height: 62px; + height: 130px; text-align: center; padding-bottom: 10px; margin-bottom: 6px; - &>div:nth-child(1) { - font-size: 24px; + .imgs1 { + + background: url(../../../assets/CommandPlatform/z7.png); } - &>div:nth-child(2) { - font-size: 20px; + .imgs2 { + + background: url(../../../assets/CommandPlatform/z10.png); + } + + .imgs { + width: 130px; + height: 100%; + background-size: 100% 100%; + background-repeat: no-repeat; + } + + .font { + width: 240px; + height: 100%; + text-align: center; + background: url(../../../assets/CommandPlatform/j520.png); + background-size: 100% 100%; + background-repeat: no-repeat; + &>div:nth-child(1) { + font-family: MicrosoftYaHei; + font-size: 38px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 4px; + color: #20ffed; + margin-bottom: 8px; + } + + &>div:nth-child(2) { + font-family: MicrosoftYaHei; + font-size: 30px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 3px; + color: #ffffff; + } } } @@ -101,7 +201,12 @@ } .compareFont { - color: rgba(250, 250, 250, 0.8); + font-family: MicrosoftYaHei; + font-size: 26px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #b7dff9; margin-right: 18px; } @@ -110,8 +215,20 @@ text-align: right; &>div:nth-child(1) { + font-family: MicrosoftYaHei; + font-size: 26px; + font-weight: normal; + font-stretch: normal; + letter-spacing: 0px; + color: #ffffff; margin-right: 8px; } + + img { + width: 30px; + height: 32px; + margin-top: 6px; + } } } } diff --git a/src/components/CommandPlatform/left/SituationTable.js b/src/components/CommandPlatform/left/SituationTable.js index 467f555..a2fe204 100644 --- a/src/components/CommandPlatform/left/SituationTable.js +++ b/src/components/CommandPlatform/left/SituationTable.js @@ -1,6 +1,6 @@ import React from 'react'; -import { Row, Col, Tabs, Select, DatePicker, message, Icon, Tooltip, Input } from 'antd'; +import { Row, Col, Tabs, Select, DatePicker, message, Icon, Tooltip, Input, TimePicker } from 'antd'; import { connect } from 'dva'; import ReactEcharts from 'echarts-for-react'; // import { getAlarmSituationEcharts1, getAlarmSituationEcharts2, getAlarmSituationEcharts3, getNewAlarmSituationEcharts1, get24TimePoliceCaseLine, get24TimePoliceCaseLine1 } from '../BDCharts/AlarmSituationEcharts'; @@ -222,7 +222,7 @@ class AlarmSituation extends React.Component { this.doRefreshData(); this.doRefreshData1(); - // this.refreshEcharts() + // this.refreshEcharts() } } @@ -703,33 +703,33 @@ class AlarmSituation extends React.Component { return optionlist; }; // //辖区 - // getAreaOption = (AreaList) => { - // const optionlist = []; - // optionlist.push(); - // if (AreaList && AreaList.length > 0) { - // for (let i = 0; i < AreaList.length; i += 1) { - // const area = AreaList[i]; - // if (area.enumvalue && area.enumname) { - // optionlist.push(); - // } - // } - // } - // return optionlist; - // }; - getAreaOption = () => { - const AreaList = this.props.global.mainDeptList + getAreaOption = (AreaList) => { const optionlist = []; - optionlist.push(); + optionlist.push(); if (AreaList && AreaList.length > 0) { for (let i = 0; i < AreaList.length; i += 1) { const area = AreaList[i]; - if (area.cdepartmentid && area.deptshortname) { - optionlist.push(); + if (area.enumvalue && area.enumname) { + optionlist.push(); } } } return optionlist; - } + }; + // getAreaOption = () => { + // const AreaList = this.props.global.mainDeptList + // const optionlist = []; + // optionlist.push(); + // if (AreaList && AreaList.length > 0) { + // for (let i = 0; i < AreaList.length; i += 1) { + // const area = AreaList[i]; + // if (area.cdepartmentid && area.deptshortname) { + // optionlist.push(); + // } + // } + // } + // return optionlist; + // } createPoliceList = (policeCaseList) => { const { selectSourceTab,//当前选中的警情来源 @@ -1608,7 +1608,7 @@ class AlarmSituation extends React.Component { let selectDiv = []; selectDiv.push( - + - {/* + - */} - + +