From b8adb33956945a38f98280cade672da0bef0bde1 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Wed, 13 Aug 2025 09:50:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=89=A9=E8=81=94=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=90=8C=E6=AD=A5=E5=8A=9F=E8=83=BDv3=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/iot/a1.png | Bin 0 -> 2042 bytes src/assets/iot/a10.png | Bin 0 -> 2055 bytes src/assets/iot/a11.png | Bin 0 -> 1666 bytes src/assets/iot/a12.png | Bin 0 -> 1833 bytes src/assets/iot/a13.png | Bin 0 -> 1872 bytes src/assets/iot/a14.png | Bin 0 -> 2269 bytes src/assets/iot/a15.png | Bin 0 -> 1814 bytes src/assets/iot/a2.png | Bin 0 -> 1563 bytes src/assets/iot/a3.png | Bin 0 -> 2039 bytes src/assets/iot/a4.png | Bin 0 -> 1849 bytes src/assets/iot/a5.png | Bin 0 -> 1574 bytes src/assets/iot/a6.png | Bin 0 -> 2043 bytes src/assets/iot/a7.png | Bin 0 -> 1884 bytes src/assets/iot/a8.png | Bin 0 -> 2371 bytes src/assets/iot/a9.png | Bin 0 -> 2531 bytes src/views/deviceSync/DeviceSync.api.ts | 19 + src/views/deviceSync/DeviceSync.data.ts | 176 +++++++ .../deviceSync/compoents/AddNuIotForm.vue | 197 ++++++++ .../deviceSync/compoents/AddNuIotModal.vue | 83 ++++ .../deviceSync/compoents/CheckDbForm.vue | 89 ++++ .../deviceSync/compoents/CheckDbModal.vue | 70 +++ .../deviceSync/compoents/CheckSbForm.vue | 89 ++++ .../deviceSync/compoents/CheckSbModal.vue | 70 +++ .../deviceSync/compoents/CheckSxtForm.vue | 107 +++++ .../deviceSync/compoents/CheckSxtModal.vue | 71 +++ .../deviceSync/compoents/CheckWsdjForm.vue | 89 ++++ .../deviceSync/compoents/CheckWsdjModal.vue | 70 +++ src/views/deviceSync/compoents/DbList.vue | 188 ++++++++ .../deviceSync/compoents/DevicesForm.vue | 225 +++++++++ .../deviceSync/compoents/DevicesModal.vue | 83 ++++ src/views/deviceSync/compoents/SbList.vue | 195 ++++++++ src/views/deviceSync/compoents/SxtList.vue | 184 ++++++++ src/views/deviceSync/compoents/WsdjList.vue | 193 ++++++++ src/views/deviceSync/index.vue | 433 ++++++++++++++++++ src/views/iotsync/components/OrgApplyInfo.vue | 392 ++++++++++++++++ 35 files changed, 3023 insertions(+) create mode 100644 src/assets/iot/a1.png create mode 100644 src/assets/iot/a10.png create mode 100644 src/assets/iot/a11.png create mode 100644 src/assets/iot/a12.png create mode 100644 src/assets/iot/a13.png create mode 100644 src/assets/iot/a14.png create mode 100644 src/assets/iot/a15.png create mode 100644 src/assets/iot/a2.png create mode 100644 src/assets/iot/a3.png create mode 100644 src/assets/iot/a4.png create mode 100644 src/assets/iot/a5.png create mode 100644 src/assets/iot/a6.png create mode 100644 src/assets/iot/a7.png create mode 100644 src/assets/iot/a8.png create mode 100644 src/assets/iot/a9.png create mode 100644 src/views/deviceSync/DeviceSync.api.ts create mode 100644 src/views/deviceSync/DeviceSync.data.ts create mode 100644 src/views/deviceSync/compoents/AddNuIotForm.vue create mode 100644 src/views/deviceSync/compoents/AddNuIotModal.vue create mode 100644 src/views/deviceSync/compoents/CheckDbForm.vue create mode 100644 src/views/deviceSync/compoents/CheckDbModal.vue create mode 100644 src/views/deviceSync/compoents/CheckSbForm.vue create mode 100644 src/views/deviceSync/compoents/CheckSbModal.vue create mode 100644 src/views/deviceSync/compoents/CheckSxtForm.vue create mode 100644 src/views/deviceSync/compoents/CheckSxtModal.vue create mode 100644 src/views/deviceSync/compoents/CheckWsdjForm.vue create mode 100644 src/views/deviceSync/compoents/CheckWsdjModal.vue create mode 100644 src/views/deviceSync/compoents/DbList.vue create mode 100644 src/views/deviceSync/compoents/DevicesForm.vue create mode 100644 src/views/deviceSync/compoents/DevicesModal.vue create mode 100644 src/views/deviceSync/compoents/SbList.vue create mode 100644 src/views/deviceSync/compoents/SxtList.vue create mode 100644 src/views/deviceSync/compoents/WsdjList.vue create mode 100644 src/views/deviceSync/index.vue create mode 100644 src/views/iotsync/components/OrgApplyInfo.vue diff --git a/src/assets/iot/a1.png b/src/assets/iot/a1.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae04ddf4eadd8a8f6bbaae5ce68f79d6037d67f GIT binary patch literal 2042 zcmaJ?Yg7|w8lG?ol#7BDP*5DALZs%xgb*^^O-P}d6i6tnVkMV>L`Wtk0|A6?tcQw- z*o8_Jkpcpul2*i0p$M{yg3HxlabYc6FBEpUDBiKHJF#N-$Fg(I%=doZd7tNf-tT?R znf+0M_w8+5Z2$nUkBs2P;H$UkwI<@<&dc4~@MR?y9*+spBuppPAV8Q5l^|fGQk;y$ zAYxhOu5Kg{0L;AAB1?k^vjie(R*IA@BZUNmff+DPphPe+n4wHnY2l0@(raEAk4?uk z68Jg=O9>+VE-IcM1#(ag0w{!1~DlR17@;d zA7AjzL&7U+WJz!gm-nU~z6&DBF-#59XgZyas$)=5O)|}g&1Tc+5DkJTcm_qAslvn= z6qR=E0s|M(N;L{Kra)DoiBT*;)36{CuJ-pflRRn_*yh z!=uZlZ0aoK1^qwop7?0YKEdMePW8)&T!tJ)g)M_=He|r@!pn*!Rq%4mvAuKnoeBV2 zHsxNoGR^?-9r=Q)-lVb=G?k^!X%weoJ+?aj-_{u!WA)|2VW%Elj`5jct zOTD#z?_Lt*omR+&kNfpzp{!tk{)L_I0I3afH`{ccsIy|aroue;Cu+93R2%DUhc*uG zHxF2UdY*IAR~{;++f7-LKRt6Jk-j-v2gef*jCJRRJ)|FE%?lg^+u(Hqk9U&}#4S^3W#7M$Y}#s=sBKmt4EE@v(77 zGOyUb@D*|Wd+stbXDY+f-s`M`sB^3vj{8e=4^4Wd-ziDUiVqP!0f)YGDgKG@tHt5U zes5#_N0rl#!TS9bhnpBSmS$_bHr1}~!gggLY?~JQmTsg~T zKWx21ycZ7}O556QRh6gyN;k+2p;pj0<7GyhbmSH`xmb^ZA);jfNQKk>umPp(?AcRmYUvkFTnq?}!!T996gl&KW)5 zJ-@I0VEwqu*ktdiQG0ztHT{VDot=;RoXHneiP*g&dFG^df~?`I;Fm`ae_VU|!-|Lb zjlqKK9kFT8KilS7n;BoUMH5JT5*|IA5xe1u?w|E~R}V%hTINxD^|#MBD_SQ*pVbSj zZ(rL@<*r+qUf6ypLUIn!wDXo7C;X7#X?{I4b7|7KBl^OuojqNd6DJk=b#`Y8C|0-6 zw7i(`6ns#imdBM31{6<5)qTM+yQX)h#!vjC9@YX@}#g_T9VEX|}hm#|hQvcAcC(G5vh*OL9@__nU^3vs|{@>UEeh z%k0Hh`-O~_p9eUW;k7@M_4_3zt_eFlwa*rKU=VIApP$=zYYl-21kILA?A`OQ-t;$) N3>R>}-jw+1e*h3EDu4h0 literal 0 HcmV?d00001 diff --git a/src/assets/iot/a10.png b/src/assets/iot/a10.png new file mode 100644 index 0000000000000000000000000000000000000000..d14400a6417eb8f96fe69943d797b3513d6a9a49 GIT binary patch literal 2055 zcmaJ?c~nz(77n0*1dzRgD33r3u|SeXNJu1L$O94v7@C4Cc1E&1AV3zAM+neDX|1dl zWD%$!iYSF5j)1B~Fqk=qd*8O>Sv2-rvzn%}hF>vt+BBK)sDJdy#Dei7kc^rX6qtOUNkN|?ND8f~dDnWQE zSBb)5BLV~~1agrK5lJP0CL)h7O-2|vRPAqNh-JaSZv#sd>&-&jMo{r&1d~^jNTg7y9v&VP63L(FNo3MkRCgkU1hI%@$a90skth(JL;!DaMZa??f6Aq^TxN#!C^YB3>#3K(ZSZaE=g3gwhlRUenuksjyt6goXZcsTg?E9J=To0(?P` z=85X|a3_*A;%Ok+-;?R*$MW-Mc`(UL+&WkIj>6Zu;Q!?kP%#9}WdAVf4HvpT8uRV$ zqL;VZ4@=OMm!rG={MQ%N7|bRm2V#b)Chtb=V_SY?aWOkk82zg$)6_;-d5(?q*)`}L z=*#7R_Cu|;*J~OWIo^RIuVzJC({t?ozhc_?7xC=ubL>u^w(4|V%?(Vmj*3m}ZATVV zPj6L?e5Z;zzgS7TuuPA;HTT(nyUca<^i~I0$7ZP^lj?_FRYgT6dPfXhbZ}X;Zu0## z-44CKV{YydBqsiBUf=e?Y*$(lHf!8it&JtmCu@~|o)4_vbb^?ndo#DnwpH{D{UX~v z46PWyxRHLc`xC&1tGj>a%k9wt{2qU}3a#8r0FuuP9~y7`X*njibbrc@<+_dq#CdM)-;Q7Eiv0E> z^>>brH#z7HSflkF2SbyCd_B$v009;<1M_rYg+MuwkH9q8__c0NkC;@kUtk&vBjF+wew znJ{*WW*K8sXRTXmzr))JV$ba;vUt5>Cd2Q~Pn_?zxfyObC7$~r9rq1;Wmtxo{*UjB^ti&8B`Wr3t$(`KAO=+sm0%o5iJ@$cGDO1klXT~!2 z+E?a8jGYR4w6iet(GP`~C`xh{WkHebS3hC&nZc2$g0azEVa3x@seMSxRpZC2;zs2G zeVc|VJhU<+0H19B$)fvT4fbW<{yc2j^!(NK6NT6A1Pvse`t)ndg$oU1{SU7?)y|YY zv}uO;|G_ISJWs%e)fm|J-nQ&OLIhek!>Z{V@A`t#rF1!a?SVlSFs3_Q`&Y(^ZC>Y2 zDvxB9Y#)jJvCOz_*sT97$E^Hhhczt;nhJh2UaTSBuP?Zs2gNrhP^;6eW=hF}m7t8^ z|MXk^DX=F}xjozDs}@RgUR~=xTU+Nf?J>)^nS&XfUtTI<8CNItd_Q}NoUJP6CPD_T7Ue-AhuvtDTdFb7ekfqGwMqrck4|`1_pE&*n zzSkG-STfgo!)2vcl{;Tq{4ypeKNq`8+n@{=)kZDu#qZAGx2b|p%{h-q+*gI;IpsTy zP9N`dQHM}1Ox*vQJ|sr67De^|kw|c??GA(;5&CmBnd(%^bfFsM$B>i~j*>|2nAv literal 0 HcmV?d00001 diff --git a/src/assets/iot/a11.png b/src/assets/iot/a11.png new file mode 100644 index 0000000000000000000000000000000000000000..6df176422282fce2cffcf67b70179b7b6b4eea65 GIT binary patch literal 1666 zcmaJ?Yfuws6irn`DU_lpN)gwEL7v%UAtc#Jz(5iKlYjvw1#t+;LINZkl7)naR^dm% z2Le)&zMwFQiWNn$6d%~4Wk3a?1*BsIEh;ZTtVE?syFt+YuC z8?7wtEl4DiRd5hjOq}kfcgbSnd$qYWnmAVDJP96-#p8OZ7A0}ySR4ujtE3627?sM? zQ(93LiL`LNGD3n&gaSl{smM|jhHOx22sVkt@;7LtvLqA-;?M-8nhj2zZvp|OoDD|O zgcPAB5LGCHGPG!ThA2XoktAcvL4QAhWk84kDioIj234|JhZxx4Y+Qt}O>PJTW+8YI z8+bTuwDc&T+x^AWhH zPNr3Aa3!V&OcAAVSSrp23AL}wP-%q1H-XibabL;jF?Hh(>$5z-}@7pfP@-^i^)<|s2UIEvO&T_mMi554AW>-3NMgG zqxn*)d! z9MdT<4FLO)>40mbQZ2{yIyX~q=cJ-qWg05yYcUlt+Z;ss4gmo$%w!O{Y2FkclXxcV z!)I`Kyg(j5kjC-hfOA~=I|`rU!vD*K2r-apvj3U%yo*>Lllf+MiOZYqN7cm2Yl+=v zy^<7>NDC%|xts{Y?_-B!a)q01TP7O3$IDw=a%u$JL65>}TQ{g89;|S-b}Y7I8En?w zcM`i;@Z9c%fy*a>{(FZmShijXqFNVq;uE(sTc)DxMUO-e$C%H)&U{$Ote$x^ad9SL zqW)Rb-@g@y9Jvx!V3W5Fq;^U-)%Elo7FF35jhV|h-|caz9msMynC`g8Rcn88w2BwK zIG(=_vER4!m|(iS_odxqkAVgjLpB-~-kNC}UbsTpdyjwai7}QfsN9#8NGY3cgs&%V z$V*%GqCG_9(8up4>xa*UE{d)jrat#XF4M-QKJ6aw+|{+zBNua`NOdaljO-`2-19XRG*YSHN0 z@5FAGukj1CsGDkhaN5QpRJ$lyn=96rJpK4D+?YNxyv-bzTj%tRd~tNwHv_YUJBh zX*Qub?t>WVhfjDDo?eFJ@6p9vr|6Q zaO5aZn|-c?^HKQT>Z~rHvAOaeOU?BJ@|l(#$Ehk7&fwbRY~W^k8jaSroG!-QrM-zR z+f?lhQO$#UP8sh|dc)fSBDRi;m)Lo7dvo^sAtSGXKEL?5N#^e#(0JQ8V;N!(GD=e> zJ$zj3ms@H2w7X%tX9?+TtakrtB7@^6{_Jap6E^j8Sx LiMXc%Vzd7Rs9lrm literal 0 HcmV?d00001 diff --git a/src/assets/iot/a12.png b/src/assets/iot/a12.png new file mode 100644 index 0000000000000000000000000000000000000000..001070aabf807f9249e1cfa807edc7c6c196a1aa GIT binary patch literal 1833 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 Qddoj9R2n8Z9=tj4Z|}9c@c;k- literal 0 HcmV?d00001 diff --git a/src/assets/iot/a14.png b/src/assets/iot/a14.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6499c8e33d2b386ba578d1ef3ce3ffc0b27608 GIT binary patch literal 2269 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 O{!>YP0`O8vRO&x0La|~1 literal 0 HcmV?d00001 diff --git a/src/assets/iot/a2.png b/src/assets/iot/a2.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6bf6ce0cfcb9ad3ea6f6ece4c77239d9dbe2de GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^S|H591|*LjJ{b+9BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFso;VM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)D7Sp>DE)fuVvqkY!?K zWMOG(Zf>rlU}RuqtZ!hZZ)B=#WNc+>Ze?hq00l}w8;erXtb$zJp!NZIwn`Z#B?VUc z`sL;2dgaD?`9ZUNlbykclj0Rv6HBC$ZMv>2~2MaLa!@My`c1vTL84#CABECEH%ZgC_h&L>}RV? z+-`BgX&zK>3U0SJ3*v4sm{0ZJS^s@b&zCn(dl~D}|H>~~5V0zGM&z&8a%Z@m<~`ni z$hPs5#Iwm8pJcE2?)aod{?nRAKD?|l!ohC$&UEbUVwqz2_-9PJ)nlJRyDu5~4)-18 zcYYCKxp**E=CpX2S=_FBau_E%xFfJw5C$D4$# zO%u5$l{<5kO!^zqSY=aV^XQHDohe%;F`O;D8UA9qkh$uwy>-WLNF+7BT6@vi?vD5# z&6S7t@Xc-sX<1s>lJB+bX1}?|kN-+5v`;*cn(dtvU_V2uX@RNJvRr+IPaMm(*IYfp zb!UpmiNaLoRqwBEpSxQ+JzV4AYqR_XcMmwb-?(o+`sY?E{%w?(&A%SJZx gT?(H5w4Z^Q!F$23=87+3UZCRI)78&qol`;+04~8-pa1{> literal 0 HcmV?d00001 diff --git a/src/assets/iot/a3.png b/src/assets/iot/a3.png new file mode 100644 index 0000000000000000000000000000000000000000..a3de4acd2eda10c073b48be0a92fa93cdcec3d74 GIT binary patch literal 2039 zcmaJ?YfuyC8cyUQjUW)YSWsMo91tNlATcQsLJ~-XAR$meVI;{evO+E-i-cPV7`f

