From 1f9a199ebfadf6cb3814def640ba9301091ab6d4 Mon Sep 17 00:00:00 2001 From: wanli Date: Wed, 16 Nov 2022 11:35:10 +0800 Subject: [PATCH 01/10] =?UTF-8?q?[Backend]=20=E6=96=B0=E5=A2=9EbajaJS?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Backend/App_Data/bajaJsList.ods | Bin 0 -> 16923 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Backend/App_Data/bajaJsList.ods diff --git a/Backend/App_Data/bajaJsList.ods b/Backend/App_Data/bajaJsList.ods new file mode 100644 index 0000000000000000000000000000000000000000..171524260bebfd840df2be5661c8fa8c06ce138e GIT binary patch literal 16923 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 Ws1GzhBqaQYm+gbo`5^xL?EeDen(=!8 literal 0 HcmV?d00001 From 6a994b4d8c850d95c20d1711632e1cb94e1c2de5 Mon Sep 17 00:00:00 2001 From: wanli Date: Wed, 16 Nov 2022 13:31:09 +0800 Subject: [PATCH 02/10] =?UTF-8?q?[Frontend]=20=E6=96=B0=E5=A2=9Ejs?= =?UTF-8?q?=E6=AA=94:=20=E9=80=8F=E9=81=8Ebaja=E5=8F=96=E5=BE=97N4?= =?UTF-8?q?=E7=9A=84=E8=B3=87=E6=96=99(=E6=AD=B7=E5=8F=B2=E3=80=81alarm)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/js/n4js/alarmbaja.js | 106 ++++++++++++++++++++++++++++++++ Frontend/js/n4js/bajatest.js | 76 ----------------------- Frontend/js/n4js/historybaja.js | 37 +++++++++++ 3 files changed, 143 insertions(+), 76 deletions(-) create mode 100644 Frontend/js/n4js/alarmbaja.js create mode 100644 Frontend/js/n4js/historybaja.js diff --git a/Frontend/js/n4js/alarmbaja.js b/Frontend/js/n4js/alarmbaja.js new file mode 100644 index 0000000..7dafdf7 --- /dev/null +++ b/Frontend/js/n4js/alarmbaja.js @@ -0,0 +1,106 @@ + +/** + * 取得異常資料 by baja + * @param {any} startDate_millisecond + * @param {any} endDate_millisecond + * @param {any} isRecover + * @param {any} isAck + * @param {any} alarmClass + * @param {any} callback + */ +function getAlarmByBaja(startDate_millisecond, endDate_millisecond, isRecover, isAck, alarmClass, callback) { + let _sourceTmp; + var _result = ""; + var _ss = ""; + var _bfName = ""; + var _sourceName = ""; + var _index = 0; + var _recoverState = isRecover ? "!= null" : "= null" + var _ackState = isAck ? "= 1" : "!= 1"; + + require(['baja!'], function (baja) { + baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmClass = '" + alarmClass + "' and timestamp.millis > " + startDate_millisecond + " and timestamp.millis < " + endDate_millisecond + " and normalTime " + _recoverState + " order by timestamp asc").get() + .then(function (table) { + return table.cursor({ + each: function (record) { + _sourceTmp = (record.get('alarmData').get('sourceName')).toString().split('_'); + _bfName = _sourceTmp[1] + "-" + _sourceTmp[4]; + _sourceName = _sourceTmp[7] + "-" + _sourceTmp[8]; + _ss += ', "' + _index + '": {"buildingFloorName_zh":"' + _bfName + '", "uuid":"' + record.get('uuid') + '", "timestamp":"' + record.get('timestamp') + '", "alarmClass":"' + record.get('alarmClass') + '", "sourceName_zh":"' + _sourceName + '", "msgText":"' + record.get('alarmData').get('msgText') + '", "ackState":"' + record.get('ackState') + '", "normalTime":"' + record.get('normalTime') + '"}'; + _index++; + }, + after: function () { + _result += '{' + '"count": ' + _index; + _result += _ss; + _result += '}'; + if (typeof callback === 'function') { + callback(_result); + } + } + }); + }); + }); +} + +/** + * 取得單一設備最新10筆異常資料 by baja + * @param {any} devicePath + * @param {any} callback + */ +function getOneDeviceAlarmTop10ByBaja(devicePath, callback) { + var _result = ""; + var _ss = ""; + var _index = 0; + + require(['baja!'], function (baja) { + baja.Ord.make("local:|foxs:|alarm:|bql:select top 10 timestamp, ackState, alarmData, alarmData.sourceName, sourceState, uuid, alarmData.msgText, normalTime where alarmData.sourceName like '%" + devicePath + "%' order by timestamp desc").get() + .then(function (table) { + return table.cursor({ + each: function (record) { + _ss += ', "' + _index + '": {"uuid":"' + record.get('uuid') + '", "timestamp":"' + record.get('timestamp') + '", "sourceName":"' + record.get('alarmData').get('sourceName') + '", "sourceState":"' + record.get('sourceState') + '", "msgText":"' + record.get('alarmData').get('msgText') + '", "ackState":"' + record.get('ackState') + '", "normalTime":"' + record.get('normalTime') + '"}'; + _index++; + }, + after: function () { + _result += '{' + '"count": ' + _index; + _result += _ss; + _result += '}'; + if (typeof callback === 'function') { + callback(_result); + } + } + }); + }); + }); +} + +/** + * 在單一系統下,取得各個設備的異常狀態 + * @param {any} systemPath + * @param {any} callback + */ +function getOneSystemAlarmStateByBaja(systemPath, callback) { + var _result = ""; + var _ss = ""; + var _index = 0; + + require(['baja!'], function (baja) { + baja.Ord.make("local:|foxs:|alarm:|bql:select alarmData, alarmData.sourceName, sourceState, uuid where alarmData.sourceName like '%" + systemPath + "%' order by timestamp desc").get() + .then(function (table) { + return table.cursor({ + each: function (record) { + _ss += ', "' + _index + '": {"uuid":"' + record.get('uuid') + '", "sourceName":"' + record.get('alarmData').get('sourceName') + '", "sourceState":"' + record.get('sourceState') + '"}'; + _index++; + }, + after: function () { + _result += '{' + '"count": ' + _index; + _result += _ss; + _result += '}'; + if (typeof callback === 'function') { + callback(_result); + } + } + }); + }); + }); +} + diff --git a/Frontend/js/n4js/bajatest.js b/Frontend/js/n4js/bajatest.js index 59e87a7..171fad3 100644 --- a/Frontend/js/n4js/bajatest.js +++ b/Frontend/js/n4js/bajatest.js @@ -1,79 +1,3 @@  -/** - * 取得歷史資料 by baja - * @param {any} devicePath - * @param {any} startDate_millisecond - * @param {any} endDate_millisecond - * @param {any} deviceName - * @param {any} company - * @param {any} callback - */ -function getHistoryDataByBaja(devicePath, startDate_millisecond, endDate_millisecond, deviceName, company, callback) { - var _result = ""; - var _ss = ""; - var _index = 0; - require(['baja!'], function (baja) { - baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get() - .then(function (table) { - return table.cursor({ - each: function (record) { - _ss += ', "' + _index + '": {"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp') + '"}'; - _index++; - }, - after: function () { - _result += '{' + '"count": ' + _index; - _result += _ss; - _result += '}'; - if (typeof callback === 'function') { - callback(_result); - } - } - }); - }); - }); -} - -/** - * 取得異常資料 by baja - * @param {any} startDate_millisecond - * @param {any} endDate_millisecond - * @param {any} isRecover - * @param {any} isAck - * @param {any} alarmClass - * @param {any} callback - */ -function getAlarmByBaja(startDate_millisecond, endDate_millisecond, isRecover, isAck, alarmClass, callback) { - let _sourceTmp; - var _result = ""; - var _ss = ""; - var _bfName = ""; - var _sourceName = ""; - var _index = 0; - var _recoverState = isRecover ? "!= null" : "= null" - var _ackState = isAck ? "= 1" : "!= 1"; - - require(['baja!'], function (baja) { - baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmClass = '" + alarmClass + "' and timestamp.millis > " + startDate_millisecond + " and timestamp.millis < " + endDate_millisecond + " and normalTime " + _recoverState + " order by timestamp asc").get() - .then(function (table) { - return table.cursor({ - each: function (record) { - _sourceTmp = (record.get('alarmData').get('sourceName')).toString().split('_'); - _bfName = _sourceTmp[1] + "-" + _sourceTmp[4]; - _sourceName = _sourceTmp[7] + "-" + _sourceTmp[8]; - _ss += ', "' + _index + '": {"buildingFloorName_zh":"' + _bfName + '", "uuid":"' + record.get('uuid') + '", "timestamp":"' + record.get('timestamp') + '", "alarmClass":"' + record.get('alarmClass') + '", "sourceName_zh":"' + _sourceName + '", "msgText":"' + record.get('alarmData').get('msgText') + '", "ackState":"' + record.get('ackState') + '", "normalTime":"' + record.get('normalTime') + '"}'; - _index++; - }, - after: function () { - _result += '{' + '"count": ' + _index; - _result += _ss; - _result += '}'; - if (typeof callback === 'function') { - callback(_result); - } - } - }); - }); - }); -} \ No newline at end of file diff --git a/Frontend/js/n4js/historybaja.js b/Frontend/js/n4js/historybaja.js new file mode 100644 index 0000000..0464754 --- /dev/null +++ b/Frontend/js/n4js/historybaja.js @@ -0,0 +1,37 @@ + +/** + * 取得歷史資料 by baja + * @param {any} devicePath + * @param {any} startDate_millisecond + * @param {any} endDate_millisecond + * @param {any} deviceName + * @param {any} company + * @param {any} callback + */ +function getHistoryDataByBaja(devicePath, startDate_millisecond, endDate_millisecond, deviceName, company, callback) { + var _result = ""; + var _ss = ""; + var _index = 0; + + require(['baja!'], function (baja) { + baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get() + .then(function (table) { + return table.cursor({ + each: function (record) { + _ss += ', "' + _index + '": {"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp') + '"}'; + _index++; + }, + after: function () { + _result += '{' + '"count": ' + _index; + _result += _ss; + _result += '}'; + if (typeof callback === 'function') { + callback(_result); + } + } + }); + }); + }); +} + + From cdbcfcdbaddeb48cb8035ce8171ca1a7a1694d7c Mon Sep 17 00:00:00 2001 From: wanli Date: Wed, 16 Nov 2022 13:32:50 +0800 Subject: [PATCH 03/10] =?UTF-8?q?[Backend]=20=E6=9B=B4=E6=96=B0baja=20JS?= =?UTF-8?q?=20=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Backend/App_Data/bajaJsList.ods | Bin 16923 -> 17388 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Backend/App_Data/bajaJsList.ods b/Backend/App_Data/bajaJsList.ods index 171524260bebfd840df2be5661c8fa8c06ce138e..8f63b6d2fa772831f961e819723dfad49a99ff97 100644 GIT binary patch delta 12682 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 ZP5d`EeoUI?-mL`mNSX!P3G$EP{{flB)l2{Y delta 12219 zcmZ9SbyQT*_vjG>DMh+L5RmSW973eKTe`dRswfBu2t%hxBQO#}!-x_h-6f!OHw?qn z)8Fs+-uu3H{y2N>z3<-V-n-7aYwvqLhw*pv-`pY9*TTC?g@Z$ggLBH5Mrw%rcYY!H zcLuZJvZtNW{L^#9|I5k_esPEDpNH_yKLa@Aj_iMV*}=1SDE{Y)RV7m5|C{e`j;DVe zO;)(_cmBydyc`1Hl+n)w=Rd~Zm2teCgX{&vyuFgsM^mPSsouinRGk*MQVMm|YiF7q z@o^K_7fh<7DM{;X7RQ{zA`4);_kxu&l2gZr&{6B#XNX$x6F*yvCN+*>1Kj84)!Hz% zwFj(I#Pa7-$wxArFE#k$#Bx3qu{CSFX8^_{o|Lba7PDE?4QxDhaZIzAcg)+tKW^|+ z$yeZ^Tl*v-@)qvq7q>XaH?AE?F#h_*HLeR|uWgstfaM&?4{U|m;c^$$Y>wy4Q^{3k z+qrzC1>Xg7by3}BK5TWR*3ddSyLWGq6QAHdW$GZuV>(X037tRq>sFo97U7TalQMxj zmD1%rY&<+C(szY zoXa;oG@UHsO3@i3-@YGXBHt4_im=nyxEdTb9eE**V)(6WK22l4Q5 z!MAL2*bTHO+G?b)(u%9yO>RFNDlgRrIFXmA;sc*{ zeVG@6%Z)*kI4urIG7}#KWYXPo^x?sMMYZY!CF3&zmfmD)>M)qQ|msTOA?<@M^s( zSZp+A=hTv}QYIZ8JL50DaQ1f9(K#Y!XDWJ)XI9w!(_FHa&+22LDeds5%Xc+9TbKLc z(zTutaYMcE^0bEv)kL*3;3wbgy@!M1?!t1KKDwLh{&v;ZV&!CKV$t$-mvAc&q4E2w z_|c%gC7#Q3*^tTYZC`oGI)#4uDiELzqax>GThI8DRF(HwS?R|_Rrh-+gOYzWqX6?L zBQ=L_RGWvgR|xbfYd* z#u@_OsZ^Hi0~!4Ch%zhEWnak*EhlVrN4UAWtGsi5tYy$hC3YqHX^Q-W(Gp-XrixUE z=b&qQt!1nK?Cdn;_3IC%E3du?JjuiSjY=}4^!WIsR?eJGdNt(bD&Kxs*KE+M?_iP5 z2;lJcSNl?sxI}pN*X|y-@9A6S25+Q`Rb&Zj@J14Gmw^XasopzQ;aL1*_5CfvgXi6()!Q6Z~41metx))V?_Os}f(h(tv*j3Y5P0!~VSaSD!v zfr}f&HHl7DBkU6f3kG#?RS8v_{9%PV+TUYp^im{U#K@=3i`*5NRY|E8I_nlfo_#ZB zBC4yVe!)}rXlqJEh3laDi+wNEZ+;cL+oG>f4pjoOQwu$=WZ0b7J&#DBx0#TUV5C4U zi|_|+4sjmmgt(tO-B*erR8eUsyk{BVTpGBse=I~B05Qe-|2?70Y$Z zO`&plmk->fHlanpO1j<48Tr(~-a~7;smG-)O~gR;O;)L*tdUe-9)2%R1%ZM8GlH{; z9#y@rx*uWj!%cER>I}UA>uWL6d|?4ETs|tkQu|>&600-;)8~DrIW#S}R{XTjznd1& zv`|>pWT|~O%_~}~*_v`&_&NP;fP~*{Qw`57m!XYf_zW@m)ub}pKPtTJeN%c3#JL&y zvLs8Gcj+x-zP`ISx!$HZMf0C9D@iBPX#??(qV~>%9=!%Ho=|Oz0550_gZTNnxqR440a+Ebjoso96; zeEnuNxoOY+qE?)aAPP`$d08VKG$3h7(-T|I_qoTPB=6x}_^&FGsu1B;YAXWa~o$DD&zSlKsgbE8F_4$GEl#RaB(`5+%-ip2JeO+HFlR)vf@m*_HZl$OiV zB;E}5e@G|$q1-Rd_;kz%m)@?1499yZxK?7Gz*o ze7KPsY~02W$*1!09&STU>}thSs?4rT%fndNU7hDekCfMOC7Oub*dJ^{@J;aN90Pa> z!>9HM?{;m?TP2nn_mnweIC$3vPDvJ2HBJUBN)S#}R$WX{(R8K-1$eV1QGb$osHzHd^P5Kfsb|` zUx(kV=tO+y|Gl`l8Zd5q5Y>{bKT2FAbuvOz)HELgsSWk<4jC&r!5~MD5Au(#d`EC4 z;on*!F*2i7$D?BKlfry_W81q@kTLbUE7RGbk^nuB$T9Us)3w8rw{Lc;`?WkU)D1V- z8SsXqQe|6L53M`o@<`xMqwaT+GP%hf4qvaTWUmG8GE9Vzz{1LO#aA;mS~<=!x)y zxgKC_^k4;oZ3l^c{NUONf~_H(9z&I1tt@uEqR2aDjYX@@$s<|eC{sfqK^1K3sVF01 zBBaoIgHi@G$e5Ul(sD{3*edc+ZLE&PTOHrF z_u^h%Cp;=xnGTJy0#XMqTd$O8+gO2ppr|Jpdkk4g%6}>suOF7u5=3N2r%fI4D_|Mk zw`LW0F*8M?mPK|ptd_#h%EJ%iX0ow;+J>5H(i$c~ohub3qMU_SL?8Fu7*_Ld;-_@E zOt2KX!SiKh*D#vXAr3~Bak|_oD>XbJMi#bSxs+nZLbs)HTlisEBRtcVN<6#C2&DVF-DUgipP1 zBCO}$Ra+wJ#86at&q+9wIMLS0?-k|U?eHP{H|&;F4h9dUQ?_mbw%=0bg0;rwhD`MF zsF_9kJilA_fkMbbCRvPRr3C4LQLK+sGx87ocy6v#_c;mpQRzLC7w%;7adElMIo2G3 zs%*-F(|enXV=$kN6JToS7Z)>id`#>l-&4~|A$fmczk*N4;a-f~L;i+xFn~l)S1S>UU&D}gaZh28F92K|mOi+k8 z-1PU)+*rJsqu$4t#Qsk2(wcHLpLqoL{l*>V?+!bB+Z@*=$|8~$p$XXfr*c<5g&HN; z4zaEW_9#c$^7q}y`M->Ro<#y+|mFZ6c#NFXiP|8j< z((abUo~tMmewex#5UVa51n<>b+4dwbK#GfB$>1NP>>I`M7KUeiPA z9QRyzW z-UJ;l`yZaouENn$tZ3Y&;5qVJP?{`I;(jyaDgC4u~z;PfFl{A;dZi>q7aq*M%+lj zk}>!3%57B7F%miA5VHihAQG|S+;#oNT7)8fb{vmB0J4S|u3FU3&D(x!2);g94z$rv zO>QR>xkFl~mG#4szp@gg#|&RhlxMs8JXak8EZ7})Aft7X&cMV;$k0BZ$nu8-wsh1r z??Q+fyD_2%*sV)g=Bd8bf1vkz8rZCr|L>s@aQ0%Il3 z2~xA4sjwM@jlLH!_q>={6l4o)dUFErE#jF#VL$XNbvsRWyr_+j+SGXx(+TXgqMwG< z<_n+yft6#rZ0f)nkZ~34#6&}U@BIwVUp!B=c_4~t#IC$cC!AnCQQdo zF>6zj@X`G3ctevnOG{?;XJ!ym2qupaNY)fs_$(!KR;e!gs%0w+Y@DiCoy3?Nqz} zW8wMqmbZ<0ge^l`R=olcgYjL77;*jMWw}iE(P~0xHnqUF3HufSd&*-oer!;wLa0TD z3C3i@mVt@{xyl4}qy>U@c+#biWii@7L3{-2z`3%uHr!jxx`tg`dfMM}P~PlcuNSU- zW0G`Yj}dK{$-Wqec6lN8Q&SZY`$1)asVn!#JEL{n#U$KhD}h3rS}Xzfq|k7_Q>GV~ z1)$nAPmw1B|Mf+~!SrISuveXotCt?9Hdxl`Q3`BC3T>+tf7~;ln8u4)GuZ0sr`v(S z10gxRa~f>Fo8zus*vh+>7V!R2<%+-=wUDRmUQ=a^&2VntXGhKRvk#FQQ1g4sJ*(`t zM^>0?Br|X=A|^MZXCwUwf2ZDMxcyyaC`f!o+q+zk@S>9M+VoJFklMD}s>im}4#u^I zl0_vU1^b(G2Ddc4cLwx}uA@tftvVs`!8TdW-mM2sR}706of+OtuG#Rkl=Rk90nB?( zc|$>08q5*KGkVVqf;2~N(IERDr-G=E4x?vR0LfY$z2#ut^6q$JBdcs`;m+dS&R>|z z8Y6#j@5M6hJja*byRCBF9g@~-Yv`ZlMc8HNy-w%irMJ6B%^tQK!LMeX9!IaJ7H~=z zdZx6r#`ukeOSDWgVh}ksmeEMVuVYKHO#Y+4_M}}9F4!cS?Uolsck`|GLB^d+j>WDq zK!Ja|Kt=go$)uJA{+)0rv}5nO?VmBWGEZUVL3iwlQCpTHYwGM^ z!dqWr-ixJ(;%=e6EuQ&fxv7$_*2rP>m0$zHEp0#nR>pGGeQ)C!AcA^b=UAQW9BKDF z^^9>yZXbk^yA(ai&hmHT-3_BJe~p*}D8B91`|(-K@pJF)gg7_-@t39x&t1vi0D46F zPimQlA4xDC?y0F@xda9gPZy>gJaf3}DtRh`^<9{Cpd08v%VPew3GSoYC&4ej6Skje zuc&I+@g#|W?T~s3EntS4LT}NgcUL2(HHt80^;NYK<)Pm4rZ0k+U%uDxEq~4dHfp+i z3fz-{9s8JhHkXqqo?h^tv&a0sl*^w^WgkNYO72T30Xco%2~01X@IUH-i6{uUeYlWj>%LM%(; zC)?v>giA)9lrLrX-gAUq-Q3WJYvg{F+W89?6B1S)dPJ}=lu%Q}xd)Y>Uu(!3^}s?u zk2jN%VRWf_O?InFIMMn>XVznhT5*`lb27HBa?ap>2J~R3FrjUnvit(7P9s)im2kvxS z_c=%S5K>2X?RY|rSFjCVtTnC8Uw{wLN0|T@Pu%gKo<=GlT5`6|%E;&W>-jM$lnvDAv6j0kq7)f|l{n7z?^?bQzx|ZvWMu zi-(I!+pU_H2RCfKIT&klVY^{SZM{r>v>dSZcI{boBw7k+y#?tT-P!O(8Ur~X=)*M!KK2Tru_ z9@T!XSbS63o;s&6k0!yIp^PvLMOF2_XL>!rp32D0A=bFms3qna;(KduCUBg31NRd1 z>@?hCz#csNdGw;rU7~ktA13xId?{y&3@b63|ECq63~)6U2@F9Rp(`R)M`t#fqBDGL zp)A+DtzWXBP>&RG3E^5j^8HNmiaGiPxzTxC+@vJCy##hm_}m%H#(4W!`Tdb*P6IFq zqW2BojX~%w7evl3dTup;IX|_7+(Kx1d~V02$P)|ZO~r5bENgB;P_5r9b>uOvrtsY% zc_gT!8$cuez;qa{4&4D(%<@ZiyLD`>7y>fga!Cund9u?h@WpFt7f0~GE+!~*Q9{Coq685jF4k)gYLW|#cV(^4$BBsLKF92*Ns zNY%Yw)6*(H!iit@b`Ae^$`*rr5%Q=L3HF_e#@W<8Edof%v>Rs?7|SebJv?!YhFNSJ#P}YW;FY zLOOT@SqJl_iNmncK^tsMYL`pGlhRv=X?WB1@qx&$D>khI@%KT@jre?1^ingWU|BD8 z2z%F5yprv?39F*5KNHorW0;b{u53`>23Ro9P9Ef^dS0z2I=2bSjWPO7_yXwcZdI}sAgdHSxUo97t z9y?0baH1u#Q&(}^kp~lJ42wq#ohrd>$5EBVm|}OV9!X3v%Bf#d!k`GgqgZ87J1=F) z;%_pdMx0Aj(+3f`&-k&i}LNnXJ9+TVHu7bVPStls$%ZO!YsrOq238u+5nr$1768h5eu~f~T8n~F zvD7@U2bMaU(cIwQgLZOtVWrJelHIHKE8W4@5V**j+cY%o=o`~vpMamza6F-Wp<3p6 zz)%Y|o?)1-(XmqRLvbB3&|U35XeuBdKqbAu`ly+$z+cu#bBlipHjBNU&C2`vdF%^t zfj-QFooz~;pO&3m1ZOxT{B4Rw+^<@?mr7~}br_-NW`z!G)A3_i_iJfiO&>#bpQTs+ zw&yFBj&(ioQU>nRqZMi2+!Jr6xg35#Yv?qKNLP=DBTvWO{ZjK*RL_5uH_U&t6=~P~ zTLwC?X&skkwySGgaIm4h+zk!=6u)HTcCYOcN+9`T*yQ>wqERMhcjM>I@AqZ_!->ha z_fSUW{Cl-7zabIUbWZZaF;c}+(q?}f2r#0+)RSQ6aI6#a3}d1ag547=dng46mgnT@ zz>;j<6>9XhKdc)fMpvp#rr$MK7t-wCG7mJAd)InfJQ!{FWdF6pD%`oGIl#a8=n7TdaA1X7c0!!AV7C!4d| zX&B@5PgdnB)QKVARy|XJ+v#5dE6q0$mtaj^4bacs>b;5*HYS7P&VZI{HgQ3NmWlhm zDOmR}(nl)l*4qxx{UeA6zvQNG{jTXaFr0DIoCK444NLHbRs<89Wgq~HBA2qAwiC{m z++~#DPdHnaCo|OxGj^Y}7bB%kFyKj->GCBL?&H0=L$Ue9NyUW?Sk=&sAHD*O)+*-us9Tou4Dh3Vt;g`iQ$q2k1sjJSpe#SmP<% z+|GRdqS)#vH}u-gdVJG;P(I7D$0&qne>leU(kD_7nRnjNx8%ZDq)?{n54TG(Y?YW4 z3-=q+6YbAMa6D1N+^g?vHcVgG@uMNP#8is9vq~S`r>^PZd=~?#gkEpmqYc(OR#l%(T?iPG1kBddZQPW*LsqIeO=S_mAhN} zbLcRWMxgA|R!^WZj#EAr%X9PA^2d1G{`Zi`>tkVya}e)xVs~suRZTrKnU&V@y*1CA zdzZNt+aek+%Q^!pjgnk8su4@ATaI^^xB5CgzI4?8*h_T4Z9A;Fw{}i$NkPubX**9u zUB+wLawG53U3S`fa=KO-Rd)*_l^aPC4Y0OC88udRCLB*k{LI=nnTy6nwFv{?z%x|t?5H{ABA z4w_H|uq&Ts$yUs?f4JwniKTfP`yq7gTrmj%&*du2%dLaz$Cy3usYCO{rC3NL5_5suR_8&Wjwc@Nk1wZ zG=9f*H$%kD(C_{|D+pHOdjkplIredKdB7J3LSy+~R;UBV+~M%r6_7-i#~=FgBmsHm zVZ&kFAt*tfy8+7Vi96&M2lh4=#r3{4h-Pt4Yj7BLWMb(cU_Jy`w0hFPn=qo7qd)+a zB)KTN-J6kpGwwyq7|eh;1j@6c%(2aO_qHao2qEc1kPO9g=-jU*2YwwV(&astQHuBX zyZ5RB^(8A<8bRyD6v`?=*xcndnvFV&sMXb$N3`ykCoS&7K28ohUcy=DFeb^Klj*}1 z;R6b@Ja|L@wC~t_R^nE4u!Xo@9e{Bpsf_<_2Ye{x8lcIo$!iyxfgm`#?UtJx;t(x^ zZQ3#y7Ic!*`vJxSwDPA+i-+k9eSevD0P+c1Q2Uw2nY#WJX8$%HH!S9V^?)A^l+jF=sqk`E`I2DD2+Bwr#c< zx|oV*)Ngwav-Vp&S=!eTDLB{-ztA&52p-zEk4MZyS!x9C&oXfCe5#vcaR?PR8UI_@ zToN4pfngrC`g2NY?k=i3r)KFJziSbYoOQ}9x9B0dBubY-8#vhE6E0;sjikk1^GwW4 zT+hC0ajP=4i=N7pq|bW~aB)_%MD$@xxC=(k$kAr)d>dvAShMzATI^fR&UkFP7xM54@d`Wg38c>61WGrpp<#TNpSkULIxV=W$Vf#Ff=Rip==Xgh^0(GG6B`g$H zUpbS0aF9LmmETStWme2)VwG)Q!)o8Xx?z>{Z3{W)2Fbu)D*-d$imV++2*?QoS98CB zwN*2iUL0cOf;9ZwbhijgmKUg@n{}Aa+1R(6$H?HNSYN6<#0MniDJw;`8sEEOIaV{Y z3@QwtymfHt2#%y%d$9CJ0EIWYTVMb*{y6!@4!XJZwIeO*QtyRw~*C`q0{p$?*ccP@>oV=$q1MO_1&<`MgEcW^JYZ9O4f_?QxQk5I}U_Got~M z1`agE?D2S%I>~{0u#fHf-C+V|l-quVo&u1AIaK323%iuhahL7XMo|Uvkv&*&H*EVR zF7$`*)0Ki$Ka^Mrg0?u%K>>@8=>;fm;{X1-#{qBg2K_CJ$o_9(MEHNIB_VJx5956l zu#UyqUPDE^;O)8t)|LE+!hu~Rg@Cjw^JdO*TwG3Gc23*iy-Rx{ex+x>1rw7VRZr7D zJyMyf&{)z~a`&p7Zq6NY^sP?F@Nm5}8VRZJMbdWQXyjJh$t56?I&xzr#C?h^Y)bMS zmyT?YJZUZ!EO@k{PiU)E=37odLYVZ-@Jm-#)%5nnA;Wm%wA^$5re^l{I`D`^%gB(Lj^-W zJwn#ZQz%^()lKV@mRGZXd~E*M(&2JSZhAorKR@AWW@Yo@kq~}Ytfh*^w!2)eD#uG3$K8sPp>(H63aAfemuZv#xM`ip}iQA(ri9(jfiU( z8a!$^{(C%Om=*DnGGy-2K^iUntyd->k3kjFl3~%yLQ_UxKC}kK?nd_MYfBP7*jCSS zO(To_kX_1#H)*V^Z(>BRup-ptXG~SqfF^$!D$pU_ z#dn++T`ah3GA^U@iNQpi{?E>*K35dYFsrdp{EG*MUyDvi%cn_WYhM_P05cwCxc4b_ z(mhy+3BK0q#Abjb?^8Po2fVFl*)!(-)SCZ>Y{b{~EyPksL)zfI{>9E+7OyDdebV2( z)egqv=8~T%YYXC=E&EYVPIGNDMR8H+}N%!-IN$SZZ z5D6Xm&y4D8FS*{|SrsKBGXW+IOX&AWKYhROu2M-$OMk+wqZT)aXm|Beu1w%~!Tqqw z$!Ky!PD{>_P_l;s!ptj^Y&QvA5DRlAf7SMN@?bR4+sBBW1AiC+&O^za6)GqB7o66TBmaaBXK^E)4Ee*?@}T5lJwMty-D z)8n!36ZGkM)9_$Y5=1GPF4Pv;qdFp+Z71ii5V?-3KKXSb>kBUoMULqq$Hs5R?nUqH zMDJ|$T<{!WUWH)QJAsN7*u=4&d#hHb-K0-y2v*l7zQflDJ~)GZ*}*!Mv}OdSok73r zU^Rkg&!DM;K_$n4%6^PyB;5VPW+^iDdbP4!&+X*S5jxIRu8cO-yzbqz{waxM%v>no zhv*z0A7n)KAsSD*{$dkTp{ob7C-6ctUoEme7*1Vq-L4X*Z+&8QJ!8dZqX?QKm3e#5xU;upDkPl{pVq-VrKY}xF}l-wo@?;i0x zC-epYSuZasI*HD*6;=8c9CggS_)q`VlH_VP`jad(AByHR;thW0{VL9JjK%#^^2#(z z8efHmX%3)nzlspeY)!p38$ZbZ>`GC*Dn!^HRL$k`b^eR7v4tS3pGRP|v5%m4We7uj z0HQ0*RtA)Dpj>Uf@RTXx81E5|PEQ9dj+^bj!z@~xJq_a5sR z6io`<{jr*nf4(L-8E$d9zpYgsr}$ibtCy~m2lB~yffnbRLAc#1Dn=#03+T3?)AZr6 z8b`DPXD5PT^@(^P4{3?b&N)9Su09BpiY{p55zCgNWs*wbzmAy4ZDWXaes#|lmHGB? z%<9VDek`@O=RI5uv(moN!1%|_P=}sSR`d%FjC9-Y>hx*Mlxv0*vBHy9vM12kl5Bdh zR-B*JvxYW5=E)2*pW8egJ=rnSf*NxcyZT$p0Keat#)eeqR#$cUy7#+qCGjDtql|5> zIv1fGi%^DpkZ+X6o>qliahjydPgtTH{l8!YsPiDhl67-^#9_)P4^T+{;}U+0Q6tbc)b!6coM`* z{{K_pOkh$)wzSg+q<3(saQ-)s4n~8R?hJq#6rcRd@GrDlk?JpnP6{SdBK~Lk>&F$p z1OBYY^-p6|()u4G_>B_xe}_E(C$5#${|QCqe>6HcLRs?uzvcfA(G2cZ=CSx^`46N3 zhvYvHbsU`YzpA6JPmr@u&_7OHU+X__^FM(D92~m;C-5yD7^K1__b>Z@zM{X}!hekS l;y5^g&Ot%$KCXfPnf`wW>k<_vTwXaaOyvo|NBMtY{|h6MtH%HU From 281a6292d6535fc513c1e690a3e8d8e2a3284e5d Mon Sep 17 00:00:00 2001 From: dev01 Date: Wed, 16 Nov 2022 14:53:22 +0800 Subject: [PATCH 04/10] =?UTF-8?q?[Frontend]=20yt-tab=20debug=20|=20yt-tool?= =?UTF-8?q?tip=20option=20=E5=A2=9E=E5=8A=A0group=20=EF=BC=8Cgroup?= =?UTF-8?q?=E4=B8=AD=E5=8F=AA=E6=9C=89=E4=B8=80=E5=80=8Btooltip=E9=A1=AF?= =?UTF-8?q?=E7=A4=BA=20|=20ajax=20succesFunction=20=E5=89=8D=E5=85=88?= =?UTF-8?q?=E5=88=A4=E6=96=B7=E6=98=AF=E5=90=A6=E6=9C=89=E6=8E=88=E6=AC=8A?= =?UTF-8?q?token=20|=20datatable.js=20=E8=A8=BB=E8=A7=A3=E4=B8=8D=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E7=A8=8B=E5=BA=8F=20|=20dropdown=20select=20item=20?= =?UTF-8?q?=E7=B0=A1=E6=98=93=E5=B0=81=E8=A3=9D(=E5=85=B7=E6=9C=89?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E9=81=B8=E5=96=AE=E5=8A=9F=E8=83=BD)=20|=20?= =?UTF-8?q?=E5=85=A8=E5=9F=9F=20onEvent=20=E5=84=AA=E5=8C=96=20|=20toastr?= =?UTF-8?q?=20=E5=A5=97=E4=BB=B6=E6=9B=B4=E6=96=B0=E5=8F=8A=E5=BC=95?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/_sysMonAll.html | 43 +- Frontend/_systemMonitor.html | 53 +- Frontend/img/defdev.png | Bin 0 -> 3488 bytes Frontend/index.html | 94 +++- Frontend/js/site.js | 36 +- Frontend/js/style.js | 5 +- Frontend/js/yourteam/plugins/yt-tab/yt-tab.js | 15 +- .../yourteam/plugins/yt-tooltip/yt-tooltip.js | 31 +- Frontend/js/yourteam/yourteam.ajax.class.js | 11 +- .../js/yourteam/yourteam.jquery.datatables.js | 74 +-- Frontend/lib/notifications/toastr/toastr.js | 476 ------------------ .../lib/notifications/toastr/toastr.min.css | 1 + .../lib/notifications/toastr/toastr.min.js | 2 + Frontend/login.html | 11 +- .../ApiControllers/DeviceManageController.cs | 10 +- 15 files changed, 271 insertions(+), 591 deletions(-) create mode 100644 Frontend/img/defdev.png delete mode 100644 Frontend/lib/notifications/toastr/toastr.js create mode 100644 Frontend/lib/notifications/toastr/toastr.min.css create mode 100644 Frontend/lib/notifications/toastr/toastr.min.js diff --git a/Frontend/_sysMonAll.html b/Frontend/_sysMonAll.html index b5904df..305e282 100644 --- a/Frontend/_sysMonAll.html +++ b/Frontend/_sysMonAll.html @@ -5,8 +5,8 @@
-
-
+
+
@@ -51,9 +51,41 @@ \ No newline at end of file diff --git a/Frontend/img/defdev.png b/Frontend/img/defdev.png new file mode 100644 index 0000000000000000000000000000000000000000..42e7855f632d7a63925695ff2b364b808bdbb27a GIT binary patch literal 3488 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 literal 0 HcmV?d00001 diff --git a/Frontend/index.html b/Frontend/index.html index 1c1654c..31c1072 100644 --- a/Frontend/index.html +++ b/Frontend/index.html @@ -25,6 +25,7 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li + @@ -1114,19 +1115,17 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li