From 54b6d5234663ea438a3d37e7b4b582cc3c1aed52 Mon Sep 17 00:00:00 2001 From: wx <645899409@qq.com> Date: Wed, 5 Aug 2026 10:11:33 +0800 Subject: [PATCH] =?UTF-8?q?refactor(led):=20=E9=87=8D=E6=9E=84=E8=A1=A5?= =?UTF-8?q?=E9=A4=90=E5=B1=8F=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF=E5=8D=A1?= =?UTF-8?q?=E7=89=87UI=EF=BC=8C=E6=B8=85=E7=90=86=E5=86=97=E4=BD=99?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=92=8C=E6=97=A7=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- src/assets/images/led/header.png | Bin 5643 -> 20027 bytes src/assets/images/led/headerNew.png | Bin 10645 -> 0 bytes src/views/dataBoard/dataBoard2.vue | 965 ++++++++++++++++++++++++++++ src/views/led/components/info.vue | 533 +++++++-------- src/views/led/led.vue | 291 +++------ 5 files changed, 1329 insertions(+), 460 deletions(-) delete mode 100644 src/assets/images/led/headerNew.png create mode 100644 src/views/dataBoard/dataBoard2.vue diff --git a/src/assets/images/led/header.png b/src/assets/images/led/header.png index 6190be70997ff5f21ba15c8374d963e9ab6a9f7c..1c9e29f14b6173c835f2f82a4be50a9cf56a269a 100644 GIT binary patch literal 20027 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 literal 5643 zcmV+m7WCPx~#Ysd#RCr$PoeivHXIaPp&wJ+U-nn=0$Lwylbg>H-E0vVi1-FnI7Bol^EGSro zR%k`QBAS3vqXt((jG92ANG%mxYFjMwAw|-HF?2B-EK1XgARv`4y4#lByhxUIp;mU`9J^XIq!L2(f9n`Rj5q78j=w;;^a@kd5*5`2SaVQEb%gTuSPMi*y$3o`QQMu*$REA$ z*9_FoJKlDEQcB+ClA8f6PG?0ZNW6xF9)q@DELrT2Z{76Wzh*WY|a z*||H4NrI$UgqWfdQhL=7q0 z6$olU5+ouJOQ`Z&-U6d(0aZn+ik=2gd*1hI+n)ZzvTt9nPvXK2*WaHw*->;3MJI6L z4AdOe(Hx|4Ukf8YLG|j<^@=XTzt_iWH{NnN+osRq;@hsf+rd4z-~@%lS;RM3$Grvf z{U1pS5L7}+2hdABdS2n-|9$=gw_Y^_>cU&!cxxeXFD{4!VHK)sUZ5JuLCRNRg(-tn zJwrajzbCNw)o%Lmbwi*o-EiHXIpC^-b0|cA>IiJ!ig^o+pal$6uNMA$yn9pEyXS7a z^*4q9*hB0P3~BC0=fz zKV`)+rU{*YlmfwMEHdA)y}(HZ@|TgNGb)LY^I37h%{bANs3ZNrNCrq^FB&_6Ly z8Twh8V!zb3%RE7NZ?1%3B=rE|)|KiU%$a~2qK}~Wk z>UkQ~TiuY}5963~9upBMadibm7|)_Ka#PKERR1Qw#dI&;fM z?;TduH(dQv5!@U?e=JYsppNJ;<*PXXREB=Vn`dwP=s#`%^))YrCO0#Q;+ZL{qvoLI z1dXT#20>-PpGg%Yee>*XAKw7#wXb~%L~mg?6rM)SENY%kjp#^?`D)fdMLd1V>!;-U z+1o$%`60nvxaKu4OyEC4B{fBjXZdqb$DE)M?S3Crgj1;IRpDM&yW`_u90v9EKYMus zy{ivu9{NXgi1O921x^V42CDo*?aoi$zX8-&UhcfRD^I3!aLz;vY?e%=imSKYb@!Ks zlc}p;@uMoqCljlq=E>BVI9TJn&J#g3oqhG(U7vn%SW#bl)y3lcJyz@&p6k!E{&5Cp z)cZaRYB)Qk-o3o`vAh3s1E^PCEO7T&!5`t8sk}Tj>ccg@>straTZa@D{1yJ?wU6Dq z38*Ufm`AnCP;x~bUu;Id=Yv^)IE|`M(ak|css<{l!mqt=CjMjfzAz z0rjdYFNS&49Mo}zJ&h z>fSv&vGe=`l^6av(uW=djywi5>Oi*_CrFFaPUbWEo#rDp4nLpG(C6b!eLl<>xn%}; z`UOZXdN$TR^Y?J8%`0mAH-`Sbdv^Am94KG58>LI03w`7f=yxB3Us?j%YjGyE4$$j` zE3s?_$}re(|2__FobTh4YXOdYHgu2d6pBE(1eD6)JiM;94eq@2A?H60%`e=C?!iY; z@OmPshxYE->7WOaLII^`UWoD~m%`PyLYqzC*iq=>0(5x+y08G>X`4(V?EyV*NE(J= zmwWY57*6GYxNF8La*qYb*t*&xHxO-w>+HOSmNWWEO3x(z54kv?`9 z?S~#f_tC?aP_eDxx?wjlz~0Bs6Tjn6MvyjOu)Thwp73j($dPk2zzxybp61ohz;Ub0=2;=gkJ zMJNj1qv#S8CMVz~t8nECq%r|FKMyyx1*lFyCaQ2#RiIn}dR^$sidhB1tH)R1>&JoP z$ANZh{h(xuo4vB}`MG)cp5j|g;ThP)OgXa%I#C6tx4_M8flSXpX6N7t`J3 z(}MDtwwut^CbYf+Pe@x$_-4yk@XaQCw_{42@(w}ACFuCnCPPcZQ)Q7whC=Dplc22>MHzd16XSSjWuYiX@3rzM95%HPE6uPdnnKC zwGDxoW!z!P9HCHDCxPk|T(xRT9!I;|ajk~TJncb4_j@4if*nVB+;p`OAY5DPKlgmS z-3nqHq4W@Vm%vNt9L?EJI?8!Zh_$&2wA=QtWkY%kIV`1d*@kjyY7srfki|I1%4#P8(K^K0 zJ|+M`WXZ>t6|-qfXc+BS0x}@W6F`yC%|U3-=pk7u;&I`hpQ_lXn?hQ2YcS#+hiBB| z`%xX$@koj#J?i4Ddp1gRP)cu51|SX2*ej}=%_Bu{ql$(J(6|MJ6yGel9S>6}=Gwrbn6%CcRjK6cT8+3(yyJdIl%D9VqY7 zxGP`lbb=@1X9>N1hheJ=?e^A3FvvEFThp%-$1OTtetEDuVvnOQ>vemst959-0cB{9tE9nW zh_+3UI1OanL>?)-wkgc8XD}LY16}pHcI{J8OPk{~Dr%TQG8?a7TVAmwz=9JTEQ);U zRS$mspEi1|lNLECgde%|*%ylX%eANvIAof2TvuF0pPyBqN*eblwi`tx7I*t zg{naBOYao@6yf%sYR$SZ>%+VgY9EnfueTV-&D;EP9vk_p@v0k#X+TuX1 zF{?S6(y`A)0%1{{5Sk(qK8A0q<^)`&0%c-LMI~gdCbUtvaLf$bl(E5#yAeP%<9e zCM)|Z1g93lvdvC15VA8EnU(Wn>(}0g$Lp#YeJ5u%;SABHqCr)ypDEDxK+`K)@Y?jE zk3rqHoYSwVxCdYN(AOW1|A!NDfm2rF_W|y_-Mf?0!a`D+O17mg`5}m0psGIz;29!v zfhZ=OXfY92q*HJr34!b@uwB|h_%eV4*nPz{*a=|pzXZ}0*n2yMVcZr5nJ|6}zZ)V@ zm|U0@gZ0ORJAqJTre=VtNhIcp@J!<9#i+*2T6wa=p0C0aZl2)C z=9pnJkv+C$tRD|GF+&I^?XoFm!rh)n+rg+oi^HsWGKS|$49`qPCnn8PN)ke|MGty* zdctNiB%(|}E%}TfvP{UxL^y12(ZR<7OY26LO_FQBOt9!HGlk56C4_NY{iv9h07U>f z%?_Kvlr$^k~16@7-n?^2On&SRH|obN=ZNRX&V!7jtH z+%k^D60Xh4CSWTN!>FX0>W0BEfP!5W8y;s?!o09m9012F79A@PX8nVeuo(8 zG*tDlcQ`1j2LGnlk_)p1gDMXvl0=ZGl&LMu@6<8M%KA*LFf z24hHgxC|NkI?S0RP*I-6JfhGe9ylVZkBi9TUi5KMISTkyAX)7ss874@>bB`0Sbg#S z{ruU}c6-vH|NFTmx9-|iDNo5vH!06Zs#`R{wDUS6;$|RzD-<;kY;{0QoZBjjtpcqQ zJ3>q@PNuBpaanoDAnp&R8Nlsd79LeN`>kLn!*{bHfE55JX0#f8RnGb}g!i(5J8V%y z^JZBz-M0OLg<>uPfSJ1u>c{ui!*iC{P#v?YGlLI|^M%^w#SGE0G-Ti1TuJ#`0Y+2f zRTUgl?~i$A+`usi7NG8!s$cO=RwPAT6FFW?+bivcu3UHU;J~@??i60_ zD)A#LhvtfDGOzHnsxmLoIY8zhI?JU1Ga@o$OUMkMvreSK-wnPtCT8)(RdcU| zMddY1p(xM_LPqjmTxBHnht!{B19yOn&^G@A760*F*(`&?AvzVce7Ed0iLSuI$MOhxGl2g^Ls<5^;oDW#1A z8WoYB4vHGH?MxYCaudE2dZu~BngUeCMyjX_wBdoq6I0pOy_03}x=4le;ul?-EW%-- zQtU4N`~%-!IaS-9jqjhcpq{ERZ@qNaY@wTMl|;6BV4F&^P1Vmkl^O&!0j5MTNF)?I^d|LdaPGWk6riB!R1r6&AIsgQx?=y9Sr(o zH&dzsemlI>M8rHWuYZI?O%yc%v=~K!6dlx-BFZ{33!6LX&iBU_)WJq&ZTLld z_qwA;jyTL5Pg<+5Rm&M&ea3{zT7I$}o6EwI4e|*1Juj>6V zGgUJ^b*In0bNbv<9iyqPh=EFq3IhX!0Z@|De!m{RAL_`6?`PIiBM=M>HVi;c`jZdr zX`XLA#X$NWjfL)Wzz3S<`slzWg8@j+gazDRGuzigWZKmUo;hBe>&=_~{u?=ORmCVe zv9quKBBvLF&CXq0p5>RbyA2bVAHoM1`{y8N*wj)o=VvOqHnwk&u5$@-8Yi?QgR0I1 zo+{QV*6ZB!F?aPpfkGH>*Fnz?|DG#)s38CD$NKbpxCkMy`wbU0Z{mcIr`v|FPlAKc zdl$B{dFhytmk3y(stMjfzc^6S1fOZ!_KQ4Zp^>(&E7QjJ&0>qOmJKwOUNyTqog`4et_|{(w3qkeX z2A3tLVc~`Uy&NG-y^9~+V@n$! zs1lH>Np!zuu}7QB$6K)aLzm{HBjcJqXy*1&qVNW=%|N3(^r1AbOQJ>1u&wQT#??d7CC4BMdupKKzrh$q1v-Z9N$o&`alm3%0&J{cF<~bg8%kN2c+hmDxDr#wL zRyoh0GE8tRZ0R!QlXfoNeZMqND;HmIuAklMn)l03&Q`lg!%ZSR{D=p!w&0`!QZz-l z8DAFLGE8NPE(-K|Ml#_DUi_hcexUj~-hZ%YuYbb)f(E%t|AyQ;_q4TDLC|Zs-7Snv zhE0qn4bskRS2j%(TGl7VZtLd;s{Ox!^hhmAnz|N_Oz@iuX5fV}7tGK18DJD< zwliVIg4Sb)=%oX3-H1nADzz7+o=`|q_yjoLSok%+SQI!&twV9L`?qp>yZgOqiI^mK z0Mj_;EVy>2x%qVL8}gds)kNK{;UVBa{`dKAEQPf5r-h_??i98Q^-h^qwXaX%p_#7N z;FZ8(DSx`3XAt3x7~s9pIxd>;Gad+Tr^jiFJl8b+5B~vil;f*V;`R~+ym&Pm7N5_^ zhX0Lvg~H^5OiDa<3Zp>&xO{5MFCIUQ%DD$4hPXcta@oW{l*NPNwXvQe(DF3}t}yhs z+^~qWJj58?r%5*aucmShLuoS`z>fJ*qb7sZ^Sx%rFzaa@eyJUy)?X(;|N1+VIEjep zL?7%@3VTHhNZEcCvnVt6agiDmKU;tL<-i;vJel#1v9pDgNlLVFvKcK?u54v;*beP_ z+<&MEXmh>Y`b=kuF;N7k+xl@q5Xv*k3@gL5k)BZDcEH0dwHQK**$(1B?#9$0Mif$o z4w_qq6lKTEFZh070YU((B$LiuV}km$YGsr*mMaMyEeWwUcW(>)Y|MKM@0|uvVF_Kx z8ymHaR9q`u%*2gG0A6~d9CsNdA~nnH1^71j*h9_@%7STzfFO&rRqO&_M9IE4mPdvp zCN*Lj<(M#@`)^cvyezMoN6<`@8#<)Wg{HC1&N=PNQua|9{get_)eYl}gdCqB zsu5J^{wI7M6`>E-D_eR`do<}xHZjCI4k>mrKuKp-wY{B5dT5BoE!&^!Ur;dM$!!qb z1|LV6;?$Lr*&10DKH0zb0FmgP{*c1^Us4AxLP}qbjp3KV`Cp7$@4%YO@| zG_|$Nue#*uIULNZ1F3`V>kfvvcNu>5xJXaLNMD^;m)_|NDC5Os--V0}M=OgSP?sg3 zrNVNnX=Sl#E%izJL9F*%|#SfhCNlN=)Bub=Y>m8CEf}$;+a>`CTzJo=sw@R8|(Dxw+8pEphVjZ++H+p~n?+Kpi~}y5MlFf27JN zWtdx^V!{IB;l4+jjW}1r3n|7Mcq?hF-7c|TY7h3XM`pgRS+V+3zrG02bE+Jbr~L;J zT(Wih6wN`uv;?=9*L9)o&sU~tY)WDY;HEx{3G4if6*?$Hd@jr`j!vaq2qChvA>)bB)@Q){hW5_G+QNG) z_3QEz(#}|+*>}>u4Qk109iNX|8WW(qRn4 z9wVWq9mT=13nOoIpDlFarR9t?YpEPeHtlVNA?=M{!)o19E$_?sL&8pMy60tMLfRr> zfq+Skb!BZ8tOD1g+@FLcdO||C%Xx){YwJ~<#yoZjx`g>QEO8tAl9eL_8nKfq4Q^Ek z7U@Dz0vL%N1|(qLPREBo@!+2J1!(n(p7;xTmD$&1 zUCyrMS>CDEn|=iFq$Jd7ksVZ}?zYgKkI>H}QJWz5A+_gAt0pmDfUhB#^dGf@)H31V z0Ia3N6#LdMM3dmS4#~idm0VvirDs}MMXpu4JI#JXhQaMR+SV-KPgRMYlY!mY14sGr z{q6BeeBtz%OtwLT`})=XltJqa%5^*fJ4SMy(4Sc-))&fMcjUqN~M_~oW8Ud=NML%G{ zR{KygAD_By7$3~jV$|YSt$ta9TD|w#9se**w5HyvtT4XKy>{M9VRO3KU0NIV4058= zHwVdfPN!HWw0!pHcvx*GsM0gKy9iqhI{Y>U=4=XBQvu@y61GoS9SiP6Ios1>&yYwNtuVejfHEhAv|29XL*f<)h zQ{%T0A>j8gR1m5tv2mItiwIY}VdVXn_U zdE36gd((Pz^jmne?wbW4H7>G-P*HS^%ma-NoOe;(ry56AHD`s2tO;6HF(*jbP=P&x zFZ5dJ{v+Jdl8IdjRp+7tXJ@F%)%sz5N?#((9Bpm2oy8Nd zbKr(s;6=<(&D#YWSo~|-EtMgDpJkg%`~y+Gpd^HMa3}Ia;}3-laR57<0d`DIeq$20 zZ&7@%Z>{c>xTJE#dTZ#KhWy5^I+y6NJ#xVJmEI=yNX)BW+L_THS~Z4CiITqk)Dza5 zBbSVqWABs;;0gfk{n4N8ciQkV6p|r>ibB z!dkIqLYVJBz_FFYqz7cBv&*+mpCd|<%}0y`ay6?Yijf9TI)Uj4MJTRCTXX!qnttlC zvHM%0m|aPnNcz;-fCl0#*v)$;8#Bxr(e1#x+G7{rUrMdSc~53s|EJ@B^7)>sPZt|c zb!{$QOL&mjleMiSl<_Y3=iW1zSWh;@>Hf%F7Pj^k^0%zAIXQ%P5%oXSI+6TZcYFRE zVdMRZ>kS!3trZ<66H#kQ{=pDMX`7BG$)nk?m=#gmwaS`dZnFU5Y{9`Hn$^<~{>{q7 zQGc_%yTT>{o%MA`QWid>P8(A#YcB{iP9<8@C`-e#XUKXTSOF>-<*8_ftEB_@)6(yo z5zALqJy+bAX^Z8S_>nE8wkx=3oXENQPNnK;$H~Rkv}pyC*#>Yv5wh1GJJ=cBR=Ydz z1&HkqWULJD>l@$3CK}%sCmN03Mb&3WSv{xw%6w|GNhQ#bba+9c*~)v{eDr=p4cK%Q zE*;m$H67)RjTUMO9iiEk1~ObBo<+;XuU~I>X zM;wTDsd7487Be=f&k-$#CUGE7OCu}PsD!g?tWD+FjBBFCpxH)uX|<7aX7g5kc3Rt; zaZ_e-;FDep_~PTMIaKxF%aNwx|?l9;cw7iIM2nw*A4%yMnw| zV|E{<_p;YR^SQk11B1+GmR7eb2Qa1LaKOK9+a|jlwVYnfOj;YML5t*4djR4*e>$#_ zeB%%H{qCxe%2w?_ds*6!UixZz@{R(%@f*Aa-)na99i^@!nc2A-zexl=g3H>+@OYCq zMZK3W$%bS8C1c&9BNDq*DoX2-(-p#$`G6|RRa*~7eM86%aEvl=xp9+PBY43^!w_P{ z7G;9+|Ga?lEB^Jh=EO-*FNzY2NsX{RF^r8yYty zlP^#fpvwQm8Bl}#GhgbE3;geZotPKeJuK*+qQ6{+UpvY#GFpeT8uejn2hC$65J3&$ z{aQeKADbxH07+xf`tBG{=EhKF5?O=LpJSA< z430ca=ohQ|TS7awu3Bpa)c%{nLZ?SQ6_h|7v9EroK=4PQfgg7HedsCct>z zI+>4sWKFrImR{tMlRUW-`5+n;XTGuGey(v*rTKV(El)uC)SwWPH1$`m!7HB}(j>|m z|6HM7-Ffc(LB_u6e1{wvJkKQY52;mN@O!Z7ACq70chn8jVvGrig60)!+eZ~@AKT+i zd@(?L8HTs(Af=MY#+%Yq4y`9y%$7asuJ2Cj{Y1+L_nci82%tiB+I|9G+b*QubxlcKO}L|3cZ zpiEV+v^sFmu%Y@3D0;f=hyNZKL7c(N2N*VIuf1g3C<kxhUUxTvr-6|=PwvGYM?t2L3HJm0A0Y29=ehDM zis*z(3xN#zzP^K;$S*Esk97C6zP?oFZP8p;6g0{t|F$g_)BEJ^ z%-tyTgJ6Mt$L59`t_oUR&xWqZ&Z}qXAMI`_fr_cJhsV^90W3|R?9W2%n(>SgV!#>F z90}aXefJpD<;Ps$DK>msbj4i2-v%P~kmTzZ0;zaJc8w#@Fp!Niq{jWsG9^rQ`@$xL zbXY3gd!&bor;ivB9cOC^29oDwHlW6ev>)bLhlZ@$RdaG(KX*wgqRK>?Q2uM70Qbn% zcG{HKI2w}B)lDoTjuJ{nL(dytO?ybOABvu;eZIsHI4)&w-q9M%!V{gIul6?8xSevt z?KaAP>P|7d$6LY^FxS}V9VIW)ynRNqR@WxrQm1`m2vAQH8jV|7;{%~-mhd9>4+M`^ z!~+I1#p#l7^NMKYzo0v?BJ6B3_T8PAUA5hMUWq7xtaA?eKn!7*`s^thB9=A11{QIt zxp#vEp|~&hS_*4lk1m<&58Zftw`6o!b!-a0%AMd`MHW~*VOBQcX<8~$i$8p-!tPiN zK`K^vEs}6~eK@E#Xjp$tloX-Pzv}G_awY-s2FlFk20ojxRmeFGfH}fTIgQmRvr-iZ zwpfwe;o_2uLo_Tkh);pteHVz!H#k)sXKlaAxYkQIVCHbvnh7?dw5jsv^wy)vL(n`g z*#BD$QiKrJ^+DE%ONhBS)B9;V7$|;y#|taBD*DxGGM7O!PY0n41;AdHv9O*fqPo+^ z`X+?GWJy)Y!m0fU+=oVb2Jw?|bo{IH#Bm}Oj$i012_{L`L1CW@)extl7tUez9<_ZQ zvxAPFI(k3pgL?`}7m=_7^}bq1&wMdbpv~u1`Lot$e24n*ONG-w{hvv_d5-L4ZasrF zKve&Xt9AU!F27ZRxBLne+Gx-{`rKqZ-t)-A26Q60{QG%Om9QSOO>WDQzfL*Rr2F^_ z*-Jmw>LJrxzrsj_V(o+6xFu`S&rrcyuDOb#Jd4K&-RGI>akvR;*JoGWkvUr*Y(^5D z5d$^ozg=w!>umO!5WwM3r`zEg?kylSR{2(^Sc2_ziFn6g4~HZ}BsQbL5XsOa*pf#@ zgZfQ$pRX#{6Vrc}Xbl+@M7I}6cZ!jaf|SsB%ebSv()c~sEs{Zz%5h}9&uo`M^rm2OaYsRi~9 zO@|Cfi%O28-=77+VjG|V0&;QNaNnJP825m0iFChrN7K;WyjD6gUOiT_qg;uNuV1X_ z9}*%ioXuV-AP>&a!!@)fbKCcp2z8#<^gysB&%eyHJ;4@Sj)*99qJ+`6s1<;r#iDP% z3qd468ogZ&Km3-rQc+~boP&FI>2iX-_Pt+{;;B@aN zu;2+;b|W`{&hA#tw=Qn&9a4u$u$a{&tio%*b=b4_f}8v4gUD4%yJ@Mo8T9NQ8Q?K> z3nRr4$v9L{4NG#CHGJR*g{lFcOAn=m)#;Ny_08}=wX(U}&v+9*VKn>x`b#n;OLR|UxfU?THOn;1(o4@ zzCo3``ee|@gH?IGneI6h6@G_?;S9C4{4kHszF z;-bS%3Hd~uaU#RZ7&CEO%dKiATWBzK6`W!N4mC3=HmK5mqO4(ftj-6@Eg$@@^T^#~ zR*xpzQQC`b8>Rp%nc!CRa{%L9UKV$~aXpT81UXEb{!W2ieVzyR9fMjO23Cy|vjpFG zOXT;@1GFEI&ij^3klSR}3v2-GAVVv_<{aRlReJrehfmjjKu*XFO`R*(q0lf{?K z+R|PKLl<+thR?1~fdH#7<#~?r902ur(x(nb#31K@J^+iy|1RSfP2>@;u`P^jigk17 zKvk~eC6UglrH%5l`9|b+n}Gr(1&`2XG>9rNdiscR?2Oj#C+KhS(>c$6Kf-;iC)-N& zxBQnnia&~+vZaI`cJmQ_Fnx1VNb7&vdl&XrN+j6a%v4!PMfB#D!+C5hpO1<8!Orh z+PqIQLb*I~D+B8R_a$?iBrt?w?|h`U%X`%WO%)w;YX9=H%a|>6ntP1eu=TxzJ(JFG z()g^bh%CPg58$J_vPt6Gd?ZgjW&_J^wX+2)PLZSzGp&t88u^?u5u8{X|E2ZFG!Q9; zGGeIV*NtMn4RBuhRU*Bg*}^ufW1 zzxnQK;hvTfR-0=Yc@b*^DDUpcJ3o*B70Gckg2&7#{MDwn*KnII9C(9ni{%F}s`UPL z`95T)?{;5&<>`Acc3ffP-xc9Ah{k-w!zS;Q%yw&i|UHh?8 z9)`Kj4{v*F9Bd%76Ui`X|ohxX4 zgfU!3iPm_#k!3#IdAWIdQA#2a$=>g8O6>D#(NYhm^MLO4Dce=CFi=K@voB z_e@vm{tf@b5vz~Si=RqQXk|WNxN_nijk6_rthQOpt$W5%(&2Hj`Q&w2q4sBjNiGNb znIkU1@H+rgbR8EbXI;cY^iNxl)j$*3N|L$DL#iBQqL|WaP=?JtE$EEQDNp>4Y-}H) zMIl&!yqV+jvI<|~T3S#j_VQyKg}=*g4vSX(XT$_#75$%P zLmPuO*K@?7oj|+l%_%T8C;dlyqVaYjg=lM|d3Pq06#b1M4xx}4(A)K3{0kY?=JG#~ z4O!b}d%!N*o6G*7S^=qX_c6HP7NmH6Tz3`w6eD~u+w_&}Xn!d{=`}g#vI+gn9sNen zwt&i(=DG0zN=HF7xVj;^bXU6}qs4*GW+RUvBgf*+gjkJZG_MJnBx|mu(|&DNUgb|J zf<2zkQR?HyyK;h?@i)$8+q7>`o42ws1rv3`G{|OF)H6p;r{kRPhTYG_+F*->4QH=3 z*`m!R4Aqp7@BFD|cD$P!4rxI(t>-EV+>9evPQmMN7=cj7CG?whucP9S10Rn{!!IV@ z4HB_)G#~7U&=5%0U4&tt>YtrFl$yESgf{%p(I>sBZ0bDZad6nTL#=L$t(q#kd}o$? zE^$j(vzPXew*D~&RC5v?DXgNt!z>{&oN(*4qG>Q(Rkq85@?+a9Ut})#_bG%x&cnJ% z-oex+sZ`ltq0Lf3uw|Pr2b^25zWR_CT{g2d2ZY_>5!hWUqYLfT_Qc2jvHQa?4|Y@U zX@C7t3Zug;Gwve9Qmz$c0Z{0~=P{AHwBf`Zl2n zfb8Q1b-KSI9iA&zyZsK4J|7A2X(oD}&5v044Rt;eX{*_Xs^hO)wq9eTu~+JhBEyy7 z0~?fYM;wVO6uxU8?DLmWo*)1MEqO9)PmE;m?Tr;Z^3DxFD_!w+XFSU;^lk$p4hw$R z20zsc#M(6sNZhFj)!e|3Xk8xCF8YU9SQq3Z!p`L{e67i`3)M25{@K&#z!S;GXd5hX z3ld6Z{|kw+8@$m?vHtEM_9ZCt=Mll`mgk=nf0iTNuz#H|yHM6q8aeA#iW2@)x42{k z`;HYBF z(-JyVT}+QKUI03aCQhOO+Awt(uZvH zz`r=oXCk!g&2ia(K*DFvN1FAeYfHcsfn(>#uJv0;BuzHO!P;M_C#=+>8|0S(9Io~F zV|Yl3magLQ_-G6BtdWea=6LafJ)q`)hcU0NxCD}~RKT0edoTtz8r*Peu;pjV&tbO%(Z1r^K4I!Wh-B4q z5+r_b9?wa!axdu=@anA~?bZu1#@GA}V?n1#FcwMrNDucLUrQguV_wQ!YuYAI@Hb(q zU)@ZtLZ?06Dmn^_{}D-zIiG!)&x)P^xaLTu^TfnGIOL*{YvvslsyJjeXk0xVI)eq^ zU515oTdHN^-GxhAYGvXJ1W|pvzkl)0E9`@1mFU^Vbl2xJ`ot{OZaISXJ12wFmCXa( z`1+iMF{OGC%Wx$4$ab(6gsb{KOG5?na$|++EHv5uR`3j1H_-$cIz4Q6bT|r`v zXKs|#;X*2h(^SSxX)1A?aKqGZEtyGtU?IlALhiu^9*KDISP$vVp_vJxTj0XOpp*&7WwG*pTVg1dL*idc`n1YO7{lJnhzQw$HLFjZtbgYvg2Oi;X{>IMI>OpyBm2 z@313ezKb0i%l{wt-u^Uw^yG&#@Ht87Sv)Dewo)Z3C;s_Rd(g_@LR*}(iP!EGf8y_E zw~21WDd8PEL+-~ZU*>OVrQ7~O4X(oHJ=?fJRVpc*1QG$TQC@5`lYf6+Oa4U)^4@$< z?D!})@nx$c!JU(K*I9q>Lxdc4j0Nmh)Drk=WL2s1>mojCSB_YigKEqzS|F^Ev&;>p z>5}M4u)0mEmm17Qxiv>Etej&=vN}GFkfkvoMOzQ4$P>Mez={r)2`2)aLTu)?p_9N= znkU z!S&eOumZFS21GHLmU(i-t7O&P`m0@a$Q^>pbL{`93{79rA|{9r-_Z1Ka6h(z0NHcEFI~KWUfOx0{J?gVoQV^{1ys?EJ&0 z`dku!j_tWWwcf^}`7dS%-mReG1=d&z>T4X2@mGveOk_F>SQ~gom>LzBQZZEu+-USMenWls`ZFar@ohz==o#pmDDH<(-^3sDa?yf*#C;8_o%WH+}$gQ&{D-2zm9o z<@`_YTPazJs6UNZzv|nksR+;C(C$?hlg{0M0-jVm`;hwbYx$l^5~qY5`=8{|@ov{QhX3{RhS^a}(fToME{X&4Am8Hx z3pp>l*Y&A9Iq$L{j_9PI!O{kYIMS2;%(dAN4;;@>m(mh))1MZb@g1^Jvt>m(M|vU& z9SR4t-A>fT!;FpbPV~lqYfLwZ{%*)INjAe%94kFU+L}d3jLN&@5Bs+Sl`*(GvpO!E zOpI%bVfK|IULiU9bBkGNSezePYh{ zi~g}t?w;jegDz>UDY}%_{I4uGowo-NcQB^crX4ZHl+cHD=qf0bEUyeYLA$GDBV;WT z4mm^Sz5U*@^V@BoeqeFzj7S&c&P;u5lnp%d6D;SpXD8Jm{9vsDDR1~PPTJ|QH7!4n z(!uRPZwj!R>S3Rj!z=dDl>Ep2=r6a4Rwb$ft?-Pf$ zv`fusIb=f8trg53r2qWbtSU`k>ux&lpbr>g8u4CU z>YDHmGFHb#_}*g%|29DzPBk+2`A-nQ*R>$Go#+|Q^n9pevhJ@>PuU5gu?qHgwZqId zYCSxhN_-dP$WmR?V*f8Ctu->jEv{|L`Lmsf=QobG7=bFA^KDFz7kIaog|5dXk3S@a zAiR-6g#R~@RfE+HDoC>t|EuQNg^4l2Zr0y`C|898s=HPO>3h5n@N)a|1xBrZ9wyiX zt3|yglQp~*Z6&l%mc{4nyn^x>dA|vDe_sdR&vEKQo8ROoZwG#~)jjq@0F+*$SJnmL z1^9&DLS#EZ;+;sS=R`ys;tGK*Gx>I}Up+mZ)?+wmxMG)Z64ojF-2bUFK7W_mr%>lzm$bLV$sJdvodAbba4k fiTIy-f`h5Ve&o~rWsUcK2L>RoE>|mK5&C}sQq;4d diff --git a/src/views/dataBoard/dataBoard2.vue b/src/views/dataBoard/dataBoard2.vue new file mode 100644 index 0000000..c73f24d --- /dev/null +++ b/src/views/dataBoard/dataBoard2.vue @@ -0,0 +1,965 @@ + + + \ No newline at end of file diff --git a/src/views/led/components/info.vue b/src/views/led/components/info.vue index 2b146af..2dee658 100644 --- a/src/views/led/components/info.vue +++ b/src/views/led/components/info.vue @@ -2,74 +2,51 @@
@@ -104,162 +81,160 @@ export default { height: 100%; position: relative; - .detailHeader { + .deviceDataHeader { position: absolute; - z-index: 3; - width: 232px; - height: 78px; top: 0; left: 0; right: 0; margin: auto; - padding-top: 6px; + width: 200px; + height: 48px; + display: flex; + flex-wrap: nowrap; + justify-content: center; + padding-top: 10px; box-sizing: border-box; - background-image: url("@/assets/images/led/headerNew.png"); - background-repeat: no-repeat; + background-size: contain; background-position: center; - background-size: cover; + background-repeat: no-repeat; + background-image: url("@/assets/images/led/header.png"); + + > div:nth-of-type(1) { + color: #F24439; + width: 22px; + height: 22px; + font-size: 14px; + font-weight: bold; + line-height: 22px; + margin-right: 8px; + border-radius: 50%; + text-align: center; + background-color: #F5F7FB; + } + + > div:nth-of-type(2) { + color: #FFFFFF; + height: 22px; + font-size: 22px; + font-weight: 500; + line-height: 22px; + } + } + + .deviceDataBody { + width: 100%; + height: 250px; + background: linear-gradient(0deg, #1B2E54 0%, #FFFFFF 0%, #FFFFFF 0%, rgba(255,255,255,0) 100%); + + img { + width: 100%; + height: 100%; + } + } + + .deviceDataFooter { + position: absolute; + bottom: 0; + left: 0; + right: 0; + margin: auto; + width: 240px; + height: 120px; + padding: 12px 4px 0; + box-sizing: border-box; + border: 1px solid #FFFFFF; + border-radius: 16px 16px 0 0; + background-color: rgba(255,255,255,0.6); > div:nth-of-type(1) { width: 100%; height: 16px; - color: #FFFFFF; - font-size: 22px; - font-weight: 500; - line-height: 16px; - text-align: center; - margin: 11px 0 8px; - } - - > div:nth-of-type(2) { - color: #FFFFFF; - width: 100%; - height: 14px; - font-size: 14px; - font-weight: bold; - line-height: 14px; - text-align: center; - } - } - - .detailImg { - width: 250px; - height: 250px; - position: relative; - - > div:nth-of-type(1) { - width: 100%; - height: 100%; - - img { - width: 100%; - height: 100%; - } - } - - > div:nth-of-type(2) { - position: absolute; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - width: 100%; - height: 98px; - background: linear-gradient(0deg, #1B2E54 0%, #FFFFFF 0%, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%); - } - } - - .detailFooter { - position: absolute; - z-index: 3; - width: 240px; - height: 160px; - left: 0; - right: 0; - bottom: 0; - margin: auto; - padding-top: 14px; - border-radius: 16px; - box-sizing: border-box; - border: 2px solid #FFFFFF; - background: rgba(238, 246, 253, 0.72); - - .detailFooter-1 { - width: 100%; - height: 26px; display: flex; flex-wrap: nowrap; - align-items: end; - margin-bottom: 14px; justify-content: center; + align-items: center; + margin-bottom: 6px; > div:nth-of-type(1) { - color: #000000; - font-size: 26px; - line-height: 26px; - font-weight: bold; + width: 64px; + height: 2px; + background: linear-gradient(-90deg, #808080 0%, rgba(148,125,255,0) 100%); } > div:nth-of-type(2) { color: #000000; - font-size: 20px; - line-height: 20px; - font-weight: bold; + height: 16px; + padding: 0 10px; + font-size: 16px; + font-weight: 500; + line-height: 16px; + } + + > div:nth-of-type(3) { + width: 64px; + height: 2px; + background: linear-gradient(90deg, #808080 0%, rgba(245,247,251,0) 100%); } } - .detailFooter-2 { + > div:nth-of-type(2) { width: 100%; - height: 32px; + height: 36px; display: flex; + padding: 0 8px; flex-wrap: nowrap; - justify-content: center; + margin-bottom: 8px; + box-sizing: border-box; + justify-content: space-between; + + > div { + height: 36px; + font-size: 36px; + font-weight: bold; + line-height: 36px; + + span { + font-size: 20px; + margin-left: 2px; + font-weight: normal; + } + + &:first-of-type { + color: #F24439; + } + + &:last-of-type { + color: #252535; + } + } + } + + > div:nth-of-type(3) { + width: 100%; + height: 1px; margin-bottom: 10px; + background-color: #EAECF1; + } + + > div:nth-of-type(4) { + width: 100%; + display: flex; + gap: 8px; + flex-wrap: nowrap; + > div { - margin: 0 8px; - height: 32px; - line-height: 30px; color: #2AC79F; - font-size: 16px; - padding: 0 10px; - border-radius: 6px; + height: 24px; + padding: 0 8px; + font-size: 14px; + border-radius: 4px; + line-height: 22px; + box-sizing: border-box; border: 1px solid #2AC79F; background-color: #E5FFF8; } } - - .detailFooter-3 { - width: 100%; - //padding: 0 10px; - box-sizing: border-box; - display: flex; - flex-wrap: wrap; - - > div { - width: 50%; - margin-bottom: 6px; - - > div:nth-of-type(1) { - color: #161616; - height: 26px; - line-height: 26px; - font-size: 24px; - font-weight: bold; - text-align: center; - } - - > div:nth-of-type(2) { - color: #77849E; - height: 16px; - line-height: 16px; - font-weight: 400; - font-size: 16px; - text-align: center; - white-space: nowrap; - } - } - } } } @@ -268,102 +243,158 @@ export default { height: 100%; position: relative; - .detailImg { - width: 250px; - height: 250px; - position: relative; + .deviceDataHeader { + position: absolute; + top: 0; + left: 0; + right: 0; + margin: auto; + width: 200px; + height: 48px; + display: flex; + flex-wrap: nowrap; + justify-content: center; + padding-top: 10px; + box-sizing: border-box; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + background-image: url("@/assets/images/led/header.png"); > div:nth-of-type(1) { - width: 100%; - height: 100%; - background-image: url("@/assets/images/led/null.png"); - background-repeat: no-repeat; - background-position: center; - background-size: cover; + color: #F24439; + width: 22px; + height: 22px; + font-size: 14px; + font-weight: bold; + line-height: 22px; + margin-right: 8px; + border-radius: 50%; + text-align: center; + background-color: #F5F7FB; } > div:nth-of-type(2) { - position: absolute; - left: 0; - right: 0; - bottom: 0; - z-index: 2; - width: 100%; - height: 98px; - background: linear-gradient(0deg, #1B2E54 0%, #FFFFFF 0%, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%); + color: #FFFFFF; + height: 22px; + font-size: 22px; + font-weight: 500; + line-height: 22px; } } - .detailFooter { - position: absolute; - z-index: 3; - width: 245px; - height: 160px; - left: 0; - right: 0; - bottom: 0; - margin: auto; - padding-top: 14px; - border-radius: 16px; - box-sizing: border-box; - border: 2px solid #FFFFFF; - background: rgba(238, 246, 253, 0.72); + .deviceDataBody { + width: 100%; + height: 250px; + background: linear-gradient(0deg, #1B2E54 0%, #FFFFFF 0%, #FFFFFF 0%, rgba(255,255,255,0) 100%); - .detailFooter-1 { + img { width: 100%; height: 100%; + } + } + + .deviceDataFooter { + position: absolute; + bottom: 0; + left: 0; + right: 0; + margin: auto; + width: 240px; + height: 120px; + padding: 12px 4px 0; + box-sizing: border-box; + border: 1px solid #FFFFFF; + border-radius: 16px 16px 0 0; + background-color: rgba(255,255,255,0.6); + + > div:nth-of-type(1) { + width: 100%; + height: 16px; display: flex; flex-wrap: nowrap; - align-items: center; - margin-bottom: 14px; justify-content: center; + align-items: center; + margin-bottom: 6px; - > div { + > div:nth-of-type(1) { + width: 64px; + height: 2px; + background: linear-gradient(-90deg, #808080 0%, rgba(148,125,255,0) 100%); + } + + > div:nth-of-type(2) { color: #000000; - font-size: 26px; - line-height: 26px; - font-weight: bold; + height: 16px; + padding: 0 10px; + font-size: 16px; + font-weight: 500; + line-height: 16px; + } + + > div:nth-of-type(3) { + width: 64px; + height: 2px; + background: linear-gradient(90deg, #808080 0%, rgba(245,247,251,0) 100%); } } - .detailFooter-2 { + > div:nth-of-type(2) { width: 100%; - height: 32px; - margin-bottom: 14px; - } - - .detailFooter-3 { - width: 100%; - height: 100%; - //padding: 0 10px; - box-sizing: border-box; + height: 36px; display: flex; + padding: 0 8px; flex-wrap: nowrap; + margin-bottom: 8px; + box-sizing: border-box; justify-content: space-between; > div { - width: 0; - flex: 1; + height: 36px; + font-size: 36px; + font-weight: bold; + line-height: 36px; - > div:nth-of-type(1) { - color: #161616; - height: 26px; - line-height: 26px; - font-size: 26px; - font-weight: bold; - text-align: center; - margin-bottom: 6px; + span { + font-size: 20px; + margin-left: 2px; + font-weight: normal; } - > div:nth-of-type(2) { - color: #77849E; - height: 16px; - line-height: 16px; - font-weight: 400; - font-size: 14px; - text-align: center; - white-space: nowrap; + &:first-of-type { + color: #F24439; } + + &:last-of-type { + color: #252535; + } + } + } + + > div:nth-of-type(3) { + width: 100%; + height: 1px; + margin-bottom: 10px; + background-color: #EAECF1; + } + + > div:nth-of-type(4) { + width: 100%; + display: flex; + gap: 8px; + flex-wrap: nowrap; + + + > div { + color: #2AC79F; + height: 24px; + padding: 0 8px; + font-size: 14px; + border-radius: 4px; + line-height: 22px; + box-sizing: border-box; + border: 1px solid #2AC79F; + background-color: #E5FFF8; } } } diff --git a/src/views/led/led.vue b/src/views/led/led.vue index 5461a4a..7e8852f 100644 --- a/src/views/led/led.vue +++ b/src/views/led/led.vue @@ -33,186 +33,52 @@ export default { return { url: "https://api.dm.yixiong-tech.com:8443/", screenWidth: 1920, - // deviceDataList: [ - // { - // deviceId: '1', - // data: null - // }, { - // deviceId: '2', - // data: { - // foodId: "2028767531816284161", - // foodName: "蒜香鸡翅根", - // foodImg: "https://dev.yixiong-tech.com:8081/common/files/20260303/ad0b893a-1fa6-4905-b969-016c44cd29b4.png", - // calorie: "116", - // labelList: ['补充蛋白质', '增强免疫力'], - // differenceWeight: "14.88", // 偷菜 - // marginWeight: "5.32", // 余量(kg) - // realNameWeight: "7.86", // 实名取餐重量(kg) - // anonymityWeight: "1.70", // 匿名取餐重量(kg) - // } - // }, { - // deviceId: '3', - // data: null - // }, { - // deviceId: '4', - // data: { - // foodId: "2028273122528030722", - // foodName: "杏鲍菇炒肉", - // foodImg: "https://dev.yixiong-tech.com:8081/common/files/20260302/a0c9541a-47bb-43db-bff5-053fe3d88111.png", - // calorie: "59", - // labelList: ['润肠通便', '提高免疫'], - // differenceWeight: "12.50", // 偷菜 - // marginWeight: "6.18", // 余量(kg) - // realNameWeight: "5.42", // 实名取餐重量(kg) - // anonymityWeight: "0.90", // 匿名取餐重量(kg) - // } - // }, { - // deviceId: '5', - // data: null - // }, { - // deviceId: '6', - // data: { - // foodId: "2029388232071933954", - // foodName: "青椒鸡肉丝", - // foodImg: "https://dev.yixiong-tech.com:8081/common/files/20260305/8e833968-f88b-4918-84d0-99dcc5118b4b.png", - // calorie: "43", - // labelList: ['促进消化', '补充维C'], - // differenceWeight: "11.92", // 偷菜 - // marginWeight: "4.56", // 余量(kg) - // realNameWeight: "6.24", // 实名取餐重量(kg) - // anonymityWeight: "1.12", // 匿名取餐重量(kg) - // } - // }, { - // deviceId: '7', - // data: null - // }, { - // deviceId: '8', - // data: { - // foodId: "2028277177375617026", - // foodName: "西红柿炒鸡蛋", - // foodImg: "https://dev.yixiong-tech.com:8081/common/files/20260302/660cc729-09cc-4b77-bfe9-9d2918714a3c.png", - // calorie: "44", - // labelList: ['美容养颜', '健脑益智'], - // differenceWeight: "15.00", // 偷菜 - // marginWeight: "3.74", // 余量(kg) - // realNameWeight: "8.96", // 实名取餐重量(kg) - // anonymityWeight: "2.30", // 匿名取餐重量(kg) - // } - // }, { - // deviceId: '9', - // data: null - // }, { - // deviceId: '10', - // data: { - // foodId: "2028768323575050242", - // foodName: "凉拌菠菜", - // foodImg: "https://dev.yixiong-tech.com:8081/common/files/20260303/af27cd5a-325f-4d9c-bedf-4b32870f293c.png", - // calorie: "30", - // labelList: ['补铁补血', '明目护眼'], - // differenceWeight: "12.14", // 偷菜 - // marginWeight: "7.20", // 余量(kg) - // realNameWeight: "4.38", // 实名取餐重量(kg) - // anonymityWeight: "0.56", // 匿名取餐重量(kg) - // } - // }, { - // deviceId: '11', - // data: null - // }, { - // deviceId: '12', - // data: { - // foodId: "2031257721365442561", - // foodName: "青笋炒木耳?", - // foodImg: "https://dev.yixiong-tech.com:8081/common/files/20260310/45e6f7fc-f58a-4828-b5ff-72c5a5f561da.png", - // calorie: "28", - // labelList: ['清热解毒', '活血化瘀'], - // differenceWeight: "10.50", // 偷菜 - // realNameWeight: "3.82", // 实名取餐重量(kg) - // marginWeight: "5.94", // 余量(kg) - // anonymityWeight: "0.74", // 匿名取餐重量(kg) - // } - // }, { - // deviceId: '13', - // data: null - // }, { - // deviceId: '14', - // data: { - // foodId: "2031248239226892289", - // foodName: "玉米粒大米饭", - // foodImg: "https://dev.yixiong-tech.com:8081/common/files/20260306/db3b1d29-8a8d-4e26-a93f-fdc066959f30.png", - // calorie: "137", - // labelList: ['补充能量', '促进消化'], - // differenceWeight: "20.00", - // marginWeight: "8.64", // 余量(kg) - // realNameWeight: "10.26", // 实名取餐重量(kg) - // anonymityWeight: "1.10", // 匿名取餐重量(kg) - // } - // }, { - // deviceId: '15', - // data: null - // }], - deviceDataList: [], - initDeviceDataList: [ - { - deviceId: '1', - data: null - }, - { - deviceId: '2', - data: null - }, - { - deviceId: '3', - data: null - }, - { - deviceId: '4', - data: null - }, - { - deviceId: '5', - data: null - }, - { - deviceId: '6', - data: null - }, - { - deviceId: '7', - data: null - }, - { - deviceId: '8', - data: null - }, - { - deviceId: '9', - data: null - }, - { - deviceId: '10', - data: null - }, - { - deviceId: '11', - data: null - }, - { - deviceId: '12', - data: null - }, - { - deviceId: '13', - data: null - }, - { - deviceId: '14', - data: null - }, - { - deviceId: '15', - data: null - }, - ], + deviceDataList: [{ + deviceId: '1', + data: null + }, { + deviceId: '2', + data: null + }, { + deviceId: '3', + data: null + }, { + deviceId: '4', + data: null + }, { + deviceId: '5', + data: null + }, { + deviceId: '6', + data: null + }, { + deviceId: '7', + data: null + }, { + deviceId: '8', + data: null + }, { + deviceId: '9', + data: null + }, { + deviceId: '10', + data: null + }, { + deviceId: '11', + data: null + }, { + deviceId: '12', + data: null + }, { + deviceId: '13', + data: null + }, { + deviceId: '14', + data: null + }, { + deviceId: '15', + data: null + }], } }, mounted() { @@ -227,35 +93,38 @@ export default { }, methods: { getInfoByDeviceId(deviceIdInfo) { - if (deviceIdInfo.deviceId === 'all') { - this.initData(); - } else { - let _this = this; - if (!deviceIdInfo.deviceId) return; - httpRequest("GET", this.url+'terminal/neglect/large-screen/longScreen/device' , {deviceId: deviceIdInfo.deviceId}, {"authorization": "57ee87183f2a4fa59683ec9ef41c8f5d"}) - .then((res) => { - if (res.code === '00000') { - let data = JSON.parse(JSON.stringify(_this.deviceDataList)); - let count = -1; - for (let i = 0; i < data.length; i++) { - if (data[i].deviceId === deviceIdInfo.deviceId) { - count = i; - break; - } - } - if (count !== -1) { - _this.deviceDataList.splice(count, 1, {deviceId: deviceIdInfo.deviceId, data: res.data}); - } - } - }) - .catch((err) => { - console.log(err) - }) - } + // if (deviceIdInfo.deviceId === 'all') { + // this.initData(); + // } else { + // let _this = this; + // if (!deviceIdInfo.deviceId) return; + // httpRequest("GET", this.url + 'terminal/neglect/large-screen/longScreen/device', {deviceId: deviceIdInfo.deviceId}, {"authorization": "57ee87183f2a4fa59683ec9ef41c8f5d"}) + // .then((res) => { + // if (res.code === '00000') { + // let data = JSON.parse(JSON.stringify(_this.deviceDataList)); + // let count = -1; + // for (let i = 0; i < data.length; i++) { + // if (data[i].deviceId === deviceIdInfo.deviceId) { + // count = i; + // break; + // } + // } + // if (count !== -1) { + // _this.deviceDataList.splice(count, 1, { + // deviceId: deviceIdInfo.deviceId, + // data: res.data + // }); + // } + // } + // }) + // .catch((err) => { + // console.log(err) + // }) + // } }, initData() { let _this = this; - httpRequest("GET", this.url+'terminal/neglect/large-screen/longScreen', {}, {"authorization": "57ee87183f2a4fa59683ec9ef41c8f5d"}).then(function (res) { + httpRequest("GET", this.url + 'terminal/neglect/large-screen/longScreen', {}, {"authorization": "57ee87183f2a4fa59683ec9ef41c8f5d"}).then(function (res) { if (res?.code === '00000') { _this.deviceDataList = res?.data?.foodList ? res?.data?.foodList.map((item, index) => { return { @@ -263,17 +132,21 @@ export default { data: item.foodName ? item : null } }) : _this.initDeviceDataList; - } else { + } else { _this.deviceDataList = _this.initDeviceDataList } console.log(_this.deviceDataList); - }).catch(function(err) { + }).catch(function (err) { console.log(err) _this.deviceDataList = _this.initDeviceDataList }) }, initMttqF() { - initMqtt('deviceId-' + Math.random().toString(16).substring(2, 8),'yx/device/foodRecord/needUpdate','led', {username: process.env.VUE_APP_LED_MQTT_USERNAME, password: process.env.VUE_APP_LED_MQTT_PASSWORD, head: 'wss'}) + initMqtt('deviceId-' + Math.random().toString(16).substring(2, 8), 'yx/device/foodRecord/needUpdate', 'led', { + username: process.env.VUE_APP_LED_MQTT_USERNAME, + password: process.env.VUE_APP_LED_MQTT_PASSWORD, + head: 'wss' + }) .then((res) => { console.log(res) })