index.vue 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791
  1. <template>
  2. <div class="homePage" :class="!swichTheme ? 'themeDarkHome' : 'themeLightHome'">
  3. <div class="homeMain">
  4. <div class="leftMain">
  5. <div style="height:55px"></div>
  6. <!-- 天气预测 -->
  7. <div class="weather">
  8. <div class="comHeader">
  9. <div class="headerLeft">
  10. <span class="gray"></span>
  11. <span class="blue"></span>
  12. </div>
  13. <div class="headerRight">
  14. <span class="headerName">天气预测</span>
  15. <span class="headerZs">
  16. <span class="headerZsN"></span>
  17. </span>
  18. </div>
  19. </div>
  20. <div class="weatherMain">
  21. <div class="weatherMain_top">
  22. <div class="wetherImg">
  23. <img :src="!swichTheme ? tianqi : tianqiW" alt="">
  24. </div>
  25. <div class="wetherMsg">
  26. <span class="wetherMsg_Du">{{weatherFrom.temperature}}°</span>
  27. <div class="wetherMsg_Det">
  28. <span style="margin-left:5px">{{weatherFrom.weather}}</span>
  29. <span>{{weatherFrom.wind_direction}}</span>
  30. <span>{{weatherFrom.wind_power}}</span>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="weatherMain_bot">
  35. <div class="weaMain" v-for="it in weatherArr" :key="it.name">
  36. <img :src="it.img" alt="">
  37. <p class="pOne">{{it.value}}</p>
  38. <p class="pTwo">{{it.name}}</p>
  39. </div>
  40. </div>
  41. </div>
  42. </div>
  43. <!-- 预测电量 -->
  44. <div class="Electric">
  45. <div class="comHeader">
  46. <div class="headerLeft">
  47. <span class="gray"></span>
  48. <span class="blue"></span>
  49. </div>
  50. <div class="headerRight">
  51. <div class="headerNaAll">
  52. <span class="headerNa">预测电量</span>
  53. <span class="headerNa2">单位:万kWh</span>
  54. </div>
  55. <span class="headerZs">
  56. <span class="headerZsN"></span>
  57. </span>
  58. </div>
  59. </div>
  60. <div class="electricMain">
  61. <div v-for="(item, index) in dayFa" :key="index" class="electricMain_day">
  62. <div class="powerCharts">
  63. <div class="powerName">{{ item[0].name }}</div>
  64. <div class="powerItem">
  65. <forecast-bar-component :list="item" height="40px" width="370px"
  66. :theme="swichTheme" />
  67. <div class="powerValue">
  68. <span style="background-color:#FF9B23"></span>
  69. <span>{{ item[0].value }}</span>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. <div style="margin-top: 20px">
  75. <div v-for="(item, index) in monthFa" :key="index" class="electricMain_month">
  76. <div class="powerCharts">
  77. <div class="powerName">{{ item[0].name }}</div>
  78. <div class="powerItem">
  79. <forecast-bar-component :list="item" height="40px" width="410px"
  80. :theme="swichTheme" />
  81. <div class="powerValue powerValuesc">
  82. <span style="background-color:#FF9B23"></span>
  83. <span>{{ item[0].value }}</span>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. <!-- 实际功率 -->
  92. <div class="power">
  93. <div class="comHeader">
  94. <div class="headerLeft">
  95. <span class="gray"></span>
  96. <span class="blue"></span>
  97. </div>
  98. <div class="headerRight">
  99. <div class="headerNaAll">
  100. <span class="headerNa">实际功率</span>
  101. <span class="headerNa2">单位:万kWh</span>
  102. </div>
  103. <span class="headerZs">
  104. <span class="headerZsN"></span>
  105. </span>
  106. </div>
  107. </div>
  108. <div class="powerMain">
  109. <echarts-gauge-component :data="powerDataHome" :theme="swichTheme" />
  110. </div>
  111. </div>
  112. </div>
  113. <div class="map">
  114. <p class="dingbian">定边县</p>
  115. <p class="jingbian">靖边县</p>
  116. <div class="fengjiSty" v-for="it in fengjiArr" :key="it" :style="fengjiStyFn(it)">
  117. <div class="mainSv">
  118. <img :src="fengji" class="fengjiImg">
  119. <img :src="quan" class="quanImg">
  120. <img :src="fengjiBack" class="fengjiBackImg">
  121. <span class="dianSty"></span>
  122. </div>
  123. <div class="mainMsg">
  124. <span>{{it.name}}</span>
  125. </div>
  126. </div>
  127. </div>
  128. <div class="rightMain">
  129. <div style="height:55px"></div>
  130. <!-- 电量分析 -->
  131. <div class="powerAnalysis">
  132. <div class="comHeader">
  133. <div class="headerLeft">
  134. <span class="gray"></span>
  135. <span class="blue"></span>
  136. </div>
  137. <div class="headerRight">
  138. <div class="headerNaAll">
  139. <span class="headerNa">电量分析</span>
  140. <span class="headerNa2">单位:万kWh</span>
  141. </div>
  142. <span class="headerZs">
  143. <span class="headerZsN"></span>
  144. </span>
  145. </div>
  146. </div>
  147. <div class="powerAnalysisMain">
  148. <div class="analysRadio">
  149. <el-radio-group v-model="powerAnalyRadio">
  150. <el-radio-button label="日" value="日" />
  151. <el-radio-button label="月" value="月" />
  152. <el-radio-button label="年" value="年" />
  153. </el-radio-group>
  154. </div>
  155. <div class="analysMain">
  156. <div class="analysMain_left">
  157. <div class="analLeftTop">
  158. <img :src="dlTop1" alt="">
  159. <span>增发电量</span>
  160. <span>30</span>
  161. </div>
  162. <div class="analLeftEcharts">
  163. <echarts-pie :data="analyPieData" :index="1" :theme="swichTheme"
  164. :colors="['#1850B3', '#B2B8CA']" />
  165. <span class="echartsNum">25%</span>
  166. <span class="echartsName">提升率</span>
  167. </div>
  168. <div class="analLeftBot">
  169. <div class="analLeftBot_top">
  170. <img :src="zengfa" class="leftImg">
  171. <div class="analyleftbottopAll">
  172. <div class="analyleftbottopName">及时并网增发电量</div>
  173. <div class="analyleftbottopSty">
  174. <span>30</span>
  175. <img :src="dlTop2" alt="">
  176. </div>
  177. </div>
  178. </div>
  179. <div class="analLeftBot_top">
  180. <img :src="zengfa" class="leftImg">
  181. <div class="analyleftbottopAll">
  182. <div class="analyleftbottopName">主动维护降低损失电量</div>
  183. <div class="analyleftbottopSty">
  184. <span>30</span>
  185. <img :src="dlTop2" alt="">
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. </div>
  191. <div class="analysMain_left analysMain_right">
  192. <div class="analLeftTop">
  193. <img :src="dlBot1" alt="">
  194. <span>损失电量</span>
  195. <span>30</span>
  196. </div>
  197. <div class="analLeftEcharts">
  198. <echarts-pie :data="analyPieData" :index="2" :theme="swichTheme"
  199. :colors="['#F87909', '#B2B8CA']" />
  200. <span class="echartsNum echartsJing">25%</span>
  201. <span class="echartsName">降低率</span>
  202. </div>
  203. <div class="analLeftBot">
  204. <div class="analLeftBot_top">
  205. <img :src="sunshi" class="leftImg">
  206. <div class="analyleftbottopAll">
  207. <div class="analyleftbottopName">及时并网增发电量</div>
  208. <div class="analyleftbottopSty">
  209. <span class="echartsJing">30</span>
  210. <img :src="dlBot2" alt="">
  211. </div>
  212. </div>
  213. </div>
  214. <div class="analLeftBot_top">
  215. <img :src="sunshi" class="leftImg">
  216. <div class="analyleftbottopAll">
  217. <div class="analyleftbottopName">主动维护降低损失电量</div>
  218. <div class="analyleftbottopSty">
  219. <span class="echartsJing">30</span>
  220. <img :src="dlBot2" alt="">
  221. </div>
  222. </div>
  223. </div>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. </div>
  229. <!-- 计划电量 -->
  230. <div class="powerPlan">
  231. <div class="comHeader">
  232. <div class="headerLeft">
  233. <span class="gray"></span>
  234. <span class="blue"></span>
  235. </div>
  236. <div class="headerRight">
  237. <div class="headerNaAll">
  238. <span class="headerNa">计划电量完成情况</span>
  239. </div>
  240. <span class="headerZs">
  241. <span class="headerZsN"></span>
  242. </span>
  243. </div>
  244. </div>
  245. <div class="powerPlanMain">
  246. <div class="analysRadio">
  247. <el-radio-group v-model="powerPlanRadio">
  248. <el-radio-button label="风" value="风" />
  249. <!-- <el-radio-button label="光" value="光" disabled />
  250. <el-radio-button label="总" value="总" disabled /> -->
  251. </el-radio-group>
  252. </div>
  253. <div class="planMain">
  254. <div class="planMain_left">
  255. <div class="analysMain_echarts">
  256. <echarts-pie-2 :data="powerPlanData" :index="1" :theme="swichTheme" />
  257. </div>
  258. <div class="analysMain_Msg">
  259. <div class="analysMain_Msg_top">
  260. <div class="analysMain_Msg_top_flex">
  261. <span>计划</span>
  262. <span>{{Math.floor(powerPlanData.yjhwc)}}</span>
  263. </div>
  264. <div class="analysMain_Msg_top_flex">
  265. <span>实际</span>
  266. <span>{{Math.floor(powerPlanData.ysjwc)}}</span>
  267. </div>
  268. </div>
  269. <div class="analysMain_Msg_bot">
  270. <span>月计划完成率</span>
  271. </div>
  272. </div>
  273. </div>
  274. <div class="planMain_left">
  275. <div class="analysMain_echarts">
  276. <echarts-pie-2 :data="powerPlanData" :index="2" :theme="swichTheme" />
  277. </div>
  278. <div class="analysMain_Msg">
  279. <div class="analysMain_Msg_top">
  280. <div class="analysMain_Msg_top_flex">
  281. <span>计划</span>
  282. <span>{{Math.floor(powerPlanData.njhwc)}}</span>
  283. </div>
  284. <div class="analysMain_Msg_top_flex">
  285. <span>实际</span>
  286. <span>{{Math.floor(powerPlanData.nsjwc)}}</span>
  287. </div>
  288. </div>
  289. <div class="analysMain_Msg_bot">
  290. <span>年计划完成率</span>
  291. </div>
  292. </div>
  293. </div>
  294. </div>
  295. </div>
  296. </div>
  297. </div>
  298. </div>
  299. <div class="footer">
  300. <div class="monthPower">
  301. <div id="monthPowers" style="width:100%;height:100%"></div>
  302. </div>
  303. <div class="hover72Power">
  304. <div id="hover72Powers" style="width:100%;height:100%"></div>
  305. </div>
  306. </div>
  307. </div>
  308. </template>
  309. <script>
  310. import fengji from '@/assets/images/indexCom/fengji.png'
  311. import quan from '@/assets/images/indexCom/quan.png'
  312. import fengjiBack from '@/assets/images/indexCom/fengjiBack.png'
  313. import tixing from '@/assets/images/indexCom/tixing.png'
  314. import tianqi from '@/assets/menuImg/power_tqyb.png'
  315. import tianqiW from '@/assets/images/indexCom/weatherW.png'
  316. import dlTop1 from '@/assets/images/indexCom/dlTop1.png'
  317. import dlTop2 from '@/assets/images/indexCom/dlTop2.png'
  318. import dlBot1 from '@/assets/images/indexCom/dlBot1.png'
  319. import dlBot2 from '@/assets/images/indexCom/dlBot2.png'
  320. import zengfa from '@/assets/images/indexCom/zengfa.png'
  321. import sunshi from '@/assets/images/indexCom/sunshi.png'
  322. import wea1 from '@/assets/images/indexCom/wea_1.png'
  323. import wea2 from '@/assets/images/indexCom/wea_2.png'
  324. import wea3 from '@/assets/images/indexCom/wea_3.png'
  325. import wea4 from '@/assets/images/indexCom/wea_4.png'
  326. import wea5 from '@/assets/images/indexCom/wea_5.png'
  327. import forecastBarComponent from "@/components/homeComponent/forecastBarComponent.vue";
  328. import echartsGaugeComponent from "@/components/homeComponent/echartsGaugeComponent.vue";
  329. import echartsPie from "@/components/homeComponent/echartsPie.vue";
  330. import echartsPie2 from "@/components/homeComponent/echartsPie2.vue";
  331. import {
  332. apiGethomeData
  333. } from '@/api/gengra'
  334. export default {
  335. components: {
  336. forecastBarComponent,
  337. echartsGaugeComponent,
  338. echartsPie,
  339. echartsPie2,
  340. },
  341. data() {
  342. return {
  343. swichTheme: null,
  344. fengji: fengji,
  345. quan: quan,
  346. fengjiBack: fengjiBack,
  347. tixing: tixing,
  348. tianqi: tianqi,
  349. tianqiW: tianqiW,
  350. wea1: wea1,
  351. wea2: wea2,
  352. wea3: wea3,
  353. wea4: wea4,
  354. wea5: wea5,
  355. dlTop1: dlTop1,
  356. dlTop2: dlTop2,
  357. dlBot1: dlBot1,
  358. dlBot2: dlBot2,
  359. zengfa: zengfa,
  360. sunshi: sunshi,
  361. weatherArr: [],
  362. fengjiArr: [],
  363. dayFa: [],
  364. monthFa: [],
  365. powerDataHome: [],
  366. powerAnalyRadio: '日',
  367. analyPieData: [],
  368. powerPlanRadio: '风',
  369. powerPlanData: {},
  370. homeDataVo: {},
  371. weatherFrom: {
  372. temperature: '',
  373. weather: '',
  374. wind_direction: '',
  375. wind_power: '',
  376. }
  377. }
  378. },
  379. created() {
  380. this.fengjiArr = [{
  381. name: '繁食沟风电场',
  382. left: '23%',
  383. top: '43%'
  384. },
  385. {
  386. name: '新庄风电场',
  387. left: '35%',
  388. top: '31%'
  389. },
  390. {
  391. name: '草山梁风电场',
  392. left: '45%',
  393. top: '41%'
  394. },
  395. {
  396. name: '雷家山风电场',
  397. left: '52%',
  398. top: '28%'
  399. },
  400. {
  401. name: '吉山梁风电场',
  402. left: '58%',
  403. top: '42%'
  404. },
  405. {
  406. name: '左庄风电场',
  407. left: '64%',
  408. top: '50%'
  409. },
  410. ]
  411. },
  412. computed: {
  413. pageHeight() {
  414. return {
  415. 'height': document.documentElement.clientHeight - 50 + 'px'
  416. }
  417. }
  418. },
  419. watch: {
  420. "$store.state.theme"(newVal, oldVal) {
  421. this.swichTheme = newVal
  422. this.getHomeData()
  423. }
  424. },
  425. mounted() {
  426. this.swichTheme = JSON.parse(window.sessionStorage.getItem('theme'))
  427. this.getPowerLine()
  428. this.getHomeData()
  429. },
  430. methods: {
  431. fengjiStyFn(it) {
  432. return `left:${it.left};top:${it.top}`
  433. },
  434. getHomeData() {
  435. let that = this
  436. let params = {
  437. wpId: 'GJNY_SXGS_DBXNY_ZGS0'
  438. }
  439. apiGethomeData(params).then(res => {
  440. if (res && res.data) {
  441. if (res.data.tq) {
  442. //天气预报
  443. let weatherObj = JSON.parse(res.data.tq[0].content)
  444. that.weatherFrom = {
  445. temperature: weatherObj.weather.temperature,
  446. weather: weatherObj.weather.weather,
  447. wind_direction: weatherObj.weather.wind_direction,
  448. wind_power: weatherObj.weather.wind_power,
  449. }
  450. this.weatherArr = [{
  451. name: '能见度',
  452. value: weatherObj.weather.visibility,
  453. img: wea1
  454. },
  455. {
  456. name: '湿度',
  457. value: weatherObj.weather.humidity,
  458. img: wea2
  459. },
  460. {
  461. name: '气压',
  462. value: weatherObj.weather.pressure,
  463. img: wea3
  464. },
  465. {
  466. name: '日出时间',
  467. value: weatherObj.feature.sunriseTime,
  468. img: wea4
  469. },
  470. {
  471. name: '日落时间',
  472. value: weatherObj.feature.sunsetTime,
  473. img: wea5
  474. },
  475. ]
  476. }
  477. //预测电量
  478. if (res.data.vo) {
  479. that.homeDataVo = res.data.vo
  480. let it = res.data.vo
  481. that.dayFa = [
  482. [{
  483. name: "日发电量",
  484. id: "day",
  485. value: it.rfdl,
  486. color: '#FF9B23',
  487. total: 1500,
  488. }, ],
  489. [{
  490. name: "日预测电量",
  491. id: "day2",
  492. value: it.rycdl,
  493. color: '#FF9B23',
  494. total: 1500,
  495. }, ],
  496. ]
  497. that.monthFa = [
  498. [{
  499. name: "月发电量",
  500. id: "day",
  501. value: it.yfdl,
  502. color: '#1C99FF',
  503. total: 45000,
  504. }, ],
  505. [{
  506. name: "月预测电量",
  507. id: "day2",
  508. value: it.yycdl,
  509. color: '#1C99FF',
  510. total: 45000,
  511. }, ],
  512. ]
  513. that.powerDataHome = [{
  514. title: "风速",
  515. value: it.pjfs,
  516. max: 25,
  517. unit: "MW",
  518. },
  519. {
  520. title: "理论功率",
  521. value: it.bzgl,
  522. max: it.bzgl * 1.08,
  523. unit: "MW",
  524. },
  525. {
  526. title: "应发功率",
  527. value: it.yfgl,
  528. max: it.yfgl * 1.08,
  529. unit: "MW",
  530. },
  531. {
  532. title: "实发功率",
  533. value: it.sfgl,
  534. max: it.sfgl * 1.08,
  535. unit: "MW",
  536. },
  537. ];
  538. }
  539. //计划电量完成情况
  540. if (res.data.jhwcl) {
  541. that.powerPlanData = res.data.jhwcl
  542. }
  543. // 月发电量
  544. if (res.data.dllist && res.data.dllist.length > 0) {
  545. let xAxis = []
  546. let seriesRF = []
  547. let seriesSW = []
  548. let seriesGW = []
  549. res.data.dllist.forEach(it => {
  550. xAxis.push(it.rq)
  551. seriesRF.push(it.yfdl)
  552. seriesSW.push(it.yswdl)
  553. seriesGW.push(it.ygwdl)
  554. })
  555. let series = [{
  556. name: '日发电量',
  557. data: seriesRF,
  558. barGap: '0',
  559. type: 'bar'
  560. },
  561. {
  562. name: '上网电量',
  563. data: seriesSW,
  564. type: 'bar'
  565. },
  566. {
  567. name: '购网电量',
  568. data: seriesGW,
  569. type: 'bar'
  570. }
  571. ]
  572. that.getPowerBar(xAxis, series)
  573. }
  574. // 72小时功率曲线
  575. if (res.data['72time'] && res.data['72time'].length > 0) {
  576. let xAxis = []
  577. let seriesSpeed = []
  578. let seriesGl = []
  579. let seriesSJ = []
  580. res.data['72time'].forEach(it => {
  581. // let date = it.time.substring(0, it.time.indexOf('T') + 3)
  582. const timeArr=it.time.split("-")
  583. xAxis.push(`${timeArr[1]}-${timeArr[2]}`)
  584. seriesSpeed.push(it.speed)
  585. seriesGl.push(it.gl)
  586. seriesSJ.push(it.sjgl)
  587. })
  588. let series = [{
  589. name: '平均风速',
  590. data: seriesSpeed,
  591. yAxisIndex: 1,
  592. type: 'line',
  593. symbol: 'none'
  594. },
  595. {
  596. name: '应发功率',
  597. data: seriesGl,
  598. type: 'line',
  599. symbol: 'none'
  600. },
  601. {
  602. name: '实际功率',
  603. data: seriesSJ,
  604. type: 'line',
  605. symbol: 'none'
  606. }
  607. ]
  608. that.getPowerLine(xAxis, series)
  609. }
  610. }
  611. })
  612. },
  613. getPowerBar(xAxis, series) {
  614. let option = {
  615. title: {
  616. text: '月发电量',
  617. left: '10px',
  618. top: '20px',
  619. textStyle: {
  620. fontSize: '16',
  621. fontWeight: 400,
  622. color: !this.swichTheme ? '#fff' : '#1850B3'
  623. }
  624. },
  625. color: ['#7981AF', '#1C99FF', '#E57F25'],
  626. tooltip: {
  627. trigger: 'axis',
  628. axisPointer: {
  629. type: 'shadow'
  630. }
  631. },
  632. grid: {
  633. left: '2%',
  634. right: '2%',
  635. bottom: '5%',
  636. height: '90px',
  637. containLabel: true
  638. },
  639. legend: {
  640. right: '20',
  641. top: '20',
  642. itemWidth: 5,
  643. itemHeight: 5,
  644. data: ['日发电量', '上网电量', '购网电量']
  645. },
  646. xAxis: [{
  647. type: 'category',
  648. axisTick: {
  649. show: false
  650. },
  651. data: xAxis
  652. }],
  653. yAxis: [{
  654. type: 'value',
  655. splitNumber: 3.5,
  656. splitLine: {
  657. lineStyle: {
  658. color: ['#393F4D']
  659. }
  660. },
  661. name: '单位:万KWh'
  662. }],
  663. series: series
  664. };
  665. if (!this.theme) {
  666. option.backgroundColor = ''
  667. }
  668. // 基于准备好的dom,初始化echarts实例
  669. let dom = document.getElementById('monthPowers');
  670. dom.removeAttribute("_echarts_instance_") ? dom.removeAttribute("_echarts_instance_") : ''
  671. let myChart = this.$echarts.init(dom);
  672. myChart.setOption(option);
  673. window.addEventListener("resize", function () {
  674. myChart.resize()
  675. })
  676. },
  677. getPowerLine(xAxis, series) {
  678. let option = {
  679. title: {
  680. text: '72小时功率曲线',
  681. left: '10px',
  682. top: '20px',
  683. textStyle: {
  684. fontSize: '16',
  685. fontWeight: 400,
  686. color: !this.swichTheme ? '#fff' : '#1850B3'
  687. }
  688. },
  689. tooltip: {
  690. trigger: 'axis'
  691. },
  692. color: ['#7981AF', '#1C99FF', '#E57F25'],
  693. legend: {
  694. right: '20',
  695. top: '20',
  696. itemWidth: 5,
  697. itemHeight: 5,
  698. data: ['平均风速', '应发功率', '实际功率']
  699. },
  700. grid: {
  701. left: '2%',
  702. right: '2%',
  703. bottom: '5%',
  704. height: '90px',
  705. containLabel: true
  706. },
  707. xAxis: {
  708. type: 'category',
  709. boundaryGap: false,
  710. data: xAxis
  711. },
  712. yAxis: [{
  713. type: 'value',
  714. splitNumber: 3,
  715. splitLine: {
  716. lineStyle: {
  717. color: ['#393F4D']
  718. }
  719. },
  720. name: '单位:万KWh'
  721. },
  722. {
  723. type: 'value',
  724. splitNumber: 3,
  725. splitLine: {
  726. lineStyle: {
  727. color: ['#393F4D']
  728. }
  729. },
  730. name: '单位:m/s'
  731. },
  732. ],
  733. series: series
  734. };
  735. if (!this.theme) {
  736. option.backgroundColor = ''
  737. }
  738. // 基于准备好的dom,初始化echarts实例
  739. let dom = document.getElementById('hover72Powers');
  740. dom.removeAttribute("_echarts_instance_") ? dom.removeAttribute("_echarts_instance_") : ''
  741. let myChart = this.$echarts.init(dom);
  742. myChart.setOption(option);
  743. window.addEventListener("resize", function () {
  744. myChart.resize()
  745. })
  746. },
  747. }
  748. }
  749. </script>
  750. <style lang="less">
  751. .homePage {
  752. height: 100%;
  753. .homeMain {
  754. display: flex;
  755. width: 100%;
  756. height: 74vh;
  757. .comHeader {
  758. height: 28px;
  759. display: flex;
  760. .headerLeft {
  761. height: 28px;
  762. width: 20px;
  763. position: relative;
  764. .gray {
  765. position: absolute;
  766. left: 5px;
  767. top: 3px;
  768. display: inline-block;
  769. width: 5px;
  770. height: 5px;
  771. background: #CBD2E2;
  772. }
  773. .blue {
  774. position: absolute;
  775. left: 5px;
  776. top: 20px;
  777. display: inline-block;
  778. width: 5px;
  779. height: 5px;
  780. background: #1C99FF;
  781. transform: rotate(45deg);
  782. }
  783. }
  784. .headerRight {
  785. width: 427px;
  786. height: 28px;
  787. position: relative;
  788. .headerName {
  789. font-family: Microsoft YaHei;
  790. font-weight: 400;
  791. font-size: 16px;
  792. color: #FFFFFF;
  793. line-height: 28px;
  794. margin-left: 10px;
  795. }
  796. .headerNaAll {
  797. display: flex;
  798. justify-content: space-between;
  799. .headerNa {
  800. font-family: Microsoft YaHei;
  801. font-weight: 400;
  802. font-size: 16px;
  803. color: #FFFFFF;
  804. line-height: 28px;
  805. margin-left: 10px;
  806. }
  807. .headerNa2 {
  808. font-family: Microsoft YaHei;
  809. font-weight: 400;
  810. font-size: 12px;
  811. line-height: 28px;
  812. margin-right: 8px;
  813. }
  814. }
  815. .headerZs {
  816. display: inline-block;
  817. position: absolute;
  818. right: 0;
  819. top: 22px;
  820. width: 32px;
  821. height: 6px;
  822. .headerZsN {
  823. position: relative;
  824. top: -8px;
  825. left: 2px;
  826. display: inline-block;
  827. width: 30px;
  828. height: 4px;
  829. }
  830. }
  831. }
  832. }
  833. .leftMain {
  834. width: 25%;
  835. height: 100%;
  836. margin-left: 37px;
  837. .weather {
  838. margin-bottom: 30px;
  839. .weatherMain {
  840. margin-top: 15px;
  841. .weatherMain_top {
  842. display: flex;
  843. .wetherImg {
  844. margin: 9px 0 0 25px;
  845. }
  846. .wetherMsg {
  847. margin-left: 21px;
  848. .wetherMsg_Du {
  849. font-family: SourceHanSansCN;
  850. font-weight: 400;
  851. font-size: 30px;
  852. }
  853. .wetherMsg_Det {
  854. display: flex;
  855. span {
  856. font-family: Microsoft YaHei;
  857. font-weight: 400;
  858. font-size: 14px;
  859. margin-right: 25px;
  860. }
  861. }
  862. }
  863. }
  864. .weatherMain_bot {
  865. display: flex;
  866. justify-content: space-around;
  867. margin-top: 18px;
  868. .weaMain {
  869. text-align: center;
  870. .pOne {
  871. font-family: SourceHanSansCN;
  872. font-weight: 400;
  873. font-size: 14px;
  874. line-height: 28px;
  875. }
  876. .pTwo {
  877. font-family: Microsoft YaHei;
  878. font-weight: 400;
  879. font-size: 14px;
  880. }
  881. }
  882. }
  883. }
  884. }
  885. .Electric {
  886. margin-bottom: 30px;
  887. .electricMain {
  888. padding-top: 20px;
  889. .electricMain_day,
  890. .electricMain_month {
  891. .powerCharts {
  892. position: relative;
  893. display: flex;
  894. flex-direction: row;
  895. align-items: flex-end;
  896. width: 100%;
  897. margin-top: 5px;
  898. margin-left: 10px;
  899. .powerName {
  900. position: absolute;
  901. left: 15px;
  902. top: -8px;
  903. font-family: Microsoft YaHei;
  904. font-weight: 400;
  905. font-size: 14px;
  906. line-height: 28px;
  907. }
  908. .powerItem {
  909. display: flex;
  910. // position: relative;
  911. .powerValue {
  912. font-size: 12px;
  913. font-family: Bicubik;
  914. position: relative;
  915. left: 3px;
  916. top: 17px;
  917. span:nth-child(1) {
  918. width: 5px;
  919. height: 5px;
  920. border-radius: 5px;
  921. display: inline-block;
  922. margin-right: 5px;
  923. }
  924. span:nth-child(2) {
  925. font-family: Bicubik;
  926. font-weight: 400;
  927. font-size: 12px;
  928. position: relative;
  929. top: 2px;
  930. }
  931. }
  932. .powerValuesc {
  933. left: -35px;
  934. }
  935. }
  936. }
  937. }
  938. }
  939. }
  940. .power {
  941. .powerMain {
  942. margin-top: 10px;
  943. }
  944. }
  945. }
  946. .map {
  947. width: 50%;
  948. height: 100%;
  949. position: relative;
  950. .dingbian,
  951. .jingbian {
  952. font-family: Microsoft YaHei;
  953. font-weight: 400;
  954. font-size: 18px;
  955. line-height: 35px;
  956. }
  957. .dingbian {
  958. position: absolute;
  959. top: 68%;
  960. left: 15%;
  961. }
  962. .jingbian {
  963. position: absolute;
  964. top: 30%;
  965. left: 67%;
  966. }
  967. .fengjiSty {
  968. position: absolute;
  969. width: 40px;
  970. .mainSv {
  971. position: relative;
  972. width: 40px;
  973. .quanImg {
  974. position: absolute;
  975. left: 5px;
  976. bottom: -2px;
  977. }
  978. .fengjiBackImg {
  979. position: absolute;
  980. bottom: -2px;
  981. left: -5px;
  982. }
  983. .dianSty {
  984. display: inline-block;
  985. width: 6px;
  986. height: 7px;
  987. border-radius: 50%;
  988. position: absolute;
  989. left: 3px;
  990. }
  991. }
  992. .mainMsg {
  993. width: 105px;
  994. height: 30px;
  995. background-image: url('@/assets/images/indexCom/tixing.png');
  996. background-repeat: no-repeat;
  997. position: absolute;
  998. bottom: -7px;
  999. left: -98px;
  1000. span {
  1001. font-family: Microsoft YaHei;
  1002. font-weight: 400;
  1003. font-size: 14px;
  1004. color: #FFFFFF;
  1005. line-height: 23px;
  1006. position: relative;
  1007. left: 6px;
  1008. top: 2px;
  1009. }
  1010. }
  1011. }
  1012. }
  1013. .rightMain {
  1014. width: 25%;
  1015. height: 100%;
  1016. .analysRadio {
  1017. margin: 16px 0 7px 20px;
  1018. .el-radio-group {
  1019. height: 28px;
  1020. .el-radio-button {
  1021. .el-radio-button__inner {
  1022. width: 48px;
  1023. }
  1024. }
  1025. }
  1026. }
  1027. .powerAnalysis {
  1028. .powerAnalysisMain {
  1029. .analysMain {
  1030. margin-left: 20px;
  1031. width: 100%;
  1032. display: flex;
  1033. .analysMain_left {
  1034. width: 50%;
  1035. .analLeftTop {
  1036. display: flex;
  1037. img {
  1038. width: 14px;
  1039. height: 14px;
  1040. position: relative;
  1041. top: 5px;
  1042. }
  1043. span {
  1044. font-family: Microsoft YaHei;
  1045. font-weight: 400;
  1046. font-size: 14px;
  1047. line-height: 28px;
  1048. margin-left: 3px;
  1049. }
  1050. }
  1051. .analLeftEcharts {
  1052. position: relative;
  1053. .echartsNum {
  1054. position: absolute;
  1055. top: 30%;
  1056. left: 38%;
  1057. font-family: Bicubik;
  1058. font-weight: 400;
  1059. font-size: 16px;
  1060. }
  1061. .echartsName {
  1062. position: absolute;
  1063. top: 50%;
  1064. left: 38%;
  1065. font-family: Microsoft YaHei;
  1066. font-weight: 400;
  1067. font-size: 14px;
  1068. }
  1069. }
  1070. .analLeftBot {
  1071. .analLeftBot_top {
  1072. display: flex;
  1073. .leftImg {
  1074. width: 36px;
  1075. height: 36px;
  1076. }
  1077. .analyleftbottopAll {
  1078. margin-left: 2px;
  1079. .analyleftbottopName {
  1080. position: relative;
  1081. top: -5px;
  1082. font-family: Microsoft YaHei;
  1083. font-weight: 400;
  1084. font-size: 14px;
  1085. line-height: 28px;
  1086. }
  1087. .analyleftbottopSty {
  1088. display: flex;
  1089. position: relative;
  1090. top: -13px;
  1091. span {
  1092. font-family: Bicubik;
  1093. font-weight: 400;
  1094. font-size: 16px;
  1095. line-height: 28px;
  1096. }
  1097. img {
  1098. width: 12px;
  1099. height: 12px;
  1100. position: relative;
  1101. top: 8px;
  1102. left: 8px;
  1103. }
  1104. }
  1105. }
  1106. }
  1107. }
  1108. }
  1109. }
  1110. }
  1111. }
  1112. .powerPlan {
  1113. margin-top: 30px;
  1114. .powerPlanMain {
  1115. .planMain {
  1116. width: calc(100% - 20px);
  1117. display: flex;
  1118. justify-content: space-around;
  1119. .planMain_left {
  1120. padding: 0 20px;
  1121. width: calc(50% - 40px);
  1122. .analysMain_echarts {
  1123. width: 100%;
  1124. text-align: center;
  1125. }
  1126. .analysMain_Msg {
  1127. .analysMain_Msg_top {
  1128. display: flex;
  1129. justify-content: space-between;
  1130. width: 100%;
  1131. .analysMain_Msg_top_flex {
  1132. display: flex;
  1133. padding: 0 10px;
  1134. width: calc(100% - 20px);
  1135. span {
  1136. display: inline-block;
  1137. }
  1138. span:nth-child(1) {
  1139. width: 30px;
  1140. font-family: Microsoft YaHei;
  1141. font-weight: 400;
  1142. font-size: 14px;
  1143. line-height: 28px;
  1144. }
  1145. span:nth-child(2) {
  1146. font-family: Arial;
  1147. font-weight: 400;
  1148. font-size: 14px;
  1149. line-height: 28px;
  1150. }
  1151. }
  1152. }
  1153. .analysMain_Msg_bot {
  1154. // opacity: 0.5;
  1155. text-align: center;
  1156. span {
  1157. font-family: Microsoft YaHei;
  1158. font-weight: 400;
  1159. font-size: 14px;
  1160. line-height: 28px;
  1161. }
  1162. }
  1163. }
  1164. }
  1165. }
  1166. }
  1167. }
  1168. }
  1169. }
  1170. .footer {
  1171. display: flex;
  1172. justify-content: space-between;
  1173. padding: 0 36px;
  1174. width: calc(100% - 72px);
  1175. height: 19vh;
  1176. .monthPower {
  1177. width: calc(50% - 10px);
  1178. background: rgba(41, 45, 53, 0.4);
  1179. border-radius: 6px;
  1180. }
  1181. .hover72Power {
  1182. width: calc(50% - 10px);
  1183. background: rgba(41, 45, 53, 0.4);
  1184. border-radius: 6px;
  1185. }
  1186. }
  1187. }
  1188. .themeDarkHome {
  1189. background-color: #0F0F0F;
  1190. background-image: url('@/assets/images/indexCom/backImg_B.png');
  1191. background-repeat: no-repeat;
  1192. .homeMain {
  1193. .map {
  1194. background-image: url('@/assets/images/indexCom/map_B.png');
  1195. background-repeat: no-repeat;
  1196. background-size: 90%;
  1197. background-position: center;
  1198. }
  1199. .map {
  1200. .dingbian,
  1201. .jingbian {
  1202. color: #A5ABB7;
  1203. text-shadow: 0px 1px 2px #070A11;
  1204. }
  1205. .fengjiSty {
  1206. .mainSv {
  1207. .dianSty {
  1208. background: #31FBFD;
  1209. }
  1210. }
  1211. }
  1212. }
  1213. .comHeader {
  1214. .headerRight {
  1215. background: #2D3138;
  1216. .headerNaAll {
  1217. .headerNa2 {
  1218. color: #787F8F;
  1219. }
  1220. }
  1221. .headerZs {
  1222. background: #0F0F0F;
  1223. .headerZsN {
  1224. background: #41454C;
  1225. }
  1226. }
  1227. }
  1228. }
  1229. .leftMain {
  1230. .weather {
  1231. .weatherMain {
  1232. .weatherMain_top {
  1233. .wetherImg {
  1234. img {
  1235. width: 48px;
  1236. height: 48px;
  1237. }
  1238. }
  1239. .wetherMsg {
  1240. .wetherMsg_Du {
  1241. color: #FFFFFF;
  1242. }
  1243. .wetherMsg_Det {
  1244. span {
  1245. color: #FFFFFF;
  1246. }
  1247. }
  1248. }
  1249. }
  1250. .weatherMain_bot {
  1251. .weaMain {
  1252. .pOne {
  1253. color: #FFFFFF;
  1254. }
  1255. .pTwo {
  1256. color: #8B93A6;
  1257. }
  1258. }
  1259. }
  1260. }
  1261. }
  1262. .Electric {
  1263. .electricMain {
  1264. .electricMain_day,
  1265. .electricMain_month {
  1266. .powerCharts {
  1267. .powerName {
  1268. color: #8B93A6;
  1269. }
  1270. .powerItem {
  1271. .powerValue {
  1272. span:nth-child(1) {
  1273. background-color: #fff;
  1274. }
  1275. span:nth-child(2) {
  1276. color: #FFFFFF;
  1277. }
  1278. }
  1279. }
  1280. }
  1281. }
  1282. }
  1283. }
  1284. }
  1285. .rightMain {
  1286. .analysRadio {
  1287. .el-radio-group {
  1288. .el-radio-button {
  1289. .el-radio-button__inner {
  1290. color: #fff;
  1291. border: 1px solid #3B4C6C;
  1292. background: transparent;
  1293. }
  1294. }
  1295. .is-active {
  1296. background: linear-gradient(90deg, rgba(28, 113, 255, 0), rgba(28, 113, 255, 0.6));
  1297. }
  1298. }
  1299. }
  1300. .powerAnalysis {
  1301. .powerAnalysisMain {
  1302. .analysMain {
  1303. .analysMain_left {
  1304. .analLeftTop {
  1305. span {
  1306. color: #8B93A6;
  1307. }
  1308. }
  1309. .analLeftEcharts {
  1310. .echartsNum {
  1311. color: #1C99FF;
  1312. }
  1313. .echartsName {
  1314. color: #8B93A6;
  1315. }
  1316. }
  1317. .analLeftBot {
  1318. .analLeftBot_top {
  1319. .analyleftbottopAll {
  1320. .analyleftbottopName {
  1321. color: #8B93A6;
  1322. }
  1323. .analyleftbottopSty {
  1324. span {
  1325. color: #FFFFFF;
  1326. }
  1327. }
  1328. }
  1329. }
  1330. }
  1331. }
  1332. }
  1333. }
  1334. }
  1335. .powerPlan {
  1336. .powerPlanMain {
  1337. .planMain {
  1338. .planMain_left {
  1339. .analysMain_echarts {
  1340. border-bottom: 1px dashed #393F4D;
  1341. }
  1342. .analysMain_Msg {
  1343. .analysMain_Msg_top {
  1344. .analysMain_Msg_top_flex {
  1345. span:nth-child(1) {
  1346. color: #8B93A6;
  1347. }
  1348. span:nth-child(2) {
  1349. color: #FFFFFF;
  1350. }
  1351. }
  1352. }
  1353. .analysMain_Msg_bot {
  1354. background: #2D3138;
  1355. span {
  1356. color: #8B93A6;
  1357. }
  1358. }
  1359. }
  1360. }
  1361. }
  1362. }
  1363. }
  1364. }
  1365. }
  1366. .footer {
  1367. .monthPower {
  1368. background: rgba(41, 45, 53, 0.4);
  1369. }
  1370. .hover72Power {
  1371. background: rgba(41, 45, 53, 0.4);
  1372. }
  1373. }
  1374. }
  1375. .themeLightHome {
  1376. background-color: #e6e8f2;
  1377. background-image: url('@/assets/images/indexCom/backImg_W.png');
  1378. background-repeat: no-repeat;
  1379. .homeMain {
  1380. .map {
  1381. background-image: url('@/assets/images/indexCom/map_W.png');
  1382. background-repeat: no-repeat;
  1383. background-size: 90%;
  1384. background-position: center;
  1385. }
  1386. .map {
  1387. .dingbian,
  1388. .jingbian {
  1389. color: #fff;
  1390. text-shadow: 0px 1px 2px #070A11;
  1391. }
  1392. .fengjiSty {
  1393. .mainSv {
  1394. .dianSty {
  1395. background: #1850B3;
  1396. border: 1px solid #FFFFFF;
  1397. }
  1398. }
  1399. }
  1400. }
  1401. .comHeader {
  1402. .headerRight {
  1403. background: #1850B3;
  1404. .headerNaAll {
  1405. .headerNa2 {
  1406. color: #BABED3;
  1407. }
  1408. }
  1409. .headerZs {
  1410. background: #fff;
  1411. .headerZsN {
  1412. background: #4F70EC;
  1413. }
  1414. }
  1415. }
  1416. }
  1417. .leftMain {
  1418. .weather {
  1419. .weatherMain {
  1420. .weatherMain_top {
  1421. .wetherMsg {
  1422. .wetherMsg_Du {
  1423. color: #1850B3;
  1424. }
  1425. .wetherMsg_Det {
  1426. span {
  1427. color: #575A5F;
  1428. }
  1429. }
  1430. }
  1431. }
  1432. .weatherMain_bot {
  1433. .weaMain {
  1434. .pOne {
  1435. color: #575A5F;
  1436. }
  1437. .pTwo {
  1438. color: #646972;
  1439. }
  1440. }
  1441. }
  1442. }
  1443. }
  1444. .Electric {
  1445. .electricMain {
  1446. .electricMain_day,
  1447. .electricMain_month {
  1448. .powerCharts {
  1449. .powerName {
  1450. color: #67666C;
  1451. }
  1452. .powerItem {
  1453. .powerValue {
  1454. span:nth-child(1) {
  1455. background-color: #fff;
  1456. }
  1457. span:nth-child(2) {
  1458. color: #242426;
  1459. }
  1460. }
  1461. }
  1462. }
  1463. }
  1464. }
  1465. }
  1466. }
  1467. .rightMain {
  1468. .analysRadio {
  1469. .el-radio-group {
  1470. .el-radio-button {
  1471. .el-radio-button__inner {
  1472. color: #646972;
  1473. }
  1474. }
  1475. .is-active {
  1476. .el-radio-button__inner {
  1477. background: #1850B3 !important;
  1478. color: #fff;
  1479. }
  1480. }
  1481. }
  1482. }
  1483. .powerAnalysis {
  1484. .powerAnalysisMain {
  1485. .analysMain {
  1486. .analysMain_left {
  1487. .analLeftTop {
  1488. span:nth-child(1) {
  1489. color: #646972;
  1490. }
  1491. span:nth-child(2) {
  1492. color: #242426;
  1493. }
  1494. }
  1495. .analLeftEcharts {
  1496. .echartsNum {
  1497. color: #1850B3;
  1498. }
  1499. .echartsJing {
  1500. color: #F87909;
  1501. }
  1502. .echartsName {
  1503. color: #646972;
  1504. }
  1505. }
  1506. .analLeftBot {
  1507. .analLeftBot_top {
  1508. .analyleftbottopAll {
  1509. .analyleftbottopName {
  1510. color: #646972;
  1511. }
  1512. .analyleftbottopSty {
  1513. span {
  1514. color: #1850B3;
  1515. }
  1516. .echartsJing {
  1517. color: #F87909;
  1518. }
  1519. }
  1520. }
  1521. }
  1522. }
  1523. }
  1524. }
  1525. }
  1526. }
  1527. .powerPlan {
  1528. .powerPlanMain {
  1529. .planMain {
  1530. .planMain_left {
  1531. .analysMain_echarts {
  1532. border-bottom: 1px dashed #393F4D;
  1533. }
  1534. .analysMain_Msg {
  1535. .analysMain_Msg_top {
  1536. .analysMain_Msg_top_flex {
  1537. span:nth-child(1) {
  1538. color: #646972;
  1539. }
  1540. span:nth-child(2) {
  1541. color: #1850B3;
  1542. }
  1543. }
  1544. }
  1545. .analysMain_Msg_bot {
  1546. background: #ccd0de;
  1547. span {
  1548. color: #646972;
  1549. }
  1550. }
  1551. }
  1552. }
  1553. }
  1554. }
  1555. }
  1556. }
  1557. }
  1558. .footer {
  1559. .monthPower {
  1560. background: rgba(255, 255, 255, 0.8);
  1561. }
  1562. .hover72Power {
  1563. background: rgba(255, 255, 255, 0.8);
  1564. }
  1565. }
  1566. }
  1567. </style>