Home.vue 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. <template>
  2. <div class="wind-site-home">
  3. <row>
  4. <wind-site-weather />
  5. <panel-3 class="wind-site-info">
  6. <row align="middle">
  7. <div class="info-item">
  8. <div class="value">123</div>
  9. <div class="text">装机容量</div>
  10. </div>
  11. <div class="info-item">
  12. <div class="value">123</div>
  13. <div class="text">装机容量</div>
  14. </div>
  15. <div class="info-item">
  16. <div class="value">123</div>
  17. <div class="text">装机容量</div>
  18. </div>
  19. <div class="info-item">
  20. <div class="value">123</div>
  21. <div class="text">装机容量</div>
  22. </div>
  23. <div class="info-item">
  24. <div class="value">123</div>
  25. <div class="text">装机容量</div>
  26. </div>
  27. <div class="info-item">
  28. <div class="value">123</div>
  29. <div class="text">装机容量</div>
  30. </div>
  31. <div class="info-item">
  32. <div class="value">123</div>
  33. <div class="text">装机容量</div>
  34. </div>
  35. <div class="info-item">
  36. <div class="value">123</div>
  37. <div class="text">装机容量</div>
  38. </div>
  39. </row>
  40. </panel-3>
  41. <panel-3 class="wind-running-info">
  42. <row align="middle">
  43. <div class="fengji">
  44. <div class="fengji-icon svg-icon svg-icon-white">
  45. <svg-icon class="" svgid="svg-风机" />
  46. </div>
  47. <div class="info">
  48. <div class="text green">接入风机</div>
  49. <div class="value">30</div>
  50. </div>
  51. </div>
  52. <div class="situation">
  53. <row>
  54. <div class="status ">
  55. <span class="svg-icon svg-icon-green">
  56. <svg-icon svgid="svg-风机" />
  57. </span>
  58. <span class="text green">
  59. 运行
  60. </span>
  61. </div>
  62. <div class="status ">
  63. <span class="svg-icon svg-icon-green">
  64. <svg-icon svgid="svg-风机" />
  65. </span>
  66. <span class="text green">
  67. 运行
  68. </span>
  69. </div>
  70. <div class="status ">
  71. <span class="svg-icon svg-icon-green">
  72. <svg-icon svgid="svg-风机" />
  73. </span>
  74. <span class="text green">
  75. 运行
  76. </span>
  77. </div>
  78. <div class="status ">
  79. <span class="svg-icon svg-icon-green">
  80. <svg-icon svgid="svg-风机" />
  81. </span>
  82. <span class="text green">
  83. 运行
  84. </span>
  85. </div>
  86. <div class="status ">
  87. <span class="svg-icon svg-icon-green">
  88. <svg-icon svgid="svg-风机" />
  89. </span>
  90. <span class="text green">
  91. 运行
  92. </span>
  93. </div>
  94. <div class="status ">
  95. <span class="svg-icon svg-icon-green">
  96. <svg-icon svgid="svg-风机" />
  97. </span>
  98. <span class="text green">
  99. 运行
  100. </span>
  101. </div>
  102. <div class="status ">
  103. <span class="svg-icon svg-icon-green">
  104. <svg-icon svgid="svg-风机" />
  105. </span>
  106. <span class="text green">
  107. 运行
  108. </span>
  109. </div>
  110. </row>
  111. <row>
  112. <div class="status">
  113. <span class="text gray">
  114. 正常出力
  115. </span>
  116. <span class="value">
  117. 123
  118. </span>
  119. </div>
  120. <div class="status">
  121. <span class="text gray">
  122. 正常出力
  123. </span>
  124. <span class="value">
  125. 123
  126. </span>
  127. </div>
  128. <div class="status">
  129. <span class="text gray">
  130. 正常出力
  131. </span>
  132. <span class="value">
  133. 123
  134. </span>
  135. </div>
  136. <div class="status">
  137. <span class="text gray">
  138. 正常出力
  139. </span>
  140. <span class="value">
  141. 123
  142. </span>
  143. </div>
  144. <div class="status">
  145. <span class="text gray">
  146. 正常出力
  147. </span>
  148. <span class="value">
  149. 123
  150. </span>
  151. </div>
  152. <div class="status">
  153. <span class="text gray">
  154. 正常出力
  155. </span>
  156. <span class="value">
  157. 123
  158. </span>
  159. </div>
  160. <div class="status">
  161. <span class="text gray">
  162. 正常出力
  163. </span>
  164. <span class="value">
  165. 123
  166. </span>
  167. </div>
  168. </row>
  169. <row>
  170. <div class="status">
  171. <span class="text gray">
  172. 正常出力
  173. </span>
  174. <span class="value">
  175. 123
  176. </span>
  177. </div>
  178. <div class="status">
  179. <span class="text gray">
  180. 正常出力
  181. </span>
  182. <span class="value">
  183. 123
  184. </span>
  185. </div>
  186. <div class="status">
  187. <span class="text gray">
  188. 正常出力
  189. </span>
  190. <span class="value">
  191. 123
  192. </span>
  193. </div>
  194. <div class="status">
  195. <span class="text gray">
  196. 正常出力
  197. </span>
  198. <span class="value">
  199. 123
  200. </span>
  201. </div>
  202. <div class="status">
  203. <span class="text gray">
  204. 正常出力
  205. </span>
  206. <span class="value">
  207. 123
  208. </span>
  209. </div>
  210. <div class="status">
  211. <span class="text gray">
  212. 正常出力
  213. </span>
  214. <span class="value">
  215. 123
  216. </span>
  217. </div>
  218. <div class="status">
  219. <span class="text gray">
  220. 正常出力
  221. </span>
  222. <span class="value">
  223. 123
  224. </span>
  225. </div>
  226. </row>
  227. </div>
  228. </row>
  229. </panel-3>
  230. </row>
  231. <row>
  232. <Col :span="6">
  233. <panel title="日度损失电量分析"></panel>
  234. </Col>
  235. <Col :span="12">
  236. <panel title="72小时功率曲线图">
  237. <multiple-line-chart height="18.519vh" :list="Powertrend.value" :units="Powertrend.units" />
  238. </panel>
  239. </Col>
  240. <Col :span="6">
  241. <panel>
  242. <light-matrix />
  243. </panel>
  244. </Col>
  245. </row>
  246. <row>
  247. <Col :span="8">
  248. <panel title="日度损失电量分析">
  249. <dual-pie-chart height="21.296vh" />
  250. </panel>
  251. </Col>
  252. <Col :span="8">
  253. <panel title="月度损失电量分析"> <dual-pie-chart height="21.296vh" />s </panel>
  254. </Col>
  255. <Col :span="8">
  256. <panel title="年度损失电量分析">
  257. <dual-pie-chart height="21.296vh" />
  258. </panel>
  259. </Col>
  260. </row>
  261. <row>
  262. <Col :span="8">
  263. <panel title="日度损失电量分析">
  264. <hover-bar-chart height="21.296vh" />
  265. </panel>
  266. </Col>
  267. <Col :span="8">
  268. <panel title="完成电量">
  269. <multiple-bar-chart height="21.296vh" :list="CompleteElectricity.data" :units="CompleteElectricity.units" />
  270. </panel>
  271. </Col>
  272. <Col :span="8">
  273. <panel title="月发电量对比">
  274. <normal-line-chart height="21.296vh" :list="MonthCompare.value" :units="MonthCompare.units" />
  275. </panel>
  276. </Col>
  277. </row>
  278. </div>
  279. </template>
  280. <script>
  281. import HoverBarChart from "../../../../components/chart/bar/hover-bar-chart.vue";
  282. import MultipleBarChart from "../../../../components/chart/bar/multiple-bar-chart.vue";
  283. import MultipleLineChart from "../../../../components/chart/line/multiple-line-chart.vue";
  284. import NormalLineChart from "../../../../components/chart/line/normal-line-chart.vue";
  285. import DualPieChart from "../../../../components/chart/pie/dual-pie-chart.vue";
  286. import Col from "../../../../components/coms/grid/col.vue";
  287. import Row from "../../../../components/coms/grid/row.vue";
  288. import SvgIcon from "../../../../components/coms/icon/svg-icon.vue";
  289. import Panel from "../../../../components/coms/panel/panel.vue";
  290. import Panel3 from "../../../../components/coms/panel/panel3.vue";
  291. import LightMatrix from "./light-matrix.vue";
  292. import WindSiteWeather from "./wind-site-weather.vue";
  293. export default {
  294. // 名称
  295. name: "WindSiteHome",
  296. // 使用组件
  297. components: { WindSiteWeather, Row, Col, Panel, DualPieChart, MultipleLineChart, Panel3, SvgIcon, HoverBarChart, MultipleBarChart, NormalLineChart, LightMatrix },
  298. // 数据
  299. data() {
  300. return {
  301. // 完成电量
  302. CompleteElectricity: {
  303. data: [
  304. {
  305. title: "预测电量",
  306. yAxisIndex: 0,
  307. value: [
  308. {
  309. text: "1日",
  310. value: 1,
  311. },
  312. {
  313. text: "2日",
  314. value: 2,
  315. },
  316. {
  317. text: "3日",
  318. value: 1,
  319. },
  320. {
  321. text: "4日",
  322. value: 3,
  323. },
  324. {
  325. text: "5日",
  326. value: 3,
  327. },
  328. {
  329. text: "6日",
  330. value: 3,
  331. },
  332. {
  333. text: "7日",
  334. value: 3,
  335. },
  336. ],
  337. },
  338. {
  339. title: "实际电量",
  340. yAxisIndex: 0,
  341. value: [
  342. {
  343. text: "1日",
  344. value: 1,
  345. },
  346. {
  347. text: "2日",
  348. value: 2,
  349. },
  350. {
  351. text: "3日",
  352. value: 1,
  353. },
  354. {
  355. text: "4日",
  356. value: 3,
  357. },
  358. {
  359. text: "5日",
  360. value: 3,
  361. },
  362. {
  363. text: "6日",
  364. value: 3,
  365. },
  366. {
  367. text: "7日",
  368. value: 3,
  369. },
  370. ],
  371. },
  372. ],
  373. units: [""],
  374. },
  375. // 72小时功率曲线图
  376. Powertrend: {
  377. // 图表所用单位
  378. units: ["(万KWh)", "(风速)"],
  379. value: [
  380. {
  381. title: "平均风速",
  382. yAxisIndex: 1, // 使用单位
  383. value: [
  384. {
  385. text: "1日",
  386. value: 0,
  387. },
  388. {
  389. text: "2日",
  390. value: 1,
  391. },
  392. {
  393. text: "3日",
  394. value: 0,
  395. },
  396. {
  397. text: "4日",
  398. value: 1,
  399. },
  400. {
  401. text: "5日",
  402. value: 0,
  403. },
  404. {
  405. text: "6日",
  406. value: 1,
  407. },
  408. {
  409. text: "7日",
  410. value: 0,
  411. },
  412. ],
  413. },
  414. {
  415. title: "应发功率",
  416. yAxisIndex: 0,
  417. value: [
  418. {
  419. text: "1日",
  420. value: 4,
  421. },
  422. {
  423. text: "2日",
  424. value: 2,
  425. },
  426. {
  427. text: "3日",
  428. value: 4,
  429. },
  430. {
  431. text: "4日",
  432. value: 2,
  433. },
  434. {
  435. text: "5日",
  436. value: 4,
  437. },
  438. {
  439. text: "6日",
  440. value: 2,
  441. },
  442. {
  443. text: "7日",
  444. value: 4,
  445. },
  446. ],
  447. },
  448. {
  449. title: "实际功率",
  450. yAxisIndex: 0,
  451. value: [
  452. {
  453. text: "1日",
  454. value: 1,
  455. },
  456. {
  457. text: "2日",
  458. value: 3,
  459. },
  460. {
  461. text: "3日",
  462. value: 1,
  463. },
  464. {
  465. text: "4日",
  466. value: 3,
  467. },
  468. {
  469. text: "5日",
  470. value: 1,
  471. },
  472. {
  473. text: "6日",
  474. value: 3,
  475. },
  476. {
  477. text: "7日",
  478. value: 1,
  479. },
  480. ],
  481. },
  482. ],
  483. },
  484. // 月发电量对比
  485. MonthCompare: {
  486. units: ["(MK)"],
  487. value: [
  488. {
  489. title: "应发功率",
  490. yAxisIndex: 0,
  491. value: [
  492. {
  493. text: "1",
  494. value: 1,
  495. },
  496. {
  497. text: "2",
  498. value: 3,
  499. },
  500. {
  501. text: "3",
  502. value: 1,
  503. },
  504. {
  505. text: "4",
  506. value: 3,
  507. },
  508. {
  509. text: "5",
  510. value: 1,
  511. },
  512. {
  513. text: "6",
  514. value: 3,
  515. },
  516. {
  517. text: "7",
  518. value: 1,
  519. },
  520. ],
  521. },
  522. {
  523. title: "实际功率",
  524. yAxisIndex: 0,
  525. value: [
  526. {
  527. text: "1",
  528. value: 3,
  529. },
  530. {
  531. text: "2",
  532. value: 1,
  533. },
  534. {
  535. text: "3",
  536. value: 3,
  537. },
  538. {
  539. text: "4",
  540. value: 1,
  541. },
  542. {
  543. text: "5",
  544. value: 3,
  545. },
  546. {
  547. text: "6",
  548. value: 1,
  549. },
  550. {
  551. text: "7",
  552. value: 3,
  553. },
  554. ],
  555. },
  556. ],
  557. },
  558. };
  559. },
  560. // 函数
  561. methods: {},
  562. // 生命周期钩子
  563. beforeCreate() {
  564. // 创建前
  565. },
  566. created() {
  567. // 创建后
  568. },
  569. beforeMount() {
  570. // 渲染前
  571. },
  572. mounted() {
  573. // 渲染后
  574. },
  575. beforeUpdate() {
  576. // 数据更新前
  577. },
  578. updated() {
  579. // 数据更新后
  580. },
  581. };
  582. </script>
  583. <style lang="less" scoped>
  584. .wind-site-home {
  585. .wind-site-info {
  586. margin-left: 0.7407vh;
  587. flex: 1 0 auto;
  588. & > .row {
  589. height: 100%;
  590. }
  591. .info-item {
  592. text-align: center;
  593. padding: 0 0.37vh;
  594. flex: 1;
  595. .value {
  596. font-size: @fontsize-s;
  597. margin-bottom: 1.111vh;
  598. }
  599. .text {
  600. font-size: 12px;
  601. color: @gray;
  602. }
  603. }
  604. }
  605. .wind-running-info {
  606. margin-left: 0.7407vh;
  607. padding: 0.741vh;
  608. flex: 1 1 auto;
  609. & > .row {
  610. height: 100%;
  611. }
  612. .fengji {
  613. display: flex;
  614. align-content: center;
  615. flex: 0 0 auto;
  616. .fengji-icon {
  617. padding: 1.111vh;
  618. border: 0.093vh solid #05bb4c;
  619. border-radius: 50%;
  620. border-right-color: transparent;
  621. border-top-color: transparent;
  622. svg {
  623. width: 3.333vh;
  624. height: 3.333vh;
  625. }
  626. }
  627. .info {
  628. display: flex;
  629. flex-direction: column;
  630. justify-content: center;
  631. .text {
  632. font-size: @fontsize-s;
  633. margin-bottom: 1.111vh;
  634. }
  635. .value {
  636. text-align: right;
  637. font-size: 1.852vh;
  638. }
  639. }
  640. }
  641. .situation {
  642. flex: 1 1 auto;
  643. margin-left: 1.481vh;
  644. .row + .row {
  645. margin: 0;
  646. }
  647. .status {
  648. flex: 1;
  649. width: 7.963vh;
  650. display: flex;
  651. align-items: center;
  652. padding: 0.37vh 0;
  653. svg {
  654. width: 1.111vh;
  655. height: 1.111vh;
  656. margin-right: 0.37vh;
  657. }
  658. .text {
  659. font-size: 12px;
  660. flex: auto;
  661. }
  662. .value {
  663. font-size: 12px;
  664. padding-right: 0.741vh;
  665. }
  666. }
  667. }
  668. }
  669. }
  670. </style>