index.vue 31 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109
  1. <template>
  2. <div class="singleMachine">
  3. <div class="singleMachine_top">
  4. <el-select
  5. size="mini"
  6. v-model="companyVal"
  7. placeholder="请选择"
  8. @change="changeCompan"
  9. >
  10. <el-option
  11. v-for="item in companyOptions"
  12. :key="item.id"
  13. :label="item.aname"
  14. :value="item.id"
  15. >
  16. </el-option>
  17. </el-select>
  18. <div class="tabCut">
  19. <div
  20. @click="changeBtn(val.id)"
  21. :class="tabIndex === val.id ? 'active' : ''"
  22. v-for="val in tabOptions"
  23. :key="val.id"
  24. >
  25. <span>{{ val.name }}</span>
  26. </div>
  27. </div>
  28. <div class="station">
  29. 场站:
  30. <el-select
  31. size="mini"
  32. v-model="stationVal"
  33. placeholder="请选择"
  34. @change="changeStation"
  35. clearable
  36. >
  37. <el-option
  38. v-for="item in stationOptions"
  39. :key="item.id"
  40. :label="item.name"
  41. :value="item.id"
  42. >
  43. </el-option>
  44. </el-select>
  45. </div>
  46. <div class="station">
  47. 时间:
  48. <div>
  49. <el-date-picker
  50. v-model="pickerTimer"
  51. type="date"
  52. value-format="YYYY-MM-DD"
  53. placeholder="选择日期"
  54. popper-class="date-select"
  55. >
  56. </el-date-picker>
  57. </div>
  58. </div>
  59. <div class="but">
  60. <el-button round size="mini" class="buttons" @click="seachData"
  61. >搜 索</el-button
  62. >
  63. <el-button round size="mini" class="buttons" @click="downXlsxFn"
  64. >导出</el-button
  65. >
  66. </div>
  67. </div>
  68. <div class="singleMachine_content">
  69. <div class="singleMachine_title clearfix">
  70. <div class="leftContent floatLeft"><span>单机性能分析</span></div>
  71. </div>
  72. <div class="economicTable1">
  73. <el-table
  74. :data="singleMachineData"
  75. size="mini"
  76. stripe
  77. ref="stand_table"
  78. height="calc(100% - 40px)"
  79. style="width: 100%"
  80. >
  81. <el-table-column
  82. align="center"
  83. prop="wtcode"
  84. :label="tabIndex == -1 ? '风机' : '逆变器'"
  85. show-overflow-tooltip
  86. width="80"
  87. sortable
  88. >
  89. <template #default="scope">
  90. <span
  91. @click="seachDetail(scope.row)"
  92. style="cursor: pointer; color: #05bb4c"
  93. >{{ scope.row.wtcode }}</span
  94. >
  95. </template>
  96. </el-table-column>
  97. <el-table-column
  98. v-for="(item, index) in tabIndex === -1
  99. ? tableHeader
  100. : tableHeaderGf"
  101. :key="index"
  102. sortable
  103. :prop="item.code"
  104. :label="item.title"
  105. show-overflow-tooltip
  106. header-align="center"
  107. :align="item.align ? item.align : 'center'"
  108. >
  109. <!-- <template #header="scope">
  110. <div v-if="scope.column.label.indexOf('(') > 0">
  111. <div>
  112. {{
  113. scope.column.label.slice(0, scope.column.label.indexOf("("))
  114. }}
  115. </div>
  116. <div>
  117. {{
  118. scope.column.label.slice(scope.column.label.indexOf("("))
  119. }}
  120. </div>
  121. </div>
  122. <div v-else>{{ scope.column.label }}</div>
  123. </template> -->
  124. <template #default="scope">
  125. <span>{{ scope.row[item.code] }}</span>
  126. </template>
  127. </el-table-column>
  128. <el-table-column label="操作" align="center" width="80">
  129. <template #default="scope">
  130. <span class="historyBtn" @click="seachHistoryData(scope.row)"
  131. >历史</span
  132. >
  133. </template>
  134. </el-table-column>
  135. </el-table>
  136. <el-pagination
  137. @current-change="handleCurrentChange"
  138. :current-page="page.currentPage"
  139. :page-size="page.pagesize"
  140. @size-change="handleSizeChange"
  141. :page-sizes="[23, 50, 100, 500]"
  142. layout="total, sizes, prev, pager, next, jumper"
  143. :total="page.total"
  144. >
  145. </el-pagination>
  146. </div>
  147. </div>
  148. <el-dialog
  149. v-model="dialogVisible"
  150. width="100%"
  151. custom-class="windhistoryDetailModel"
  152. destroy-on-close
  153. fullscreen
  154. >
  155. <template #title>
  156. <div class="dialog-title">
  157. <div class="title">{{ dialogTitle }}</div>
  158. </div>
  159. </template>
  160. <div style="height: 100%">
  161. <history-detail
  162. ref="windhistoryDetail"
  163. :tabIndex="tabIndex"
  164. :historyStationOptions="stationOptions"
  165. >
  166. </history-detail>
  167. </div>
  168. </el-dialog>
  169. <el-dialog
  170. v-model="dialogDetail"
  171. width="100%"
  172. custom-class="windDetailmodal"
  173. fullscreen
  174. destroy-on-close
  175. >
  176. <template #title>
  177. <div class="dialog-title">
  178. <div class="title">详情</div>
  179. </div>
  180. </template>
  181. <div style="height: 100%">
  182. <wind-detail-dialog
  183. ref="windDetail"
  184. :wpArray="stationOptions"
  185. ></wind-detail-dialog>
  186. </div>
  187. </el-dialog>
  188. </div>
  189. </template>
  190. <script>
  191. import {
  192. getApicompanyslist,
  193. getApiwpByCplistlist,
  194. getApiwindturbinegoodnesslist,
  195. getApiwindturbinegoodnesslistGf,
  196. } from "@/api/monthlyPerformanceAnalysis";
  197. import historyDetail from "./historyDetail.vue";
  198. import WindDetailDialog from "./windDetailDialog.vue";
  199. import utils from "@/utills/downXlsx";
  200. import dayjs from "dayjs";
  201. export default {
  202. name: "SingleWindAnasyle", //单机性能分析
  203. components: {
  204. historyDetail,
  205. WindDetailDialog,
  206. },
  207. data() {
  208. return {
  209. companyVal: "",
  210. companyOptions: [],
  211. stationVal: "",
  212. stationOptions: [],
  213. pickerTimer: "",
  214. singleMachineData: [
  215. {
  216. id: 1800988576912949254,
  217. windturbineId: "SXJ_KGDL_XWT_F_WT_0001_EQ",
  218. dayGoodness: 100.0,
  219. monthGoodness: 100.0,
  220. yearGoodness: 30.0,
  221. recordDate: "2024-06-12T16:00:00.000+0000",
  222. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  223. modelId: "SEC-W02B-1250kW",
  224. dayCoefficient: 100.0,
  225. monthCoefficient: 100.0,
  226. yearCoefficient: 100.0,
  227. dayTop: 421,
  228. monthTop: 421,
  229. yearTop: 421,
  230. companyId: "SXJ_KGDL_FLFD_ZGS",
  231. types: "-1",
  232. daySpeed: 5.98,
  233. monthSpeed: 5.97,
  234. yearSpeed: 5.97,
  235. wtcode: "#1",
  236. regionId: "SXJ_RGN",
  237. },
  238. {
  239. id: 1800988576820674561,
  240. windturbineId: "SXJ_KGDL_XWT_F_WT_0017_EQ",
  241. dayGoodness: 58.0,
  242. monthGoodness: 65.0,
  243. yearGoodness: 27.0,
  244. recordDate: "2024-06-12T16:00:00.000+0000",
  245. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  246. modelId: "SEC-W02B-1250kW",
  247. dayCoefficient: 100.0,
  248. monthCoefficient: 100.0,
  249. yearCoefficient: 100.0,
  250. dayTop: 1,
  251. monthTop: 1,
  252. yearTop: 1,
  253. companyId: "SXJ_KGDL_FLFD_ZGS",
  254. types: "-1",
  255. daySpeed: 5.87,
  256. monthSpeed: 5.87,
  257. yearSpeed: 5.87,
  258. wtcode: "#17",
  259. regionId: "SXJ_RGN",
  260. },
  261. {
  262. id: 1800988576917143563,
  263. windturbineId: "SXJ_KGDL_XWT_F_WT_0019_EQ",
  264. dayGoodness: 100.0,
  265. monthGoodness: 100.0,
  266. yearGoodness: 100.0,
  267. recordDate: "2024-06-12T16:00:00.000+0000",
  268. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  269. modelId: "SEC-W02B-1250kW",
  270. dayCoefficient: 100.0,
  271. monthCoefficient: 100.0,
  272. yearCoefficient: 100.0,
  273. dayTop: 444,
  274. monthTop: 444,
  275. yearTop: 444,
  276. companyId: "SXJ_KGDL_FLFD_ZGS",
  277. types: "-1",
  278. daySpeed: 13.45,
  279. monthSpeed: 13.43,
  280. yearSpeed: 13.43,
  281. wtcode: "#19",
  282. regionId: "SXJ_RGN",
  283. },
  284. {
  285. id: 1800988576917143564,
  286. windturbineId: "SXJ_KGDL_XWT_F_WT_0016_EQ",
  287. dayGoodness: 100.0,
  288. monthGoodness: 100.0,
  289. yearGoodness: 100.0,
  290. recordDate: "2024-06-12T16:00:00.000+0000",
  291. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  292. modelId: "SEC-W02B-1250kW",
  293. dayCoefficient: 100.0,
  294. monthCoefficient: 100.0,
  295. yearCoefficient: 100.0,
  296. dayTop: 445,
  297. monthTop: 445,
  298. yearTop: 445,
  299. companyId: "SXJ_KGDL_FLFD_ZGS",
  300. types: "-1",
  301. daySpeed: 4.81,
  302. monthSpeed: 4.81,
  303. yearSpeed: 4.81,
  304. wtcode: "#16",
  305. regionId: "SXJ_RGN",
  306. },
  307. {
  308. id: 1800988576917143565,
  309. windturbineId: "SXJ_KGDL_XWT_F_WT_0015_EQ",
  310. dayGoodness: 98.0,
  311. monthGoodness: 87.0,
  312. yearGoodness: 12.0,
  313. recordDate: "2024-06-12T16:00:00.000+0000",
  314. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  315. modelId: "SEC-W02B-1250kW",
  316. dayCoefficient: 100.0,
  317. monthCoefficient: 100.0,
  318. yearCoefficient: 100.0,
  319. dayTop: 446,
  320. monthTop: 446,
  321. yearTop: 446,
  322. companyId: "SXJ_KGDL_FLFD_ZGS",
  323. types: "-1",
  324. daySpeed: 6.33,
  325. monthSpeed: 6.33,
  326. yearSpeed: 6.33,
  327. wtcode: "#15",
  328. regionId: "SXJ_RGN",
  329. },
  330. {
  331. id: 1800988576917143566,
  332. windturbineId: "SXJ_KGDL_XWT_F_WT_0024_EQ",
  333. dayGoodness: 100.0,
  334. monthGoodness: 100.0,
  335. yearGoodness: 100.0,
  336. recordDate: "2024-06-12T16:00:00.000+0000",
  337. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  338. modelId: "SEC-W02B-1250kW",
  339. dayCoefficient: 100.0,
  340. monthCoefficient: 100.0,
  341. yearCoefficient: 100.0,
  342. dayTop: 447,
  343. monthTop: 447,
  344. yearTop: 447,
  345. companyId: "SXJ_KGDL_FLFD_ZGS",
  346. types: "-1",
  347. daySpeed: 6.79,
  348. monthSpeed: 6.76,
  349. yearSpeed: 6.76,
  350. wtcode: "#24",
  351. regionId: "SXJ_RGN",
  352. },
  353. {
  354. id: 1800988576917143567,
  355. windturbineId: "SXJ_KGDL_XWT_F_WT_0018_EQ",
  356. dayGoodness: 100.0,
  357. monthGoodness: 100.0,
  358. yearGoodness: 100.0,
  359. recordDate: "2024-06-12T16:00:00.000+0000",
  360. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  361. modelId: "SEC-W02B-1250kW",
  362. dayCoefficient: 100.0,
  363. monthCoefficient: 100.0,
  364. yearCoefficient: 100.0,
  365. dayTop: 448,
  366. monthTop: 448,
  367. yearTop: 448,
  368. companyId: "SXJ_KGDL_FLFD_ZGS",
  369. types: "-1",
  370. daySpeed: 4.58,
  371. monthSpeed: 4.58,
  372. yearSpeed: 4.58,
  373. wtcode: "#18",
  374. regionId: "SXJ_RGN",
  375. },
  376. {
  377. id: 1800988576917143568,
  378. windturbineId: "SXJ_KGDL_XWT_F_WT_0021_EQ",
  379. dayGoodness: 0.0,
  380. monthGoodness: 0.0,
  381. yearGoodness: 0.0,
  382. recordDate: "2024-06-12T16:00:00.000+0000",
  383. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  384. modelId: "SEC-W02B-1250kW",
  385. dayCoefficient: 100.0,
  386. monthCoefficient: 100.0,
  387. yearCoefficient: 100.0,
  388. dayTop: 449,
  389. monthTop: 449,
  390. yearTop: 449,
  391. companyId: "SXJ_KGDL_FLFD_ZGS",
  392. types: "-1",
  393. daySpeed: 4.94,
  394. monthSpeed: 4.94,
  395. yearSpeed: 4.94,
  396. wtcode: "#21",
  397. regionId: "SXJ_RGN",
  398. },
  399. {
  400. id: 1800988576917143569,
  401. windturbineId: "SXJ_KGDL_XWT_F_WT_0020_EQ",
  402. dayGoodness: 100.0,
  403. monthGoodness: 100.0,
  404. yearGoodness: 17.0,
  405. recordDate: "2024-06-12T16:00:00.000+0000",
  406. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  407. modelId: "SEC-W02B-1250kW",
  408. dayCoefficient: 100.0,
  409. monthCoefficient: 100.0,
  410. yearCoefficient: 100.0,
  411. dayTop: 450,
  412. monthTop: 450,
  413. yearTop: 450,
  414. companyId: "SXJ_KGDL_FLFD_ZGS",
  415. types: "-1",
  416. daySpeed: 5.49,
  417. monthSpeed: 5.48,
  418. yearSpeed: 5.48,
  419. wtcode: "#20",
  420. regionId: "SXJ_RGN",
  421. },
  422. {
  423. id: 1800988576917143570,
  424. windturbineId: "SXJ_KGDL_XWT_F_WT_0023_EQ",
  425. dayGoodness: 100.0,
  426. monthGoodness: 100.0,
  427. yearGoodness: 100.0,
  428. recordDate: "2024-06-12T16:00:00.000+0000",
  429. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  430. modelId: "SEC-W02B-1250kW",
  431. dayCoefficient: 100.0,
  432. monthCoefficient: 100.0,
  433. yearCoefficient: 100.0,
  434. dayTop: 451,
  435. monthTop: 451,
  436. yearTop: 451,
  437. companyId: "SXJ_KGDL_FLFD_ZGS",
  438. types: "-1",
  439. daySpeed: 9.62,
  440. monthSpeed: 9.62,
  441. yearSpeed: 9.62,
  442. wtcode: "#23",
  443. regionId: "SXJ_RGN",
  444. },
  445. {
  446. id: 1800988576917143571,
  447. windturbineId: "SXJ_KGDL_XWT_F_WT_0031_EQ",
  448. dayGoodness: 0.0,
  449. monthGoodness: 0.0,
  450. yearGoodness: 0.0,
  451. recordDate: "2024-06-12T16:00:00.000+0000",
  452. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  453. modelId: "SEC-W02B-1250kW",
  454. dayCoefficient: 100.0,
  455. monthCoefficient: 100.0,
  456. yearCoefficient: 100.0,
  457. dayTop: 452,
  458. monthTop: 452,
  459. yearTop: 452,
  460. companyId: "SXJ_KGDL_FLFD_ZGS",
  461. types: "-1",
  462. daySpeed: 0.0,
  463. monthSpeed: 0.0,
  464. yearSpeed: 0.0,
  465. wtcode: "#31",
  466. regionId: "SXJ_RGN",
  467. },
  468. {
  469. id: 1800988576917143572,
  470. windturbineId: "SXJ_KGDL_XWT_F_WT_0025_EQ",
  471. dayGoodness: 67.0,
  472. monthGoodness: 63.0,
  473. yearGoodness: 45.0,
  474. recordDate: "2024-06-12T16:00:00.000+0000",
  475. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  476. modelId: "SEC-W02B-1250kW",
  477. dayCoefficient: 100.0,
  478. monthCoefficient: 100.0,
  479. yearCoefficient: 100.0,
  480. dayTop: 453,
  481. monthTop: 453,
  482. yearTop: 453,
  483. companyId: "SXJ_KGDL_FLFD_ZGS",
  484. types: "-1",
  485. daySpeed: 4.58,
  486. monthSpeed: 4.58,
  487. yearSpeed: 4.58,
  488. wtcode: "#25",
  489. regionId: "SXJ_RGN",
  490. },
  491. {
  492. id: 1800988576921337857,
  493. windturbineId: "SXJ_KGDL_XWT_F_WT_0022_EQ",
  494. dayGoodness: 82.0,
  495. monthGoodness: 80.0,
  496. yearGoodness: 19.0,
  497. recordDate: "2024-06-12T16:00:00.000+0000",
  498. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  499. modelId: "SEC-W02B-1250kW",
  500. dayCoefficient: 100.0,
  501. monthCoefficient: 100.0,
  502. yearCoefficient: 100.0,
  503. dayTop: 454,
  504. monthTop: 454,
  505. yearTop: 454,
  506. companyId: "SXJ_KGDL_FLFD_ZGS",
  507. types: "-1",
  508. daySpeed: 4.21,
  509. monthSpeed: 4.22,
  510. yearSpeed: 4.22,
  511. wtcode: "#22",
  512. regionId: "SXJ_RGN",
  513. },
  514. {
  515. id: 1800988576921337858,
  516. windturbineId: "SXJ_KGDL_XWT_F_WT_0026_EQ",
  517. dayGoodness: 75.0,
  518. monthGoodness: 64.0,
  519. yearGoodness: 42.0,
  520. recordDate: "2024-06-12T16:00:00.000+0000",
  521. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  522. modelId: "SEC-W02B-1250kW",
  523. dayCoefficient: 100.0,
  524. monthCoefficient: 100.0,
  525. yearCoefficient: 100.0,
  526. dayTop: 455,
  527. monthTop: 455,
  528. yearTop: 455,
  529. companyId: "SXJ_KGDL_FLFD_ZGS",
  530. types: "-1",
  531. daySpeed: 4.49,
  532. monthSpeed: 4.49,
  533. yearSpeed: 4.49,
  534. wtcode: "#26",
  535. regionId: "SXJ_RGN",
  536. },
  537. {
  538. id: 1800988576921337859,
  539. windturbineId: "SXJ_KGDL_XWT_F_WT_0027_EQ",
  540. dayGoodness: 65.0,
  541. monthGoodness: 69.0,
  542. yearGoodness: 32.0,
  543. recordDate: "2024-06-12T16:00:00.000+0000",
  544. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  545. modelId: "SEC-W02B-1250kW",
  546. dayCoefficient: 100.0,
  547. monthCoefficient: 100.0,
  548. yearCoefficient: 100.0,
  549. dayTop: 456,
  550. monthTop: 456,
  551. yearTop: 456,
  552. companyId: "SXJ_KGDL_FLFD_ZGS",
  553. types: "-1",
  554. daySpeed: 9.07,
  555. monthSpeed: 9.07,
  556. yearSpeed: 9.07,
  557. wtcode: "#27",
  558. regionId: "SXJ_RGN",
  559. },
  560. {
  561. id: 1800988576921337861,
  562. windturbineId: "SXJ_KGDL_XWT_F_WT_0029_EQ",
  563. dayGoodness: 100.0,
  564. monthGoodness: 100.0,
  565. yearGoodness: 100.0,
  566. recordDate: "2024-06-12T16:00:00.000+0000",
  567. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  568. modelId: "SEC-W02B-1250kW",
  569. dayCoefficient: 100.0,
  570. monthCoefficient: 100.0,
  571. yearCoefficient: 100.0,
  572. dayTop: 458,
  573. monthTop: 458,
  574. yearTop: 458,
  575. companyId: "SXJ_KGDL_FLFD_ZGS",
  576. types: "-1",
  577. daySpeed: 4.87,
  578. monthSpeed: 4.87,
  579. yearSpeed: 4.87,
  580. wtcode: "#29",
  581. regionId: "SXJ_RGN",
  582. },
  583. {
  584. id: 1800988576921337862,
  585. windturbineId: "SXJ_KGDL_XWT_F_WT_0028_EQ",
  586. dayGoodness: 76.0,
  587. monthGoodness: 76.0,
  588. yearGoodness: 12.0,
  589. recordDate: "2024-06-12T16:00:00.000+0000",
  590. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  591. modelId: "SEC-W02B-1250kW",
  592. dayCoefficient: 100.0,
  593. monthCoefficient: 100.0,
  594. yearCoefficient: 100.0,
  595. dayTop: 459,
  596. monthTop: 459,
  597. yearTop: 459,
  598. companyId: "SXJ_KGDL_FLFD_ZGS",
  599. types: "-1",
  600. daySpeed: 4.69,
  601. monthSpeed: 4.7,
  602. yearSpeed: 4.7,
  603. wtcode: "#28",
  604. regionId: "SXJ_RGN",
  605. },
  606. {
  607. id: 1800988576921337863,
  608. windturbineId: "SXJ_KGDL_XWT_F_WT_0030_EQ",
  609. dayGoodness: 60.0,
  610. monthGoodness: 72.0,
  611. yearGoodness: 26.0,
  612. recordDate: "2024-06-12T16:00:00.000+0000",
  613. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  614. modelId: "SEC-W02B-1250kW",
  615. dayCoefficient: 100.0,
  616. monthCoefficient: 100.0,
  617. yearCoefficient: 100.0,
  618. dayTop: 460,
  619. monthTop: 460,
  620. yearTop: 460,
  621. companyId: "SXJ_KGDL_FLFD_ZGS",
  622. types: "-1",
  623. daySpeed: 4.86,
  624. monthSpeed: 4.86,
  625. yearSpeed: 4.86,
  626. wtcode: "#30",
  627. regionId: "SXJ_RGN",
  628. },
  629. {
  630. id: 1800988576921337869,
  631. windturbineId: "SXJ_KGDL_XWT_F_WT_0033_EQ",
  632. dayGoodness: 100.0,
  633. monthGoodness: 100.0,
  634. yearGoodness: 100.0,
  635. recordDate: "2024-06-12T16:00:00.000+0000",
  636. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  637. modelId: "SEC-W02B-1250kW",
  638. dayCoefficient: 100.0,
  639. monthCoefficient: 100.0,
  640. yearCoefficient: 100.0,
  641. dayTop: 466,
  642. monthTop: 466,
  643. yearTop: 466,
  644. companyId: "SXJ_KGDL_FLFD_ZGS",
  645. types: "-1",
  646. daySpeed: 5.89,
  647. monthSpeed: 5.9,
  648. yearSpeed: 5.9,
  649. wtcode: "#33",
  650. regionId: "SXJ_RGN",
  651. },
  652. {
  653. id: 1800988576921337871,
  654. windturbineId: "SXJ_KGDL_XWT_F_WT_0032_EQ",
  655. dayGoodness: 39.0,
  656. monthGoodness: 39.0,
  657. yearGoodness: 20.0,
  658. recordDate: "2024-06-12T16:00:00.000+0000",
  659. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  660. modelId: "SEC-W02B-1250kW",
  661. dayCoefficient: 100.0,
  662. monthCoefficient: 100.0,
  663. yearCoefficient: 100.0,
  664. dayTop: 468,
  665. monthTop: 468,
  666. yearTop: 468,
  667. companyId: "SXJ_KGDL_FLFD_ZGS",
  668. types: "-1",
  669. daySpeed: 5.32,
  670. monthSpeed: 5.32,
  671. yearSpeed: 5.32,
  672. wtcode: "#32",
  673. regionId: "SXJ_RGN",
  674. },
  675. {
  676. id: 1800988576912949255,
  677. windturbineId: "SXJ_KGDL_XWT_F_WT_0002_EQ",
  678. dayGoodness: 49.0,
  679. monthGoodness: 52.0,
  680. yearGoodness: 10.0,
  681. recordDate: "2024-06-12T16:00:00.000+0000",
  682. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  683. modelId: "SEC-W02B-1250kW",
  684. dayCoefficient: 100.0,
  685. monthCoefficient: 100.0,
  686. yearCoefficient: 100.0,
  687. dayTop: 422,
  688. monthTop: 422,
  689. yearTop: 422,
  690. companyId: "SXJ_KGDL_FLFD_ZGS",
  691. types: "-1",
  692. daySpeed: 5.99,
  693. monthSpeed: 5.98,
  694. yearSpeed: 5.98,
  695. wtcode: "#2",
  696. regionId: "SXJ_RGN",
  697. },
  698. {
  699. id: 1800988576912949265,
  700. windturbineId: "SXJ_KGDL_XWT_F_WT_0006_EQ",
  701. dayGoodness: 100.0,
  702. monthGoodness: 100.0,
  703. yearGoodness: 25.0,
  704. recordDate: "2024-06-12T16:00:00.000+0000",
  705. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  706. modelId: "SEC-W02B-1250kW",
  707. dayCoefficient: 100.0,
  708. monthCoefficient: 100.0,
  709. yearCoefficient: 100.0,
  710. dayTop: 432,
  711. monthTop: 432,
  712. yearTop: 432,
  713. companyId: "SXJ_KGDL_FLFD_ZGS",
  714. types: "-1",
  715. daySpeed: 6.79,
  716. monthSpeed: 6.79,
  717. yearSpeed: 6.79,
  718. wtcode: "#6",
  719. regionId: "SXJ_RGN",
  720. },
  721. {
  722. id: 1800988576912949266,
  723. windturbineId: "SXJ_KGDL_XWT_F_WT_0004_EQ",
  724. dayGoodness: 100.0,
  725. monthGoodness: 62.0,
  726. yearGoodness: 8.0,
  727. recordDate: "2024-06-12T16:00:00.000+0000",
  728. windtpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  729. modelId: "SEC-W02B-1250kW",
  730. dayCoefficient: 100.0,
  731. monthCoefficient: 100.0,
  732. yearCoefficient: 100.0,
  733. dayTop: 433,
  734. monthTop: 433,
  735. yearTop: 433,
  736. companyId: "SXJ_KGDL_FLFD_ZGS",
  737. types: "-1",
  738. daySpeed: 10.32,
  739. monthSpeed: 10.31,
  740. yearSpeed: 10.31,
  741. wtcode: "#4",
  742. regionId: "SXJ_RGN",
  743. },
  744. ],
  745. showBtn: true,
  746. dialogTitle: "",
  747. tabIndex: -1,
  748. tabOptions: [
  749. { id: -1, name: "风电" },
  750. { id: -2, name: "光伏" },
  751. ],
  752. tableHeader: [
  753. // { title: "风机", code: "wtcode" },
  754. { title: "型号", code: "modelId", align: "left" },
  755. { title: "日排行榜", code: "dayTop", align: "right" },
  756. { title: "日拟合优度(%)", code: "dayGoodness", align: "right" },
  757. { title: "日风速(m/s)", code: "daySpeed", align: "right" },
  758. { title: "月排行榜", code: "monthTop", align: "right" },
  759. { title: "月拟合优度(%)", code: "monthGoodness", align: "right" },
  760. { title: "月风速(m/s)", code: "monthSpeed", align: "right" },
  761. { title: "年排行榜", code: "yearTop", align: "right" },
  762. { title: "年拟合优度(%)", code: "yearGoodness", align: "right" },
  763. { title: "年风速(m/s)", code: "yearSpeed", align: "right" },
  764. // { title: "操作" },
  765. ],
  766. tableHeaderGf: [
  767. { title: "逆变器", code: "wtname" },
  768. { title: "型号", code: "model", align: "left" },
  769. { title: "日系统效率", code: "rxtxl", align: "right" },
  770. { title: "日离散率", code: "rlsl", align: "right" },
  771. { title: "日转换效率", code: "rzhxl", align: "right" },
  772. { title: "月系统效率", code: "yxtxl", align: "right" },
  773. { title: "月离散率", code: "ylsl", align: "right" },
  774. { title: "月转换效率", code: "yzhxl", align: "right" },
  775. { title: "年系统效率", code: "nxtxl", align: "right" },
  776. { title: "年离散率", code: "nlsl", align: "right" },
  777. { title: "年转换效率", code: "nzhxl", align: "right" },
  778. // { title: "操作" },
  779. ],
  780. page: {
  781. pagesize: 23,
  782. currentPage: 1,
  783. total: 0,
  784. },
  785. dialogVisible: false,
  786. dialogDetail: false,
  787. isFullScreen: false,
  788. };
  789. },
  790. created() {
  791. this.pickerTimer = dayjs().add(-1, "day").format("YYYY-MM-DD");
  792. this.getCompanyData();
  793. },
  794. mounted() {},
  795. computed: {
  796. pageHeight() {
  797. return {
  798. height: document.documentElement.clientHeight - 130 + "px",
  799. };
  800. },
  801. pagewindHeight() {
  802. return {
  803. height: document.documentElement.clientHeight - 100 + "px",
  804. };
  805. },
  806. },
  807. methods: {
  808. // 获取公司列表
  809. async getCompanyData() {
  810. this.companyOptions = [];
  811. const { data: datas } = await getApicompanyslist();
  812. this.companyOptions = datas.data;
  813. this.companyVal = datas.data[0]?.id;
  814. this.getStationData(this.companyVal);
  815. },
  816. changeBtn(id) {
  817. this.tabIndex = id;
  818. this.stationVal = "";
  819. this.singleMachineData = [];
  820. this.getStationData(this.companyVal);
  821. },
  822. changeCompan(val) {
  823. this.companyVal = val;
  824. this.stationVal = "";
  825. this.singleMachineData = [];
  826. this.getStationData(this.companyVal);
  827. },
  828. // 获取场站
  829. async getStationData(companyVal) {
  830. this.stationOptions = [];
  831. let params = {
  832. type: this.tabIndex,
  833. companyid: companyVal,
  834. };
  835. const { data } = await getApiwpByCplistlist(params);
  836. if (data.data.length) {
  837. this.stationOptions = data.data;
  838. this.stationVal = data.data[0].id || "";
  839. } else {
  840. this.stationOptions = [];
  841. this.stationVal = "";
  842. }
  843. this.getTableData();
  844. },
  845. changeStation(val) {
  846. this.stationVal = val;
  847. this.getTableData();
  848. },
  849. seachData() {
  850. this.getTableData();
  851. },
  852. async getTableData() {
  853. let params = {
  854. cmId: this.companyVal,
  855. type: this.tabIndex,
  856. pageNum: this.page.currentPage,
  857. pageSize: this.page.pagesize,
  858. recorddate: this.pickerTimer,
  859. wpId: this.stationVal,
  860. };
  861. let datas = {};
  862. if (this.tabIndex == -2) {
  863. datas = await getApiwindturbinegoodnesslistGf(params);
  864. // this.singleMachineData = datas.data.data;
  865. this.page.total = datas.data.data.length;
  866. } else {
  867. datas = await getApiwindturbinegoodnesslist(params);
  868. // this.singleMachineData = datas.data.data.records;
  869. this.page.total = datas.data.data.total;
  870. }
  871. },
  872. handleSizeChange(val) {
  873. this.page.currentPage = 1;
  874. this.page.pagesize = val;
  875. this.getTableData();
  876. },
  877. handleCurrentChange(val) {
  878. this.page.currentPage = val;
  879. this.getTableData();
  880. },
  881. //转换时间
  882. getchangeTime(date) {
  883. var y = date.getFullYear();
  884. var m = date.getMonth() + 1;
  885. m = m < 10 ? "0" + m : m;
  886. var d = date.getDate();
  887. d = d < 10 ? "0" + d : d;
  888. return y + "-" + m + "-" + d;
  889. },
  890. seachDetail(row) {
  891. this.dialogDetail = true;
  892. this.$nextTick(() => {
  893. this.$refs.windDetail.recorddate = this.pickerTimer;
  894. this.$refs.windDetail.init(row);
  895. });
  896. },
  897. seachHistoryData(row) {
  898. this.dialogVisible = true;
  899. this.dialogTitle = "历史数据查询";
  900. this.$nextTick(() => {
  901. let startT = dayjs(this.pickerTimer)
  902. .add(-10, "day")
  903. .format("YYYY-MM-DD");
  904. this.$refs.windhistoryDetail.pickerTimer = [startT, this.pickerTimer];
  905. if (this.tabIndex == -1) {
  906. this.$refs.windhistoryDetail.init(row);
  907. } else {
  908. row.windtpowerstationId = this.stationVal;
  909. this.$refs.windhistoryDetail.init(row);
  910. }
  911. // this.$refs.windhistoryDetail.getWindPowerStation();
  912. });
  913. },
  914. downXlsxFn() {
  915. let header = [];
  916. this.tableHeader.forEach((it) => {
  917. if (it.title !== "操作") {
  918. header.push(it.title);
  919. }
  920. });
  921. if (this.singleMachineData.length > 0) {
  922. utils.exportExcel(
  923. this.$refs["stand_table"].$el,
  924. header,
  925. "单机性能分析"
  926. );
  927. }
  928. },
  929. },
  930. };
  931. </script>
  932. <style lang="less">
  933. .singleMachine {
  934. height: 100%;
  935. padding: 0 20px;
  936. .singleMachine_title {
  937. .leftContent {
  938. width: 242px;
  939. height: 41px;
  940. line-height: 41px;
  941. background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
  942. span {
  943. font-size: 16px;
  944. font-family: Microsoft YaHei;
  945. font-weight: 400;
  946. color: #05bb4c;
  947. margin-left: 25px;
  948. }
  949. }
  950. .floatLeft {
  951. float: left;
  952. }
  953. .floatRight {
  954. float: right;
  955. }
  956. }
  957. .singleMachine_content {
  958. background: rgba(0, 0, 0, 0.45);
  959. height: calc(100% - 48px);
  960. }
  961. .clearfix::after {
  962. content: "";
  963. clear: both;
  964. height: 0;
  965. line-height: 0;
  966. visibility: hidden;
  967. display: block;
  968. }
  969. .clearfix {
  970. zoom: 1;
  971. }
  972. .singleMachine_top {
  973. display: flex;
  974. flex-direction: row;
  975. align-items: center;
  976. padding-top: 5px;
  977. padding-bottom: 5px;
  978. .station {
  979. display: flex;
  980. flex-direction: row;
  981. align-items: center;
  982. font-size: 14px;
  983. font-family: Microsoft YaHei;
  984. font-weight: 400;
  985. color: #b3b3b3;
  986. margin-right: 10px;
  987. margin-left: 10px;
  988. }
  989. .tabCut {
  990. display: inline-block;
  991. margin: 0 10px;
  992. div {
  993. display: inline-block;
  994. width: 60px;
  995. height: 27px;
  996. border: 1px solid #274934;
  997. text-align: center;
  998. line-height: 25px;
  999. cursor: pointer;
  1000. }
  1001. div:nth-child(1) {
  1002. border-radius: 13px 0px 0px 13px;
  1003. border-right-width: 0;
  1004. }
  1005. div:nth-child(2) {
  1006. border-radius: 0px 13px 13px 0px;
  1007. }
  1008. .active {
  1009. background-color: rgba(5, 187, 76, 0.9);
  1010. color: #fff;
  1011. }
  1012. }
  1013. .search-input {
  1014. margin-left: 10px;
  1015. .el-input__inner {
  1016. width: 175px;
  1017. }
  1018. .el-input__suffix {
  1019. right: -50px;
  1020. }
  1021. }
  1022. .but {
  1023. display: flex;
  1024. flex-direction: row;
  1025. align-content: center;
  1026. margin-left: 20px;
  1027. .buttons {
  1028. background-color: rgba(5, 187, 76, 0.2);
  1029. border: 1px solid #3b6c53;
  1030. color: #b3b3b3;
  1031. font-size: 14px;
  1032. &:hover,
  1033. &.active {
  1034. background-color: rgba(5, 187, 76, 0.5);
  1035. color: #ffffff;
  1036. }
  1037. }
  1038. }
  1039. }
  1040. .economicTable1 {
  1041. height: calc(100% - 42px);
  1042. .el-table__fixed,
  1043. .el-table__fixed-right {
  1044. background: rgba(0, 0, 0, 1);
  1045. border-left: 2px solid #000;
  1046. height: calc(100% - 15px) !important;
  1047. }
  1048. .el-table__fixed::before {
  1049. background-color: #2a2a2a;
  1050. }
  1051. .el-table__fixed-right::before {
  1052. background-color: #2a2a2a;
  1053. }
  1054. .el-pagination {
  1055. display: flex;
  1056. justify-content: flex-end;
  1057. padding-top: 5px;
  1058. .el-pagination__total,
  1059. .el-pagination__jump {
  1060. color: #fff;
  1061. }
  1062. }
  1063. .historyBtn {
  1064. cursor: pointer;
  1065. color: #05bb4c;
  1066. margin-right: 15px;
  1067. }
  1068. }
  1069. .el-overlay {
  1070. .el-overlay-dialog {
  1071. overflow-y: hidden !important;
  1072. .windhistoryDetailModel,
  1073. .windDetailmodal {
  1074. margin-top: 0 !important;
  1075. .el-dialog__body {
  1076. padding: 10px 20px 20px 20px;
  1077. height: calc(100% - 80px);
  1078. }
  1079. }
  1080. }
  1081. }
  1082. }
  1083. </style>