index.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. <template>
  2. <div class="draught-fan-list">
  3. <div class="query mg-b-8">
  4. <div class="query-items">
  5. <div class="query-item">
  6. <div class="lable">场站:</div>
  7. <div class="search-input">
  8. <el-select v-model="wpId" clearable placeholder="请选择"
  9. popper-class="select">
  10. <el-option v-for="item in wpArray" :key="item.id" :value="item.id" :label="item.name" />
  11. </el-select>
  12. </div>
  13. </div>
  14. <div class="query-item">
  15. <div class="lable">日期:</div>
  16. <div class="search-input">
  17. <el-date-picker v-model="recorddate" type="date"
  18. value-format="YYYY-MM-DD" placeholder="选择日期" popper-class="date-select">
  19. </el-date-picker>
  20. </div>
  21. </div>
  22. </div>
  23. <div class="query-actions">
  24. <button class="btn green" @click="search()">搜索</button>
  25. </div>
  26. </div>
  27. <div class="df-table">
  28. <ComTable :data="tableData"></ComTable>
  29. </div>
  30. <el-dialog title="切入切出风速整合历史" v-model="dialogShow" width="85%" top="10vh" custom-class="modal" :close-on-click-modal="true" @closed="dialogType = ''">
  31. <ComTable :data="tableHistoryData"></ComTable>
  32. </el-dialog>
  33. </div>
  34. </template>
  35. <script>
  36. import ComTable from "@com/coms/table/table.vue";
  37. export default {
  38. // 名称
  39. name: "cutAnalyse",
  40. // 使用组件
  41. components: {
  42. ComTable
  43. },
  44. // 数据
  45. data() {
  46. const that = this;
  47. return {
  48. isAsc:"asc",
  49. wpArray:[],
  50. wpId:"",
  51. recorddate:new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy-MM-dd"),
  52. dialogShow:false,
  53. tableData: {
  54. column: [
  55. {
  56. name: "风机",
  57. field: "windturbineid",
  58. is_num: false,
  59. is_light: false,
  60. },
  61. {
  62. name: "总小风切入",
  63. field: "inputsmall",
  64. is_num: false,
  65. is_light: false,
  66. },
  67. {
  68. name: "总小风切入合格率",
  69. field: "inputsmallratio",
  70. is_num: false,
  71. is_light: false,
  72. },
  73. {
  74. name: "总大风切入",
  75. field: "inputbig",
  76. is_num: false,
  77. is_light: false,
  78. },
  79. {
  80. name: "总大风切入合格率",
  81. field: "inputbigratio",
  82. is_num: false,
  83. is_light: false,
  84. },
  85. {
  86. name: "总小风切出",
  87. field: "outputsmall",
  88. is_num: false,
  89. is_light: false,
  90. },
  91. {
  92. name: "总小风切出合格率",
  93. field: "outputsmallratio",
  94. is_num: false,
  95. is_light: false,
  96. },
  97. {
  98. name: "总大风切出",
  99. field: "outputbig",
  100. is_num: false,
  101. is_light: false,
  102. },
  103. {
  104. name: "总大风切出合格率",
  105. field: "outputbigmaxratio",
  106. is_num: false,
  107. is_light: false,
  108. },
  109. {
  110. name: "日小风切入",
  111. field: "dayinputsmall",
  112. is_num: false,
  113. is_light: false,
  114. },
  115. {
  116. name: "日小风切入合格率",
  117. field: "dayinputsmallratio",
  118. is_num: false,
  119. is_light: false,
  120. },
  121. {
  122. name: "日小风切出",
  123. field: "dayoutputsmall",
  124. is_num: false,
  125. is_light: false,
  126. },
  127. {
  128. name: "日小风切出合格率",
  129. field: "dayoutputsmallratio",
  130. is_num: false,
  131. is_light: false,
  132. },
  133. {
  134. name: "日大风切入",
  135. field: "dayinputbig",
  136. is_num: false,
  137. is_light: false,
  138. },
  139. {
  140. name: "日大风切入合格率",
  141. field: "dayinputbigratio",
  142. is_num: false,
  143. is_light: false,
  144. },
  145. {
  146. name: "日大风切出",
  147. field: "dayoutputbig",
  148. is_num: false,
  149. is_light: false,
  150. },
  151. {
  152. name: "日大风切出合格率",
  153. field: "dayoutputbigratio",
  154. is_num: false,
  155. is_light: false,
  156. },
  157. {
  158. name: "月小风切入",
  159. field: "monthinputsmall",
  160. is_num: false,
  161. is_light: false,
  162. },
  163. {
  164. name: "月小风切入合格率",
  165. field: "monthinputsmallratio",
  166. is_num: false,
  167. is_light: false,
  168. },
  169. {
  170. name: "月大风切入",
  171. field: "monthinputbig",
  172. is_num: false,
  173. is_light: false,
  174. },
  175. {
  176. name: "月大风切入合格率",
  177. field: "monthinputbigratio",
  178. is_num: false,
  179. is_light: false,
  180. },
  181. {
  182. name: "月小风切出",
  183. field: "monthoutputsmall",
  184. is_num: false,
  185. is_light: false,
  186. },
  187. {
  188. name: "月小风切出合格率",
  189. field: "monthoutputsmallratio",
  190. is_num: false,
  191. is_light: false,
  192. },
  193. {
  194. name: "月大风切出",
  195. field: "monthoutputbig",
  196. is_num: false,
  197. is_light: false,
  198. },
  199. {
  200. name: "月大风切出合格率",
  201. field: "monthoutputbigratio",
  202. is_num: false,
  203. is_light: false,
  204. },
  205. {
  206. name: "年小风切入",
  207. field: "yearinputsmall",
  208. is_num: false,
  209. is_light: false,
  210. },
  211. {
  212. name: "年小风切入合格率",
  213. field: "yearinputsmallratio",
  214. is_num: false,
  215. is_light: false,
  216. },
  217. {
  218. name: "年大风切入",
  219. field: "yearinputbig",
  220. is_num: false,
  221. is_light: false,
  222. },
  223. {
  224. name: "年大风切入合格率",
  225. field: "yearinputbigratio",
  226. is_num: false,
  227. is_light: false,
  228. },
  229. {
  230. name: "年小风切出",
  231. field: "yearoutputsmall",
  232. is_num: false,
  233. is_light: false,
  234. },
  235. {
  236. name: "年小风切出合格率",
  237. field: "yearoutputsmallratio",
  238. is_num: false,
  239. is_light: false,
  240. },
  241. {
  242. name: "年大风切出",
  243. field: "yearoutputbig",
  244. is_num: false,
  245. is_light: false,
  246. },
  247. {
  248. name: "年大风切出合格率",
  249. field: "yearoutputbigratio",
  250. is_num: false,
  251. is_light: false,
  252. },
  253. {
  254. name: "操作",
  255. field: "",
  256. is_num: false,
  257. is_light: false,
  258. template() {
  259. return "<el-button type='text' style='cursor: pointer;'>历史</el-button>";
  260. },
  261. click(e, row){
  262. that.getOutputspeedHistoryList(row)
  263. }
  264. }
  265. ],
  266. data: [],
  267. },
  268. tableHistoryData: {
  269. column: [
  270. {
  271. name: "风机",
  272. field: "windturbineid",
  273. is_num: false,
  274. is_light: false,
  275. },
  276. {
  277. name: "日期",
  278. field: "time",
  279. is_num: false,
  280. is_light: false,
  281. },
  282. {
  283. name: "总小风切入",
  284. field: "inputsmall",
  285. is_num: false,
  286. is_light: false,
  287. },
  288. {
  289. name: "总大风切入",
  290. field: "inputbig",
  291. is_num: false,
  292. is_light: false,
  293. },
  294. {
  295. name: "总小风切出",
  296. field: "outputsmall",
  297. is_num: false,
  298. is_light: false,
  299. },
  300. {
  301. name: "总大风切出",
  302. field: "outputbig",
  303. is_num: false,
  304. is_light: false,
  305. },
  306. {
  307. name: "日小风切入",
  308. field: "dayinputsmall",
  309. is_num: false,
  310. is_light: false,
  311. },
  312. {
  313. name: "日小风切出",
  314. field: "dayoutputsmall",
  315. is_num: false,
  316. is_light: false,
  317. },
  318. {
  319. name: "日大风切入",
  320. field: "dayinputbig",
  321. is_num: false,
  322. is_light: false,
  323. },
  324. {
  325. name: "日大风切出",
  326. field: "dayoutputbig",
  327. is_num: false,
  328. is_light: false,
  329. },
  330. {
  331. name: "月小风切入",
  332. field: "monthinputsmall",
  333. is_num: false,
  334. is_light: false,
  335. },
  336. {
  337. name: "月大风切入",
  338. field: "monthinputbig",
  339. is_num: false,
  340. is_light: false,
  341. },
  342. {
  343. name: "月小风切出",
  344. field: "monthoutputsmall",
  345. is_num: false,
  346. is_light: false,
  347. },
  348. {
  349. name: "月大风切出",
  350. field: "monthoutputbig",
  351. is_num: false,
  352. is_light: false,
  353. },
  354. {
  355. name: "年小风切入",
  356. field: "yearinputsmall",
  357. is_num: false,
  358. is_light: false,
  359. },
  360. {
  361. name: "年大风切入",
  362. field: "yearinputbig",
  363. is_num: false,
  364. is_light: false,
  365. },
  366. {
  367. name: "年小风切出",
  368. field: "yearoutputsmall",
  369. is_num: false,
  370. is_light: false,
  371. },
  372. {
  373. name: "年大风切出",
  374. field: "yearoutputbig",
  375. is_num: false,
  376. is_light: false,
  377. }
  378. ],
  379. data: [],
  380. },
  381. };
  382. },
  383. // 函数
  384. methods: {
  385. // 请求服务
  386. requestData() {
  387. let that = this;
  388. that.API.requestData({
  389. method: "GET",
  390. subUrl: "powercompare/windfarmAjax",
  391. success(res) {
  392. that.wpArray=res.data;
  393. that.wpId=res.data[0].id;
  394. that.getOutputSpeedList(that.wpId)
  395. }
  396. });
  397. },
  398. getOutputSpeedList(wpId){
  399. let that = this;
  400. if(!that.wpId || !that.recorddate){
  401. that.BASE.showMsg({
  402. msg:"场站与日期不可为空"
  403. });
  404. }else{
  405. that.API.requestData({
  406. method: "POST",
  407. subUrl: "outputspeed/outputSpeedlist",
  408. data:{
  409. wpId,
  410. isAsc:that.isAsc,
  411. recorddate:that.recorddate
  412. },
  413. success(res) {
  414. that.tableData.data = res.data;
  415. }
  416. });
  417. }
  418. },
  419. getOutputspeedHistoryList (item){
  420. let that = this;
  421. that.API.requestData({
  422. method: "POST",
  423. subUrl: "outputspeed/outputspeedhistorylist",
  424. data:{
  425. wpId:item.windpowerstationid,
  426. wtId:item.windturbineid,
  427. beginDate: (new Date().formatDate("yyyy-MM") + '-01'),
  428. endDate: new Date().formatDate("yyyy-MM-dd")
  429. },
  430. success(res) {
  431. res.data.forEach(ele=>{
  432. ele.time = new Date(ele.recorddate).formatDate("yyyy-MM-dd");
  433. });
  434. that.tableHistoryData.data = res.data;
  435. that.dialogShow = true;
  436. }
  437. });
  438. },
  439. search(){
  440. this.getOutputSpeedList(this.wpId);
  441. }
  442. },
  443. created() {
  444. this.requestData();
  445. },
  446. mounted() {},
  447. unmounted() {},
  448. };
  449. </script>
  450. <style lang="less" scoped>
  451. .draught-fan-list {
  452. width: 100%;
  453. height: 100%;
  454. display: flex;
  455. flex-direction: column;
  456. .btn-group-tabs {
  457. display: flex;
  458. flex-direction: row;
  459. .photovoltaic {
  460. margin-left: 1.481vh;
  461. }
  462. }
  463. .df-table {
  464. border: 0.093vh solid fade(@darkgray, 50%);
  465. position: relative;
  466. overflow: auto;
  467. flex-grow: 1;
  468. margin-top: 1.481vh;
  469. &:before {
  470. content: "";
  471. width: 0.37vh;
  472. height: 0.37vh;
  473. background: @write;
  474. position: absolute;
  475. left: 0.278vh;
  476. top: 0.278vh;
  477. }
  478. tbody {
  479. height: calc(100vh - 166px);
  480. }
  481. }
  482. }
  483. </style>