>>Z3nOjNLx7KFsx2er>GL@7H(l?Le205ndu9R;D325;cTjgGwm`2;`Do zP#h!ybF=P2AsCE>4;-I}BnqRMGNqg-G3OAqautfkU_wH*Dv2xuLI5eW3s$fQv+bP( z00vovZNWmaP{o1LVSb((66eLl%kna043H4I83@rbQ35%HNC2%oQ=wsMS%i1IOf)th zlL)}O6eNR1_+3<@Fc#n_)eyiSQUYXTG6kTcQ4o!~iNT=L>HYwfObsNFX(VcJ05y;q zOlMMpfcFmpt*8dmm~q^Q_w~>ni;#{WDkh1PlaoWt2_!1jyGRrUgFzxwNmOb8nh~JM zRUi^=fI{Q7$iRg(GBvD1V5I^uGfJe&Y=lKX)&AawT=jugp?QB*=%tag5*3L;B%9k> zOcV|48Ihqac074;CpwJ)^g$xpKSp<}V2*V(gLk;I`B1h1J1Ia-Y zN(7m~;gG}GJO-6ar-ySR!WXezr7T+xDUd}h_y=~=l324J7gED}ATUC$lmqX2 zX2MHr30{)#Jr-PA3vEd(2^B*!PxeofUOYnWV-7!f7u|etKcqk{uSUIX2sxt1U@X%F zTz0&6cqS3%C$OFNG_R`@qNa|}3V#(wU&Ju@@?Vvu zuWH(iF=n2{M-Mm3-cH}90&X@Abs4(sha0nKqTzy`T;T~U^=j|OQ$5&E67;LcF{Oh) zoLfZ$9AmKm#(kF`_UZ_SOBn;pg|{WPzYSY{73E1>k>8T1BsM#t&X;e+x!}_DxLA4I^_!QjQ z=;hyuoz*$)Avs%TC;+Y#d38G0L&t4d|K!+h`(gTwEKt7PsrsOxw~Y1cUy_qTajx6WJ^HwHQ0mm&Oa4*2T^?)e&fYqwCx=RV#o zb^eodH%G%aS3GtO*&36wpf##<0#leT*F&sY#u~mpCvv^M+2bu?{RNZr1kH8tsi#c> zC%Y34PusLHuf1PPbJ+{0x?g{uM8l3xiNDUX3-iAMJ?_{s(6rCL4D;n2P3&8izU53q z!F0B}#l}ZsPg6GB`pdFF-FOxEnSS1B?9lg@)?M0P3RdCYwobKfT)4(j-}LjGZMYUu zhBM~fD{hb1&n2fGpVZpTG$!ji-?)nCc2O_yeX^r8P&5qAMB0jRWacb(CI={Wz_i>ch z$>&F1`1n34d`A!a;WL054JC5#`Xr+_*7#AAz1Lpn5oYa{q*C?}A*(Ll=FY6kRJ_G? z48!#0{;d(6h{b=M0ZX5wey0Y(15+Z;&J=1r(3~%K*>2s8)yh1lmj0*WbG3JG+E$!9P}46=4GNXc|0@U?IXEG@0(x9K zS--L64D`Zi%G~NVVB;m`R^4#i%uJEkhrt0Id6gB93Jw2hYfLRX&dO=@o?uynoahiO zt}B<_!Kw3QRu?6E#vd!5iLNd`F)_mS`#E6G6n5Dp-m~jj7tOZDbg4h@{Bit|AEWHI zhdWz6e8X<*Esk7%qxw-#=-$s72Y0?8V|mXeci&9V-z%z-4tzmFraxu6mrssdz$1yq z+bUDWiG8F3id$cQuAy*z7tj8XPvMX;zuEM}N(wy@tS#)dleywyuhj3O5Ux-0nB5nb zMDF^+p+Nnw!QDH3q(ygJ`V)vnjhT(3tH=N6GdwuALx;s^CM(Lu1jMW6U$KA}!@U@u GTJnDu%O)!T literal 0 HcmV?d00001 diff --git a/src/assets/iot/a4.png b/src/assets/iot/a4.png new file mode 100644 index 0000000000000000000000000000000000000000..0afa16d8143718af992f5026d85a7ef387e2b9c6 GIT binary patch literal 1849 zcmaJ?c~BEq9F7743dmg%!4N4&kZjllLRM3O9DMe7a9<$+>1D%w9vcV_qf-kb0He&?IbNo>H7v~nfJ#^L5K&??1}wJ?g0g;&cI3_^cP8v!qqG6)g=TryY5 zgyUtQ$trkRGEXQ;UMrzX2@Af#&(}hjfE-4}c&&V$LJesdgb%t9W*d$H0{#O8UCSVR z3`)f1Uczn2dN|)-YY_; zkRlqj_Xh%(3xz4vs8}I^!&nRgCP9+Pq!2Th#t9CjG5slIs-GW+OlMKpOpxi%rm_R* zOe%ex%R(fHa#(?mbERLntO>b>d5|kH&n#FaTMtV)DnyR|kTWEkIF{fE^*(W>6UP!V zAs4`c0Suk}SEt91u<glBGKbYH?bQSRH zH;Y|Uj@wK1?jcQ64he)VrqE`u{Kq&q$!T*Pi0{-Rn`Y%dyOz^ETr1NNEKc@SIvm%L z?GI!G;Y1cIu0{__M4FcHOZj${vzm(bRJykBk10;O?zZc(O*ggZ)w_jut)0e^d`q2s z`QTd|(Ry&W&Nkz`iKBIya#~t( z>V|jr%=FQ1xk>NalY~{CSr;mFvvS&5&!U^O*2GhLFr^5d(8#>HVdaGqS9Re-J5F8P z`@EpWjP0F|&xjKiMfF#NFS&PaLpV94G3|2tESJt}lYKTh>AWr{zHm63Kb=?Y8Rbc| z?lJk+O6twcIH!JIeu?XzupR7PU#Mb_9FTRV+&?_tyCv7#9boZ>vM`cdM!yzu?=%r7g; z6xBz}t37X70rBhgjxD@AcAF(Rh<01QN1PjVF^`?1TkiT(LgU-I^mO8AiAiYWontlU zl=B$FncDM9duscln^JQ8r`h>rkA-h}IBgZU^MF@hm3=W_HD_b)>lS6IbM1+Uq10+7 zHQ%@!`X-@ZUCB{P@a)_GvmWDstV0~1YYY4Zrc)G+XKbavhd6aXJ6;N9R&x6&Ipfyg z#WkxdV^EPW+GJ%z%G+Ibm*6_HQc`qorcbX(MYWGS!Ri3__MFcg(9PphqD4{{9sADy ze*ISuUhMYS>62Y!?Cy-_CKdlV9akOJafoPQarlpoWsAT%b_V?D@Sre8b^E!uv}4i} zua&-UD)zgWyU#B5hy&iY{xUu0v|Gt<^byM0_YT%4k>;%y@AUV6eCxOhXVo2ea|M#U Q#_%%>WAj*bA*;6h16^C(W&i*H literal 0 HcmV?d00001 diff --git a/src/assets/iot/a5.png b/src/assets/iot/a5.png new file mode 100644 index 0000000000000000000000000000000000000000..ed05722fe19da9c9e3d043556f11bfa8522326e2 GIT binary patch literal 1574 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 K{3rP1!~X?%r!#{9 literal 0 HcmV?d00001 diff --git a/src/assets/iot/a7.png b/src/assets/iot/a7.png new file mode 100644 index 0000000000000000000000000000000000000000..9a954d5ed88a43654822a9734a792d10a8953308 GIT binary patch literal 1884 zcmaJ?X;c$e7)?&XB1@70tg;N3!+rCR#R#f+lh+yN9mk1^S<}az4u#ZCMP^}iJ8e9 z6B3DJ#$5_W605WRHZ~-lmoHw6A(q*AfB=ue;&GKofs%X?EDi;@Qc(gLiHZ=-nro;h zi8Nt>gfGAaybz8UlafVx3|TFe6KoR6bFo@35+|WJ5Qip6WM1Hlx&{!CAYR}ycOI1| z_eT>YOSK9#N*l@-Ym>xm1YGP5c&a&sfE2|=fLfX?Q*zW^;0Ij}Ve5}6An*Z#CwYM% zgA(w<0e?(^0&FtmCZaV|&E1Vg=eV;t5CiyhfrLi| z63>Z*13&pAc3xm2j>|a|ib|y-tLS7*kwAgiY&L~TqtIw>1j0?Jk>Mh>n@njxrU0W# zu|gupC72A*D~jT<6x<6WqWzeLRQ_33rul%0x^K&=_PE;IvF4 zLok(c;Rgbb$KlG9xJV{Oxv&>VNRTBGgafl_RM>+_cc)Vs5EMvdvpoX*7;LsL->>=K*L(~ruCkyjA2eeSoqBg8Ay%7uOT>h5Q|Bun`bR?Vj- z*;f~o6ra4Dkx^23FgX)^7tXH{t~;7&-wnHLWCphu&MY0ygKfd1HQC_R1Afa7T$Mx| z@{X<*F0T=6aN~@I?%B}Vcl|u;mEp9d?<;%rbZSqiLR6C@akLL& z1ienT9d6Qe4JdSe`9{-yY`0F-X4D?AxwBzeANkBLsdcNe&V7^Y)I5D+lx1+ENn7J1 zaaEf{ZqPJf>1fi3T>6fBBCF?wui30)HZv%x6Eb6V#TeH5cMYra{S=lZ-J6l^uEw`~ zS5bxB7J=dSc2^lEzs*_OY!$xY#;Gk@t4vMyyiGx#+oo(g=KboC1?FR(BYfVVJ4@;9 zH9azWDC&C5TxLYRwHqw%#GiK)KIoSG8dTa%n{KIALRmRi-f8f75Db!`3|> zvXgG2h_4<+r_AcPSDO>(bYnr~mDnfyiW2OT4msVEl`p?A$1%0&X@1N8*!tTJe@{Bs zGinM=PFr?Yc(plZeoKD{ym(aeb>`u1%qc(*D{o$x zRwy>#T6!X{JUtWX(Ar)vrJEHNa1zLZIM=pjyUL3fIF4_GDZ`D| zfX-ODRj#FrZqRAp3FH2Dczfr&uGY4yH@x)Vj$D=bdV`9Qu*P6r{oXaLXKWI5>heE| z4%?gzK0S13O_F`rYKJU!>U2ca4J=Puu|Vk9ZP70%n@|`_9^Q1_+o$%$rqlg?%yzJS z=arO<=#mE4eVOKIyYv0Nl&_Z+k|0ZD2VsvDzvqgS#U=di$Onqqe~ws(60e z=2&=fd5HNz8P;y&+gtY6?~9s`+YV(rs207U01x2S6DBp=;(b^ zViUHvaY|Y4@e!Bsref!ava?}6xkGhH&)Dq146$}Jl-qI!DSUleH&`Rig_e5Xn%eU8 zWyrkSiF|nWBQLJaQ=2ctiU@6nD$ zX=Q`iS%JyDm-?OLgMlgO&aXo0;bZ4c>Hl}!fKa&7FE-;J D7gF!J literal 0 HcmV?d00001 diff --git a/src/assets/iot/a8.png b/src/assets/iot/a8.png new file mode 100644 index 0000000000000000000000000000000000000000..64be82c0c67825ccd177065462b51d091b7e663e GIT binary patch literal 2371 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 literal 0 HcmV?d00001 diff --git a/src/assets/iot/a9.png b/src/assets/iot/a9.png new file mode 100644 index 0000000000000000000000000000000000000000..8a23cb03c38558625a9afd812aaf67b64464c4e2 GIT binary patch literal 2531 zcmaJ@eLRzU8y}S%-)XF*YEoNaVvbi>4pZD z1`r6u(33&)*RKDXdG+X6>>}>K-Hw03)O^Y%u_#a=~x_>M3AH0{#G-8@sas zaE3tU*z#FH(jcZ6i317{?3o;dOd!&tArNPZOvL8w0Hn}xAd)X6!$zuaz@U6C8MX<> zL@`Bf0FTd*i-7>SH;W_R!69;C6c?zojHD$H08%zoCWsPBNHQ|)3ol6<&m1FR&@U;{ z9c0+wqJo&dP&ZHvK#2%6oP$E4p#*J&#bX?aL;`_e55=G`4oDOpiNV1!4kR3bgvLU@ zJ}_-XF*kzbPxJU%PrD<-cv7i|gha-~#2{iE5TG~`i6#<>NE8N%!N9c{a7nCC%9g=} z66;w88X)0_`64MF6hdbh+2PH9&RWq%^iowIiRp;v+L{`;O!8Ip1&uJ z%93?F433Lh;=cTo=5^OOdS|%_Pe(vo_)BWKbN`tnDo4ghv7=f0K@XXjDOSNUO*6y8 z8P-&O-+>KL`l>af2D*G)*m~A|8fv}0ALGzZp@M6nBl61XUc#%;>Zq7baut(%1nKbP zqo%2HEUr0wXY-3_nN1aQ#p>3gixffS!B)o9a4S`@+2DX<$@9tNZwmu>C&b6}1(=;8kW4NRaBv2SvB&qd` zT=VIsjLk7yvTEPCtuv|VdJ(dV(e3AJ*{@XDWRN4E$%7FT#>=4cv`Us57yEqF(Y3S- zpFDcjEQ?FC@y&PpkXG0lR}_$SB>1??h%&hBJxf7&swuIL#g{H`FLYtdOEx-KQf1t8 z-K4rILzkhiQ?xkx(Q(?7Nvc2h%%bgeErNIqj&NdM<4EC}tqWq)&N#eDUAMo*X9==t zj~&a!T*IKG4ZQ6u!oz=i)q5-XXwYf;&7Sy?;vTawbN7vUL&ftS9xehnx~wiVr?$$zS3}}*QvFRrcwxs)19ynkDD?5`LJofI&lzeZW>46Lj z$C?4?uWU(RTS52R3y;qQysKQS*=1546-&4oP?Z1X)-t{Fhb=+0MpgTk|K{MB&U zGGlgne~03w_jB~3ZM(MmC}4M5GxrwnxU_tlR-Bzj-sY{_4k;*QZ9qF$ZogwA6(fU{ z2={UP-P_lb2I_<-S)7m09PyE9k#Xv)L z+LOb5Z~suV>b39;gTtBg{aTIGCCY0HPcJC@^+Abg!%h1InY|g4DVJ*Dd+tb>&XIKq z1xYJ@Jl07oe($I*xtywr&OMZ6c{?&QH*en`Sr`Ryy+eK|L#=+T8IGvM_bly6&r=yd zROOTJtFVOyF+K-hZhHzpP_iw~&@4yEvNO%|63_qFmeJ|`;ea-3Y9GH$Gn@H z3~klzdncWTlvk+DGG`%3jeKE85Z{Tw$hThq=~gDvx3LTwF(&Fd{D iCrdl~SB8H!KtWn^tixQb1l}{hU7qgVv=Y~_r2hcJeJ;fS literal 0 HcmV?d00001 diff --git a/src/views/deviceSync/DeviceSync.api.ts b/src/views/deviceSync/DeviceSync.api.ts new file mode 100644 index 0000000..2e6a46d --- /dev/null +++ b/src/views/deviceSync/DeviceSync.api.ts @@ -0,0 +1,19 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + getOrgInfo = '/admin/orgapplyinfo/orgApplyInfo/getOrgInfo', + + addNuIot = '/admin/nuBaseInfo/nuBaseInfo/addNuIot', +} + +/** + * 获取机构详细信息(包含sys_depart信息) + * @param params orgCode部门编码 不传查所有 + * @returns + */ +export const getOrgInfo = (params) => defHttp.get({ url: Api.getOrgInfo, params }); + + +export const addNuIot = (params, isUpdate) => { + return defHttp.post({ url: Api.addNuIot, params }, { isTransformResponse: false }); +}; diff --git a/src/views/deviceSync/DeviceSync.data.ts b/src/views/deviceSync/DeviceSync.data.ts new file mode 100644 index 0000000..4ba1c9a --- /dev/null +++ b/src/views/deviceSync/DeviceSync.data.ts @@ -0,0 +1,176 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const baseSxtColumns: BasicColumn[] = [ + { + title: 'SN', + align: "center", + dataIndex: 'sn', + width: 120, + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName' + }, + { + title: '设备状态', + align: "center", + dataIndex: 'deviceStatus_dictText', + width: 120, + }, + { + title: '设备型号', + align: "center", + dataIndex: 'deviceModel', + width: 220, + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + + +//列表数据 +export const baseDbColumns: BasicColumn[] = [ + { + title: 'SN', + align: "center", + dataIndex: 'address', + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'合闸':'拉闸'):''; + }, + }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + + +//列表数据 +export const baseSbColumns: BasicColumn[] = [ + { + title: 'SN', + align: "center", + dataIndex: 'address', + }, + { + title: '设备状态', + align: "center", + dataIndex: 'relayState', + customRender:({record})=>{ + return record.relayState?(record.relayState=='1'?'开阀':'关阀'):''; + }, + }, + { + title: '在线状态', + align: "center", + dataIndex: 'online', + customRender:({record})=>{ + return record.online?(record.online=='true'?'在线':'离线'):''; + }, + }, + { + title: '信号强度', + align: "center", + dataIndex: 'csq', + customRender:({record})=>{ + if(record.csq){ + if(record.csq < 10){ + return '低'; + }else if(record.csq > 20){ + return '高'; + }else{ + return '中'; + } + }else{ + return ''; + } + } + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; + + + + +//列表数据 +export const baseWsdColumns: BasicColumn[] = [ + { + title: 'SN', + align: "center", + dataIndex: 'sn' + }, + { + title: '设备名称', + align: "center", + dataIndex: 'deviceName' + }, + { + title: '在线状态', + align: "center", + dataIndex: 'status', + customRender:({record})=>{ + return record.status?(record.status=='0'?'在线':'离线'):''; + }, + }, + { + title: '启用状态', + align: "center", + dataIndex: 'delFlag', + customRender:({record})=>{ + return record.delFlag?(record.delFlag=='0'?'启用':'停用'):''; + }, + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 120, + }, +]; \ No newline at end of file diff --git a/src/views/deviceSync/compoents/AddNuIotForm.vue b/src/views/deviceSync/compoents/AddNuIotForm.vue new file mode 100644 index 0000000..0bcacc4 --- /dev/null +++ b/src/views/deviceSync/compoents/AddNuIotForm.vue @@ -0,0 +1,197 @@ + + + + + diff --git a/src/views/deviceSync/compoents/AddNuIotModal.vue b/src/views/deviceSync/compoents/AddNuIotModal.vue new file mode 100644 index 0000000..1a5246e --- /dev/null +++ b/src/views/deviceSync/compoents/AddNuIotModal.vue @@ -0,0 +1,83 @@ + + + + + + diff --git a/src/views/deviceSync/compoents/CheckDbForm.vue b/src/views/deviceSync/compoents/CheckDbForm.vue new file mode 100644 index 0000000..0fe9bff --- /dev/null +++ b/src/views/deviceSync/compoents/CheckDbForm.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/deviceSync/compoents/CheckDbModal.vue b/src/views/deviceSync/compoents/CheckDbModal.vue new file mode 100644 index 0000000..f935b1d --- /dev/null +++ b/src/views/deviceSync/compoents/CheckDbModal.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/src/views/deviceSync/compoents/CheckSbForm.vue b/src/views/deviceSync/compoents/CheckSbForm.vue new file mode 100644 index 0000000..56b8191 --- /dev/null +++ b/src/views/deviceSync/compoents/CheckSbForm.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/deviceSync/compoents/CheckSbModal.vue b/src/views/deviceSync/compoents/CheckSbModal.vue new file mode 100644 index 0000000..44968b9 --- /dev/null +++ b/src/views/deviceSync/compoents/CheckSbModal.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/src/views/deviceSync/compoents/CheckSxtForm.vue b/src/views/deviceSync/compoents/CheckSxtForm.vue new file mode 100644 index 0000000..455993e --- /dev/null +++ b/src/views/deviceSync/compoents/CheckSxtForm.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/views/deviceSync/compoents/CheckSxtModal.vue b/src/views/deviceSync/compoents/CheckSxtModal.vue new file mode 100644 index 0000000..8b84b08 --- /dev/null +++ b/src/views/deviceSync/compoents/CheckSxtModal.vue @@ -0,0 +1,71 @@ + + + + + + diff --git a/src/views/deviceSync/compoents/CheckWsdjForm.vue b/src/views/deviceSync/compoents/CheckWsdjForm.vue new file mode 100644 index 0000000..eaecf5d --- /dev/null +++ b/src/views/deviceSync/compoents/CheckWsdjForm.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/deviceSync/compoents/CheckWsdjModal.vue b/src/views/deviceSync/compoents/CheckWsdjModal.vue new file mode 100644 index 0000000..cb51718 --- /dev/null +++ b/src/views/deviceSync/compoents/CheckWsdjModal.vue @@ -0,0 +1,70 @@ + + + + + + diff --git a/src/views/deviceSync/compoents/DbList.vue b/src/views/deviceSync/compoents/DbList.vue new file mode 100644 index 0000000..40237c4 --- /dev/null +++ b/src/views/deviceSync/compoents/DbList.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/views/deviceSync/compoents/DevicesForm.vue b/src/views/deviceSync/compoents/DevicesForm.vue new file mode 100644 index 0000000..bb64fef --- /dev/null +++ b/src/views/deviceSync/compoents/DevicesForm.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/src/views/deviceSync/compoents/DevicesModal.vue b/src/views/deviceSync/compoents/DevicesModal.vue new file mode 100644 index 0000000..b297280 --- /dev/null +++ b/src/views/deviceSync/compoents/DevicesModal.vue @@ -0,0 +1,83 @@ + + + + + + diff --git a/src/views/deviceSync/compoents/SbList.vue b/src/views/deviceSync/compoents/SbList.vue new file mode 100644 index 0000000..2a27095 --- /dev/null +++ b/src/views/deviceSync/compoents/SbList.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/src/views/deviceSync/compoents/SxtList.vue b/src/views/deviceSync/compoents/SxtList.vue new file mode 100644 index 0000000..7b92832 --- /dev/null +++ b/src/views/deviceSync/compoents/SxtList.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/views/deviceSync/compoents/WsdjList.vue b/src/views/deviceSync/compoents/WsdjList.vue new file mode 100644 index 0000000..946afa5 --- /dev/null +++ b/src/views/deviceSync/compoents/WsdjList.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/deviceSync/index.vue b/src/views/deviceSync/index.vue new file mode 100644 index 0000000..9587409 --- /dev/null +++ b/src/views/deviceSync/index.vue @@ -0,0 +1,433 @@ + + + + + diff --git a/src/views/iotsync/components/OrgApplyInfo.vue b/src/views/iotsync/components/OrgApplyInfo.vue new file mode 100644 index 0000000..0658f60 --- /dev/null +++ b/src/views/iotsync/components/OrgApplyInfo.vue @@ -0,0 +1,392 @@ + + + + +