dayinfo.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. <template>
  2. <div class="health-day-info">
  3. <div class="header">
  4. <span
  5. class="herder-info"
  6. :width="800"
  7. v-for="item of gridDatas"
  8. :key="item"
  9. >风机编号:{{ item.windturbineid }}</span
  10. >
  11. <span class="herder-info">基础指标</span>
  12. </div>
  13. <div class="body">
  14. <div class="left">
  15. <table class="table-form">
  16. <tr>
  17. <td class="white" v-for="item of gridDatas" :key="item">
  18. 量化评级:{{ item.level }}
  19. </td>
  20. </tr>
  21. <tr>
  22. <td class="white" v-for="item of gridDatas" :key="item">
  23. 综合排名:{{ item.rank }}
  24. </td>
  25. </tr>
  26. </table>
  27. <div class="chart-body">
  28. <normal-radar-chart :height="'500px'" :value="chartDatas" />
  29. </div>
  30. </div>
  31. <div class="left">
  32. <table class="table-form">
  33. <tr>
  34. <td class="white">类型</td>
  35. <td class="white">指标</td>
  36. <td class="white" v-for="item of gridDatas" :key="item">
  37. {{ item.windturbineid }}
  38. </td>
  39. <td class="white" :colspan="gridDatas.length">排名</td>
  40. <td class="white" colspan="2">评分</td>
  41. </tr>
  42. <tr v-for="item of column" :key="item">
  43. <td class="white">{{ item.type }}</td>
  44. <td class="white">{{ item.name }}</td>
  45. <td class="white" v-for="row of gridDatas" :key="row">
  46. {{ row[item.field] }}
  47. </td>
  48. <td class="white" v-for="row of gridDatas" :key="row">
  49. {{ row[item.rank] }}
  50. </td>
  51. <td class="white" v-for="row of gridDatas" :key="row">
  52. {{ row[item.score] ? row[item.score] : 0 }}
  53. </td>
  54. </tr>
  55. </table>
  56. </div>
  57. </div>
  58. </div>
  59. </template>
  60. <script>
  61. import NormalRadarChart from "../../components/chart/radar/normal-radar-chart.vue";
  62. export default {
  63. components: { NormalRadarChart },
  64. props: {
  65. gridDatas: {},
  66. chartDatas: {},
  67. },
  68. data() {
  69. return {
  70. value: "",
  71. column: [
  72. {
  73. name: "发电量",
  74. field: "dayfdl",
  75. rank: "monthfdl",
  76. },
  77. {
  78. name: "理论发电量",
  79. field: "dayllfdl",
  80. rank: "monthllfdl",
  81. score: "yearllfdl",
  82. },
  83. {
  84. name: "平均功率",
  85. field: "daygl",
  86. rank: "monthgl",
  87. score: "yeargl",
  88. },
  89. {
  90. name: "故障损失电量",
  91. field: "daygzssdl",
  92. rank: "monthgzssdl",
  93. score: "yeargzssdl",
  94. },
  95. {
  96. name: "限电损失电量",
  97. field: "dayxdssdl",
  98. rank: "monthxdssdl",
  99. score: "yearxdssdl",
  100. },
  101. {
  102. name: "维护损失电量",
  103. field: "daywhssdl",
  104. rank: "monthwhssdl",
  105. score: "yearwhssdl",
  106. },
  107. {
  108. name: "故障时间",
  109. field: "daygzsj",
  110. rank: "monthgzsj",
  111. score: "yeargzsj",
  112. },
  113. {
  114. name: "维护时间",
  115. field: "daywhsj",
  116. rank: "monthwhsj",
  117. score: "yearwhsj",
  118. },
  119. {
  120. name: "运行时间",
  121. field: "dayyxsj",
  122. rank: "monthyxsj",
  123. score: "yearyxsj",
  124. },
  125. {
  126. name: "停机时间",
  127. field: "daytjsj",
  128. rank: "monthtjsj",
  129. score: "yeartjsj",
  130. },
  131. {
  132. name: "平均切入风速",
  133. field: "dayxfqr",
  134. type: "性能",
  135. rank: "monthxfqr",
  136. score: "yearxfqr",
  137. },
  138. {
  139. name: "性能损失电量",
  140. field: "dayxnssdl",
  141. type: "性能",
  142. rank: "monthxnssdl",
  143. score: "yearxnssdl",
  144. },
  145. {
  146. name: "拟合优度",
  147. field: "daynhyd",
  148. type: "性能",
  149. rank: "monthnhyd",
  150. score: "yearnhyd",
  151. },
  152. {
  153. name: "功率一致性系数",
  154. field: "dayglyzxxs",
  155. type: "性能",
  156. rank: "monthglyzxxs",
  157. score: "yearglyzxxs",
  158. },
  159. {
  160. name: "利用小时",
  161. field: "daylyxs",
  162. type: "可靠性管理",
  163. rank: "monthlyxs",
  164. score: "yearlyxs",
  165. },
  166. {
  167. name: "设备可利用率",
  168. field: "daysbklyl",
  169. type: "可靠性管理",
  170. rank: "monthsbklyl",
  171. score: "yearsbklyl",
  172. },
  173. {
  174. name: "等效可利用率",
  175. field: "daydxkyxs",
  176. type: "可靠性管理",
  177. rank: "monthdxkyxs",
  178. score: "yeardxkyxs",
  179. },
  180. {
  181. name: "有效风时数",
  182. field: "dayyxfss",
  183. type: "可靠性管理",
  184. rank: "monthyxfss",
  185. score: "yearyxfss",
  186. },
  187. {
  188. name: "平均风速",
  189. field: "dayfs",
  190. type: "资源",
  191. rank: "monthfs",
  192. score: "yearfs",
  193. },
  194. {
  195. name: "静风频率",
  196. field: "dayjfpl",
  197. type: "资源",
  198. rank: "monthjfpl",
  199. score: "yearjfpl",
  200. },
  201. ],
  202. radarValue: [
  203. {
  204. indicator: [
  205. "平均切入风速",
  206. "性能损失电量",
  207. "拟合优度",
  208. "功率一致性系数",
  209. "利用小时",
  210. "设备可利用率",
  211. "等效可利用系数",
  212. "有效风时数",
  213. "平均风速",
  214. "静风频率",
  215. ],
  216. data: [
  217. {
  218. value: [
  219. 44200, 14200, 20000, 35000, 50000, 38000, 44200, 14200, 20000,
  220. 35000,
  221. ],
  222. name: "NAME1",
  223. },
  224. {
  225. value: [
  226. 35000, 44200, 14200, 20000, 35000, 50000, 38000, 44200, 14200,
  227. 20000,
  228. ],
  229. name: "NAME2",
  230. },
  231. ],
  232. },
  233. ],
  234. };
  235. },
  236. };
  237. </script>
  238. <style lang="less">
  239. .health-day-info {
  240. .header {
  241. display: flex;
  242. width: 100%;
  243. height: 40px;
  244. line-height: 40px;
  245. background: fade(@gray, 60);
  246. color: @white;
  247. .herder-info {
  248. flex: 1 0 25%;
  249. text-align: center;
  250. font-size: @fontsize-s;
  251. &:last-child {
  252. flex: 1 0 50%;
  253. }
  254. }
  255. }
  256. .body {
  257. display: flex;
  258. .left {
  259. flex: 0 0 50%;
  260. display: flex;
  261. flex-direction: column;
  262. .chart-body {
  263. flex-grow: 1;
  264. display: flex;
  265. align-items: center;
  266. }
  267. }
  268. .right {
  269. flex: 0 0 50%;
  270. }
  271. }
  272. }
  273. </style>