PerformanceAnalysis.vue 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. <template>
  2. <div class="box">
  3. <div class="searchBar">
  4. <el-card class="box-card">
  5. <el-form :inline="true" :model="formInline" class="demo-form-inline">
  6. <el-row :gutter="1">
  7. <el-form-item label="查询条件">
  8. </el-form-item>
  9. <el-form-item label="风场:">
  10. <el-select v-model="value" placeholder="请选择" @change="projectData">
  11. <el-option
  12. v-for="item in options"
  13. :key="item.name"
  14. :label="item.name"
  15. :value="item.id">
  16. </el-option>
  17. </el-select>
  18. </el-form-item>
  19. <el-form-item label="年份:">
  20. <el-date-picker
  21. v-model="timeyear"
  22. type="year"
  23. placeholder="选择年"
  24. >
  25. </el-date-picker>
  26. </el-form-item>
  27. <el-form-item label="月份:">
  28. <el-date-picker
  29. v-model="timemonth"
  30. type="month"
  31. placeholder="选择月">
  32. </el-date-picker>
  33. </el-form-item>
  34. <el-form-item>
  35. <el-button type="primary" @click="queryApData" :plain="true"
  36. >计算</el-button
  37. >
  38. </el-form-item>
  39. <el-form-item>
  40. <el-button type="primary" @click="toExcel()">导出</el-button>
  41. </el-form-item>
  42. </el-row>
  43. </el-form>
  44. </el-card>
  45. <div style="font-size:30px;text-align:center;margin-top:1%">{{title}}</div>
  46. <el-table
  47. id="callthepolicetable"
  48. :data="gridData"
  49. :row-style="{ height: '10px' }"
  50. :cell-style="{ textAlign: 'center',padding:'1px' }"
  51. :header-cell-style="{ textAlign:'center',background:'#F5F7FA'}"
  52. @sort-change="changeTableSort"
  53. @row-click="tableDatawindturbineName"
  54. border
  55. style="font-size: 10px;margin-top:1%">
  56. <el-table-column
  57. type="index"
  58. width="40">
  59. </el-table-column>
  60. <el-table-column
  61. prop="windturbineName"
  62. label="机组编号"
  63. width="125">
  64. </el-table-column>
  65. <el-table-column
  66. :sortable="'custom'"
  67. prop="fdl"
  68. label="实际发电量(万千瓦时)"
  69. width="100">
  70. </el-table-column>
  71. <el-table-column
  72. :sortable="'custom'"
  73. prop="llfdl"
  74. label="理论发电量(万千瓦时)"
  75. width="100">
  76. </el-table-column>
  77. <el-table-column
  78. :sortable="'custom'"
  79. prop="sbklyl"
  80. label="设备利用小时数(小时)"
  81. width="100">
  82. </el-table-column>
  83. <el-table-column
  84. :sortable="'custom'"
  85. prop="sbklyl"
  86. label="设备可利用率(%)"
  87. width="100">
  88. </el-table-column>
  89. <el-table-column
  90. :sortable="'custom'"
  91. prop="dxklyxs"
  92. label="等效可用系数(%)"
  93. width="100">
  94. </el-table-column>
  95. <el-table-column
  96. :sortable="'custom'"
  97. prop="fs"
  98. label="平均风速(m/s)"
  99. width="100">
  100. </el-table-column>
  101. <el-table-column
  102. :sortable="'custom'"
  103. prop="xfqr"
  104. label="小风切入风速(m/s)"
  105. width="100">
  106. </el-table-column>
  107. <el-table-column
  108. :sortable="'custom'"
  109. prop="yxxs"
  110. label="有效风时数(小时)"
  111. width="100">
  112. </el-table-column>
  113. <el-table-column
  114. :sortable="'custom'"
  115. prop="gzss"
  116. label="故障损失电量(万千瓦时)"
  117. width="120">
  118. </el-table-column>
  119. <el-table-column
  120. :sortable="'custom'"
  121. prop="xdss"
  122. label="调度限电损失电量(万千瓦时)"
  123. width="120">
  124. </el-table-column>
  125. <el-table-column
  126. :sortable="'custom'"
  127. prop="jxss"
  128. label="计划检修损失电量(万千瓦时)"
  129. width="120">
  130. </el-table-column>
  131. <el-table-column
  132. :sortable="'custom'"
  133. prop="xnss"
  134. label="性能未达标损失电量(万千瓦时)"
  135. width="120">
  136. </el-table-column>
  137. <el-table-column
  138. :sortable="'custom'"
  139. prop="gzxs"
  140. label="故障停用时间(小时)"
  141. width="100">
  142. </el-table-column>
  143. <el-table-column
  144. :sortable="'custom'"
  145. prop="glyzxxs"
  146. label="机组功率一致性系数(%)"
  147. width="120">
  148. </el-table-column>
  149. <el-table-column
  150. :sortable="'custom'"
  151. prop="jfpl"
  152. label="静风频率"
  153. width="100">
  154. </el-table-column>
  155. </el-table>
  156. </div>
  157. </div>
  158. </template>
  159. <script>
  160. import excelHelper from "@/utils/excelHelper";
  161. import * as echarts from "echarts";
  162. export default {
  163. data() {
  164. return {
  165. formInline: {
  166. windfarm: "",
  167. project: "",
  168. line: "",
  169. },
  170. timeyear:'2021',
  171. timemonth:'1',
  172. currentPage2: 1,
  173. pagesize: 10,
  174. gridData:[],
  175. gridDataChart:[],
  176. charFreData:[],
  177. charNameData:[],
  178. options: [],
  179. options2: [],
  180. orderByColumn:'',
  181. isAsc: '',
  182. value: 'MHS_FDC',
  183. value2:'',
  184. fanData:'',
  185. title:'',
  186. }
  187. },
  188. created(){
  189. this.callAndSpeedData();
  190. },
  191. methods:{
  192. queryApData() {
  193. this.callAndSpeedData();
  194. },
  195. headStyle() {
  196. return "text-align:center,background-color:red"
  197. },
  198. tableDatawindturbineName(val){
  199. this.fanData = val;
  200. console.log(this.fanData)
  201. this.$router.push({
  202. path:'/performanceAnalysisOperation',
  203. query:{
  204. data:this.fanData,
  205. timeyear: this.timeyear,
  206. timemonth: this.timemonth
  207. }
  208. })
  209. },
  210. changeTableSort(column){
  211. this.orderByColumn = column.prop;
  212. if(column.order == "descending"){
  213. this.isAsc = 'desc';
  214. }else if(column.order == "ascending"){
  215. this.isAsc = "asc";
  216. }
  217. this.callAndSpeedData();
  218. },
  219. projectData(){
  220. this.$http.get('/powercompare/projectAjax?wpIds=' + this.value).then((res) =>{
  221. this.options2 = res.data.data;
  222. })
  223. },
  224. callAndSpeedData(){
  225. this.$http.get('/powercompare/windfarmAjax').then((res) => {
  226. this.options = res.data.data;
  227. })
  228. var performanceAnalysis = new URLSearchParams();
  229. performanceAnalysis.append('pageNum',this.currentPage2);
  230. performanceAnalysis.append('pageSize',this.pagesize);
  231. performanceAnalysis.append('orderByColumn',this.orderByColumn);
  232. performanceAnalysis.append('isAsc',this.isAsc);
  233. performanceAnalysis.append('wpId',this.value);
  234. performanceAnalysis.append('year',this.timeyear);
  235. performanceAnalysis.append('month',this.timemonth);
  236. this.$http.post('/singleanalysis/singleanalysisMain',performanceAnalysis).then((res) => {
  237. this.gridData = res.data.data;
  238. this.title = this.gridData[0].windPowerStationName + this.timeyear + '年' + this.timemonth + '月单台机组运行指标性能分析';
  239. })
  240. },
  241. toExcel(){
  242. excelHelper.exportExcel("callthepolicetable","负荷率排行榜",".xls",true);
  243. },
  244. }
  245. }
  246. </script>
  247. <style lang="scss" scoped>
  248. .box{
  249. width: 100%;
  250. display: flex;
  251. justify-content: space-around;
  252. align-items: center;
  253. overflow: hidden;
  254. }
  255. .searchBar{
  256. margin-top: 1%;
  257. }
  258. .box-card{
  259. width: 100%;
  260. }
  261. </style>