From 3b4de725cd036fdaa204df2e53f0887fa91cbfd7 Mon Sep 17 00:00:00 2001 From: "851673013@qq.com" <851673013@qq.com> Date: Tue, 28 Jun 2022 10:40:38 +0800 Subject: [PATCH 01/23] =?UTF-8?q?=E8=83=BD=E5=8A=9B=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E7=9B=91=E6=8E=A7img?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API总数.png | Bin 0 -> 1345 bytes .../上一页.png | Bin 0 -> 1013 bytes .../下一页.png | Bin 0 -> 1015 bytes .../CapabilityOperationMonitoring/下拉.png | Bin 0 -> 1051 bytes .../大蓝背景图.png | Bin 0 -> 6539 bytes .../大黄背景图.png | Bin 0 -> 6323 bytes .../异常API数量.png | Bin 0 -> 1165 bytes .../CapabilityOperationMonitoring/日历.png | Bin 0 -> 1352 bytes .../CapabilityOperationMonitoring/更多.png | Bin 0 -> 1107 bytes .../CapabilityOperationMonitoring/消息.png | Bin 0 -> 1350 bytes .../消息中心.png | Bin 0 -> 1262 bytes .../红背景图.png | Bin 0 -> 5121 bytes .../红色标签.png | Bin 0 -> 1220 bytes .../绿背景图.png | Bin 0 -> 5611 bytes .../绿色标签.png | Bin 0 -> 1220 bytes .../蓝背景图.png | Bin 0 -> 4906 bytes .../蓝色标签.png | Bin 0 -> 1220 bytes .../账号下拉.png | Bin 0 -> 1016 bytes .../CapabilityOperationMonitoring/选择.png | Bin 0 -> 1020 bytes .../components/AnalysisOfTheRequest.vue | 60 ++++++++++++++++-- .../CapabilityOperationMonitoring/index.vue | 18 +++--- 21 files changed, 62 insertions(+), 16 deletions(-) create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/API总数.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/上一页.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/下一页.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/下拉.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/大蓝背景图.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/大黄背景图.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/异常API数量.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/日历.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/更多.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/消息.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/消息中心.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/红背景图.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/红色标签.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/绿背景图.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/绿色标签.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/蓝背景图.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/蓝色标签.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/账号下拉.png create mode 100644 back/src/assets/img/CapabilityOperationMonitoring/选择.png diff --git a/back/src/assets/img/CapabilityOperationMonitoring/API总数.png b/back/src/assets/img/CapabilityOperationMonitoring/API总数.png new file mode 100644 index 0000000000000000000000000000000000000000..92e98113cfc6f47311e4f8ffab1a0819e87a8c6e GIT binary patch literal 1345 zcmeAS@N?(olHy`uVBq!ia0vp^qChOp!3HFs+-I2!q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1FfglRhD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Kuo}q5Cfq{X7xusr8 zVp3vqQj(5>k%5t+zJZCpp^2`6ft9hPm5GT06et0$D@sYT3UYCSS_b6VDrJEg{v+u2}(t{7puX= zA(aKG`a!A1`K3k4z?e%@23b{L zo-U3d6}Q%0@z-cBlsWz}*T~XmS*OS)i-{Aug*q)XpSmoGdGg>%{vnA=0_Hn4*b4*o z__BmNcNR=k$-6Yg?Dh`bv%kadU%h;5e){J8y;bwR)zr_owcT&;w%RzwBgnSkKwogr z!PyxNng=(>#XMjs-LQaPe};$Y7SVJIx9FbdVL1=@bUU4TGp23uE|HuR&b)2|fApFQ zN-?i_y4NY%By&~Xy1@VC@x=*oq6bzf{paw91ebl`=BJMKd|6@s`v_B!X>xC8S%_lULpQ#A z4<^SxooK#!=`LU8tBtuk^$#xe@rbI9kM1qfy?S|#`IqQ*ihCEP$<{txk?rObtTj1J z$S71y^wp6SYj*lv$xT^wrE1NggZ786sLgbntof=y!X>@SeL*r=HwedR*T2gMR}fLz70N=1>3r4p5=y M>FVdQ&MBb@0HoXIz5oCK literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/上一页.png b/back/src/assets/img/CapabilityOperationMonitoring/上一页.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee15672b93f158deb448ba22306fd09f38c6cce GIT binary patch literal 1013 zcmaJ=%WD%s9NwyZLM4hQiqc^lK})l*Cf#Pq_LWU+pj$#3Xin12?lf83-P!I=%{E?A zPt}XBvpsm~Me!gg6j7lU!Ttl)Q^A5K@mf4MnM(W2%Dl36TYMA%MgPiESa`U|J?aN1JjV{g_z2zP7;>QnW_utt8;n1 zx~#_ydSV zmXF8dEGMvn5Fv<&w{Bz2kJ#Q|Q$c~A?wSrZkqrVxt%%mJOp{cPYp|S_tnD@WL^{U$ zn#1x87u3`Qs_OrtmeoRgI0sMi{im>(Uw0szgC1IQb#ik{gFz@qO1e74WyICiws+6%ktl2uuC^AhX7}GQ)o-|h+5ysMj665()axBG( zsbp+)N}P_0oRDgA6{N3O(8f)!al(zaZ9u6Y+4X%|_bUbAGj&tBCB}aJXgp0GMJc09<^BEQg_Wbd+L^@0 zyJx+bkA0hOJAPF!ZrA!l16>CgY<1>-^z80zjCF^pT*vuu-MjZ{{?M1Jj~7Fs9cnc^ z8!`^7;B4o?-sJB~n+u6OPQ(jFk G-v0wL_ddJ; literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/下一页.png b/back/src/assets/img/CapabilityOperationMonitoring/下一页.png new file mode 100644 index 0000000000000000000000000000000000000000..5ec01229d61458a87fd366d2aaee0f1a0fb776c8 GIT binary patch literal 1015 zcmaJ=OKTHR7@f9S+Df5P5qvDJQ{N=>N@9{Bv3X2lgPju6NV6$8kK1NwXYO?7rkNHB zO%aK>*PZAO(2d|mMUa9Nx^vU&N*69vaBWxKNt4utap2BUox!;Zo<$3|t~iiN>qv#5U@D8S1QmU4Wd|lGYT%+# zuHcG1Eo#VQ6d%KQrcKxsm6-HwMO%UxsBqD+lJu|F?`UA?NqR0KbF!U;)i|h2{O_1HuZ=|4`HHqFr2qM}Ge)?3UMT$d;gsYK}&3ZehX?Ws6w{Di}FsgqAyH zELIUlZWY-;5SR$KI%ilqs=L=(1X&gfmWvfjg9Rx`6A8vJbdi&yH$pLi%L`J3=X2SN zBt_EsOiYM{a~XjTceoPLY9_RBhpQiP`JP|ZzCIU?=jFT0IPHr>{T7U_3~Gd#fua{Ck?+5lyY=23;8EhQq7kQFS2`nlNz8t&!6nOvYPqrKgB|B KMtYICyY&bBl|VoM literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/下拉.png b/back/src/assets/img/CapabilityOperationMonitoring/下拉.png new file mode 100644 index 0000000000000000000000000000000000000000..5debda0a47e98bdef31b715773b854b1b866ab96 GIT binary patch literal 1051 zcmaJ=O-K|`9G_GqCBrhY4~oZZgq1sAyQ}WxrtYlfQX{f%xKxDm@pK2BdE?BpUH4Gv zA+)HAoyf`5<2L`pi3WzE?okJAUsqz4}!f}UG2~|@aBE+`~CjE|Ns5pR8RMn zs>+j<6h&3VyJ874SCdh3u$=raU3evs=>+ab;a)U=Gl~PLb{(k@#7$)oCZM8^jl72~ z6jgfGNTzT~z9wqOWE2m>WKEl}DXOJ4Yb)9i#6X3Eh83ZIzFnq)p-1Sxkj%-p1k*-W z&VjwT?xdC*(!x63dKt82MIvBAtbnXJY`J1KLg#fwvi6Qy8ss5(C_?X;O36JyLJkB? z4DZ)Cjss0$MpsltQ`H6_a01VAL6#5tIZh0O#b6NZel!W^=mTOR*0~#u>>_j;V_Rg| zOeVu*0t|8nSw0*Nvz)*Rf}bG#?wEy@tlx5d1%()NHOH{Afh^!DDk>Vq5t>-t$-%Vu zWG#2MPNZUNR6IGzyB0=lVdhy6VOGYjz(^7z~_asMah8* zMoto;;X)aE(g-6rjcgzYObFEX8J3PR?)f}Hmc_W`V#U&6JQkse1Y;Pw*d$4TKw}^j z<)luY?~tNRjiKfcFGNGZP;;l$Uf{-%Hfll(7r6R9x3MVKYX;LMkz>#??m)fMK_hV1d8hIa`oa~f%e}@Wo4wYD7U_3~GuB zf7gKzE6>BF^Y2cdyT7nm;W9sc}f-I=egzDKRy z01M-buiv~}txLUV+dBL}9(k#iJ)Jm}j{ewKI!2Wpr_P|6Z+Cyqc~75;cXY=VqWu$p E0Hn!L9RL6T literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/大蓝背景图.png b/back/src/assets/img/CapabilityOperationMonitoring/大蓝背景图.png new file mode 100644 index 0000000000000000000000000000000000000000..c22c553a7446da004deba7e577d404747bdc9a07 GIT binary patch literal 6539 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 literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/大黄背景图.png b/back/src/assets/img/CapabilityOperationMonitoring/大黄背景图.png new file mode 100644 index 0000000000000000000000000000000000000000..22ba4dc8a5655f17b4c30b54842738c6605c9f79 GIT binary patch literal 6323 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 literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/异常API数量.png b/back/src/assets/img/CapabilityOperationMonitoring/异常API数量.png new file mode 100644 index 0000000000000000000000000000000000000000..3d352e94bc1226547c23e07e7a673021beed4ac4 GIT binary patch literal 1165 zcmaJ>TWAzl7@n}n62ukJL`*7r9Iesn&MmtpGtHV!c6N2a-KLu@*Thl%Ty40SD+317oz|6Vu zec%86=l{qmRN$zQFW^GvyrdzMQG5*JnKofl)X1o3E7}aiK!wwW6{G+9@*5f$ zdW@cmX1I)!C?FM=we_ zIkgpxtYUNtV_Ra`a=FZu2N~o{v%DyZEGMvn5GIJQJ8xmd3tR4ymVyjj%`t3jAPe}4 zii+lNj3!ne=V02~vX;AbPUOT`PqA5^;ryIhz)a@(P}AH-yEq4*_TU`AKcf2jvZwAvQ zk!9!@Z$mxhAQNonEE(;+47b(W;_B_ah;6wnF~ja@O`|$5l~IA zcCYyBz@E^Xq53D4FZyd!7Y5f4Ed~!#ste9^*8hlK*;|9lp`*Q}xN#YL7^q*2H@j<} zHKOY;?s>VlcDu51a`&OGhu!;xolBi+SLxb+!H56Gn^bMCGF&|n`26nv7re368^2S3 zyFq&I37+cd$iznCb{p Y$Nzb$;jF%Y%>O~8lUaFf{KC8c1Iw>_N&o-= literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/日历.png b/back/src/assets/img/CapabilityOperationMonitoring/日历.png new file mode 100644 index 0000000000000000000000000000000000000000..3156f25f91626d2ebdccbf3a92b94bf0763a3802 GIT binary patch literal 1352 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8Vxj;AN0R0eQAc86_nJR{Hwo z<>h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*srNY7M3BRn%N zCBM8_6Rg44*UB@mxFj(zIn~p}Rtac?US?*Bm4%6$p_75DiJOs&i=m;bvxSL?vx}Rt zrL&2nsilRnB}}hNesXDUYF-IUZwf-MDNenh#E@G6wAm%KD6=dz#jPkmR{`v2t4!Q( zF~VscRBsAyw;1Eps}FRHJ}739Vj3m{Og-Km&?fpM3o zi(^Q|tvOS?HCzHEj=zt2|0GbX%uK^8Fim;=6oI9lWs9C{4R#6KJToQHTwAp==Z;Y1 z3FSpSqOPAJHVUd8a!TBD?D7Ar|9zIJ5gLPh4G%`Rml}0 z6KB;ZPC9I$`p0p?qX!<>zBg81IBnHg<5e*;VftJzcFqJ=n++G_uNan0VYzfbYzO1v z1#U7&8?6g`{%JX`oStdTrkwLq?X6OsCBrL=?WatIqjm|hC%&qir|z8XV0rv^Lgb|d zv0S%q%;;Dg@ycz2>e0ov=am&rqaMZZUyr}+cTHAvZ^G&Sb6&oBwEgDCiGQ{zKX@*C z`{JSd$x&bDa2K5AdF#Ghs&u7(z@0tSN~#Hg*4C^GIQLjwJ#koSWwycbBrj$&i|ePl zrAk%>c2xCh?0nREE%jEKy|(-M1zbEgqy9@z-0#v{^dylh?s2_R_==zI4U7zPj;5Y0 Tkb2n*D%(6={an^LB{Ts5)0pKO literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/更多.png b/back/src/assets/img/CapabilityOperationMonitoring/更多.png new file mode 100644 index 0000000000000000000000000000000000000000..07eade12c789c0708a75cee1763089e1ee4efb10 GIT binary patch literal 1107 zcmaJ=OK8+U7!FihSy|C46f4M>3ayV#ve~U`LStz+yLQ!-vR&w21hdJs8@tKGWa_51 zh8upd#XA?N$%2Ib{ABzVG|L|DS)3 zbaieG2I>P8MFmqGa+<7uylhc5`M+cvIXfmEB0auB3UwGXDDst@jY z2wNzsYORsU;;gbm)R4)jK8Ep3o3JUWrPZ@ltsi2LgMEf2(VuVKp@E@GbWgLwDRvy@ zjgBD)b`N!Cw4r`Y(COAKpv4o3fC;e*JhNcAq9@TMU6I88F-wCI1ounyZ&O*N3&fEF zL5vB9G>+pyOki|1r)s&}M!<7?nB}5uI2z(OF(Qc3D46?blFre4#k8E9OGb7QoyXV~ zS+-a#GQ|jkoIW-z2m;ITEYF7sBIFKQSoK1d+fY`Jp{qHDjSXZ0Us27W0W8tP>hBs% zdtTOZ=lVoC#(JvFh8fPUsSH$<|3gi49_`{Z{NwkZ!fs~JhHM(TXu#3P&Gk0;scbRs zKouh=gHWN|#;!cV$ju`g@I2EDntBXNM@4sCiJ&NA%5t%4X)q;AG?8EoLla}ozJc|1% zxh>`6*79|Ut>c3ymP<@m0TtBy`g zE^jbLw~s}iSKq$7c=@NmOvkeCOZrwzW6@{(um1?#@|q$iZ&FoM)x(ivXX@<}{xeS{ LI_0bFyAJ&VdQ5Ka literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/消息.png b/back/src/assets/img/CapabilityOperationMonitoring/消息.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b49722b206a084956f7a81d3165a87dcc67e8b GIT binary patch literal 1350 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 Q`2AB3W9?*BY~dO8KYEuA`~Uy| literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/红色标签.png b/back/src/assets/img/CapabilityOperationMonitoring/红色标签.png new file mode 100644 index 0000000000000000000000000000000000000000..37e846601396ef742e17695a5c47f5e96a413a78 GIT binary patch literal 1220 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 literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/绿色标签.png b/back/src/assets/img/CapabilityOperationMonitoring/绿色标签.png new file mode 100644 index 0000000000000000000000000000000000000000..5971f4dcda62550da3c00b0c66b6c8b6c87691f4 GIT binary patch literal 1220 zcmaJ>TSy#N7@lQ}ifFS)E}LFYC#f~T-I<+TS9jQr)n=#vUK_P8$E=PCJxi~Yr zs}yw8P`A(<^di#GptMa2l1Rx@8(PvXq=mlt6xxT9rhUmnv4Rhwl-e`KHGSxIVCG!- zzVE+%%g?3_Fo9wC2`xL~j)-R%#neNRhY1yQ3$ZaQ(N(Y{WdgcDhU1!%BsRbNngE)b zB!=5XO0+nb)B5LZI5anyRpus?xJq=L28jZL1a#<1prB704pT@HySfb8d)FiZb|LOW zl6aWZh?oYPX+zKv3I`R6qCiJHq)M`+$Z{K?DLPD2Q8FA2QWO)3Gtns6dk7THR>znO z-@6wKosvY(buES@^Z9%z9|@WEI2n$|<0M6sG#x~UpfhW@QXyzK$14gvbQD{&T+K9q zrzpwhw3{SQst;?>t$kU;+3OSP7+H`kG9043nkqn1{C}vf@1q?z10Uu4pTbUd)`DaP zI_9*kpvjFL_d;0=XG6&~?W}1|R@#`(nXc*NObgI-s2#KpYldp(os+u+QDg+eaV0~6 z0-q$1L`c(ACeqH)sVLvxOY>Yf+{2|}F)mI;_!t%CdTFkw!sSh6T8D;P;i`|gv8r6p z47!CP^U&62pxSGjI@qn5(W>VXsj9cfRjcO`t;!`)GNd=ze@(h_h3w;P_l=7V`__jB z^1F?U-O}H-j$yu-z;|a0KgrvPAHz$<;OcrH>9YFP~ziwi!)gxrH&<70HLsWK z+wZmrzS|3(?;jAb_gd!hsl;;a(?0p!q;Set%BN*;t-LA7fy;d{|I*4jbzZz!yt2_$ z9&cUy>(bkOe^dSseOtqsM!0a~?l~)v>l@fueC(BtZyp>vjZ3qa16aeaC)pqH^8Jg4 a@R|TtU#3@Y+_=Bv{a1vZLH=55^uj-$>5$_9 literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/蓝背景图.png b/back/src/assets/img/CapabilityOperationMonitoring/蓝背景图.png new file mode 100644 index 0000000000000000000000000000000000000000..64c3b8ca8488d8c656836ae8e5acb188a4e1cf0c GIT binary patch literal 4906 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 LSew)vdBy(^9_orZ literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/蓝色标签.png b/back/src/assets/img/CapabilityOperationMonitoring/蓝色标签.png new file mode 100644 index 0000000000000000000000000000000000000000..4374742c9d1ec22b496fe250a6a2f72f04938b42 GIT binary patch literal 1220 zcmaJ>ZD<>19KUc~TTAOg>9)+*$J?ykXzrd|vL!i^H7}R8SG^k3Knv5+dwJR%?Y;Ew z+N4EjGlz}f8>lPA;YjgiLYYJSq*Iv-Ou;YxH1LDW=@&mpE$l-X;=Jpc&JV_eyXS@9 z@ArTEaj#{E2RhmwX~QtAgBxUX&U(OoTbrHlr-wc|?<|My%$Pl*PuNAlL|9VRMFcoi zm_#`w$n!HlpcsbXN0t1TJ;p!BNV-Z2E`}_rhQr3NSYOEyq$y+r5lt#uoY?&8TLLI@ zoESa9L*7WEf-<;ZqLGE+ytFVSMP;Jz6o{1=M?gik07~k#W-+BWv7^g4d-s|mzz)Qo ziWB#f8soDdt(yph$$(#i5Q1=&lm$_cM6nmpkPc8VL|3g)E4{g~w^dR5=6t?p72BLDv z(q~P{ncTz?H;g^9-k1wxCIf zW8;J)K`M&Oz)%2Y!jSH#*>oU~NvFb*WHbYVsYoQ6j`k<(TvnH6RixQc(eKT&B&bvd}~;I>F(oi+*?lgK6_g333{m}aqiNK`@PS0R#w0rI8pvM zEqhyPA7l>=b*>&y2)#}G=J?G&g%^$voh`##`#YqAZ&x4nU1~`Pu>*1ecsJM9u616i zm^a?(<~%o+BJb_vuy?x`@tN3a^AjHN^fY(eQz>ReaJjb0iN1>iC%r4xEAR||uKdYH zM{Tla{jUpe4g3wg?|ZgJbM0v9;H}e!uP`vQvHbAM8{chrox+9ri$1LF*JFtv@!Id_ by6`3+_Qf21zDizK-2V!f8D=l1#?Sr(C%lir literal 0 HcmV?d00001 diff --git a/back/src/assets/img/CapabilityOperationMonitoring/账号下拉.png b/back/src/assets/img/CapabilityOperationMonitoring/账号下拉.png new file mode 100644 index 0000000000000000000000000000000000000000..bb7178647fdb731377fa0cf6b641c04bba622f0b GIT binary patch literal 1016 zcmaJ=OK1~O6df82+7F0`q6nQ%E7W4{O=;YS^Lc5;cIJ&UuVzvd zYZuk-L?{Rf)|IFrblrs@x+sWyT@~C2g2h!gVtkV(sSD%4oA=?IbI-l+zV+PnL{I10 zPJ$qMvXgQi&)s;0kB0Go|Hs{Xcshg9MKl9TsG_=n7&D*-$gHK#gFH};>dhT6LJ*+= zvrt4uWlGecMXLdZ_ALjq31Vc_cT{}=AW{SKrY%u>+ixk-G$d*+uCR)e0%db@*#$Gp z(*=EbK^F{a^fEc(i&(${NF{x1(e^}NqUyRLUI)hvMb;r`L81;!6_p&Bf-WG3X)dC( zEK3dxw4rLMu4xxZp5-})jWJv-!m?si5Mwd2@liOOYm~&ioM{BZJBcbID#Ae1AfT%aQ879d<~ zmN8d`2zq7ckUUSv$-z0(HekiOP$wvgn6*8m+B(R}5``sb(=c&Ig4g{FY&f| z4X)ANOQJ28!Dg7?X8*eB<`Hh6VA*P1ylJ&QuyMb;xUs)I<6huLaU&~_75p#SuUf4( z8xF7SU0Hm$(tD23X2Y9npKE=)Cysj^T1VJ}^>DtbNHSqF&@9}-#@9$e49l6xm zak7J9n9kggnx}hrxDFqp|1TBgC*4kvOp%P?DN@lr#3W5zLLg`B(Fl$IAJ9rTc1Tqz{5z#?l&pEyvC~QqvrgnJEv!DhcvkJQ(R8boRY3w18;Do3F zAp{ADGxd^gluGA;2t|R1abAc=A(Ug19FK$g$5MBmIVI=SY~2|>DQuY#SLXRjrNUKW z9QLMpL6RgMio7UBDI)4u9ij(O$M0z76Ic9mHG-zeImaiuW1yU>uvCJxEK^o5z=Rae6q`@^0xapSMa2RZtdRCEVT}Nit!#1epEL*K(ky`52 zxn}EFk}bJB4TcXp`&XwMS9E+rvpKl*&>Vf_(0TXhU{_Cd`}9#bIW<`bK9oLIf81@0 zMD8dNd%e92d|iLD^^V(oJv@GY@W!uKJA2!okFK;G0WZd1zF(c$*iEb@yC4+acHg@K zXEs*b9(C1>ohQs>@2%f^$0nEZ#}~gD588S^-Q3-7-+Z>So?K)i%;lxiPra4phv9q7 MWk%G;sjIjD0HS6}O#lD@ literal 0 HcmV?d00001 diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue index 22197ae7..a063072b 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue @@ -1,22 +1,68 @@ + diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue index 04ab1b8e..62e2f0e8 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue @@ -14,25 +14,25 @@ From 3ab89fcfecd540d450df664ed76151ce5e1eb6cd Mon Sep 17 00:00:00 2001 From: "851673013@qq.com" <851673013@qq.com> Date: Tue, 28 Jun 2022 16:35:25 +0800 Subject: [PATCH 03/23] =?UTF-8?q?API=E8=AF=B7=E6=B1=82=E5=88=86=E6=9E=90?= =?UTF-8?q?=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{蓝背景图.png => number-bule-bg.png} | Bin .../{蓝色标签.png => number-bule.png} | Bin .../{绿背景图.png => number-grenn-bg.png} | Bin .../{绿色标签.png => number-grenn.png} | Bin .../{红背景图.png => number-red-bg.png} | Bin .../{红色标签.png => number-red.png} | Bin .../components/AnalysisOfTheRequest.vue | 1069 ++++++++++++++++- 7 files changed, 1058 insertions(+), 11 deletions(-) rename back/src/assets/img/CapabilityOperationMonitoring/{蓝背景图.png => number-bule-bg.png} (100%) rename back/src/assets/img/CapabilityOperationMonitoring/{蓝色标签.png => number-bule.png} (100%) rename back/src/assets/img/CapabilityOperationMonitoring/{绿背景图.png => number-grenn-bg.png} (100%) rename back/src/assets/img/CapabilityOperationMonitoring/{绿色标签.png => number-grenn.png} (100%) rename back/src/assets/img/CapabilityOperationMonitoring/{红背景图.png => number-red-bg.png} (100%) rename back/src/assets/img/CapabilityOperationMonitoring/{红色标签.png => number-red.png} (100%) diff --git a/back/src/assets/img/CapabilityOperationMonitoring/蓝背景图.png b/back/src/assets/img/CapabilityOperationMonitoring/number-bule-bg.png similarity index 100% rename from back/src/assets/img/CapabilityOperationMonitoring/蓝背景图.png rename to back/src/assets/img/CapabilityOperationMonitoring/number-bule-bg.png diff --git a/back/src/assets/img/CapabilityOperationMonitoring/蓝色标签.png b/back/src/assets/img/CapabilityOperationMonitoring/number-bule.png similarity index 100% rename from back/src/assets/img/CapabilityOperationMonitoring/蓝色标签.png rename to back/src/assets/img/CapabilityOperationMonitoring/number-bule.png diff --git a/back/src/assets/img/CapabilityOperationMonitoring/绿背景图.png b/back/src/assets/img/CapabilityOperationMonitoring/number-grenn-bg.png similarity index 100% rename from back/src/assets/img/CapabilityOperationMonitoring/绿背景图.png rename to back/src/assets/img/CapabilityOperationMonitoring/number-grenn-bg.png diff --git a/back/src/assets/img/CapabilityOperationMonitoring/绿色标签.png b/back/src/assets/img/CapabilityOperationMonitoring/number-grenn.png similarity index 100% rename from back/src/assets/img/CapabilityOperationMonitoring/绿色标签.png rename to back/src/assets/img/CapabilityOperationMonitoring/number-grenn.png diff --git a/back/src/assets/img/CapabilityOperationMonitoring/红背景图.png b/back/src/assets/img/CapabilityOperationMonitoring/number-red-bg.png similarity index 100% rename from back/src/assets/img/CapabilityOperationMonitoring/红背景图.png rename to back/src/assets/img/CapabilityOperationMonitoring/number-red-bg.png diff --git a/back/src/assets/img/CapabilityOperationMonitoring/红色标签.png b/back/src/assets/img/CapabilityOperationMonitoring/number-red.png similarity index 100% rename from back/src/assets/img/CapabilityOperationMonitoring/红色标签.png rename to back/src/assets/img/CapabilityOperationMonitoring/number-red.png diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue index a063072b..09559184 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AnalysisOfTheRequest.vue @@ -6,20 +6,91 @@
请求概况
-
+
+
+
+
+

{{ item.name }}

+

+ {{ item.tatol }} +

+
+
+
-
-
-
+
+
能力请求趋势
+
+
+
请求趋势图
+
+
数据流量趋势图
+
+
+
+
请求出错趋势图
+
+
请求时延趋势图
+
+
+
-
+
+
能力排行榜
+
+
+ {{ item }} +
+
+
+
+
{{ index + 1 }}
+ +
{{ item.name }}
+
+
{{ item.snum }}
+
+
+
diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/CapabilityOperationMonitoringTime.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/CapabilityOperationMonitoringTime.vue index b7fd48d8..ac56aea0 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/CapabilityOperationMonitoringTime.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/CapabilityOperationMonitoringTime.vue @@ -1,5 +1,23 @@ From 58d9b209b7af3125861e7f7984bb84d958f82080 Mon Sep 17 00:00:00 2001 From: gaoyuanwei <2826352639@qq.com> Date: Tue, 28 Jun 2022 17:18:50 +0800 Subject: [PATCH 05/23] =?UTF-8?q?=E8=83=BD=E5=8A=9B=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E7=9B=91=E6=8E=A7=E9=A5=BC=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/AbnormalSituation.vue | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue index c478e0e9..0fa323e9 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue @@ -37,7 +37,7 @@

API异常分布

-
+
@@ -190,12 +190,19 @@ export default { trigger: 'item' }, legend: { - bottom: '0%' + bottom: '22%' + }, + color: ['#0087ff', '#ff8a00', '#fcc549', '#49c988'], + grid: { + left: '0%', + right: '0%', + bottom: '10%', + containLabel: true }, - color: ['#fc8251', '#5470c6', '#91cd77', '#ef6567', '#f9c956', '#75bedc'], series: [ { - name: 'GA 数据统计', + center: ['50%', '20%'], + name: 'api异常分布', type: 'pie', radius: ['40%', '70%'], avoidLabelOverlap: false, @@ -208,12 +215,6 @@ export default { show: false, position: 'center' }, - grid: { - left: '0%', - right: '12%', - bottom: '10%', - containLabel: true - }, // emphasis: { // label: { // show: true, From 961a8076fd2db67869d251db4c191ed1d41f4739 Mon Sep 17 00:00:00 2001 From: "851673013@qq.com" <851673013@qq.com> Date: Tue, 28 Jun 2022 17:28:47 +0800 Subject: [PATCH 06/23] =?UTF-8?q?API=E5=BC=82=E5=B8=B8=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/AbnormalSituation.vue | 179 +++++++++++------- 1 file changed, 107 insertions(+), 72 deletions(-) diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue index 0fa323e9..db068641 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue @@ -24,9 +24,20 @@

API异常次数排行TOP10

    -
  • - {{ index + 1 }} - +
  • + {{ index + 1 }} +
    {{ item.name }}
    {{ item.num }} @@ -36,33 +47,37 @@

    API异常分布

    -
    -
    +
    +

    API异常次数统计

    - + - - + - - +
    - +
    @@ -76,7 +91,7 @@ import * as echarts from 'echarts' export default { // components: {}, // props: {}, - data() { + data () { return { // 排行榜 RankingData: [ @@ -122,65 +137,67 @@ export default { } ], // 表格 - AnomalyStatisticsTable: [{ - name: '接口名称', - address: 'http://hhhhhhhhhhhhhhhhhhhh', - method: '调用方法', - type: '组件类型', - provider: '提供商名称', - state: '监控状态' - }, - { - name: '接口名称', - address: 'http://hhhhhhhhhhhhhhhhhhhh', - method: '调用方法', - type: '组件类型', - provider: '提供商名称', - state: '监控状态' - }, - { - name: '接口名称', - address: 'http://hhhhhhhhhhhhhhhhhhhh', - method: '调用方法', - type: '组件类型', - provider: '提供商名称', - state: '监控状态' - }, - { - name: '接口名称', - address: 'http://hhhhhhhhhhhhhhhhhhhh', - method: '调用方法', - type: '组件类型', - provider: '提供商名称', - state: '监控状态' - }, - { - name: '接口名称', - address: 'http://hhhhhhhhhhhhhhhhhhhh', - method: '调用方法', - type: '组件类型', - provider: '提供商名称', - state: '监控状态' - }], + AnomalyStatisticsTable: [ + { + name: '接口名称', + address: 'http://hhhhhhhhhhhhhhhhhhhh', + method: '调用方法', + type: '组件类型', + provider: '提供商名称', + state: '监控状态' + }, + { + name: '接口名称', + address: 'http://hhhhhhhhhhhhhhhhhhhh', + method: '调用方法', + type: '组件类型', + provider: '提供商名称', + state: '监控状态' + }, + { + name: '接口名称', + address: 'http://hhhhhhhhhhhhhhhhhhhh', + method: '调用方法', + type: '组件类型', + provider: '提供商名称', + state: '监控状态' + }, + { + name: '接口名称', + address: 'http://hhhhhhhhhhhhhhhhhhhh', + method: '调用方法', + type: '组件类型', + provider: '提供商名称', + state: '监控状态' + }, + { + name: '接口名称', + address: 'http://hhhhhhhhhhhhhhhhhhhh', + method: '调用方法', + type: '组件类型', + provider: '提供商名称', + state: '监控状态' + } + ], // 分页 currentPage4: 1, total: 0 } }, - mounted() { + mounted () { this.myEchars() // 分页 this.total = this.AnomalyStatisticsTable.length }, methods: { // 分页 - handleSizeChange(val) { + handleSizeChange (val) { console.log(`每页 ${val} 条`) }, - handleCurrentChange(val) { + handleCurrentChange (val) { console.log(`当前页: ${val}`) }, - myEchars() { + myEchars () { var chartDom = document.getElementById('main') var myChart = echarts.init(chartDom) var option @@ -190,15 +207,16 @@ export default { trigger: 'item' }, legend: { + itemHeight: 10, + itemWidth: 10, + itemGap: 15, + textStyle: { + fontSize: 12, // 图例文字字体大小 + color: '#666666' // 图例文字颜色 + }, bottom: '22%' }, color: ['#0087ff', '#ff8a00', '#fcc549', '#49c988'], - grid: { - left: '0%', - right: '0%', - bottom: '10%', - containLabel: true - }, series: [ { center: ['50%', '20%'], @@ -263,7 +281,8 @@ export default { } .ApiBox { - background: url("~@/assets/img/CapabilityOperationMonitoring/bg-blue.png") no-repeat; + background: url('~@/assets/img/CapabilityOperationMonitoring/bg-blue.png') + no-repeat; background-size: 100%; width: 22.5rem; height: 6.875rem; @@ -300,7 +319,8 @@ export default { } .ApiBox:last-of-type { - background: url("~@/assets/img/CapabilityOperationMonitoring/bg-yellow.png") no-repeat; + background: url('~@/assets/img/CapabilityOperationMonitoring/bg-yellow.png') + no-repeat; background-size: 100%; div { @@ -370,7 +390,11 @@ export default { display: block; height: 1.25rem; width: 2.25rem; - background: linear-gradient(to right, rgba(204, 204, 204, 0.6), rgba(0, 0, 0, 0)); + background: linear-gradient( + to right, + rgba(204, 204, 204, 0.6), + rgba(0, 0, 0, 0) + ); } } @@ -397,7 +421,11 @@ export default { .RankingListData:nth-of-type(1) i b { width: 3.75rem; - background: linear-gradient(to right, rgba(251, 59, 5, 0.6), rgba(0, 0, 0, 0)); + background: linear-gradient( + to right, + rgba(251, 59, 5, 0.6), + rgba(0, 0, 0, 0) + ); } .RankingListData:nth-of-type(1) span { @@ -406,7 +434,11 @@ export default { .RankingListData:nth-of-type(2) i b { width: 3.125rem; - background: linear-gradient(to right, rgba(251, 123, 5, 0.6), rgba(0, 0, 0, 0)); + background: linear-gradient( + to right, + rgba(251, 123, 5, 0.6), + rgba(0, 0, 0, 0) + ); } .RankingListData:nth-of-type(2) span { @@ -415,7 +447,11 @@ export default { .RankingListData:nth-of-type(3) i b { width: 2.75rem; - background: linear-gradient(to right, rgba(250, 179, 2, 0.6), rgba(0, 0, 0, 0)); + background: linear-gradient( + to right, + rgba(250, 179, 2, 0.6), + rgba(0, 0, 0, 0) + ); } .RankingListData:nth-of-type(3) span { @@ -426,7 +462,8 @@ export default { .AbnormalDistribution { margin-right: 3.75rem; - .container-body1 {} + .container-body1 { + } } .AnomalyStatistics { @@ -501,9 +538,7 @@ export default { } } } - } - } } From 194f6fcb3ccc1e1255e95440014c40d137bbf538 Mon Sep 17 00:00:00 2001 From: gaoyuanwei <2826352639@qq.com> Date: Tue, 28 Jun 2022 19:25:05 +0800 Subject: [PATCH 07/23] =?UTF-8?q?=E8=83=BD=E5=8A=9B=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{日历.png => calendar.png} | Bin .../components/AbnormalSituation.vue | 117 +++++++------- .../CapabilityOperationMonitoringTime.vue | 99 ------------ .../CapabilityOperationMonitoring/index.vue | 147 ++++++++++++++++-- 4 files changed, 191 insertions(+), 172 deletions(-) rename back/src/assets/img/CapabilityOperationMonitoring/{日历.png => calendar.png} (100%) delete mode 100644 back/src/views/modules/sys/CapabilityOperationMonitoring/components/CapabilityOperationMonitoringTime.vue diff --git a/back/src/assets/img/CapabilityOperationMonitoring/日历.png b/back/src/assets/img/CapabilityOperationMonitoring/calendar.png similarity index 100% rename from back/src/assets/img/CapabilityOperationMonitoring/日历.png rename to back/src/assets/img/CapabilityOperationMonitoring/calendar.png diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue index db068641..d0406ad0 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/components/AbnormalSituation.vue @@ -24,20 +24,9 @@

    API异常次数排行TOP10

      -
    • - {{ index + 1 }} - +
    • + {{ index + 1 }} +
      {{ item.name }}
      {{ item.num }} @@ -48,7 +37,7 @@

      API异常分布

      -
      +
      @@ -56,28 +45,24 @@

      API异常次数统计

      - + - + - + - - + + + + + -
      - +
    @@ -91,7 +76,7 @@ import * as echarts from 'echarts' export default { // components: {}, // props: {}, - data () { + data() { return { // 排行榜 RankingData: [ @@ -184,20 +169,20 @@ export default { total: 0 } }, - mounted () { + mounted() { this.myEchars() // 分页 this.total = this.AnomalyStatisticsTable.length }, methods: { // 分页 - handleSizeChange (val) { + handleSizeChange(val) { console.log(`每页 ${val} 条`) }, - handleCurrentChange (val) { + handleCurrentChange(val) { console.log(`当前页: ${val}`) }, - myEchars () { + myEchars() { var chartDom = document.getElementById('main') var myChart = echarts.init(chartDom) var option @@ -214,12 +199,23 @@ export default { fontSize: 12, // 图例文字字体大小 color: '#666666' // 图例文字颜色 }, - bottom: '22%' + bottom: '13%', + formatter: function (name) { + var index = 0 + var clientlabels = ['智能算法', '图层服务', '开发组件', '业务组件'] + var clientcounts = ['25%', '25%', '25%', '25%'] + clientlabels.forEach(function (value, i) { + if (value == name) { + index = i + } + }) + return name + ' ' + clientcounts[index] + } }, color: ['#0087ff', '#ff8a00', '#fcc549', '#49c988'], series: [ { - center: ['50%', '20%'], + center: ['50%', '23%'], name: 'api异常分布', type: 'pie', radius: ['40%', '70%'], @@ -261,7 +257,6 @@ export default { diff --git a/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue b/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue index 62e2f0e8..eebaeb82 100644 --- a/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue +++ b/back/src/views/modules/sys/CapabilityOperationMonitoring/index.vue @@ -1,8 +1,23 @@ @@ -28,6 +32,7 @@ dataList: { type: Array, default: null }, }) let dataForm = ref([]) + // eslint-disable-next-line vue/no-setup-props-destructure dataForm.value = props.dataList const router = useRouter() const arr = @@ -66,9 +71,9 @@ margin-bottom: 0.2rem; } .ability-to-apply-for-content { - margin-bottom: 0.3rem; - border-bottom: 0.01rem #dddee1 solid; - padding-bottom: 0.3rem; + // margin-bottom: 0.3rem; + // border-bottom: 0.01rem #dddee1 solid; + // padding-bottom: 0.3rem; padding-right: 0.5rem; position: relative; .dep-name { @@ -87,6 +92,12 @@ margin-right: 0.05rem; } } + .item { + padding-bottom: 0.1rem; + margin-bottom: 0.1rem; + border-bottom: 1px solid #dddee1; + position: relative; + } .name { margin-bottom: 0.2rem; span:first-child { @@ -103,6 +114,7 @@ } } .description { + width: 10rem; color: rgba(0, 0, 0, 0.45); } .remove { diff --git a/front/src/views/home/apply.vue b/front/src/views/home/apply.vue index bc20876b..17b1c514 100644 --- a/front/src/views/home/apply.vue +++ b/front/src/views/home/apply.vue @@ -7,7 +7,7 @@ -->
    - +
    @@ -280,23 +280,29 @@ formName.unit = res.data.data.deptName }) }) - console.log( - 'router传参==================>', - router.currentRoute.value.query.name - ) - let arr = - router.currentRoute.value.query.name instanceof Array - ? router.currentRoute.value.query.name - : [router.currentRoute.value.query.name] - console.log(router.currentRoute.value.query.ids) - const ids = router.currentRoute.value.query.ids - let dataResourceId = router.currentRoute.value.query.resourceId - dataResourceId.map((item) => { - selectOne(item).then((res) => { - dataList.value.push(res.data.data) - console.log('dataResourceId', dataList.value) - }) - }) + const list = ref(JSON.parse(localStorage.getItem('applyList'))) + console.log('本地存储====================》', list.value) + // console.log( + // 'router传参==================>', + // router.currentRoute.value.query.name + // ) + // let arr = + // router.currentRoute.value.query.name instanceof Array + // ? router.currentRoute.value.query.name + // : [router.currentRoute.value.query.name] + // const ids = router.currentRoute.value.query.ids + // console.log( + // 'ids==========================>', + // ids, + // router.currentRoute.value.query.ids + // ) + // let dataResourceId = router.currentRoute.value.query.resourceId + // dataResourceId.map((item) => { + // selectOne(item).then((res) => { + // dataList.value.push(res.data.data) + // console.log('dataResourceId', dataList.value) + // }) + // }) const businessKey = ref(router.currentRoute.value.query.id) const taskId = ref(router.currentRoute.value.query.taskId) if (businessKey.value) { @@ -365,65 +371,65 @@ if (!formName) { return message.error('请设置表单名称') } - if (arr && arr.length !== 0) { - console.log('提交') - const obj = ref({}) - for (const key in formName) { - if (key !== 'formNameSystem') { - obj.value[key] = formName[key] - } - } - submitApply(obj.value).then((res) => { - applySuccess.value = false - message.success('操作成功!') - console.log('能力申请================>', res) - if (ids) { - sgcDel({ ids: ids }).then((res) => { - if (res.data.msg === 'success') { - mybus.emit('getSgcNum') - } - }) - } - }) - } else { - lastestPage({ - key: dataForm.processDefinitionKey, - }) - .then(({ data: res }) => { - if (res.code !== 0) { - return message.error(res.msg) - } - if (!res.data.list || res.data.list.length <= 0) { - return message.error('没有查询到流程,请先设计流程') - } - // proxy.$http['post'](formUrl, rootObj[formName]) - tabilityapplication(formName) - .then(({ data: res }) => { - if (res.code !== 0) { - message.error(res.msg) - if (callbacks.formSaveErrorCallback) { - callbacks.formSaveErrorCallback(res) - } - } - if (callbacks.formSaveSuccessCallback) { - callbacks.formSaveSuccessCallback(res) - } - if (!res.data.businessKey) { - return message.error('业务KEY为空,无法启动流程') - // startProcess(dataForm.processDefinitionKey, null, rootObj[formName]) - } else { - startProcess( - dataForm.processDefinitionKey, - res.data.businessKey - // rootObj[formName] - ) - } - }) - .catch(() => {}) - }) - .catch(() => {}) - // }) - } + // if (arr && arr.length !== 0) { + // console.log('提交') + // const obj = ref({}) + // for (const key in formName) { + // if (key !== 'formNameSystem') { + // obj.value[key] = formName[key] + // } + // } + // submitApply(obj.value).then((res) => { + // applySuccess.value = false + // message.success('操作成功!') + // console.log('能力申请================>', res) + // if (ids) { + // sgcDel({ ids: ids }).then((res) => { + // if (res.data.msg === 'success') { + // mybus.emit('getSgcNum') + // } + // }) + // } + // }) + // } else { + // lastestPage({ + // key: dataForm.processDefinitionKey, + // }) + // .then(({ data: res }) => { + // if (res.code !== 0) { + // return message.error(res.msg) + // } + // if (!res.data.list || res.data.list.length <= 0) { + // return message.error('没有查询到流程,请先设计流程') + // } + // // proxy.$http['post'](formUrl, rootObj[formName]) + // tabilityapplication(formName) + // .then(({ data: res }) => { + // if (res.code !== 0) { + // message.error(res.msg) + // if (callbacks.formSaveErrorCallback) { + // callbacks.formSaveErrorCallback(res) + // } + // } + // if (callbacks.formSaveSuccessCallback) { + // callbacks.formSaveSuccessCallback(res) + // } + // if (!res.data.businessKey) { + // return message.error('业务KEY为空,无法启动流程') + // // startProcess(dataForm.processDefinitionKey, null, rootObj[formName]) + // } else { + // startProcess( + // dataForm.processDefinitionKey, + // res.data.businessKey + // // rootObj[formName] + // ) + // } + // }) + // .catch(() => {}) + // }) + // .catch(() => {}) + // // }) + // } }) } } @@ -528,31 +534,31 @@ } const fileList = ref([]) //删除改变arr - mybus.on('reomveOldData', (item) => { - debugger - arr = [] - formName.system = [] - record.value = record.value + '1' - arr = item.Name - dataResourceId = item.depID - if (arr && arr.length !== 0) { - disabled.value = true - let str = '' - arr.forEach((val, index) => { - str += val - if (index < arr.length - 1) { - str += '、' - } - }) - formName.formNameSystem = str - } - arr.forEach((val, index) => { - formName.system.push({ - resourceName: val, - resourceId: dataResourceId[index], - }) - }) - }) + // mybus.on('reomveOldData', (item) => { + // debugger + // arr = [] + // formName.system = [] + // record.value = record.value + '1' + // arr = item.Name + // // dataResourceId = item.depID + // if (arr && arr.length !== 0) { + // disabled.value = true + // let str = '' + // arr.forEach((val, index) => { + // str += val + // if (index < arr.length - 1) { + // str += '、' + // } + // }) + // formName.formNameSystem = str + // } + // arr.forEach((val, index) => { + // formName.system.push({ + // resourceName: val, + // // resourceId: dataResourceId[index], + // }) + // }) + // }) onBeforeUnmount(() => { mybus.off('reomveOldData') }) @@ -566,6 +572,7 @@ startProcess, options, fileList, + list, headers: { authorization: 'authorization-text', }, @@ -585,7 +592,7 @@ // background-color: #f5f8fc; height: 100%; width: 100%; - margin: 130px auto 0; + margin: 0.8rem auto 0; display: flex; justify-content: space-between; aside { diff --git a/front/src/views/personalCenter/components/PurchaseVehicle.vue b/front/src/views/personalCenter/components/PurchaseVehicle.vue index 4a2ff938..19869be9 100644 --- a/front/src/views/personalCenter/components/PurchaseVehicle.vue +++ b/front/src/views/personalCenter/components/PurchaseVehicle.vue @@ -1,18 +1,13 @@ From 4c77a55ae7445c01131de5e5a28a24e8ac0824ac Mon Sep 17 00:00:00 2001 From: wuhongjian Date: Tue, 28 Jun 2022 22:24:05 +0800 Subject: [PATCH 10/23] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E8=AE=BE=E6=96=BD?= =?UTF-8?q?=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/package.json | 1 + front/public/index.html | 7 +- front/src/supermap/advance-init.js | 40 +- .../home/detailsPageInfrastructureTree.vue | 2 + front/src/views/home/infrastructurePage.vue | 209 ++++----- .../views/home/videoSurveillance/index.vue | 415 ++++++------------ 6 files changed, 241 insertions(+), 433 deletions(-) diff --git a/back/package.json b/back/package.json index d6d934e7..e9ac8253 100644 --- a/back/package.json +++ b/back/package.json @@ -22,6 +22,7 @@ "carddragger": "^0.3.6", "clipboard": "^2.0.6", "core-js": "^3.6.5", + "crypto-js": "^4.1.1", "echarts": "^4.7.0", "element-ui": "^2.13.2", "file-saver": "^2.0.5", diff --git a/front/public/index.html b/front/public/index.html index 5a8fe4fe..afc695e8 100644 --- a/front/public/index.html +++ b/front/public/index.html @@ -1,8 +1,8 @@ @@ -47,7 +47,8 @@ window.SITE_CONFIG['backUrl'] = 'http://15.2.21.238:9797'; window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.238:9796'; window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.238:9796/document/#/devModelFile/'; - window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin'; + window.SITE_CONFIG['apiURL'] = 'http://15.2.21.239:8888/renren-admin'; + window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address'; // 穿透版本 // window.SITE_CONFIG['backUrl'] = 'http://124.222.94.39:9797'; // window.SITE_CONFIG['previewUrl'] = 'http://124.222.94.39:9796/'; diff --git a/front/src/supermap/advance-init.js b/front/src/supermap/advance-init.js index dc4320e3..9671313f 100644 --- a/front/src/supermap/advance-init.js +++ b/front/src/supermap/advance-init.js @@ -1681,6 +1681,7 @@ export function MapFun(mapObj) { // }) // } + _removeLayerByLayerName(layerName) let layers = null // 判断是否是聚合图层 layers = createMarkerClusterLayer() @@ -1691,12 +1692,7 @@ export function MapFun(mapObj) { features.map((feature) => { var bounds = map.getBounds() // console.log("看看有没有坐标",feature.latLng); - if ( - layerName == '全部' - ? feature.hasOwnProperty('latLng') && - bounds.contains(L.latLng(feature.latLng.lat, feature.latLng.lng)) - : feature.hasOwnProperty('latLng') - ) { + if ( feature.hasOwnProperty('latLng')) { const marker = L.marker(feature.latLng, { icon }) if (createPopupFun !== null) { marker.uuid = feature.uuid || '' @@ -1735,38 +1731,6 @@ export function MapFun(mapObj) { }) featureGroup.addLayer(layers) layerGroup.set(layerName, layers) - // map.on('zoom', () => { - // _removeLayerByLayerName(layerName) - // let layers = null - // // 判断是否是聚合图层 - // layers = createMarkerClusterLayer() - // features.map(feature => { - // var bounds = map.getBounds() - // // console.log("看看有没有坐标",feature.latLng); - // if (feature.hasOwnProperty('latLng') && bounds.contains(L.latLng(feature.latLng.lat, feature.latLng.lng))) { - // const marker = L.marker(feature.latLng, { icon }) - // if (createPopupFun !== null) { - // marker.uuid = feature.uuid || '' - // marker.resId = feature.resId || '' - // marker.on('click', async e => { - // if (feature.resourceName === 'video') { - // const params = [feature.indexCode] - // DS.openVideo(params) - // } else { - // const elementHtml = createPopupFun(feature) - // if (elementHtml) { - // console.log('L._addReMapWithter===============>', feature.latLng, elementHtml, map) - // L.popup({ className: 'detail-dialog' }).setLatLng(feature.latLng).setContent(elementHtml).openOn(map) - // } - // } - // }) - // } - // layers.addLayer(marker) - // } - // }) - // featureGroup.addLayer(layers) - // layerGroup.set(layerName, layers) - // }) } /** * 点击展示弹窗 diff --git a/front/src/views/home/detailsPageInfrastructureTree.vue b/front/src/views/home/detailsPageInfrastructureTree.vue index baa3362a..086313a2 100644 --- a/front/src/views/home/detailsPageInfrastructureTree.vue +++ b/front/src/views/home/detailsPageInfrastructureTree.vue @@ -243,6 +243,8 @@ const selectId = ref('') const onSelect = (item, val, child) => { console.log('item, val, child', child) + mybus.emit('getCameraByParentId', val.id) + mybus.emit('getListByParentId', val.id) getCameraAllOrgan({ parentId: val.id }).then((res) => { treeData.value.map((treeDataItem, index) => { if (item.id == treeDataItem.id) { diff --git a/front/src/views/home/infrastructurePage.vue b/front/src/views/home/infrastructurePage.vue index 1690d6b2..ecc029c5 100644 --- a/front/src/views/home/infrastructurePage.vue +++ b/front/src/views/home/infrastructurePage.vue @@ -19,7 +19,7 @@
    -
    +
    @@ -28,7 +28,7 @@

    备选 - {{ dataSource.length }} + {{ pagination.total }}

    @@ -59,7 +59,7 @@
    - + 添加至购物车 @@ -75,6 +75,7 @@ :dataSource="dataSource" :columns="columns" :scroll="{ y: tableHeight }" + rowKey="channelId" :rowClassName=" (record, index) => (index % 2 === 1 ? 'table-striped' : null) " @@ -93,9 +94,46 @@ import { getCategoryTreePage } from '@/api/personalCenter' import { dataType } from 'element-plus/es/components/table-v2/src/common' import { ref, onMounted } from 'vue' + import { getCameraByParentId } from '@/api/videoSurveillance' + import { sgcInsert } from '@/api/home' + import { message } from 'ant-design-vue' + import mybus from '@/myplugins/mybus' + + const pagination = ref({ + total: 0, + current: 1, + pageSize: 10, //每页中显示10条数据 + showSizeChanger: true, + pageSizeOptions: ['5', '10', '15', '20'], //每页中显示的数据 + }) + const mapSearchParam = ref({ + // 地图搜索初始化数据 + parentId: '', + checkStatus: '1', + pageNum: pagination.value.current, + pageSize: pagination.value.pageSize, + gpsX: '', + gpsY: '', + radius: '', + }) + const showMap = ref(true) onMounted(() => { tabClick(0, '视频资源') + getCamera() + mybus.off('getListByParentId') + mybus.on('getListByParentId', (parentId) => { + mapSearchParam.value.parentId = parentId + getCamera() + }) + mybus.off('getListByMap') + mybus.on('getListByMap', (param) => { + mapSearchParam.value.gpsX = param.gpsX + mapSearchParam.value.gpsY = param.gpsY + mapSearchParam.value.radius = param.radius + getCamera() + }) }) + const selectedList = ref([]) const tabList = ref([ { title: '设施类型', @@ -124,6 +162,10 @@ } clickList.value.push(params) }) + mybus.off('tranferToList') + mybus.on('tranferToList', (data) => { + console.log('获取到的列表数据') + }) } let clickList = ref([]) //存储点击的tab init() @@ -134,10 +176,13 @@ if (clickList.value[indexFather].content.indexOf(name) != -1) { if (name == '视频资源') { tableHeight.value = 330 + showMap.value = true } else if (name == '云资源') { tableHeight.value = 600 + showMap.value = false } else if (name == '感知资源') { tableHeight.value = 330 + showMap.value = true } clickList.value[indexFather].content.splice( clickList.value[indexFather].content.indexOf(name), @@ -146,6 +191,7 @@ } else { if (name == '视频资源') { tableHeight.value = 330 + showMap.value = true tabList.value[1].content = [] clickList.value[1].content = [] clickList.value[indexFather].content[0] = name @@ -161,6 +207,7 @@ }) } else if (name == '云资源') { tableHeight.value = 600 + showMap.value = false clickList.value[1].content = [] clickList.value[indexFather].content[0] = name tabList.value[1].content = [ @@ -175,6 +222,7 @@ ] } else if (name == '感知资源') { tableHeight.value = 330 + showMap.value = true clickList.value[1].content = [] clickList.value[indexFather].content[0] = name tabList.value[1].content = ['333333', '213124'] @@ -207,138 +255,53 @@ const addShopCar = () => { console.log('添加至购物车') } + const getCamera = () => { + console.log('初始化调用') + getCameraByParentId(mapSearchParam.value).then((res) => { + console.log('RRRRRRRRRR', res.data.data) + dataSource.value = res.data.data + pagination.value.total = res.data.count + }) + } + //加入申购车 + const addShoppingCart = () => { + sgcInsert({ + delFlag: '0', + resourceId: '8888888880000000001', + note1: selectedList.value, + // userId: userId.value, + }).then((res) => { + console.log(res) + message.success('添加申购车成功!') + mybus.emit('getSgcNum') + }) + } // 表格 - const dataSource = ref([ - { - key: '1', - name: '沈腾', - age: 32, - address: '西湖区湖底公园1号', - }, - { - key: '2', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '3', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '4', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '5', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '6', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '7', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '8', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '9', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '10', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '11', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '12', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '13', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '14', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '15', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - { - key: '16', - name: '沈腾', - age: 42, - address: '西湖区湖底公园1号', - }, - ]) + const dataSource = ref([]) const columns = ref([ { - title: '姓名', - dataIndex: 'name', - key: 'name', + title: '名称', + dataIndex: 'channelName', + key: 'channelName', }, { - title: '年龄', - dataIndex: 'age', - key: 'age', - }, - { - title: '住址', - dataIndex: 'address', - key: 'address', + title: '归属', + dataIndex: 'nodeName', + key: 'nodeName', }, ]) const allClick = ref([]) - const onSelectChange = (selectedRowKeys) => { - console.log('hahhahah', selectedRowKeys) - allClick.value = selectedRowKeys + const onSelectChange = (selectedRowKeys, selectedRows) => { + console.log('hahhahah', selectedRowKeys, selectedRows) + selectedList.value = selectedRows + // allClick.value = selectedRowKeys } - const pagination = ref({ - total: 0, - pageSize: 10, //每页中显示10条数据 - showSizeChanger: true, - pageSizeOptions: ['5', '10', '15', '20'], //每页中显示的数据 - }) const handleTableChange = (val) => { pagination.value.current = val.current pagination.value.pageSize = val.pageSize - this.queryParam.page = val.current - this.queryParam.size = val.pageSize + mapSearchParam.value.pageNum = val.current + mapSearchParam.value.pageSize = val.pageSize + getCamera() // this.getTableList() } diff --git a/front/src/views/home/videoSurveillance/index.vue b/front/src/views/home/videoSurveillance/index.vue index e161113b..300cf7df 100644 --- a/front/src/views/home/videoSurveillance/index.vue +++ b/front/src/views/home/videoSurveillance/index.vue @@ -8,31 +8,16 @@
    - - - - +