CutAndSpeed.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. <template>
  2. <div class="box">
  3. <div class="searchBar">
  4. <el-card class="box-card">
  5. <!-- <div slot="header" class="clearfix" style="font-size:15px">
  6. <span>查询条件</span>
  7. </div> -->
  8. <el-form :inline="true" :model="formInline" class="demo-form-inline">
  9. <el-row :gutter="1">
  10. <el-form-item label="查询条件">
  11. </el-form-item>
  12. <el-form-item label="风场:">
  13. <el-select v-model="value" placeholder="请选择">
  14. <el-option
  15. v-for="item in options"
  16. :key="item.name"
  17. :label="item.name"
  18. :value="item.id">
  19. </el-option>
  20. </el-select>
  21. </el-form-item>
  22. <el-form-item label="日期:">
  23. <el-date-picker
  24. value-format="yyyy-MM-dd"
  25. v-model="time"
  26. type="date"
  27. placeholder="选择日期">
  28. </el-date-picker>
  29. </el-form-item>
  30. <el-form-item>
  31. <el-button type="primary" @click="queryApData" :plain="true"
  32. >查询</el-button
  33. >
  34. </el-form-item>
  35. <el-form-item>
  36. <el-button type="primary" @click="toExcel()">导出</el-button>
  37. </el-form-item>
  38. </el-row>
  39. </el-form>
  40. </el-card>
  41. <el-table
  42. id="callthepolicetable"
  43. :data="gridData"
  44. :row-style="{ height: '10px' }"
  45. :cell-style="{ textAlign: 'center',padding:'1px' }"
  46. :header-cell-style="headStyle"
  47. @sort-change="changeTableSort"
  48. style="font-size: 10px;margin-top:1%">
  49. <el-table-column label="切入切出风速整合">
  50. <el-table-column
  51. type="index"
  52. width="40">
  53. </el-table-column>
  54. <el-table-column
  55. prop="windturbineid"
  56. label="风机"
  57. width="80">
  58. </el-table-column>
  59. <el-table-column
  60. prop="inputsmallratio"
  61. label="总小风切入"
  62. width="60">
  63. </el-table-column>
  64. <el-table-column
  65. prop="inputbigratio"
  66. label="总大风切入"
  67. width="60">
  68. </el-table-column>
  69. <el-table-column
  70. prop="outputsmallratio"
  71. label="总小风切出"
  72. width="60">
  73. </el-table-column>
  74. <el-table-column
  75. prop="outputbigmaxratio"
  76. label="总大风切出"
  77. width="60">
  78. </el-table-column>
  79. <el-table-column
  80. prop="dayinputsmall"
  81. label="日小风切入"
  82. width="60">
  83. </el-table-column>
  84. <el-table-column
  85. prop="dayinputsmallratio"
  86. label="日小风切入合格"
  87. width="60">
  88. </el-table-column>
  89. <el-table-column
  90. prop="dayoutputsmall"
  91. label="日小风切出"
  92. width="60">
  93. </el-table-column>
  94. <el-table-column
  95. prop="dayoutputsmallratio"
  96. label="日小风切出合格"
  97. width="60">
  98. </el-table-column>
  99. <el-table-column
  100. prop="dayinputbig"
  101. label="日大风切入"
  102. width="60">
  103. </el-table-column>
  104. <el-table-column
  105. prop="dayinputbigratio"
  106. label="日大风切入合格"
  107. width="60">
  108. </el-table-column>
  109. <el-table-column
  110. prop="dayoutputbig"
  111. label="日大风切出"
  112. width="60">
  113. </el-table-column>
  114. <el-table-column
  115. prop="dayoutputbigratio"
  116. label="日大风切出合格"
  117. width="60">
  118. </el-table-column>
  119. <el-table-column
  120. prop="monthinputsmall"
  121. label="月小风切入"
  122. width="60">
  123. </el-table-column>
  124. <el-table-column
  125. prop="monthinputsmallratio"
  126. label="月小风切入合格"
  127. width="60">
  128. </el-table-column>
  129. <el-table-column
  130. prop="monthinputbig"
  131. label="月大风切入"
  132. width="60">
  133. </el-table-column>
  134. <el-table-column
  135. prop="monthinputbigratio"
  136. label="月大风切入合格"
  137. width="60">
  138. </el-table-column>
  139. <el-table-column
  140. prop="monthoutputsmall"
  141. label="月小风切出"
  142. width="60">
  143. </el-table-column>
  144. <el-table-column
  145. prop="monthoutputsmallratio"
  146. label="月小风切出合格"
  147. width="60">
  148. </el-table-column>
  149. <el-table-column
  150. prop="monthoutputbig"
  151. label="月大风切出"
  152. width="60">
  153. </el-table-column>
  154. <el-table-column
  155. prop="monthoutputbigratio"
  156. label="月大风切出合格"
  157. width="60">
  158. </el-table-column>
  159. <el-table-column
  160. prop="yearinputsmall"
  161. label="年小风切入"
  162. width="60">
  163. </el-table-column>
  164. <el-table-column
  165. prop="yearinputsmallratio"
  166. label="年小风切入合格"
  167. width="60">
  168. </el-table-column>
  169. <el-table-column
  170. prop="yearinputbig"
  171. label="年大风切入"
  172. width="60">
  173. </el-table-column>
  174. <el-table-column
  175. prop="yearinputbigratio"
  176. label="年大风切入合格"
  177. width="60">
  178. </el-table-column>
  179. <el-table-column
  180. prop="yearoutputsmall"
  181. label="年小风切出"
  182. width="60">
  183. </el-table-column>
  184. <el-table-column
  185. prop="yearoutputsmallratio"
  186. label="年小风切出合格"
  187. width="60">
  188. </el-table-column>
  189. <el-table-column
  190. prop="yearoutputbig"
  191. label="年大风切出"
  192. width="60">
  193. </el-table-column>
  194. <el-table-column
  195. prop="yearoutputbigratio"
  196. label="年大风切出合格"
  197. width="60">
  198. </el-table-column>
  199. <el-table-column
  200. prop="address"
  201. label="操作"
  202. width="80">
  203. <template slot-scope="scope">
  204. <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">历史</el-button>
  205. </template>
  206. </el-table-column>
  207. </el-table-column>
  208. </el-table>
  209. <div style="margin-top:1%">
  210. <div id="chartHistogram" style="width: 100%; height: 250px; margin: auto"></div>
  211. </div>
  212. </div>
  213. </div>
  214. </template>
  215. <script>
  216. import excelHelper from "@/utils/excelHelper";
  217. import * as echarts from "echarts";
  218. export default {
  219. data() {
  220. return {
  221. formInline: {
  222. windfarm: "",
  223. project: "",
  224. line: "",
  225. },
  226. time: '2021-01-01',
  227. currentPage2: 1,
  228. pagesize: 10,
  229. gridData:[],
  230. gridDataChart:[],
  231. charFreData:[],
  232. charNameData:[],
  233. options: [],
  234. orderByColumn:'',
  235. isAsc: '',
  236. value: 'MHS_FDC',
  237. wtid:'',
  238. endDate:'',
  239. }
  240. },
  241. created(){
  242. this.callAndSpeedData();
  243. this.getNowFormatDate()
  244. },
  245. methods:{
  246. getNowFormatDate(){
  247. var date = new Date();
  248. var seperator1 = "-";
  249. var year = date.getFullYear();
  250. var month = date.getMonth() + 1;
  251. var strDate = date.getDate();
  252. if (month >= 1 && month <= 9) {
  253. month = "0" + month;
  254. }
  255. if (strDate >= 0 && strDate <= 9) {
  256. strDate = "0" + strDate;
  257. }
  258. var currentdate = year + seperator1 + month + seperator1 + strDate;
  259. this.endDate = currentdate;
  260. return currentdate;
  261. },
  262. queryApData() {
  263. this.callAndSpeedData();
  264. },
  265. handleEdit(a,b){
  266. this.wtId = b.windturbineid;
  267. console.log(this.wtId)
  268. this.$router.push({
  269. path:'/cutAndSpeedHistory',
  270. query:{
  271. wpId:this.value,
  272. wtId:this.wtId,
  273. beginDate:this.time,
  274. endDate:this.endDate,
  275. }
  276. })
  277. },
  278. headStyle() {
  279. return "text-align:center"
  280. },
  281. changeTableSort(column){
  282. this.orderByColumn = column.prop;
  283. if(column.order == "descending"){
  284. this.isAsc = 'desc';
  285. }else if(column.order == "ascending"){
  286. this.isAsc = "asc";
  287. }
  288. this.callAndSpeedData();
  289. },
  290. callAndSpeedData(){
  291. this.$http.get('/powercompare/windfarmAjax').then((res) => {
  292. this.options = res.data.data;
  293. })
  294. console.log(this.time)
  295. var callAndSpeedData = new URLSearchParams();
  296. callAndSpeedData.append('pageNum',this.currentPage2);
  297. callAndSpeedData.append('pageSize',this.pagesize);
  298. callAndSpeedData.append('orderByColumn',this.orderByColumn);
  299. callAndSpeedData.append('isAsc',this.isAsc);
  300. callAndSpeedData.append('wpId',this.value);
  301. callAndSpeedData.append('recorddate',this.time);
  302. this.$http.post('/outputspeed/outputSpeedlist',callAndSpeedData).then((res) => {
  303. this.gridData = res.data.data
  304. console.log(this.gridData)
  305. })
  306. },
  307. toExcel(){
  308. excelHelper.exportExcel("callthepolicetable","负荷率排行榜",".xls",true);
  309. },
  310. }
  311. }
  312. </script>
  313. <style lang="scss" scoped>
  314. .box{
  315. width: 100%;
  316. display: flex;
  317. justify-content: space-around;
  318. align-items: center;
  319. overflow: hidden;
  320. }
  321. .searchBar{
  322. margin-top: 1%;
  323. }
  324. .box-card{
  325. width: 100%;
  326. }
  327. </style>