CutAndSpeed.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  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. :sortable="'custom'"
  61. prop="inputsmallratio"
  62. label="总小风切入"
  63. width="60">
  64. </el-table-column>
  65. <el-table-column
  66. :sortable="'custom'"
  67. prop="inputbigratio"
  68. label="总大风切入"
  69. width="60">
  70. </el-table-column>
  71. <el-table-column
  72. :sortable="'custom'"
  73. prop="outputsmallratio"
  74. label="总小风切出"
  75. width="60">
  76. </el-table-column>
  77. <el-table-column
  78. :sortable="'custom'"
  79. prop="outputbigmaxratio"
  80. label="总大风切出"
  81. width="60">
  82. </el-table-column>
  83. <el-table-column
  84. :sortable="'custom'"
  85. prop="dayinputsmall"
  86. label="日小风切入"
  87. width="60">
  88. </el-table-column>
  89. <el-table-column
  90. :sortable="'custom'"
  91. prop="dayinputsmallratio"
  92. label="日小风切入合格"
  93. width="60">
  94. </el-table-column>
  95. <el-table-column
  96. :sortable="'custom'"
  97. prop="dayoutputsmall"
  98. label="日小风切出"
  99. width="60">
  100. </el-table-column>
  101. <el-table-column
  102. :sortable="'custom'"
  103. prop="dayoutputsmallratio"
  104. label="日小风切出合格"
  105. width="60">
  106. </el-table-column>
  107. <el-table-column
  108. :sortable="'custom'"
  109. prop="dayinputbig"
  110. label="日大风切入"
  111. width="60">
  112. </el-table-column>
  113. <el-table-column
  114. :sortable="'custom'"
  115. prop="dayinputbigratio"
  116. label="日大风切入合格"
  117. width="60">
  118. </el-table-column>
  119. <el-table-column
  120. :sortable="'custom'"
  121. prop="dayoutputbig"
  122. label="日大风切出"
  123. width="60">
  124. </el-table-column>
  125. <el-table-column
  126. :sortable="'custom'"
  127. prop="dayoutputbigratio"
  128. label="日大风切出合格"
  129. width="60">
  130. </el-table-column>
  131. <el-table-column
  132. :sortable="'custom'"
  133. prop="monthinputsmall"
  134. label="月小风切入"
  135. width="60">
  136. </el-table-column>
  137. <el-table-column
  138. :sortable="'custom'"
  139. prop="monthinputsmallratio"
  140. label="月小风切入合格"
  141. width="60">
  142. </el-table-column>
  143. <el-table-column
  144. :sortable="'custom'"
  145. prop="monthinputbig"
  146. label="月大风切入"
  147. width="60">
  148. </el-table-column>
  149. <el-table-column
  150. :sortable="'custom'"
  151. prop="monthinputbigratio"
  152. label="月大风切入合格"
  153. width="60">
  154. </el-table-column>
  155. <el-table-column
  156. :sortable="'custom'"
  157. prop="monthoutputsmall"
  158. label="月小风切出"
  159. width="60">
  160. </el-table-column>
  161. <el-table-column
  162. :sortable="'custom'"
  163. prop="monthoutputsmallratio"
  164. label="月小风切出合格"
  165. width="60">
  166. </el-table-column>
  167. <el-table-column
  168. :sortable="'custom'"
  169. prop="monthoutputbig"
  170. label="月大风切出"
  171. width="60">
  172. </el-table-column>
  173. <el-table-column
  174. :sortable="'custom'"
  175. prop="monthoutputbigratio"
  176. label="月大风切出合格"
  177. width="60">
  178. </el-table-column>
  179. <el-table-column
  180. :sortable="'custom'"
  181. prop="yearinputsmall"
  182. label="年小风切入"
  183. width="60">
  184. </el-table-column>
  185. <el-table-column
  186. :sortable="'custom'"
  187. prop="yearinputsmallratio"
  188. label="年小风切入合格"
  189. width="60">
  190. </el-table-column>
  191. <el-table-column
  192. :sortable="'custom'"
  193. prop="yearinputbig"
  194. label="年大风切入"
  195. width="60">
  196. </el-table-column>
  197. <el-table-column
  198. :sortable="'custom'"
  199. prop="yearinputbigratio"
  200. label="年大风切入合格"
  201. width="60">
  202. </el-table-column>
  203. <el-table-column
  204. :sortable="'custom'"
  205. prop="yearoutputsmall"
  206. label="年小风切出"
  207. width="60">
  208. </el-table-column>
  209. <el-table-column
  210. :sortable="'custom'"
  211. prop="yearoutputsmallratio"
  212. label="年小风切出合格"
  213. width="60">
  214. </el-table-column>
  215. <el-table-column
  216. :sortable="'custom'"
  217. prop="yearoutputbig"
  218. label="年大风切出"
  219. width="60">
  220. </el-table-column>
  221. <el-table-column
  222. :sortable="'custom'"
  223. prop="yearoutputbigratio"
  224. label="年大风切出合格"
  225. width="60">
  226. </el-table-column>
  227. <el-table-column
  228. prop="address"
  229. label="操作"
  230. width="80">
  231. <template slot-scope="scope">
  232. <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">历史</el-button>
  233. </template>
  234. </el-table-column>
  235. </el-table-column>
  236. </el-table>
  237. <div style="margin-top:1%">
  238. <div id="chartHistogram" style="width: 100%; height: 250px; margin: auto"></div>
  239. </div>
  240. </div>
  241. </div>
  242. </template>
  243. <script>
  244. import excelHelper from "@/utils/excelHelper";
  245. import * as echarts from "echarts";
  246. export default {
  247. data() {
  248. return {
  249. formInline: {
  250. windfarm: "",
  251. project: "",
  252. line: "",
  253. },
  254. time: '2021-01-01',
  255. currentPage2: 1,
  256. pagesize: 10,
  257. gridData:[],
  258. gridDataChart:[],
  259. charFreData:[],
  260. charNameData:[],
  261. options: [],
  262. orderByColumn:'',
  263. isAsc: '',
  264. value: 'MHS_FDC',
  265. wtid:'',
  266. endDate:'',
  267. }
  268. },
  269. created(){
  270. this.callAndSpeedData();
  271. this.getNowFormatDate()
  272. },
  273. methods:{
  274. getNowFormatDate(){
  275. var date = new Date();
  276. var seperator1 = "-";
  277. var year = date.getFullYear();
  278. var month = date.getMonth() + 1;
  279. var strDate = date.getDate();
  280. if (month >= 1 && month <= 9) {
  281. month = "0" + month;
  282. }
  283. if (strDate >= 0 && strDate <= 9) {
  284. strDate = "0" + strDate;
  285. }
  286. var currentdate = year + seperator1 + month + seperator1 + strDate;
  287. this.endDate = currentdate;
  288. return currentdate;
  289. },
  290. queryApData() {
  291. this.callAndSpeedData();
  292. },
  293. handleEdit(a,b){
  294. this.wtId = b.windturbineid;
  295. console.log(this.wtId)
  296. this.$router.push({
  297. path:'/cutAndSpeedHistory',
  298. query:{
  299. wpId:this.value,
  300. wtId:this.wtId,
  301. beginDate:this.time,
  302. endDate:this.endDate,
  303. }
  304. })
  305. },
  306. headStyle() {
  307. return "text-align:center"
  308. },
  309. changeTableSort(column){
  310. this.orderByColumn = column.prop;
  311. if(column.order == "descending"){
  312. this.isAsc = 'desc';
  313. }else if(column.order == "ascending"){
  314. this.isAsc = "asc";
  315. }
  316. this.callAndSpeedData();
  317. },
  318. callAndSpeedData(){
  319. this.$http.get('/powercompare/windfarmAjax').then((res) => {
  320. this.options = res.data.data;
  321. })
  322. console.log(this.time)
  323. var callAndSpeedData = new URLSearchParams();
  324. callAndSpeedData.append('pageNum',this.currentPage2);
  325. callAndSpeedData.append('pageSize',this.pagesize);
  326. callAndSpeedData.append('orderByColumn',this.orderByColumn);
  327. callAndSpeedData.append('isAsc',this.isAsc);
  328. callAndSpeedData.append('wpId',this.value);
  329. callAndSpeedData.append('recorddate',this.time);
  330. this.$http.post('/outputspeed/outputSpeedlist',callAndSpeedData).then((res) => {
  331. this.gridData = res.data.data
  332. console.log(this.gridData)
  333. })
  334. },
  335. toExcel(){
  336. excelHelper.exportExcel("callthepolicetable","负荷率排行榜",".xls",true);
  337. },
  338. }
  339. }
  340. </script>
  341. <style lang="scss" scoped>
  342. .box{
  343. width: 100%;
  344. display: flex;
  345. justify-content: space-around;
  346. align-items: center;
  347. overflow: hidden;
  348. }
  349. .searchBar{
  350. margin-top: 1%;
  351. }
  352. .box-card{
  353. width: 100%;
  354. }
  355. </style>