dayinfo.vue 6.7 KB

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