energyRateDialog.vue 83 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013
  1. <template>
  2. <div class="main-data dialog-area" @click.stop="preventDefault" @mouseleave="leaveFun">
  3. <div class="dialog-title">
  4. <img src="@/assets/images/main/cont_title_bg.png" />
  5. <div class="title">楼宇中控</div>
  6. </div>
  7. <div class="dialog-cont" v-if="flag >= 8">
  8. <div class="dialog-left">
  9. <div class="dialog-list">
  10. <div class="dialog-item wid100">
  11. <div class="content-title">
  12. <span class="title">楼宇本周用电量</span>
  13. </div>
  14. <div class="leftNavList">
  15. <div class="left-list" >
  16. <div class="left-info">
  17. <div class="name">
  18. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  19. <div>楼外设备用电量</div>
  20. </div>
  21. <div class="num" @click="abnormalClick(1,'楼外设备')">{{ thisWeekElectricityList.total[1].num }}<span
  22. class="unit">kWh</span></div>
  23. </div>
  24. </div>
  25. <div class="left-list">
  26. <div class="left-info">
  27. <div class="name">
  28. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  29. <div>充电桩用电量</div>
  30. </div>
  31. <div class="num" @click="abnormalClick(1,'充电桩')">{{ thisWeekElectricityList.total[2].num }}<span
  32. class="unit">kWh</span></div>
  33. </div>
  34. </div>
  35. <div class="left-list" >
  36. <div class="left-info">
  37. <div class="name">
  38. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  39. <div>地下室用电量</div>
  40. </div>
  41. <div class="num" @click="abnormalClick(1,'地下室')">{{ thisWeekElectricityList.total[3].num }}<span
  42. class="unit">kWh</span></div>
  43. </div>
  44. </div>
  45. <div class="left-list">
  46. <div class="left-info">
  47. <div class="name">
  48. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  49. <div>制冷机组用电量</div>
  50. </div>
  51. <div class="num" @click="abnormalClick(1,'制冷机组')">{{ thisWeekElectricityList.total[4].num }}<span
  52. class="unit">kWh</span></div>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="leftNavList">
  57. <div class="left-list">
  58. <div class="left-info">
  59. <div class="name">
  60. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  61. <div>消防用电量</div>
  62. </div>
  63. <div class="num" @click="abnormalClick(1,'消防')">{{ thisWeekElectricityList.total[5].num }}<span
  64. class="unit">kWh</span></div>
  65. </div>
  66. </div>
  67. <div class="left-list">
  68. <div class="left-info">
  69. <div class="name">
  70. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  71. <div>电梯用电量</div>
  72. </div>
  73. <div class="num" @click="abnormalClick(1,'电梯')">{{ thisWeekElectricityList.total[6].num }}<span
  74. class="unit">kWh</span></div>
  75. </div>
  76. </div>
  77. <div class="left-list">
  78. <div class="left-info">
  79. <div class="name">
  80. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  81. <div>办公用电量</div>
  82. </div>
  83. <div class="num" @click="abnormalClick(1,'办公')">{{ thisWeekElectricityList.total[7].num }}<span
  84. class="unit">kWh</span></div>
  85. </div>
  86. </div>
  87. <div class="left-list">
  88. <div class="left-info">
  89. <div class="name">
  90. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  91. <div>公共照明用电量</div>
  92. </div>
  93. <div class="num" @click="abnormalClick(1,'公共照明')">{{ thisWeekElectricityList.total[8].num }}<span
  94. class="unit">kWh</span></div>
  95. </div>
  96. </div>
  97. </div>
  98. <div class="leftNavList">
  99. <div class="left-list" >
  100. <div class="left-info">
  101. <div class="name">
  102. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  103. <div>供热设备用电量</div>
  104. </div>
  105. <div class="num" @click="abnormalClick(1,'供热设备')">{{ thisWeekElectricityList.total[9].num }}<span
  106. class="unit">kWh</span></div>
  107. </div>
  108. </div>
  109. <div class="left-list">
  110. <div class="left-info">
  111. <div class="name">
  112. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  113. <div>厨房用电量</div>
  114. </div>
  115. <div class="num" @click="abnormalClick(1,'厨房')">{{ thisWeekElectricityList.total[10].num }}<span
  116. class="unit">kWh</span></div>
  117. </div>
  118. </div>
  119. <div class="left-list">
  120. <div class="left-info">
  121. <div class="name">
  122. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  123. <div @mouseenter="macShow = true">机房总用电量</div>
  124. <div class="arrow" @mouseenter="macShow = true"></div>
  125. <!-- 机房总用电量 -->
  126. <transition name="fade-grow">
  127. <div class="machine" v-if="macShow" @mouseleave="macShow = false">
  128. <div class="macBox">
  129. <div class="content-title">
  130. <span class="title">机房总用电量</span>
  131. </div>
  132. <div class="leftNavList">
  133. <div class="left-list">
  134. <div class="left-info">
  135. <div class="name">
  136. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  137. <div>信息UPS用电量</div>
  138. </div>
  139. <div class="num" @click="abnormalClick(1,'信息UPS')">{{
  140. thisWeekElectricityList.room[0].num }}<span class="unit">kWh</span></div>
  141. </div>
  142. </div>
  143. <div class="left-list" style="margin-right: 34px;">
  144. <div class="left-info">
  145. <div class="name">
  146. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  147. <div>信息空调用电量</div>
  148. </div>
  149. <div class="num" @click="abnormalClick(1,'信息空调')">{{ thisWeekElectricityList.room[4].num
  150. }}<span class="unit">kWh</span></div>
  151. </div>
  152. </div>
  153. </div>
  154. <div class="leftNavList">
  155. <div class="left-list">
  156. <div class="left-info">
  157. <div class="name">
  158. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  159. <div>调度UPS用电量</div>
  160. </div>
  161. <div class="num" @click="abnormalClick(1,'调度UPS')">{{
  162. thisWeekElectricityList.room[1].num }}<span class="unit">kWh</span></div>
  163. </div>
  164. </div>
  165. <div class="left-list" style="margin-right: 32px;">
  166. <div class="left-info">
  167. <div class="name">
  168. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  169. <div>调度空调用电量</div>
  170. </div>
  171. <div class="num" @click="abnormalClick(1,'调度空调')">{{ thisWeekElectricityList.room[5].num
  172. }}<span class="unit">kWh</span></div>
  173. </div>
  174. </div>
  175. </div>
  176. <div class="leftNavList">
  177. <div class="left-list">
  178. <div class="left-info">
  179. <div class="name">
  180. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  181. <div>通信UPS用电量</div>
  182. </div>
  183. <div class="num" @click="abnormalClick(1,'通信UPS')">{{
  184. thisWeekElectricityList.room[2].num }}<span class="unit">kWh</span></div>
  185. </div>
  186. </div>
  187. <div class="left-list" style="margin-right: 30px;">
  188. <div class="left-info">
  189. <div class="name">
  190. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  191. <div>通信空调用电量</div>
  192. </div>
  193. <div class="num" @click="abnormalClick(1,'通信空调')">{{ thisWeekElectricityList.room[6].num
  194. }}<span class="unit">kWh</span></div>
  195. </div>
  196. </div>
  197. </div>
  198. <div class="leftNavList">
  199. <div class="left-list">
  200. <div class="left-info">
  201. <div class="name">
  202. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  203. <div>交易机房用电量</div>
  204. </div>
  205. <div class="num" @click="abnormalClick(1,'交易机房')">{{ thisWeekElectricityList.room[3].num
  206. }}<span class="unit">kWh</span></div>
  207. </div>
  208. </div>
  209. <div class="left-list">
  210. <div class="left-info">
  211. <div class="name">
  212. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  213. <div>管控机房空调用电量</div>
  214. </div>
  215. <div class="num" @click="abnormalClick(1,'管控机房空调')">{{
  216. thisWeekElectricityList.room[7].num }}<span class="unit">kWh</span></div>
  217. </div>
  218. </div>
  219. </div>
  220. </div>
  221. </div>
  222. </transition>
  223. </div>
  224. <div class="num" @mouseenter="macShow = true">{{ thisWeekElectricityList.total[11].num }}<span
  225. class="unit">kWh</span></div>
  226. </div>
  227. </div>
  228. <div class="left-list">
  229. <div class="left-info">
  230. <div class="name">
  231. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  232. <div>生活水泵用电量</div>
  233. </div>
  234. <div class="num" @click="abnormalClick(1,'生活水泵')">{{ thisWeekElectricityList.total[12].num }}<span
  235. class="unit">kWh</span></div>
  236. </div>
  237. </div>
  238. </div>
  239. <div class="leftNavList">
  240. <div class="left-list">
  241. <div class="left-info">
  242. <div class="name">
  243. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  244. <div>冷源泵用电量</div>
  245. </div>
  246. <div class="num" @click="abnormalClick(1,'冷源泵')">{{ thisWeekElectricityList.total[13].num }}<span
  247. class="unit">kWh</span></div>
  248. </div>
  249. </div>
  250. <div class="left-list">
  251. <div class="left-info">
  252. <div class="name">
  253. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  254. <div>热源泵用电量</div>
  255. </div>
  256. <div class="num" @click="abnormalClick(1,'热源泵')">{{ thisWeekElectricityList.total[14].num }}<span
  257. class="unit">kWh</span></div>
  258. </div>
  259. </div>
  260. <div class="left-list">
  261. <div class="left-info">
  262. <div class="name">
  263. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  264. <div>通信辅助设备用电量</div>
  265. </div>
  266. <div class="num" @click="abnormalClick(1,'通信辅助设备')">{{ thisWeekElectricityList.total[15].num }}<span
  267. class="unit">kWh</span></div>
  268. </div>
  269. </div>
  270. <div class="left-list" style="visibility: hidden;">
  271. <div class="left-info">
  272. <div class="name">
  273. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  274. <div>消防用电量</div>
  275. </div>
  276. <div class="num" @click="abnormalClick(1,'消防')">{{ thisWeekElectricityList.total[5].num }}<span
  277. class="unit">kWh</span></div>
  278. </div>
  279. </div>
  280. </div>
  281. </div>
  282. </div>
  283. <div class="dialog-list">
  284. <div class="dialog-item wid100">
  285. <div class="content-title">
  286. <span class="title">楼宇本周发电量</span>
  287. </div>
  288. <div class="content">
  289. <div style="display: flex;">
  290. <div style="width: 50%;">
  291. <div class="cFox">
  292. <div>
  293. <div class="num" style="justify-content: center;">112<span class="unit">kWh</span></div>
  294. <div><img src="@/assets/images/service_new/cicleFox.png"></div>
  295. <div style="color: #fff;display: flex;justify-content: center;margin-top: 5px;">光伏发电量</div>
  296. </div>
  297. <div class="left-inf">
  298. <div class="name">
  299. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  300. <div style="padding-left: 5px;">薄膜发电量</div>
  301. </div>
  302. <div class="num">29<span class="unit">kWh</span></div>
  303. <div class="name">
  304. <div> <img src="@/assets/images/service_new/quantity.png"></div>
  305. <div style="padding-left: 5px;">光伏板发电量</div>
  306. </div>
  307. <div class="num">29<span class="unit">kWh</span></div>
  308. </div>
  309. </div>
  310. <div></div>
  311. </div>
  312. <div style="width: 50%;">
  313. <div class="cFox">
  314. <div>
  315. <div class="num" style="justify-content: center;">{{ fllEleList.weekTotal }}<span class="unit">kWh</span></div>
  316. <div><img src="@/assets/images/service_new/cicleFox.png"></div>
  317. <div style="color: #fff;display: flex;justify-content: center;margin-top: 5px;">电梯能量回收</div>
  318. </div>
  319. </div>
  320. </div>
  321. </div>
  322. </div>
  323. </div>
  324. </div>
  325. <div class="dialog-list">
  326. <div class="dialog-item wid100">
  327. <div class="content-title">
  328. <span class="title">楼宇今日总用电量</span>
  329. </div>
  330. <div class="content">
  331. <line-chart :chart-data="buildLineData" :x-axis="buildLineAxis" :yAxis="buildLineYAxis"
  332. :legend="lineLegend" y-color="#FFF" l-color="#FFF" width="565px" height="240px" />
  333. </div>
  334. </div>
  335. </div>
  336. <div class="dialog-list">
  337. <div class="dialog-item wid100">
  338. <div class="content-title">
  339. <span class="title">楼宇每月用电量</span>
  340. </div>
  341. <div class="content">
  342. <line-chart :chart-data="yearLineData" :x-axis="yearLineAxis" :yAxis="yearLineYAxis" :legend="lineLegend"
  343. y-color="#FFF" l-color="#FFF" width="565px" height="240px" />
  344. </div>
  345. </div>
  346. </div>
  347. <div class="dialog-list">
  348. <div class="dialog-item wid100">
  349. <div class="content-title">
  350. <span class="title">配电室重要回路负荷情况</span>
  351. </div>
  352. <div class="content" @click="abnormalClick(2)">
  353. <bar-chart :chart-data="barData" :x-axis="barAxis" :y-axis="barYAxis" :grid="barGrid"
  354. :legend="barLegend" y-color="#FFF" l-color="#FFF" width="560px" height="180px" />
  355. </div>
  356. </div>
  357. </div>
  358. </div>
  359. <div class="dialog-right">
  360. <div class="dialog-list">
  361. <div class="dialog-item wid100">
  362. <div class="content-title">
  363. <span class="title">楼宇中当前告警的设备</span>
  364. </div>
  365. <!-- 水浸总数 -->
  366. <div class="total-cont">
  367. <span class="title">水浸总数</span>
  368. </div>
  369. <div class="rightList2">
  370. <div class="left-list">
  371. <div class="left-info">
  372. <div class="name">
  373. <div> <img src="@/assets/images/building_guarantee/waterImmersion.png"></div>
  374. <div class="num">{{ warnDeviceList.sj.total}}<span class="unit">个</span></div>
  375. </div>
  376. </div>
  377. </div>
  378. <div class="right-Top">
  379. <div>
  380. <div class="water-list">
  381. <div class="left-info">
  382. <div class="name">
  383. <img src="@/assets/images/building_guarantee/immersion.png">
  384. <div>空调水浸</div>
  385. </div>
  386. <div class="num">{{ warnDeviceList.sj.air}}<span class="unit">个</span></div>
  387. </div>
  388. </div>
  389. <div class="water-list">
  390. <div class="left-info">
  391. <div class="name">
  392. <img src="@/assets/images/building_guarantee/immersion.png">
  393. <div>中控水浸</div>
  394. </div>
  395. <div class="num">{{ warnDeviceList.sj.control}}<span class="unit">个</span></div>
  396. </div>
  397. </div>
  398. </div>
  399. <div>
  400. <div class="left-list1">
  401. <div class="left-info">
  402. <div class="name">
  403. <div class="nor">{{ warnDeviceList.sj.zcdw}}</div>
  404. </div>
  405. </div>
  406. </div>
  407. <div class="left-list2" @click="abnormalClick(0,'水浸')">
  408. <div class="left-info">
  409. <div class="name">
  410. <div class="dor">{{ warnDeviceList.sj.ycdw}}</div>
  411. </div>
  412. </div>
  413. </div>
  414. </div>
  415. </div>
  416. </div>
  417. <!-- 烟雾总数 -->
  418. <div class="total-cont">
  419. <span class="title">烟雾总数</span>
  420. </div>
  421. <div class="rightList2">
  422. <div class="left-list">
  423. <div class="left-info">
  424. <div class="name">
  425. <div> <img src="@/assets/images/building_guarantee/smoke.png"></div>
  426. <div class="num">{{ warnDeviceList.ywj.total}}<span class="unit">个</span></div>
  427. </div>
  428. </div>
  429. </div>
  430. <div class="right-Top">
  431. <div class="left-list1">
  432. <div class="left-info">
  433. <div class="name">
  434. <!-- <div> <img src="@/assets/images/building_guarantee/waterImmersion.png"></div> -->
  435. <div class="nor">{{ warnDeviceList.ywj.zcdw}}</div>
  436. </div>
  437. </div>
  438. </div>
  439. <div class="left-list2" @click="abnormalClick(0,'烟雾')">
  440. <div class="left-info">
  441. <div class="name">
  442. <!-- <div> <img src="@/assets/images/building_guarantee/waterImmersion.png"></div> -->
  443. <div class="dor">{{ warnDeviceList.ywj.ycdw}}</div>
  444. </div>
  445. </div>
  446. </div>
  447. </div>
  448. </div>
  449. <!-- 电表总数 -->
  450. <div class="total-cont">
  451. <span class="title">电表总数</span>
  452. </div>
  453. <div class="rightList2">
  454. <div class="left-list">
  455. <div class="left-info">
  456. <div class="name">
  457. <div> <img src="@/assets/images/building_guarantee/electricitymeter.png"></div>
  458. <div class="num">{{ warnDeviceList.db.total}}<span class="unit">个</span></div>
  459. </div>
  460. </div>
  461. </div>
  462. <div class="right-Top">
  463. <div class="left-list1">
  464. <div class="left-info">
  465. <div class="name">
  466. <!-- <div> <img src="@/assets/images/building_guarantee/waterImmersion.png"></div> -->
  467. <div class="nor">{{ warnDeviceList.db.zcdw}}</div>
  468. </div>
  469. </div>
  470. </div>
  471. <div class="left-list2" @click="abnormalClick(0,'电表')">
  472. <div class="left-info">
  473. <div class="name">
  474. <!-- <div> <img src="@/assets/images/building_guarantee/waterImmersion.png"></div> -->
  475. <div class="dor">{{ warnDeviceList.db.ycdw}}</div>
  476. </div>
  477. </div>
  478. </div>
  479. </div>
  480. </div>
  481. <!-- 液位总数 -->
  482. <div class="total-cont">
  483. <span class="title">液位总数</span>
  484. </div>
  485. <div class="rightList2">
  486. <div class="left-list">
  487. <div class="left-info">
  488. <div class="name">
  489. <div> <img src="@/assets/images/building_guarantee/liquidLevel.png"></div>
  490. <div class="num">{{ warnDeviceList.yw.total}}<span class="unit">个</span></div>
  491. </div>
  492. </div>
  493. </div>
  494. <div class="right-Top">
  495. <div class="left-list1">
  496. <div class="left-info">
  497. <div class="name">
  498. <!-- <div> <img src="@/assets/images/building_guarantee/waterImmersion.png"></div> -->
  499. <div class="nor">{{ warnDeviceList.yw.zcdw}}</div>
  500. </div>
  501. </div>
  502. </div>
  503. <div class="left-list2" @click="abnormalClick(0,'液位')">
  504. <div class="left-info">
  505. <div class="name">
  506. <!-- <div> <img src="@/assets/images/building_guarantee/waterImmersion.png"></div> -->
  507. <div class="dor">{{ warnDeviceList.yw.ycdw}}</div>
  508. </div>
  509. </div>
  510. </div>
  511. </div>
  512. </div>
  513. <div class="dialog-list">
  514. <div class="dialog-item wid100">
  515. <div class="content-title">
  516. <span class="title">告警事件的历史统计</span>
  517. </div>
  518. <div class="content">
  519. <line-chart :chart-data="giveLineData" :x-axis="giveLineAxis" :yAxis="giveLineYAxis"
  520. :legend="lineLegend" y-color="#FFF" l-color="#FFF" width="565px" height="240px" />
  521. </div>
  522. </div>
  523. </div>
  524. <div class="dialog-list">
  525. <div class="dialog-item wid100">
  526. <div class="content-title">
  527. <span class="title">水箱的水位情况</span>
  528. </div>
  529. <div class="tank">
  530. <div class="ocBox">
  531. <div class="water-cont">
  532. <span class="title">23层生活水箱、消防水箱</span>
  533. </div>
  534. <!-- 水箱 -->
  535. <!-- <div class="leftTank"></div> -->
  536. <div class="content">
  537. <cylinder-Chart :chart-data="waterData" :x-axis="waterAxis" :yAxis="waterYAxis" y-color="#FFF"
  538. l-color="#FFF" width="100%" height="200px" />
  539. </div>
  540. </div>
  541. <div class="ocBox">
  542. <div class="water-cont">
  543. <span class="title">负二层生活水箱</span>
  544. </div>
  545. <!-- 水箱 -->
  546. <!-- <div class="rightTank"></div> -->
  547. <div class="content">
  548. <cylinder-Chart :chart-data="fireData" :x-axis="fireAxis" :yAxis="fireYAxis" y-color="#FFF"
  549. l-color="#FFF" width="100%" height="200px" />
  550. </div>
  551. </div>
  552. </div>
  553. </div>
  554. </div>
  555. </div>
  556. </div>
  557. </div>
  558. </div>
  559. </div>
  560. </template>
  561. <script>
  562. import LineChart from "@/components/Echarts/LineChart";
  563. import PieChart from "@/components/Echarts/PieChart";
  564. import BarChart from "@/components/Echarts/BarChart.vue";
  565. import CylinderChart from "@/components/Echarts/cylinderChart.vue";
  566. import echarts from "echarts";
  567. import {
  568. thisWeekElectricity,controlElevator,todayElectricity,monthElectricity,roomLoad,warnDevice,warnEvent,waterState
  569. } from "@/api/screen/service";
  570. export default {
  571. name: "EnergyRateDialog",
  572. components: {
  573. BarChart,
  574. PieChart,
  575. LineChart,
  576. CylinderChart
  577. },
  578. props: {
  579. appOrg: {
  580. type: String,
  581. default: "0000",
  582. },
  583. },
  584. data() {
  585. return {
  586. flag: 0,
  587. thisWeekElectricityList:{},
  588. fllEleList:{},
  589. warnDeviceList:{},
  590. barWidth: 100,
  591. macShow: false,
  592. lineLegend: {
  593. top: 0,
  594. orient: "horizontal",
  595. right: 0,
  596. itemWidth: 17, // 设置图例标记的宽度
  597. itemHeight: 10, // 设置图例标记的高度
  598. textStyle: {
  599. color: "#FFF",
  600. },
  601. },
  602. //水箱
  603. waterTankFirst:{},
  604. waterTankSecond:{},
  605. // 二十三层生活水箱丶消防水箱
  606. waterData: [],
  607. waterAxis: {},
  608. waterYAxis: {},
  609. // 负二层生活水箱丶消防水箱
  610. // 二十三层生活水箱丶消防水箱
  611. fireData: [],
  612. fireAxis: {},
  613. fireYAxis: {},
  614. //楼宇每月用电量
  615. yearLineData: [],
  616. //楼宇今日总用电量
  617. buildLineData: [],
  618. //告警事件的历史统计
  619. giveLineData: [],
  620. //配电室重要回路负荷情况
  621. barData: [],
  622. barAxis: {},
  623. barYAxis: {},
  624. barGrid: {},
  625. barLegend: {},
  626. yearAllWaterChangeData: {
  627. value: 0
  628. },
  629. useElectricityBarData: [],
  630. useElectricityBarAxis: {},
  631. useElectricityBarYaxis: {
  632. type: "value",
  633. boundaryGap: [0, 0.01],
  634. name: "kwh",
  635. nameTextStyle: {
  636. color: "#fff",
  637. },
  638. axisLine: {
  639. show: false
  640. },
  641. axisLabel: {
  642. color: "white", // 设置横坐标轴字体颜色为红色
  643. },
  644. splitLine: {
  645. show: false,
  646. },
  647. axisTick: {
  648. show: false,
  649. },
  650. splitArea: false,
  651. },
  652. useElectricityBarLegend: {
  653. show: false,
  654. },
  655. barGrid: {
  656. top: 30,
  657. left: "2%",
  658. right: "2%",
  659. containLabel: true,
  660. bottom: 0,
  661. },
  662. pieData: [
  663. {
  664. name: "",
  665. value: 56,
  666. },
  667. {
  668. name: "",
  669. value: 44,
  670. },
  671. ],
  672. emissionTableDataList: [
  673. {
  674. company: "单位名称",
  675. num: "56吨",
  676. },
  677. {
  678. company: "单位名称",
  679. num: "56吨",
  680. },
  681. {
  682. company: "单位名称",
  683. num: "56吨",
  684. },
  685. ],
  686. resourceDataList: [],
  687. // useHeatGasData: {
  688. // water: {},
  689. // hot: {},
  690. // gas: {},
  691. // },
  692. };
  693. },
  694. created() {
  695. //楼宇本周用电量
  696. this.thisWeekElectricity()
  697. //电梯能量回收
  698. this.controlElevator()
  699. //楼宇每月用电量
  700. this.monthElectricity()
  701. //楼宇今日总用电量
  702. this.todayElectricity()
  703. //配电室重要抽屉负荷情况
  704. this.roomLoad();
  705. //楼宇中当前告警的设备
  706. this.warnDevice()
  707. //告警事件的历史统计
  708. this.warnEvent()
  709. this.waterState()
  710. // 二十三层生活水箱丶消防水箱
  711. // this.handleWaterData()
  712. //负二层生活水箱
  713. //this.handleFireData()
  714. },
  715. destroyed() { },
  716. beforeDestroy() { },
  717. mounted() {
  718. },
  719. methods: {
  720. //资产存量
  721. thisWeekElectricity() {
  722. thisWeekElectricity(this.$props.appOrg).then((res) => {
  723. if (Number(res.code) === 200) {
  724. this.thisWeekElectricityList=res.data;
  725. this.flag++
  726. }
  727. });
  728. },
  729. //电梯能量回收
  730. controlElevator() {
  731. controlElevator(this.$props.appOrg).then((res) => {
  732. if (Number(res.code) === 200) {
  733. this.fllEleList=res.data;
  734. this.flag++
  735. }
  736. });
  737. },
  738. //水箱
  739. // 二十三层生活水箱丶消防水箱
  740. waterState() {
  741. waterState(this.$props.appOrg).then((res) => {
  742. if (Number(res.code) === 200) {
  743. this.waterTankFirst=res.data.twentyThree;
  744. // 处理 shsx 数组
  745. this.waterTankFirst.shsx.forEach(item => {
  746. for (let key in item) {
  747. if (item.hasOwnProperty(key) && typeof item[key] === "string") {
  748. item[key] = item[key].replace(/m$/, "");
  749. }
  750. }
  751. });
  752. // 处理 xfsx 数组
  753. this.waterTankFirst.xfsx.forEach(item => {
  754. for (let key in item) {
  755. if (item.hasOwnProperty(key) && typeof item[key] === "string") {
  756. item[key] = item[key].replace(/m$/, "");
  757. }
  758. }
  759. });
  760. this.waterTankSecond=res.data.minusTwo;
  761. // 处理 gqsx 数组
  762. this.waterTankSecond.gqsx.forEach(item => {
  763. for (let key in item) {
  764. if (item.hasOwnProperty(key) && typeof item[key] === "string") {
  765. item[key] = item[key].replace(/m$/, "");
  766. }
  767. }
  768. });
  769. // 处理 dqsx 数组
  770. this.waterTankSecond.dqsx.forEach(item => {
  771. for (let key in item) {
  772. if (item.hasOwnProperty(key) && typeof item[key] === "string") {
  773. item[key] = item[key].replace(/m$/, "");
  774. }
  775. }
  776. });
  777. console.log('======================',this.waterTankSecond.dqsx);
  778. this.waterData = [
  779. //三个最底下的圆片
  780. {
  781. name: '',
  782. zlevel: 1,
  783. type: 'pictorialBar',
  784. symbolSize: [60, 25], //圆环宽度
  785. symbolOffset: [0, 10],
  786. z: 12,
  787. itemStyle: {
  788. opacity: 1,
  789. color: function (params) {
  790. var a = params.name.slice(0, 2);
  791. if (a === '生活') {
  792. return new echarts.graphic.LinearGradient(
  793. 0,
  794. 0,
  795. 0,
  796. 1,
  797. [
  798. {
  799. offset: 0,
  800. color: '#1893BF' // 0% 处的颜色
  801. },
  802. {
  803. offset: 1,
  804. color: '#1893BF' // 100% 处的颜色
  805. }
  806. ],
  807. false
  808. );
  809. } else if (a === '消防') {
  810. return new echarts.graphic.LinearGradient(
  811. 0,
  812. 0,
  813. 0,
  814. 1,
  815. [
  816. {
  817. offset: 0,
  818. color: '#CCC147' // 0% 处的颜色
  819. },
  820. {
  821. offset: 1,
  822. color: '#CCC147' // 100% 处的颜色
  823. }
  824. ],
  825. false
  826. );
  827. }
  828. }
  829. },
  830. tooltip: {
  831. show: false
  832. },
  833. data: [1, 1, 1, 1, 1]
  834. },
  835. //下半截柱状图(中间部分)
  836. {
  837. name: '',
  838. type: 'bar',
  839. barWidth: 60,
  840. zlevel: 1,
  841. barGap: '-100%',
  842. itemStyle: {
  843. //lenged文本
  844. opacity: 1,
  845. color: function (params) {
  846. var a = params.name.slice(0, 2);
  847. if (a === '生活') {
  848. return new echarts.graphic.LinearGradient(
  849. 0,
  850. 0,
  851. 0,
  852. 1,
  853. [
  854. {
  855. offset: 0,
  856. color: '#1893BF' // 0% 处的颜色
  857. },
  858. {
  859. offset: 1,
  860. color: '#1893BF' // 100% 处的颜色
  861. }
  862. ],
  863. false
  864. );
  865. } else if (a === '消防') {
  866. return new echarts.graphic.LinearGradient(
  867. 0,
  868. 0,
  869. 0,
  870. 1,
  871. [
  872. {
  873. offset: 0,
  874. color: '#CCC147' // 0% 处的颜色
  875. },
  876. {
  877. offset: 1,
  878. color: '#CCC147' // 100% 处的颜色
  879. }
  880. ],
  881. false
  882. );
  883. }
  884. }
  885. },
  886.  data: [this.waterTankFirst.shsx[0].dqsw, this.waterTankFirst.xfsx[0].dqsw]
  887. },
  888. //中间最高刻度的圆形
  889. {
  890. name: '', //头部
  891. type: 'pictorialBar',
  892. zlevel: 1,
  893. symbolSize: [60, 25], //顶部刻度的圆形
  894. symbolOffset: [0, -10],
  895. z: 12,
  896. symbolPosition: 'end',
  897. itemStyle: {
  898. color: '#D0612C',
  899. opacity: 0.5,
  900. borderColor: '#DF3914', // 边框颜色
  901. borderWidth: 3,
  902. borderType: 'dashed',
  903. borderDashOffset: 1
  904. },
  905. tooltip: {
  906. show: true,
  907. formatter: function (params) {
  908. if (params.seriesName === '') { // 确保只对当前系列生效
  909. const value = params.value; // 获取当前数据值
  910. return `最高水位:${value} m`; // 自定义提示框内容
  911. }
  912. return '';
  913. },
  914. },
  915. data: [this.waterTankFirst.shsx[2].zgsw, this.waterTankFirst.xfsx[2].zgsw]
  916. },
  917. //中间最低刻度的圆形
  918. {
  919. name: '', //头部
  920. type: 'pictorialBar',
  921. zlevel: 1,
  922. symbolSize: [60, 25], //顶部刻度的圆形
  923. symbolOffset: [0, -10],
  924. z: 12,
  925. symbolPosition: 'end',
  926. itemStyle: {
  927. color: '#D0612C',
  928. opacity: 0.5,
  929. borderColor: '#DF3914', // 边框颜色
  930. borderWidth: 3,
  931. borderType: 'dashed',
  932. borderDashOffset: 1
  933. },
  934. tooltip: {
  935. show: true,
  936. formatter: function (params) {
  937. if (params.seriesName === '') { // 确保只对当前系列生效
  938. const value = params.value; // 获取当前数据值
  939. return `最低水位:${value} m`; // 自定义提示框内容
  940. }
  941. return '';
  942. },
  943. },
  944. data: [this.waterTankFirst.shsx[1].zdsw, this.waterTankFirst.xfsx[1].zdsw]
  945. },
  946. //底部外面刻度的圆形
  947. {
  948. name: '', //头部
  949. type: 'pictorialBar',
  950. symbolSize: [78, 45], //顶部刻度的圆形
  951. symbolOffset: [0, -25],
  952. z: 12,
  953. symbolPosition: 'end',
  954. itemStyle: {
  955. color: '#0E3A60',
  956. opacity: 0.6,
  957. borderColor: '#2E87DE', // 边框颜色
  958. borderWidth: 3,
  959. borderType: 'solid',
  960. },
  961. tooltip: {
  962. show: false
  963. },
  964. data: [0.1, 0.1,]
  965. },
  966. //顶部刻度的圆形
  967. {
  968. name: '', //头部
  969. zlevel: 1,
  970. type: 'pictorialBar',
  971. symbolSize: [60, 25], //顶部刻度的圆形
  972. symbolOffset: [0, -10],
  973. z: 12,
  974. symbolPosition: 'end',
  975. itemStyle: {
  976. color: '#0E3A60',
  977. opacity: 0.6,
  978. borderColor: '#2E87DE', // 边框颜色
  979. borderWidth: 3,
  980. borderType: 'dashed',
  981. borderDashOffset: 1
  982. },
  983. tooltip: {
  984. show: false
  985. },
  986. data: [4, 4,]
  987. },
  988. //刻度值处的圆形图标
  989. {
  990. name: '',
  991. zlevel: 1,
  992. type: 'pictorialBar',
  993. symbolSize: [60, 25],
  994. symbolOffset: [0, -10],
  995. z: 12,
  996. itemStyle: {
  997. opacity: 1,
  998. color: function (params) {
  999. var a = params.name.slice(0, 2);
  1000. if (a === '生活') {
  1001. return new echarts.graphic.LinearGradient(
  1002. 0,
  1003. 0,
  1004. 0,
  1005. 1,
  1006. [
  1007. {
  1008. offset: 0,
  1009. color: '#1893BF' // 0% 处的颜色
  1010. },
  1011. {
  1012. offset: 1,
  1013. color: '#26B3EA' // 100% 处的颜色
  1014. }
  1015. ],
  1016. false
  1017. );
  1018. } else if (a === '消防') {
  1019. return new echarts.graphic.LinearGradient(
  1020. 0,
  1021. 0,
  1022. 0,
  1023. 1,
  1024. [
  1025. {
  1026. offset: 0,
  1027. color: '#E1D929' // 0% 处的颜色
  1028. },
  1029. {
  1030. offset: 1,
  1031. color: '#F8EE20' // 100% 处的颜色
  1032. }
  1033. ],
  1034. false
  1035. );
  1036. }
  1037. }
  1038. },
  1039. //显示当前数值
  1040. label: {
  1041. normal: {
  1042. show: true,
  1043. position: 'insideTop',
  1044. "formatter": "{c}M",
  1045. fontSize: 15,
  1046. fontWeight: 'bold',
  1047. color: '#ffffff'
  1048. }
  1049. },
  1050. symbolPosition: 'end',
  1051.  data: [this.waterTankFirst.shsx[0].dqsw, this.waterTankFirst.xfsx[0].dqsw]
  1052. },
  1053. //最外层柱状体宽度、颜色设置
  1054. {
  1055. name: '',
  1056. type: 'bar',
  1057. barWidth: 60,
  1058. barGap: '-100%',
  1059. z: 0,
  1060. itemStyle: {
  1061. // color: '#0A2932',
  1062. // 使用 linear-gradient 设置渐变色
  1063. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1064. offset: 0,
  1065. color: '#0F3644' // 渐变色的开始颜色
  1066. }, {
  1067. offset: 1,
  1068. color: '#194972' // 渐变色的结束颜色
  1069. }]),
  1070. opacity: 0.5
  1071. },
  1072. data: [4, 4]
  1073. }
  1074. ];
  1075. this.waterAxis = {
  1076. data: ['生活水箱', '消防水箱'],
  1077. axisTick: {
  1078. show: false
  1079. },
  1080. axisLine: {
  1081. show: false
  1082. },
  1083. axisLabel: {
  1084. interval: 0,
  1085. textStyle: {
  1086. color: '#fff',
  1087. fontSize: 16
  1088. },
  1089. margin: 30 //刻度标签与轴线之间的距离。
  1090. }
  1091. };
  1092. this.waterYAxis = {
  1093. name: "",
  1094. min: 0,
  1095. max: 4,
  1096. type: 'value',
  1097. interval: 4,// 指定刻度间隔
  1098. nameTextStyle: {
  1099. color: "#fff",
  1100. },
  1101. splitArea: {
  1102. show: false // 这里设置为false即可去掉Y轴的背景色
  1103. },
  1104. // 坐标轴在grid区域中的分隔线
  1105. splitLine: {
  1106. show: false,
  1107. },
  1108. axisTick: {
  1109. inside: true,
  1110. show: true, // 显示刻度线
  1111. lineStyle: {
  1112. color: "#fff",
  1113. opacity: 0.5,
  1114. },
  1115. },
  1116. axisLine: {
  1117. show: true,
  1118. lineStyle: {
  1119. color: "#fff",
  1120. opacity: 0.5,
  1121. },
  1122. },
  1123. axisLabel: {
  1124. inside: true,
  1125. formatter:'{value}M',
  1126. textStyle: {
  1127. color: '#68CDE9',
  1128. fontSize: 12,
  1129. },
  1130. },
  1131. }
  1132. // 负二层生活水箱
  1133. this.fireData = [
  1134. //三个最底下的圆片
  1135. {
  1136. name: '',
  1137. zlevel: 1,
  1138. type: 'pictorialBar',
  1139. symbolSize: [60, 25], //圆环宽度
  1140. symbolOffset: [0, 10],
  1141. z: 12,
  1142. itemStyle: {
  1143. opacity: 1,
  1144. color: function (params) {
  1145. var a = params.name.slice(0, 5);
  1146. if (a === '高区水箱') {
  1147. return new echarts.graphic.LinearGradient(
  1148. 0,
  1149. 0,
  1150. 0,
  1151. 1,
  1152. [
  1153. {
  1154. offset: 0,
  1155. color: '#1893BF' // 0% 处的颜色
  1156. },
  1157. {
  1158. offset: 1,
  1159. color: '#1893BF' // 100% 处的颜色
  1160. }
  1161. ],
  1162. false
  1163. );
  1164. } else if (a === '低区水箱') {
  1165. return new echarts.graphic.LinearGradient(
  1166. 0,
  1167. 0,
  1168. 0,
  1169. 1,
  1170. [
  1171. {
  1172. offset: 0,
  1173. color: '#1893BF' // 0% 处的颜色
  1174. },
  1175. {
  1176. offset: 1,
  1177. color: '#1893BF' // 100% 处的颜色
  1178. }
  1179. ],
  1180. false
  1181. );
  1182. }
  1183. }
  1184. },
  1185. tooltip: {
  1186. show: false
  1187. },
  1188. data: [1, 1, 1, 1, 1]
  1189. },
  1190. //下半截柱状图(中间部分)
  1191. {
  1192. name: '',
  1193. type: 'bar',
  1194. barWidth: 60,
  1195. zlevel: 1,
  1196. barGap: '-100%',
  1197. itemStyle: {
  1198. //lenged文本
  1199. opacity: 1,
  1200. color: function (params) {
  1201. var a = params.name.slice(0, 5);
  1202. if (a === '高区水箱') {
  1203. return new echarts.graphic.LinearGradient(
  1204. 0,
  1205. 0,
  1206. 0,
  1207. 1,
  1208. [
  1209. {
  1210. offset: 0,
  1211. color: '#1893BF' // 0% 处的颜色
  1212. },
  1213. {
  1214. offset: 1,
  1215. color: '#1893BF' // 100% 处的颜色
  1216. }
  1217. ],
  1218. false
  1219. );
  1220. } else if (a === '低区水箱') {
  1221. return new echarts.graphic.LinearGradient(
  1222. 0,
  1223. 0,
  1224. 0,
  1225. 1,
  1226. [
  1227. {
  1228. offset: 0,
  1229. color: '#1893BF' // 0% 处的颜色
  1230. },
  1231. {
  1232. offset: 1,
  1233. color: '#1893BF' // 100% 处的颜色
  1234. }
  1235. ],
  1236. false
  1237. );
  1238. }
  1239. }
  1240. },
  1241. data: [ this.waterTankSecond.gqsx[0].dqsw, this.waterTankSecond.dqsx[0].dqsw,]
  1242. },
  1243. //中间最高刻度的圆形
  1244. {
  1245. name: '', //头部
  1246. type: 'pictorialBar',
  1247. zlevel: 1,
  1248. symbolSize: [60, 25], //顶部刻度的圆形
  1249. symbolOffset: [0, -10],
  1250. z: 12,
  1251. symbolPosition: 'end',
  1252. itemStyle: {
  1253. color: '#D0612C',
  1254. opacity: 0.5,
  1255. borderColor: '#DF3914', // 边框颜色
  1256. borderWidth: 3,
  1257. borderType: 'dashed',
  1258. borderDashOffset: 1
  1259. },
  1260. tooltip: {
  1261. show: true,
  1262. formatter: function (params) {
  1263. if (params.seriesName === '') { // 确保只对当前系列生效
  1264. const value = params.value; // 获取当前数据值
  1265. return `最高水位:${value} m`; // 自定义提示框内容
  1266. }
  1267. return '';
  1268. },
  1269. },
  1270. data: [this.waterTankSecond.gqsx[2].zgsw, this.waterTankSecond.dqsx[2].zgsw]
  1271. },
  1272. //中间最低刻度的圆形
  1273. {
  1274. name: '', //头部
  1275. type: 'pictorialBar',
  1276. zlevel: 1,
  1277. symbolSize: [60, 25], //顶部刻度的圆形
  1278. symbolOffset: [0, -10],
  1279. z: 12,
  1280. symbolPosition: 'end',
  1281. itemStyle: {
  1282. color: '#D0612C',
  1283. opacity: 0.5,
  1284. borderColor: '#DF3914', // 边框颜色
  1285. borderWidth: 3,
  1286. borderType: 'dashed',
  1287. borderDashOffset: 1
  1288. },
  1289. tooltip: {
  1290. show: true,
  1291. formatter: function (params) {
  1292. if (params.seriesName === '') { // 确保只对当前系列生效
  1293. const value = params.value; // 获取当前数据值
  1294. return `最低水位:${value} m`; // 自定义提示框内容
  1295. }
  1296. return '';
  1297. },
  1298. },
  1299. data: [this.waterTankSecond.gqsx[1].zdsw, this.waterTankSecond.dqsx[1].zdsw]
  1300. },
  1301. //底部外面刻度的圆形
  1302. {
  1303. name: '', //头部
  1304. type: 'pictorialBar',
  1305. symbolSize: [78, 45], //顶部刻度的圆形
  1306. symbolOffset: [0, -25],
  1307. z: 12,
  1308. symbolPosition: 'end',
  1309. itemStyle: {
  1310. color: '#0E3A60',
  1311. opacity: 0.6,
  1312. borderColor: '#2E87DE', // 边框颜色
  1313. borderWidth: 3,
  1314. borderType: 'solid',
  1315. borderDashOffset: 1
  1316. },
  1317. tooltip: {
  1318. show: false
  1319. },
  1320. data: [0.1, 0.1,]
  1321. },
  1322. //顶部刻度的圆形
  1323. {
  1324. name: '', //头部
  1325. zlevel: 2,
  1326. type: 'pictorialBar',
  1327. symbolSize: [60, 25], //顶部刻度的圆形
  1328. symbolOffset: [0, -10],
  1329. z: 12,
  1330. symbolPosition: 'end',
  1331. itemStyle: {
  1332. color: '#0E3A60',
  1333. opacity: 0.6,
  1334. borderColor: '#2E87DE', // 边框颜色
  1335. borderWidth: 3,
  1336. borderType: 'dashed',
  1337. borderDashOffset: 1
  1338. },
  1339. tooltip: {
  1340. show: false
  1341. },
  1342. data: [4, 4]
  1343. },
  1344. //刻度值处的圆形图标
  1345. {
  1346. name: '',
  1347. zlevel: 1,
  1348. type: 'pictorialBar',
  1349. symbolSize: [60, 25],
  1350. symbolOffset: [0, -10],
  1351. z: 12,
  1352. itemStyle: {
  1353. opacity: 1,
  1354. color: function (params) {
  1355. var a = params.name.slice(0, 5);
  1356. if (a === '高区水箱') {
  1357. return new echarts.graphic.LinearGradient(
  1358. 0,
  1359. 0,
  1360. 0,
  1361. 1,
  1362. [
  1363. {
  1364. offset: 0,
  1365. color: '#1893BF' // 0% 处的颜色
  1366. },
  1367. {
  1368. offset: 1,
  1369. color: '#26B3EA' // 100% 处的颜色
  1370. }
  1371. ],
  1372. false
  1373. );
  1374. } else if (a === '低区水箱') {
  1375. return new echarts.graphic.LinearGradient(
  1376. 0,
  1377. 0,
  1378. 0,
  1379. 1,
  1380. [
  1381. {
  1382. offset: 0,
  1383. color: '#1893BF' // 0% 处的颜色
  1384. },
  1385. {
  1386. offset: 1,
  1387. color: '#26B3EA' // 100% 处的颜色
  1388. }
  1389. ],
  1390. false
  1391. );
  1392. }
  1393. }
  1394. },
  1395. //显示当前数值
  1396. label: {
  1397. normal: {
  1398. show: true,
  1399. position: 'insideTop',
  1400. "formatter": "{c}M",
  1401. fontSize: 15,
  1402. fontWeight: 'bold',
  1403. color: '#ffffff'
  1404. }
  1405. },
  1406. symbolPosition: 'end',
  1407. data: [ this.waterTankSecond.gqsx[0].dqsw, this.waterTankSecond.dqsx[0].dqsw,]
  1408. },
  1409. //最外层柱状体宽度、颜色设置
  1410. {
  1411. name: '',
  1412. type: 'bar',
  1413. barWidth: 60,
  1414. barGap: '-100%',
  1415. z: 0,
  1416. itemStyle: {
  1417. // color: '#0A2932',
  1418. // 使用 linear-gradient 设置渐变色
  1419. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1420. offset: 0,
  1421. color: '#0F3644' // 渐变色的开始颜色
  1422. }, {
  1423. offset: 1,
  1424. color: '#194972' // 渐变色的结束颜色
  1425. }]),
  1426. opacity: 0.5
  1427. },
  1428. data: [4, 4]
  1429. }
  1430. ];
  1431. this.fireAxis = {
  1432. data: ['高区水箱', '低区水箱'],
  1433. axisTick: {
  1434. show: false
  1435. },
  1436. axisLine: {
  1437. show: false
  1438. },
  1439. axisLabel: {
  1440. interval: 0,
  1441. textStyle: {
  1442. color: '#fff',
  1443. fontSize: 16
  1444. },
  1445. margin: 30 //刻度标签与轴线之间的距离。
  1446. }
  1447. };
  1448. this.fireYAxis = {
  1449. name: "",
  1450. min: 0,
  1451. max: 4,
  1452. type: 'value',
  1453. interval: 4,// 指定刻度间隔
  1454. nameTextStyle: {
  1455. color: "#fff",
  1456. },
  1457. splitArea: {
  1458. show: false // 这里设置为false即可去掉Y轴的背景色
  1459. },
  1460. // 坐标轴在grid区域中的分隔线
  1461. splitLine: {
  1462. show: false,
  1463. },
  1464. axisTick: {
  1465. inside: true,
  1466. show: true, // 显示刻度线
  1467. lineStyle: {
  1468. color: "#fff",
  1469. opacity: 0.5,
  1470. },
  1471. },
  1472. axisLine: {
  1473. show: true,
  1474. lineStyle: {
  1475. color: "#fff",
  1476. opacity: 0.5,
  1477. },
  1478. },
  1479. axisLabel: {
  1480. inside: true,
  1481. formatter:'{value}M',
  1482. textStyle: {
  1483. color: '#68CDE9',
  1484. fontSize: 12,
  1485. },
  1486. },
  1487. }
  1488. this.flag++
  1489. }
  1490. });
  1491. },
  1492. //楼宇每月用电量
  1493. monthElectricity() {
  1494. monthElectricity(this.$props.appOrg).then((res) => {
  1495. if (Number(res.code) === 200) {
  1496. const buildLineDataFirstList= res.data.first.map(item => item.Kwh);
  1497. const buildLineDataSecondList= res.data.second.map(item => item.Kwh);
  1498. const buildLineDataThirdList= res.data.third.map(item => item.Kwh);
  1499. this.yearLineData = [
  1500. {
  1501. name: "配电室一",
  1502. type: "line",
  1503. lineStyle: {
  1504. width: 3, // 设置线宽
  1505. color: "#00EBFC", // 设置线的颜色
  1506. type: 'solid' // 设置直线样式
  1507. },
  1508. smooth: false,
  1509. itemStyle: {
  1510. normal: {
  1511. color: '#00EBFC', // 节点颜色
  1512. borderColor: '#00EBFC', // 节点边框颜色
  1513. borderWidth: 4 // 节点边框宽度
  1514. }
  1515. },
  1516. data: buildLineDataFirstList,
  1517. },
  1518. {
  1519. name: "配电室二",
  1520. type: "line",
  1521. lineStyle: {
  1522. width: 3, // 设置线宽
  1523. color: "#00D390", // 设置线的颜色
  1524. type: 'solid' // 设置直线样式
  1525. },
  1526. smooth: false,
  1527. itemStyle: {
  1528. normal: {
  1529. color: '"#00D390', // 节点颜色
  1530. borderColor: '#00D390', // 节点边框颜色
  1531. borderWidth: 4 // 节点边框宽度
  1532. }
  1533. },
  1534. data: buildLineDataSecondList,
  1535. },
  1536. {
  1537. name: "配电室三",
  1538. type: "line",
  1539. lineStyle: {
  1540. width: 3, // 设置线宽
  1541. color: "#FFED00", // 设置线的颜色
  1542. type: 'solid' // 设置直线样式
  1543. },
  1544. smooth: false,
  1545. itemStyle: {
  1546. normal: {
  1547. color: '"#FFED00', // 节点颜色
  1548. borderColor: '#FFED00', // 节点边框颜色
  1549. borderWidth: 4 // 节点边框宽度
  1550. }
  1551. },
  1552. data: buildLineDataThirdList,
  1553. },
  1554. ];
  1555. this.yearLineAxis = {
  1556. type: "category",
  1557. data: [
  1558. "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月",
  1559. ],
  1560. axisTick: {
  1561. show: false,
  1562. },
  1563. axisLine: {
  1564. lineStyle: {
  1565. color: "#FFF",
  1566. },
  1567. },
  1568. splitArea: false,
  1569. boundaryGap: false,
  1570. };
  1571. this.yearLineYAxis = {
  1572. name: 'Kwh',
  1573. nameTextStyle: {
  1574. color: '#fff',
  1575. },
  1576. axisLine: {
  1577. show: false,
  1578. },
  1579. axisLabel: {
  1580. color: "white", // 设置横坐标轴字体颜色为红色
  1581. },
  1582. splitLine: {
  1583. show: true,
  1584. lineStyle: {
  1585. type: 'dashed',
  1586. color: '#1D2F38', // 背景线颜色
  1587. width: 1// 背景线宽度
  1588. }
  1589. },
  1590. axisTick: {
  1591. show: false,
  1592. },
  1593. splitArea: false
  1594. }
  1595. this.flag++
  1596. }
  1597. });
  1598. },
  1599. //实例化柱状图
  1600. roomLoad() {
  1601. roomLoad(this.$props.appOrg).then((res) => {
  1602. if (Number(res.code) === 200) {
  1603. this.barData = [
  1604. {
  1605. name: "配电室一",
  1606. type: "bar",
  1607. itemStyle: {
  1608. color: "#00EBFC",
  1609. },
  1610. barWidth: 15,
  1611. data: res.data.first,
  1612. },
  1613. {
  1614. name: "配电室二",
  1615. type: "bar",
  1616. itemStyle: {
  1617. color: "#FFB400",
  1618. },
  1619. barWidth: 15,
  1620. data: res.data.second,
  1621. },
  1622. {
  1623. name: "配电室三",
  1624. type: "bar",
  1625. itemStyle: {
  1626. color: "#00D390",
  1627. },
  1628. barWidth: 15,
  1629. data: res.data.third,
  1630. },
  1631. ];
  1632. this.barGrid = {
  1633. top: 30,
  1634. bottom: 0,
  1635. left: "2%",
  1636. right: "2%",
  1637. containLabel: true,
  1638. };
  1639. this.barLegend = {
  1640. right: 0,
  1641. top: 0,
  1642. itemWidth: 17, // 设置图例标记的宽度
  1643. itemHeight: 10, // 设置图例标记的高度
  1644. textStyle: {
  1645. color: "#FFF",
  1646. },
  1647. };
  1648. this.barAxis = {
  1649. type: "category",
  1650. data: [
  1651. "重载",
  1652. "轻载",
  1653. "过载",
  1654. "空载",
  1655. "正常",
  1656. ],
  1657. axisLabel: {
  1658. color: "white", // 设置横坐标轴字体颜色为红色
  1659. },
  1660. axisLine: {
  1661. lineStyle: {
  1662. color: "#08595B"
  1663. }
  1664. },
  1665. axisTick: {
  1666. show: false,
  1667. },
  1668. splitArea: false,
  1669. };
  1670. this.barYAxis = {
  1671. name: "数量(个)",
  1672. nameTextStyle: {
  1673. color: "#fff",
  1674. padding: [0, 0, 0, 5],
  1675. fontSize: 14,
  1676. },
  1677. axisLabel: {
  1678. formatter: "{value}",
  1679. color: "#FFF",
  1680. },
  1681. axisLine: {
  1682. show: false
  1683. },
  1684. axisTick: {
  1685. show: false,
  1686. },
  1687. splitLine: {
  1688. show: true,
  1689. lineStyle: {
  1690. type: 'dashed',
  1691. color: '#1D2F38', // 背景线颜色
  1692. width: 1// 背景线宽度
  1693. }
  1694. },
  1695. splitArea: false,
  1696. };
  1697. this.flag++
  1698. }
  1699. });
  1700. },
  1701. //楼宇今日总用电量
  1702. todayElectricity() {
  1703. todayElectricity(this.$props.appOrg).then((res) => {
  1704. if (Number(res.code) === 200) {
  1705. const buildLineDataList = res.data.map(item => item.Kwh);
  1706. const buildLineDataTime = res.data.map(item => item.time);
  1707. this.buildLineData = [
  1708. {
  1709. name: "当前楼宇",
  1710. type: "line",
  1711. // areaStyle: {
  1712. // opacity: 0.8,
  1713. // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1714. // {
  1715. // offset: 0.03,
  1716. // color: "rgba(30, 240, 215, 0.4196)",
  1717. // },
  1718. // {
  1719. // offset: 0.68,
  1720. // color: "rgba(23, 240, 240, 0)",
  1721. // },
  1722. // ]),
  1723. // },
  1724. lineStyle: {
  1725. width: 3, // 设置线宽
  1726. color: "#00EBFC", // 设置线的颜色
  1727. type: 'solid' // 设置直线样式
  1728. },
  1729. smooth: false,
  1730. itemStyle: {
  1731. normal: {
  1732. color: '#00EBFC', // 节点颜色
  1733. borderColor: '#00EBFC', // 节点边框颜色
  1734. borderWidth: 4 ,// 节点边框宽度
  1735. }
  1736. },
  1737. data: buildLineDataList,
  1738. },
  1739. ];
  1740. this.buildLineAxis = {
  1741. type: "category",
  1742. data:buildLineDataTime,
  1743. axisTick: {
  1744. show: false,
  1745. },
  1746. axisLine: {
  1747. lineStyle: {
  1748. color: "#FFF",
  1749. },
  1750. },
  1751. splitArea: false,
  1752. boundaryGap: false,
  1753. };
  1754. this.buildLineYAxis = {
  1755. name: 'Kwh',
  1756. nameTextStyle: {
  1757. color: '#fff',
  1758. },
  1759. axisLine: {
  1760. show: false,
  1761. },
  1762. axisLabel: {
  1763. color: "white", // 设置横坐标轴字体颜色为红色
  1764. },
  1765. splitLine: {
  1766. show: true,
  1767. lineStyle: {
  1768. type: 'dashed',
  1769. color: '#1D2F38', // 背景线颜色
  1770. width: 1// 背景线宽度
  1771. }
  1772. },
  1773. axisTick: {
  1774. show: false,
  1775. },
  1776. splitArea: false
  1777. }
  1778. this.flag++
  1779. }
  1780. });
  1781. },
  1782. //点击楼宇中当前告警设备列表
  1783. abnormalClick(e,f) {
  1784. this.$emit("abnormalClick", e,f);
  1785. },
  1786. //告警事件的历史统计
  1787. warnEvent() {
  1788. warnEvent(this.$props.appOrg).then((res) => {
  1789. if (Number(res.code) === 200) {
  1790. const warnEventDbDataList = res.data.map(item => item.db);
  1791. const warnEventSjDataList = res.data.map(item => item.sj);
  1792. const warnEventYwDataList = res.data.map(item => item.yw);
  1793. const warnEventYwjDataList = res.data.map(item => item.ywj);
  1794. const warnEventMonthDataList = res.data.map(item =>`${item.month}月`);
  1795. this.giveLineData = [
  1796. {
  1797. name: "电表",
  1798. type: "line",
  1799. lineStyle: {
  1800. width: 3, // 设置线宽
  1801. color: "#00EBFC", // 设置线的颜色
  1802. type: 'solid' // 设置直线样式
  1803. },
  1804. smooth: false,
  1805. itemStyle: {
  1806. normal: {
  1807. color: '#00EBFC', // 节点颜色
  1808. borderColor: '#00EBFC', // 节点边框颜色
  1809. borderWidth: 4 // 节点边框宽度
  1810. }
  1811. },
  1812. data: warnEventDbDataList,
  1813. },
  1814. {
  1815. name: "水浸",
  1816. type: "line",
  1817. lineStyle: {
  1818. width: 3, // 设置线宽
  1819. color: "#00D390", // 设置线的颜色
  1820. type: 'solid' // 设置直线样式
  1821. },
  1822. smooth: false,
  1823. itemStyle: {
  1824. normal: {
  1825. color: '"#00D390', // 节点颜色
  1826. borderColor: '#00D390', // 节点边框颜色
  1827. borderWidth: 4 // 节点边框宽度
  1828. }
  1829. },
  1830. data: warnEventSjDataList,
  1831. },
  1832. {
  1833. name: "烟雾",
  1834. type: "line",
  1835. lineStyle: {
  1836. width: 3, // 设置线宽
  1837. color: "#FFED00", // 设置线的颜色
  1838. type: 'solid' // 设置直线样式
  1839. },
  1840. smooth: false,
  1841. itemStyle: {
  1842. normal: {
  1843. color: '"#FFED00', // 节点颜色
  1844. borderColor: '#FFED00', // 节点边框颜色
  1845. borderWidth: 4 // 节点边框宽度
  1846. }
  1847. },
  1848. data:warnEventYwDataList,
  1849. },
  1850. {
  1851. name: "液位",
  1852. type: "line",
  1853. lineStyle: {
  1854. width: 3, // 设置线宽
  1855. color: "#F3A141", // 设置线的颜色
  1856. type: 'solid' // 设置直线样式
  1857. },
  1858. smooth: false,
  1859. itemStyle: {
  1860. normal: {
  1861. color: '"#F3A141', // 节点颜色
  1862. borderColor: '#F3A141', // 节点边框颜色
  1863. borderWidth: 4 // 节点边框宽度
  1864. }
  1865. },
  1866. data: warnEventYwjDataList,
  1867. },
  1868. ];
  1869. this.giveLineAxis = {
  1870. type: "category",
  1871. data:warnEventMonthDataList,
  1872. axisTick: {
  1873. show: false,
  1874. },
  1875. axisLine: {
  1876. lineStyle: {
  1877. color: "#FFF",
  1878. },
  1879. },
  1880. splitArea: false,
  1881. boundaryGap: false,
  1882. };
  1883. this.giveLineYAxis = {
  1884. name: '单位(次)',
  1885. nameTextStyle: {
  1886. color: '#fff',
  1887. },
  1888. axisLine: {
  1889. show: false,
  1890. },
  1891. axisLabel: {
  1892. color: "white", // 设置横坐标轴字体颜色为红色
  1893. },
  1894. splitLine: {
  1895. show: true,
  1896. lineStyle: {
  1897. type: 'dashed',
  1898. color: '#1D2F38', // 背景线颜色
  1899. width: 1// 背景线宽度
  1900. }
  1901. },
  1902. axisTick: {
  1903. show: false,
  1904. },
  1905. splitArea: false
  1906. }
  1907. this.flag++
  1908. }
  1909. });
  1910. },
  1911. //楼宇中当前告警的设备
  1912. warnDevice() {
  1913. warnDevice(this.$props.appOrg).then((res) => {
  1914. if (Number(res.code) === 200) {
  1915. this.warnDeviceList=res.data;
  1916. this.flag++
  1917. }
  1918. });
  1919. },
  1920. // //资源信息
  1921. // resourceInfo() {
  1922. // resourceInfo(this.$props.appOrg).then((res) => {
  1923. // if (Number(res.code) === 200) {
  1924. // let color = ["#00FFFF", "#2F82FE", "#12DB62", "#FFB948", "#FF4848"];
  1925. // let resourceDataList = [];
  1926. // res.data.forEach((item, index) => {
  1927. // item.color = color[index];
  1928. // resourceDataList.push(item);
  1929. // })
  1930. // this.resourceDataList = resourceDataList;
  1931. // }
  1932. // });
  1933. // },
  1934. //鼠标移出
  1935. leaveFun() {
  1936. this.$emit("closeDialog")
  1937. setTimeout(() => {
  1938. this.$emit("closeDialog")
  1939. }, 200)
  1940. },
  1941. // // 机房用电量列表显示隐藏
  1942. // macBoxShow(){
  1943. // this.macShow=true
  1944. // },
  1945. // macBoxBlock(){
  1946. // this.macShow=false
  1947. // },
  1948. preventDefault() {
  1949. },
  1950. showContent(percent) {
  1951. return percent;
  1952. }
  1953. },
  1954. };
  1955. </script>
  1956. <style lang="scss">
  1957. .dialog-area {
  1958. overflow: hidden;
  1959. width: 1225px;
  1960. height: 920px;
  1961. background: url("../../../assets/images/main/components_max_bg.png") no-repeat;
  1962. background-size: cover;
  1963. padding: 19px 15px 11px 15px;
  1964. //backdrop-filter: blur(10px);
  1965. .dialog-title {
  1966. display: flex;
  1967. flex-direction: row;
  1968. align-items: center;
  1969. justify-content: center;
  1970. position: relative;
  1971. margin-bottom: 10px;
  1972. img {
  1973. width: 284px;
  1974. height: 32px;
  1975. }
  1976. .title {
  1977. font-size: 20px;
  1978. font-weight: 900;
  1979. font-family: "PingFangSC";
  1980. width: 100%;
  1981. position: absolute;
  1982. display: flex;
  1983. align-items: center;
  1984. justify-content: center;
  1985. top: -5px;
  1986. color: #fff;
  1987. }
  1988. }
  1989. .dialog-cont {
  1990. width: 100%;
  1991. height: 850px;
  1992. padding: 15px;
  1993. overflow-y: scroll;
  1994. background: url("../../../assets/images/main/components_max_cont.png") no-repeat;
  1995. background-size: cover;
  1996. .dialog-left {
  1997. width: 570px;
  1998. float: left;
  1999. }
  2000. .dialog-right {
  2001. width: 570px;
  2002. float: right;
  2003. }
  2004. }
  2005. .dialog-list {
  2006. width: 100%;
  2007. display: flex;
  2008. justify-content: space-between;
  2009. margin-bottom: 20px;
  2010. .dialog-item {
  2011. width: calc(50% - 20px);
  2012. }
  2013. .dialog-item-cont {
  2014. display: flex;
  2015. justify-content: center;
  2016. align-items: center;
  2017. margin-top: 40px;
  2018. }
  2019. .wid100 {
  2020. width: 100%;
  2021. .content-title {
  2022. width: 100%;
  2023. background: url("../../../assets/images/main/title_pro_longer.png") no-repeat;
  2024. }
  2025. }
  2026. }
  2027. .content-title {
  2028. width: 100%;
  2029. height: 26px;
  2030. background: url("../../../assets/images/main/title_pro.png") no-repeat;
  2031. background-size: 100% 100%;
  2032. font-family: "PingFangSC";
  2033. font-size: 16px;
  2034. font-weight: bold;
  2035. color: #00ffff;
  2036. padding-left: 25px;
  2037. .title {
  2038. display: block;
  2039. position: relative;
  2040. top: -5px;
  2041. }
  2042. }
  2043. //左边菜单
  2044. .leftNavList {
  2045. display: flex;
  2046. flex-wrap: wrap;
  2047. padding: 10px 0px 0px 0px;
  2048. justify-content: space-between;
  2049. .left-list {
  2050. display: flex;
  2051. align-items: center;
  2052. margin-bottom: 15px;
  2053. img {
  2054. display: block;
  2055. width: 20px;
  2056. height: 20px;
  2057. margin-right: 2px;
  2058. }
  2059. .left-info {
  2060. padding-left: 12px;
  2061. .num {
  2062. font-size: 30px;
  2063. color: #00FFFF;
  2064. font-family: "electronicFont";
  2065. display: flex;
  2066. flex-direction: row;
  2067. align-items: baseline;
  2068. .unit {
  2069. font-size: 12px;
  2070. font-family: 'PingFangSC';
  2071. }
  2072. }
  2073. .name {
  2074. display: flex;
  2075. font-size: 14px;
  2076. color: #FFFFFF;
  2077. font-family: 'fashionZh';
  2078. padding-top: 4px;
  2079. }
  2080. .arrow {
  2081. width: 0;
  2082. height: 0;
  2083. border-left: 7px solid transparent;
  2084. border-right: 7px solid transparent;
  2085. border-top: 7px solid #00f0ff;
  2086. margin-top: 6px;
  2087. margin-left: 2px;
  2088. }
  2089. .machine {
  2090. background: url("../../../assets/images/building_guarantee/machine.png") no-repeat;
  2091. background-size: 100% 100%;
  2092. width: 446px;
  2093. height: 376px;
  2094. position: absolute;
  2095. margin-top: -60px;
  2096. margin-left: 130px;
  2097. .macBox {
  2098. width: 325px;
  2099. height: 330px;
  2100. margin-top: 30px;
  2101. margin-left: 108px;
  2102. background: #062223;
  2103. .content-title {
  2104. width: 100%;
  2105. height: 35px;
  2106. background: url("../../../assets/images/main/title_pro_short.png") no-repeat;
  2107. background-size: 100% 100%;
  2108. font-family: "PingFangSC";
  2109. font-size: 16px;
  2110. font-weight: bold;
  2111. color: #00ffff;
  2112. padding-left: 25px;
  2113. .title {
  2114. display: block;
  2115. position: relative;
  2116. }
  2117. }
  2118. }
  2119. }
  2120. }
  2121. }
  2122. }
  2123. //右边菜单
  2124. .rightList2 {
  2125. display: flex;
  2126. flex-wrap: wrap;
  2127. padding: 10px 10px 0px 10px;
  2128. justify-content: space-between;
  2129. .left-list {
  2130. display: flex;
  2131. align-items: center;
  2132. margin-bottom: 15px;
  2133. margin-left: 30px;
  2134. img {
  2135. display: block;
  2136. // width:20px;
  2137. // height:20px;
  2138. margin-right: 5px;
  2139. }
  2140. .left-info {
  2141. // padding-left:12px;
  2142. .num {
  2143. font-size: 40px;
  2144. color: #00FFFF;
  2145. font-family: "electronicFont";
  2146. display: flex;
  2147. flex-direction: row;
  2148. align-items: center;
  2149. .unit {
  2150. font-size: 12px;
  2151. font-family: 'PingFangSC';
  2152. font-weight: bold;
  2153. padding-top: 5px;
  2154. }
  2155. }
  2156. .name {
  2157. display: flex;
  2158. font-size: 14px;
  2159. color: #FFFFFF;
  2160. font-family: 'fashionZh';
  2161. padding-top: 4px;
  2162. }
  2163. }
  2164. }
  2165. .right-Top {
  2166. display: flex;
  2167. align-items: center;
  2168. .water-list {
  2169. width: 130px;
  2170. height: 45px;
  2171. display: flex;
  2172. align-items: center;
  2173. margin-bottom: 15px;
  2174. margin-right: 55px;
  2175. margin-top: 5px;
  2176. justify-content: center;
  2177. .left-info {
  2178. padding-left: 12px;
  2179. img {
  2180. width: 25px;
  2181. }
  2182. .num {
  2183. font-size: 30px;
  2184. color: #00FFFF;
  2185. font-family: "electronicFont";
  2186. display: flex;
  2187. flex-direction: row;
  2188. align-items: baseline;
  2189. .unit {
  2190. font-size: 12px;
  2191. }
  2192. }
  2193. .name {
  2194. font-size: 15px;
  2195. color: #FFFFFF;
  2196. font-family: 'fashionZh';
  2197. padding-top: 4px;
  2198. display: flex;
  2199. }
  2200. }
  2201. }
  2202. .left-list1 {
  2203. width: 130px;
  2204. height: 45px;
  2205. display: flex;
  2206. align-items: center;
  2207. margin-bottom: 15px;
  2208. margin-right: 20px;
  2209. margin-top: 5px;
  2210. background: url("../../../assets/images/building_guarantee/normal.png") no-repeat;
  2211. background-size: 100% 100%;
  2212. justify-content: center;
  2213. .nor {
  2214. display: flex;
  2215. font-size: 34px;
  2216. color: #10D95F;
  2217. font-family: "electronicFont";
  2218. padding-top: 4px;
  2219. padding-left: 50px;
  2220. }
  2221. }
  2222. .left-list2 {
  2223. width: 130px;
  2224. height: 45px;
  2225. display: flex;
  2226. align-items: center;
  2227. margin-bottom: 15px;
  2228. margin-right: 50px;
  2229. margin-top: 5px;
  2230. background: url("../../../assets/images/building_guarantee/danger.png") no-repeat;
  2231. background-size: 100% 100%;
  2232. justify-content: center;
  2233. .dor {
  2234. display: flex;
  2235. font-size: 34px;
  2236. color: #FF003D;
  2237. font-family: "electronicFont";
  2238. padding-top: 4px;
  2239. padding-left: 50px;
  2240. }
  2241. }
  2242. }
  2243. }
  2244. .content {
  2245. margin-top: 20px;
  2246. .title-format {
  2247. display: flex;
  2248. flex-direction: row;
  2249. align-items: center;
  2250. img {
  2251. width: 6px;
  2252. height: 24px;
  2253. margin-right: 6px;
  2254. }
  2255. .title-info {
  2256. display: flex;
  2257. flex-direction: column;
  2258. font-size: 12px;
  2259. color: #ffffff;
  2260. .title-en {
  2261. font-size: 8px;
  2262. color: #ffffff;
  2263. opacity: 0.4;
  2264. }
  2265. }
  2266. }
  2267. .total-data {
  2268. display: flex;
  2269. align-items: baseline;
  2270. color: #00ffff;
  2271. margin-top: 4px;
  2272. .total {
  2273. font-size: 40px;
  2274. font-family: "electronicFont";
  2275. }
  2276. .unit {
  2277. font-size: 12px;
  2278. }
  2279. }
  2280. .data-content {
  2281. display: flex;
  2282. flex-direction: row;
  2283. align-items: center;
  2284. flex-wrap: wrap;
  2285. .data-item {
  2286. position: relative;
  2287. display: flex;
  2288. flex-direction: column;
  2289. align-items: center;
  2290. justify-content: center;
  2291. margin-right: 24px;
  2292. img {
  2293. width: 89px;
  2294. height: 82px;
  2295. }
  2296. .desc {
  2297. font-size: 14px;
  2298. color: #ffffff;
  2299. margin-top: 7px;
  2300. opacity: 0.4;
  2301. }
  2302. .data {
  2303. position: absolute;
  2304. top: 20px;
  2305. left: 0;
  2306. width: 89px;
  2307. font-size: 30px;
  2308. display: flex;
  2309. align-items: center;
  2310. justify-content: center;
  2311. color: #00ffff;
  2312. font-family: "electronicFont";
  2313. }
  2314. }
  2315. .data-item:nth-child(2n) {
  2316. margin-right: 0;
  2317. }
  2318. }
  2319. .data-list {
  2320. display: flex;
  2321. flex: 1;
  2322. flex-direction: row;
  2323. align-items: center;
  2324. justify-content: space-between;
  2325. .data-item {
  2326. display: flex;
  2327. flex-direction: column;
  2328. align-items: center;
  2329. justify-content: center;
  2330. flex: 1;
  2331. border-right: 1px solid rgba(25, 252, 222, 0.2);
  2332. .data-detail {
  2333. display: flex;
  2334. flex-direction: row;
  2335. align-items: baseline;
  2336. color: #00ffff;
  2337. margin-top: 11px;
  2338. font-size: 12px;
  2339. .data {
  2340. font-size: 30px;
  2341. font-family: "electronicFont";
  2342. }
  2343. }
  2344. }
  2345. .data-item:last-child {
  2346. border-right: none;
  2347. }
  2348. }
  2349. .rate-area {
  2350. position: relative;
  2351. img {
  2352. width: 198px;
  2353. height: 114px;
  2354. }
  2355. .rate {
  2356. display: flex;
  2357. flex-direction: column;
  2358. align-items: center;
  2359. justify-content: center;
  2360. width: 100%;
  2361. position: absolute;
  2362. top: 0;
  2363. left: 0;
  2364. color: #fff;
  2365. .rate-data {
  2366. display: flex;
  2367. flex-direction: row;
  2368. align-items: baseline;
  2369. color: #ffba44;
  2370. .data {
  2371. font-family: "electronicFont";
  2372. font-size: 30px;
  2373. }
  2374. .unit {
  2375. font-size: 12px;
  2376. }
  2377. }
  2378. .desc {
  2379. font-size: 12px;
  2380. width: 58px;
  2381. text-align: center;
  2382. }
  2383. }
  2384. }
  2385. }
  2386. .other-cont {
  2387. display: flex;
  2388. .icon {
  2389. display: block;
  2390. width: 70px;
  2391. height: auto;
  2392. }
  2393. .other-info {
  2394. padding-left: 2px;
  2395. .desc {
  2396. font-size: 12px;
  2397. color: #ffffff;
  2398. font-weight: bold;
  2399. }
  2400. .num-info {
  2401. width: 100%;
  2402. padding-top: 2px;
  2403. display: flex;
  2404. align-items: center;
  2405. .num {
  2406. font-size: 30px;
  2407. color: #00ffff;
  2408. font-weight: bold;
  2409. font-family: "electronicFont";
  2410. }
  2411. .unit {
  2412. font-size: 12px;
  2413. color: #00ffff;
  2414. font-weight: 500;
  2415. position: relative;
  2416. top: 4px;
  2417. }
  2418. .mar {
  2419. margin-left: 20px;
  2420. }
  2421. }
  2422. }
  2423. }
  2424. .camera-cont {
  2425. width: 100%;
  2426. display: flex;
  2427. justify-content: space-between;
  2428. align-items: center;
  2429. .camera-item {
  2430. display: flex;
  2431. flex-direction: column;
  2432. justify-content: center;
  2433. align-items: center;
  2434. position: relative;
  2435. .num-info {
  2436. display: flex;
  2437. justify-content: center;
  2438. align-items: center;
  2439. .num {
  2440. font-size: 30px;
  2441. color: #00ffff;
  2442. font-weight: bold;
  2443. font-family: "electronicFont";
  2444. padding-left: 4px;
  2445. }
  2446. .num2 {
  2447. font-size: 30px;
  2448. color: #00ffff;
  2449. font-weight: bold;
  2450. font-family: "electronicFont";
  2451. padding-left: 4px;
  2452. position: absolute;
  2453. top: 20px;
  2454. }
  2455. .unit {
  2456. font-size: 12px;
  2457. color: #00ffff;
  2458. font-weight: 500;
  2459. position: relative;
  2460. top: 3px;
  2461. }
  2462. }
  2463. .icon {
  2464. display: block;
  2465. width: 46px;
  2466. height: auto;
  2467. }
  2468. .icon2 {
  2469. display: block;
  2470. width: 101px;
  2471. height: auto;
  2472. }
  2473. .title {
  2474. font-size: 14px;
  2475. color: #ffffff;
  2476. margin-top: 6px;
  2477. font-weight: normal;
  2478. text-align: center;
  2479. }
  2480. }
  2481. }
  2482. .use-energy {
  2483. width: 100%;
  2484. padding: 0 15px;
  2485. .use-energy-fir {
  2486. width: 100%;
  2487. display: flex;
  2488. align-items: center;
  2489. font-size: 16px;
  2490. color: #ffffff;
  2491. font-weight: 500;
  2492. .num {
  2493. font-weight: 900;
  2494. color: #00ffff;
  2495. padding: 0 8px;
  2496. font-size: 18px;
  2497. }
  2498. }
  2499. .use-energy-snd {
  2500. width: 100%;
  2501. margin-top: 15px;
  2502. display: flex;
  2503. align-items: center;
  2504. .use-energy-snd-list {
  2505. display: flex;
  2506. align-items: center;
  2507. .icon {
  2508. display: block;
  2509. width: 34px;
  2510. height: 34px;
  2511. }
  2512. .use-energy-snd-info {
  2513. padding-left: 4px;
  2514. .desc {
  2515. font-size: 12px;
  2516. color: #ffffff;
  2517. }
  2518. .num-info {
  2519. display: flex;
  2520. align-items: center;
  2521. .num {
  2522. font-size: 20px;
  2523. color: #00ffff;
  2524. font-weight: bold;
  2525. font-family: "electronicFont";
  2526. }
  2527. .unit {
  2528. font-size: 10px;
  2529. color: #00ffff;
  2530. font-weight: 500;
  2531. position: relative;
  2532. top: 4px;
  2533. left: 2px;
  2534. }
  2535. }
  2536. }
  2537. }
  2538. .use-energy-snd-list:last-child {
  2539. margin-left: 20px;
  2540. }
  2541. }
  2542. }
  2543. .total-cont {
  2544. width: 100%;
  2545. height: 35px;
  2546. background: url("../../../assets/images/main/lightLone.png") no-repeat;
  2547. background-size: 100% 100%;
  2548. font-family: "PingFangSC";
  2549. font-size: 13px;
  2550. font-weight: bold;
  2551. color: #ffffff;
  2552. padding-left: 25px;
  2553. padding-top: 6px;
  2554. align-items: center;
  2555. display: flex;
  2556. justify-content: space-between;
  2557. margin-top: 10px;
  2558. margin-left: 15px;
  2559. }
  2560. .tank {
  2561. display: flex;
  2562. .ocBox {
  2563. width: 50%;
  2564. .water-cont {
  2565. width: 100%;
  2566. height: 35px;
  2567. background: url("../../../assets/images/main/lightLone.png") no-repeat;
  2568. background-size: 100% 100%;
  2569. font-family: "PingFangSC";
  2570. font-size: 13px;
  2571. font-weight: bold;
  2572. color: #ffffff;
  2573. padding-left: 25px;
  2574. padding-top: 6px;
  2575. align-items: center;
  2576. display: flex;
  2577. justify-content: space-between;
  2578. margin-top: 10px;
  2579. margin-left: 15px;
  2580. }
  2581. .leftTank {
  2582. width: 100%;
  2583. height: 180px;
  2584. background: url("../../../assets/images/main/leftTank.png") no-repeat;
  2585. background-size: 100% 100%;
  2586. margin: 20px 10px 10px 10px;
  2587. }
  2588. .rightTank {
  2589. width: 100%;
  2590. height: 180px;
  2591. background: url("../../../assets/images/main/rightTank.png") no-repeat;
  2592. background-size: 100% 100%;
  2593. margin: 20px 10px 10px 10px;
  2594. }
  2595. }
  2596. }
  2597. .circle-cont {
  2598. width: 100%;
  2599. display: flex;
  2600. flex-wrap: wrap;
  2601. padding: 0 10px;
  2602. .circle-list {
  2603. width: 100px;
  2604. display: flex;
  2605. flex-direction: column;
  2606. justify-content: center;
  2607. align-items: center;
  2608. margin-bottom: 10px;
  2609. .re-img {
  2610. width: 100px;
  2611. height: auto;
  2612. position: relative;
  2613. }
  2614. .re-value {
  2615. position: absolute;
  2616. width: 100px;
  2617. font-size: 30px;
  2618. font-weight: bold;
  2619. font-family: "electronicFont";
  2620. color: #00FFFF;
  2621. text-align: center;
  2622. top: 5px;
  2623. left: 0px;
  2624. }
  2625. .name {
  2626. font-size: 12px;
  2627. color: #ffffff;
  2628. font-weight: 500;
  2629. padding-top: 6px;
  2630. width: 100%;
  2631. overflow: hidden;
  2632. text-align: center;
  2633. white-space: nowrap;
  2634. padding-left: 5px;
  2635. }
  2636. }
  2637. .el-progress__text {
  2638. font-size: 12px !important;
  2639. color: #fff !important;
  2640. }
  2641. }
  2642. .cFox{
  2643. display: flex;
  2644. justify-content: space-around;
  2645. .num {
  2646. font-size: 30px;
  2647. color: #00FFFF;
  2648. font-family: "electronicFont";
  2649. display: flex;
  2650. flex-direction: row;
  2651. align-items: baseline;
  2652. }
  2653. .unit {
  2654. font-size: 12px;
  2655. font-family: 'element-icons';
  2656. }
  2657. .left-inf {
  2658. // padding-left:12px;
  2659. .num {
  2660. font-size: 30px;
  2661. color: #00FFFF;
  2662. font-family: "electronicFont";
  2663. display: flex;
  2664. flex-direction: row;
  2665. align-items: center;
  2666. .unit {
  2667. font-size: 12px;
  2668. font-family: 'PingFangSC';
  2669. font-weight: bold;
  2670. padding-top: 5px;
  2671. }
  2672. }
  2673. .name {
  2674. display: flex;
  2675. font-size: 14px;
  2676. color: #FFFFFF;
  2677. font-family: 'fashionZh';
  2678. padding-top: 4px;
  2679. }
  2680. }
  2681. }
  2682. .table-cont {
  2683. width: 100%;
  2684. .table-top {
  2685. width: 100%;
  2686. height: 26px;
  2687. background: url("../../../assets/images/building_guarantee/img_11.png") no-repeat;
  2688. background-size: 100% 100%;
  2689. padding: 0 25px 0 10px;
  2690. display: flex;
  2691. justify-content: space-between;
  2692. align-items: center;
  2693. font-size: 12px;
  2694. color: #00ffff;
  2695. }
  2696. .table-bot {
  2697. width: 100%;
  2698. .table-list {
  2699. width: 100%;
  2700. height: 38px;
  2701. padding: 0 25px 0 10px;
  2702. display: flex;
  2703. justify-content: space-between;
  2704. align-items: center;
  2705. font-size: 12px;
  2706. color: #ffffff;
  2707. font-weight: 500;
  2708. }
  2709. }
  2710. }
  2711. .table-cont .fir {
  2712. width: 20%;
  2713. text-align: left;
  2714. }
  2715. .table-cont .snd {
  2716. width: 50%;
  2717. text-align: center;
  2718. }
  2719. .table-cont .thd {
  2720. width: 30%;
  2721. text-align: right;
  2722. }
  2723. .fade-grow-enter-active,
  2724. .fade-grow-leave-active {
  2725. transition: all 1s ease;
  2726. }
  2727. .fade-grow-enter,
  2728. .fade-grow-leave-to {
  2729. opacity: 0;
  2730. transform: scale(0);
  2731. }
  2732. .fade-grow-enter-to,
  2733. .fade-grow-leave {
  2734. opacity: 1;
  2735. transform: scale(1);
  2736. }
  2737. ::-webkit-scrollbar {
  2738. display: none;
  2739. width: 3px;
  2740. height: 3px;
  2741. }
  2742. ::-webkit-scrollbar-thumb {
  2743. //滑块部分
  2744. // border-radius: 5px;
  2745. background-color: #58cbbb;
  2746. }
  2747. ::-webkit-scrollbar-track {
  2748. //轨道部分
  2749. // box-shadow: inset 0 0 5px #ddd;
  2750. background: #ddd;
  2751. // border-radius: 5px;
  2752. }
  2753. }
  2754. </style>