index.vue 66 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134
  1. <template>
  2. <el-dialog
  3. custom-class="cDialog"
  4. top="50px"
  5. v-model="dialogVisible"
  6. width="80%"
  7. @closed="dialogClosed"
  8. >
  9. <el-button
  10. style="position: absolute; right: 24px; top: 60px; z-index: 5000"
  11. type="primary"
  12. @click="exportPDF"
  13. >
  14. 导出为PDF</el-button
  15. >
  16. <div class="pdfDom">
  17. <div class="title">健康评价报告概述</div>
  18. <!-- <el-form style="margin-top: 10px">
  19. <el-form-item>健康状态:2022C505513</el-form-item>
  20. </el-form> -->
  21. <div class="tableBox">
  22. <div class="l">
  23. <el-form>
  24. <el-form-item class="imp fw"
  25. >{{ reportInfo1.wpName }}{{ reportInfo1.nemCode }}</el-form-item
  26. >
  27. <el-form-item class="imp fw"
  28. >评级结果:{{ reportInfo1.ratingResults }}
  29. </el-form-item>
  30. <el-form-item class="imp fw"
  31. >评级展望:{{ reportInfo1.ratingOutlook }}</el-form-item
  32. >
  33. <el-form-item class="imp fw"
  34. >评级有效期:{{
  35. new Date(reportInfo1.ratingValidityPeriod).formatDate(
  36. "yyyy-MM-dd hh:mm:ss"
  37. )
  38. }}</el-form-item
  39. >
  40. <el-form-item class="imp fw">主要参数指标数据:</el-form-item>
  41. </el-form>
  42. <el-table
  43. empty-text="暂无数据"
  44. :data="ls1"
  45. :header-cell-style="{
  46. background: 'rgb(153,204,255)',
  47. color: '#000',
  48. }"
  49. :cell-style="columnStyle"
  50. border
  51. stripe
  52. style="width: 100%; margin: 10px 0"
  53. >
  54. <el-table-column prop="name" label="指标" />
  55. <el-table-column prop="monthValue" label="当月值" />
  56. <el-table-column prop="lastMonth1Value" label="上月值" />
  57. <el-table-column prop="lastMonth2Value" label="前两月值" />
  58. </el-table>
  59. <el-form>
  60. <el-form-item class="imp fw" v-if="false"
  61. >报告确认人:{{ healthreport.bgqrr }}</el-form-item
  62. >
  63. <el-form-item class="imp fw"
  64. >报告出具时间:{{
  65. new Date(reportInfo1.reportCreatedate).formatDate(
  66. "yyyy-MM-dd hh:mm:ss"
  67. )
  68. }}</el-form-item
  69. >
  70. <el-form-item
  71. >注:本报告表述了健康管理系统对该设备的健康评级观点,仅供参考,并非是最终的决策的结论、建议。</el-form-item
  72. >
  73. </el-form>
  74. </div>
  75. <div class="r">
  76. <el-form>
  77. <el-form-item class="imp fw" style="border-bottom: 8px solid #000"
  78. >评级观点:</el-form-item
  79. >
  80. <div class="infoBox">
  81. <p>
  82. {{ datas.wtName || reportInfo1.wtId }}
  83. {{
  84. reportInfo1.firstIntegratedTime
  85. ? `于${new Date(reportInfo1.firstIntegratedTime).formatDate(
  86. "yyyy-MM-dd hh:mm:ss"
  87. )}并网运行,`
  88. : ""
  89. }}运行{{ reportInfo1.runningDays }}天,统计周期内累计发电量为{{
  90. (reportInfo1.monthFdl / 10000).toFixed(2)
  91. }}万Kwh,风能利用率{{ reportInfo1.yfnlyl }}%,环比增加{{
  92. reportInfo1.yfnlylhb
  93. }}%;设备可利用率{{ reportInfo1.ylyxs }}%,环比下降{{
  94. reportInfo1.ylyxshb
  95. }}%,MTTF为{{ reportInfo1.ymttf }}小时,MTBF为{{
  96. reportInfo1.ymtbf
  97. }}小时。
  98. </p>
  99. <p>统计期内故障发生{{ reportInfo1.ygzcs }}次</p>
  100. <p class="red" v-if="reportInfo1.gztop1">
  101. {{ reportInfo1.gztop1 }}
  102. </p>
  103. <p class="red" v-if="reportInfo1.gztop2">
  104. {{ reportInfo1.gztop2 }}
  105. </p>
  106. <p class="red" v-if="reportInfo1.gztop3">
  107. {{ reportInfo1.gztop3 }}
  108. </p>
  109. <p class="info">功率对部件温度影响较高是齿轮箱、主轴</p>
  110. <p class="info">部件劣化较高是发电机、主轴</p>
  111. <p v-if="reportInfo1.jxjgsc > 0">
  112. 定检已超过{{ reportInfo1.jxjgsc }}个月,近{{
  113. reportInfo1.jxjgsc
  114. }}个月无维修记录
  115. </p>
  116. </div>
  117. </el-form>
  118. </div>
  119. </div>
  120. <div class="textBox" v-if="tjjxfa.wtId">
  121. <el-form>
  122. <el-form-item class="imp fw"><b>推荐检修方案</b></el-form-item>
  123. <el-form-item class="imp fw text-indent-2">故障预测</el-form-item>
  124. <el-form-item class="text-indent-4"
  125. >高频:{{ tjjxfa.top1 || "" }}</el-form-item
  126. >
  127. <el-form-item class="text-indent-4"
  128. >中频:{{ tjjxfa.top2 || "" }}</el-form-item
  129. >
  130. <el-form-item class="m-b-10 text-indent-4"
  131. >低频:{{ tjjxfa.top3 || "" }}</el-form-item
  132. >
  133. <el-form-item class="text-indent-2"
  134. >推荐排查方法:{{ tjjxfa.gzpc || "" }}</el-form-item
  135. >
  136. <el-form-item class="text-indent-2"
  137. >推荐处理方法:{{ tjjxfa.gzcl || "" }}</el-form-item
  138. >
  139. <el-form-item class="text-indent-2"
  140. >推荐工具器:{{ tjjxfa.gqj || "" }}</el-form-item
  141. >
  142. <el-form-item class="text-indent-2"
  143. >平均消缺时长:{{ tjjxfa.xqsc || "---" }}小时</el-form-item
  144. >
  145. <el-form-item class="text-indent-2"
  146. >推荐检修日期:{{
  147. new Date(tjjxfa.recordDate).formatDate("yyyy-MM-dd")
  148. }}</el-form-item
  149. >
  150. <el-form-item>结论:健康报告达到推荐级别,推荐检修!</el-form-item>
  151. </el-form>
  152. </div>
  153. <div class="tableBox">
  154. <div class="l" style="width: 100%">
  155. <el-form>
  156. <el-form-item class="imp fw">可靠性</el-form-item>
  157. </el-form>
  158. <el-table
  159. empty-text="暂无数据"
  160. :data="alarmcountVoList"
  161. :header-cell-style="{
  162. background: 'rgb(153,204,255)',
  163. color: '#000',
  164. }"
  165. :cell-style="columnStyle"
  166. border
  167. stripe
  168. style="width: 100%; margin: 10px 0"
  169. >
  170. <el-table-column prop="description" label="描述" />
  171. <el-table-column prop="total" label="总次数" sortable />
  172. <el-table-column prop="maxSeconds" label="最大时长" sortable />
  173. <el-table-column prop="minSeconds" label="最小时长" sortable />
  174. <el-table-column prop="avgSeconds" label="平均时长" sortable />
  175. <el-table-column prop="totalSeconds" label="总时间" sortable />
  176. </el-table>
  177. </div>
  178. </div>
  179. <div class="textBox">
  180. <el-form>
  181. <el-form-item class="imp fw text-indent-2"><b>性能</b></el-form-item>
  182. <el-form-item class="imp fw text-indent-2"
  183. >曲线拟合及偏差率</el-form-item
  184. >
  185. <el-form-item class="text-indent-2">
  186. 统计周期内,曲线偏差率{{
  187. reportInfo1.yqxpcbbzsj
  188. }}%,其中风速在3-5m/s区间曲线偏差率{{
  189. reportInfo1.y35mqxpcl
  190. }}%,风速在5-11m/s区间曲线偏差率为{{
  191. reportInfo1.y511mqxpcl
  192. }}%,风速在11-25m/s区间曲线偏差率为{{ reportInfo1.y11mycqxpcl }}%。
  193. </el-form-item>
  194. <div>
  195. <div class="logHead">功率曲线拟合</div>
  196. <double-line-chart :height="'250px'" :list="glqxnh" />
  197. </div>
  198. <div v-if="false">
  199. <div class="logHead">曲线偏差率</div>
  200. <normal-line-chart :list="qxpcls" />
  201. </div>
  202. </el-form>
  203. </div>
  204. <!-- 对风偏差先隐藏 -->
  205. <div class="textBox" v-if="healthreport != null">
  206. <el-form>
  207. <el-form-item class="imp fw text-indent-2">对风偏差:</el-form-item>
  208. <el-form-item class="text-indent-2">
  209. 对应的偏航对风偏差角度信号,正负偏差正常次数{{
  210. Number(healthreport.hg)
  211. }}次,异常偏差{{ Number(healthreport.bhg) }}次,对风偏差率为{{
  212. Number(healthreport.dfpcl)
  213. }}。
  214. </el-form-item>
  215. <el-form-item class="text-indent-2"
  216. >其中风速在3-5m/s区间的对风偏差率{{
  217. Number(healthreport.threedfpcl).toFixed(1)
  218. }},风速在5-11m/s区间的对风偏差率{{
  219. Number(healthreport.fivedfpcl).toFixed(1)
  220. }},风速在11-25m/s区间的对风偏差率{{
  221. Number(healthreport.eledfpcl).toFixed(1)
  222. }}。
  223. </el-form-item>
  224. <div class="logHead">对风偏差率(频次)</div>
  225. <DoubleLineChart
  226. style="margin: 10px 0"
  227. width="100%"
  228. height="300px"
  229. :list="dfpc.nipples"
  230. />
  231. <div class="logHead">对风偏差率(功率)</div>
  232. <DoubleLineChart
  233. style="margin: 10px 0"
  234. width="100%"
  235. height="300px"
  236. :list="dfpc.dfpclpowers"
  237. />
  238. <div class="logHead">对风偏差率(风速)</div>
  239. <DoubleLineChart
  240. style="margin: 10px 0"
  241. width="100%"
  242. height="300px"
  243. :list="dfpc.dfpclSpeeds"
  244. />
  245. </el-form>
  246. </div>
  247. <!-- <div class="textBox">
  248. <el-form>
  249. <el-form-item class="imp fw text-indent-2">切入切出:</el-form-item>
  250. <el-form-item class="text-indent-2"
  251. >统计周期内,该机组小风切入在{{
  252. Number(qrqcs[0].xfqr).toFixed(2)
  253. }}m/s,小风切出在{{
  254. Number(qrqcs[0].xfqc).toFixed(2)
  255. }}m/s,大风切入在{{
  256. Number(qrqcs[0].dfqr).toFixed(2)
  257. }}m/s,大风切出在{{ Number(qrqcs[0].dfqc).toFixed(2) }}m/s。
  258. </el-form-item>
  259. <div class="logHead">切入切出对比</div>
  260. <el-table
  261. empty-text="暂无数据"
  262. :data="qrqcs"
  263. :header-cell-style="{
  264. background: 'rgb(224,224,224)',
  265. color: '#000',
  266. }"
  267. border
  268. stripe
  269. style="width: 100%; margin-bottom: 10px"
  270. >
  271. <el-table-column prop="foreignkeyid" label="项目"></el-table-column>
  272. <el-table-column prop="xfqr" label="小风切入"></el-table-column>
  273. <el-table-column prop="xfqc" label="小风切出"></el-table-column>
  274. <el-table-column prop="dfqr" label="大风切入"></el-table-column>
  275. <el-table-column prop="dfqc" label="大风切出"></el-table-column>
  276. </el-table>
  277. </el-form>
  278. </div> -->
  279. <!-- 可靠性暂时隐藏 -->
  280. <div class="textBox" v-if="false">
  281. <el-form>
  282. <el-form-item class="imp fw text-indent-2"
  283. ><b>可靠性</b>:</el-form-item
  284. >
  285. <el-form-item class="imp fw text-indent-2">部件隐患:</el-form-item>
  286. <el-form-item class="text-indent-2">
  287. 统计周期内,传动链隐患频次为{{ yhbjcount.cdlcount }}次,持续时长{{
  288. yhbjcount.cdltime
  289. }}分钟;测风系统隐患频次为{{ yhbjcount.cfxtcount }}次,持续时长{{
  290. yhbjcount.cfxttime
  291. }}分钟;齿轮箱隐患频次为{{ yhbjcount.clxcount }}次,持续时长{{
  292. yhbjcount.clxtime ? yhbjcount.clxtime : 0
  293. }}分钟;发电机隐患频次为{{ yhbjcount.fdjcount }}次,持续时长{{
  294. yhbjcount.fdjtime
  295. }}分钟;变桨隐患频次为{{ yhbjcount.bjcount }}次,持续时长{{
  296. yhbjcount.bjtime
  297. }}分钟;机舱隐患频次为{{ yhbjcount.jccount }}次,持续时长{{
  298. yhbjcount.jctime
  299. }}分钟;偏航隐患频次为{{ yhbjcount.phcount }}次,持续时长{{
  300. yhbjcount.phtime
  301. }}分钟; 塔底柜隐患频次为{{ yhbjcount.tdgcount }}次,持续时长{{
  302. yhbjcount.tdgtime
  303. }}分钟。
  304. </el-form-item>
  305. <el-form-item class="text-indent-2" v-if="bjyhcount.length > 0">
  306. <font v-if="bjyhcount[0].yhmx"
  307. >其中以{{ bjyhcount[0].yhmx }}发生频次最高,为{{
  308. bjyhcount[0].count
  309. }}次;</font
  310. >
  311. <font v-if="bjyhcount[1].yhmx"
  312. >{{ bjyhcount[1].yhmx }}次之,为{{ bjyhcount[1].count }}次;</font
  313. >
  314. <font v-if="bjyhcount[2].yhmx"
  315. >{{ bjyhcount[2].yhmx }}第三,为{{ bjyhcount[0].count }}次。</font
  316. >
  317. </el-form-item>
  318. <el-form-item class="text-indent-2">
  319. <font v-if="bjyhcount[3].yhmx"
  320. >其中以{{ bjyhcount[3].yhmx }}发生时长最长,为{{
  321. bjyhcount[3].times
  322. }}分钟;</font
  323. >
  324. <font v-if="bjyhcount[4].yhmx"
  325. >{{ bjyhcount[4].yhmx }}次之,为{{
  326. bjyhcount[4].yhmx
  327. }}分钟;</font
  328. >
  329. <font v-if="bjyhcount[5].yhmx"
  330. >{{ bjyhcount[5].yhmx }}第三,为{{
  331. bjyhcount[5].yhmx
  332. }}分钟。</font
  333. >
  334. </el-form-item>
  335. <div class="logHead">部件隐患对比(次|分钟)</div>
  336. <el-table
  337. empty-text="暂无数据"
  338. :data="bjyhdbs"
  339. class="bjyhdb"
  340. :header-cell-style="{
  341. background: 'rgb(224,224,224)',
  342. color: '#000',
  343. }"
  344. border
  345. stripe
  346. style="width: 100%; margin-bottom: 10px"
  347. >
  348. <el-table-column prop="foreignkeyid" label="项目"></el-table-column>
  349. <el-table-column label="传动链">
  350. <el-table-column prop="cdlcount"></el-table-column>
  351. <el-table-column prop="cdltimes"></el-table-column>
  352. </el-table-column>
  353. <el-table-column label="测风系统">
  354. <el-table-column prop="cfxtcount"></el-table-column>
  355. <el-table-column prop="cfxttimes"></el-table-column>
  356. </el-table-column>
  357. <el-table-column label="齿轮箱">
  358. <el-table-column prop="clxcount"></el-table-column>
  359. <el-table-column prop="clxtimes"></el-table-column>
  360. </el-table-column>
  361. <el-table-column label="发电机">
  362. <el-table-column prop="fdjcount"></el-table-column>
  363. <el-table-column prop="fdjtimes"></el-table-column>
  364. </el-table-column>
  365. <el-table-column label="变桨">
  366. <el-table-column prop="bjcount"></el-table-column>
  367. <el-table-column prop="bjtimes"></el-table-column>
  368. </el-table-column>
  369. <el-table-column label="机舱">
  370. <el-table-column prop="jccount"></el-table-column>
  371. <el-table-column prop="jctimes"></el-table-column>
  372. </el-table-column>
  373. <el-table-column label="偏航">
  374. <el-table-column prop="phcount"></el-table-column>
  375. <el-table-column prop="phtimes"></el-table-column>
  376. </el-table-column>
  377. <el-table-column label="塔底柜">
  378. <el-table-column prop="tdgcount"></el-table-column>
  379. <el-table-column prop="tdgtimes"></el-table-column>
  380. </el-table-column>
  381. </el-table>
  382. <div class="logHead">隐患模型对比</div>
  383. <el-table
  384. empty-text="暂无数据"
  385. :data="yjmxdb"
  386. :header-cell-style="{
  387. background: 'rgb(224,224,224)',
  388. color: '#000',
  389. }"
  390. stripe
  391. style="width: 100%; margin-bottom: 10px"
  392. >
  393. <el-table-column prop="name" label="部件" />
  394. <el-table-column prop="alertText" label="隐患类型" />
  395. <el-table-column prop="counts" label="频次" />
  396. <el-table-column prop="avgcounts" label="均值" />
  397. <el-table-column prop="times" label="时长(分钟)" />
  398. <el-table-column prop="avgtimes" label="均值(分钟)" />
  399. </el-table>
  400. </el-form>
  401. </div>
  402. <!-- <div class="textBox">
  403. <el-form>
  404. <el-form-item class="imp fw text-indent-2">故障分类:</el-form-item>
  405. <el-form-item class="text-indent-2">
  406. 统计周期内,机舱振动类故障频次为88次,持续时长51分钟。(只显示发生故障的,如没有发生过故障的不用文字描述)
  407. </el-form-item>
  408. 其中以(明细故障mwData)发生频次最高,为mwData次;(明细故障mwData)次之,为mwData次;(明细故障mwData)第三,为mwData次。 -->
  409. <!-- <div class="logHead">故障分类统计</div>
  410. <el-table
  411. empty-text="暂无数据"
  412. :data="faultclass"
  413. :header-cell-style="{
  414. background: 'rgb(224,224,224)',
  415. color: '#000',
  416. }"
  417. border
  418. stripe
  419. style="width: 100%; margin-bottom: 10px"
  420. >
  421. <el-table-column prop="warningtype" label="分类"></el-table-column>
  422. <el-table-column label="频次(次数)">
  423. <el-table-column
  424. prop="monthwarningnum"
  425. label="统计期"
  426. ></el-table-column>
  427. <el-table-column
  428. prop="yearoveryearnum"
  429. label="上月"
  430. ></el-table-column>
  431. <el-table-column
  432. prop="monthonmonthnum"
  433. label="同期"
  434. ></el-table-column>
  435. </el-table-column>
  436. <el-table-column label="时长(分钟)">
  437. <el-table-column
  438. prop="monthonmonthtime"
  439. label="统计期"
  440. ></el-table-column>
  441. <el-table-column
  442. prop="monthwarningtime"
  443. label="上月"
  444. ></el-table-column>
  445. <el-table-column
  446. prop="yearoveryeartime"
  447. label="同期"
  448. ></el-table-column>
  449. </el-table-column>
  450. </el-table>
  451. </el-form>
  452. </div> -->
  453. <!-- <div class="textBox">
  454. <el-form>
  455. <el-form-item class="imp fw text-indent-2"
  456. >功率对部件温度影响</el-form-item
  457. >
  458. <el-form-item class="text-indent-2"
  459. >统计周期内,齿轮箱温度“900-1050”、
  460. “1200-1350”大于平均值;主轴温度“450-600”、
  461. “1200-1350”大于平均值。(只显示大于平均值的,没有就不显示,如果完全没有就显示在统计周期内,各个部件温度良好)
  462. </el-form-item>
  463. <div class="logHead">
  464. 功率对部件温度影响统计(红字对比平均值高,绿字对比平均值低)
  465. </div>
  466. <el-table
  467. empty-text="暂无数据"
  468. :data="partwds"
  469. :span-method="wdyxtjMethod"
  470. :header-cell-style="{
  471. background: 'rgb(224,224,224)',
  472. color: '#000',
  473. }"
  474. stripe
  475. style="width: 100%; margin-bottom: 10px"
  476. >
  477. <el-table-column prop="bj" label="部件"></el-table-column>
  478. <el-table-column prop="wdcd" label="温度测点"></el-table-column>
  479. <el-table-column prop="min0" label="0-150"></el-table-column>
  480. <el-table-column prop="min150" label="150-300"></el-table-column>
  481. <el-table-column prop="min300" label="300-450"></el-table-column>
  482. <el-table-column prop="min450" label="450-600"></el-table-column>
  483. <el-table-column prop="min600" label="600-750"></el-table-column>
  484. <el-table-column prop="min750" label="750-900"></el-table-column>
  485. <el-table-column prop="min900" label="900-1050"></el-table-column>
  486. <el-table-column prop="min1050" label="1050-1200"></el-table-column>
  487. <el-table-column prop="min1200" label="1200-1350"></el-table-column>
  488. <el-table-column prop="min1350" label="1350-1500"></el-table-column>
  489. </el-table>
  490. </el-form>
  491. </div> -->
  492. <div class="textBox">
  493. <el-form>
  494. <el-form-item class="imp fw text-indent-2"
  495. ><b>部件劣化状态</b></el-form-item
  496. >
  497. <el-form-item class="imp fw">总览:</el-form-item>
  498. <el-form-item class="text-indent-2"
  499. >统计周期内,发电机劣化频次为{{ bjlhzt.fdj }}次,齿轮箱劣化频次为{{
  500. bjlhzt.clx
  501. }}次;变桨劣化频次为{{ bjlhzt.bj }}次;主轴劣化频次为{{
  502. bjlhzt.zz
  503. }}次。
  504. </el-form-item>
  505. <div class="logHead">部件劣化频次总览</div>
  506. <el-table
  507. empty-text="暂无数据"
  508. :data="bjlhzt.tableData"
  509. :header-cell-style="{
  510. background: 'rgb(224,224,224)',
  511. color: '#000',
  512. }"
  513. border
  514. stripe
  515. style="width: 100%; margin-bottom: 10px"
  516. >
  517. <el-table-column prop="dateRange" label="时间周期" />
  518. <el-table-column prop="fdj" label="发电机" />
  519. <el-table-column prop="clx" label="齿轮箱" />
  520. <el-table-column prop="bj" label="变桨" />
  521. <el-table-column prop="zz" label="主轴" />
  522. <el-table-column prop="total" label="总计" />
  523. </el-table>
  524. </el-form>
  525. </div>
  526. <div class="textBox">
  527. <el-form>
  528. <el-form-item class="imp fw text-indent-2">发电机:</el-form-item>
  529. <el-form-item class="text-indent-2"
  530. >关键参数:发电机采用“发电机转速”、“发电机轴A温度”
  531. 、“发电机轴B温度”为关键参数,该参数在统计周期内数据显示样本在安全运行区内,没有超过进入劣化区
  532. </el-form-item>
  533. <div class="logHead">发电机关键参数值</div>
  534. <el-table
  535. empty-text="暂无数据"
  536. :data="fdjgjcsz"
  537. :header-cell-style="{
  538. background: 'rgb(224,224,224)',
  539. color: '#000',
  540. }"
  541. border
  542. stripe
  543. style="width: 100%; margin-bottom: 10px"
  544. >
  545. <el-table-column prop="gjcs" label="关键参数"></el-table-column>
  546. <el-table-column prop="edz" label="额定值"></el-table-column>
  547. <el-table-column prop="yxfw" label="允许范围"></el-table-column>
  548. <el-table-column prop="qz" label="权重"></el-table-column>
  549. <el-table-column prop="scz" label="实测值"></el-table-column>
  550. <el-table-column prop="df" label="得分"></el-table-column>
  551. </el-table>
  552. </el-form>
  553. </div>
  554. <div class="textBox" v-if="false">
  555. <el-form>
  556. <el-form-item class="imp fw text-indent-2"
  557. >震动监测:时域分析分析法</el-form-item
  558. >
  559. <el-form-item class="text-indent-2"
  560. >有量纲参数:均值为100,方差为49,均方幅值67,峰值,260,平均幅值44,均方值120</el-form-item
  561. >
  562. <el-form-item class="text-indent-2"
  563. >无量纲参数:峭度指标20,峰值指标50,波形指标90,脉冲指标77</el-form-item
  564. >
  565. <el-form-item class="text-indent-2"
  566. >结合两种指标都未发现明显劣化值</el-form-item
  567. >
  568. <el-form-item class="text-indent-2"
  569. >频域分析法:根据震动检测提供频域分析结果,现有设备运行正常</el-form-item
  570. >
  571. <!-- <multiple-line-chart
  572. :showLegend="true"
  573. :hoverType="'axis'"
  574. :list="wttragetreportcharts.fdj"
  575. /> -->
  576. <double-line-chart :height="'250px'" :list="fdjLineChartOptions" />
  577. <el-form-item class="imp fw text-indent-2">统计分析:</el-form-item>
  578. <el-form-item class="text-indent-2"
  579. >发电机类故障,平均故障周期在12个月,上次故障距此次评价时间为5个月,发电机处于平稳运行周期。</el-form-item
  580. >
  581. </el-form>
  582. </div>
  583. <div class="textBox">
  584. <el-form>
  585. <el-form-item class="imp fw text-indent-2">齿轮箱:</el-form-item>
  586. <el-form-item class="text-indent-2">
  587. 齿轮箱采用“齿轮箱温度”为关键参数,该参数在统计周期内数据显示样本超出了劣化区,并且有明显的瞬时的上升趋势,引发了温度超限报警一次,恢复后运行平稳,该风机齿轮箱历史总体运行正常,近期存在报警信息,状态评价为良。
  588. </el-form-item>
  589. <!-- <multiple-line-chart
  590. :showLegend="true"
  591. :hoverType="'axis'"
  592. :list="wttragetreportcharts.clx"
  593. /> -->
  594. <double-line-chart :height="'250px'" :list="clxLineChartOptions" />
  595. <el-form-item class="imp fw text-indent-2">主轴:</el-form-item>
  596. <el-form-item class="text-indent-2"
  597. >关键参数:主轴采用“主轴承温度”、“主轴承油脂启动时间间隔”
  598. 、“主轴承油脂泵运行周期”为关键参数,该参数在统计周期内拟故障应进行检查
  599. </el-form-item>
  600. <div class="logHead">发电机关键参数值</div>
  601. <el-table
  602. empty-text="暂无数据"
  603. :data="fdjgjcsz2"
  604. :header-cell-style="{
  605. background: 'rgb(224,224,224)',
  606. color: '#000',
  607. }"
  608. border
  609. stripe
  610. style="width: 100%; margin-bottom: 10px"
  611. >
  612. <el-table-column prop="gjcs" label="关键参数"></el-table-column>
  613. <el-table-column prop="edz" label="额定值"></el-table-column>
  614. <el-table-column prop="yxfw" label="允许范围"></el-table-column>
  615. <el-table-column prop="qz" label="权重"></el-table-column>
  616. <el-table-column prop="scz" label="实测值"></el-table-column>
  617. <el-table-column prop="df" label="得分"></el-table-column>
  618. </el-table>
  619. </el-form>
  620. </div>
  621. <div class="textBox" v-if="false">
  622. <el-form>
  623. <el-form-item class="imp fw text-indent-2"
  624. >震动监测:时域分析分析法</el-form-item
  625. >
  626. <el-form-item class="text-indent-2"
  627. >有量纲参数:均值为100,方差为49,均方幅值67,峰值,260,平均幅值44,均方值120</el-form-item
  628. >
  629. <el-form-item class="text-indent-2"
  630. >无量纲参数:峭度指标20,峰值指标50,波形指标90,脉冲指标77</el-form-item
  631. >
  632. <el-form-item class="text-indent-2"
  633. >结合两种指标都未发现明显劣化值</el-form-item
  634. >
  635. <el-form-item class="text-indent-2"
  636. >频域分析法:根据震动检测提供频域分析结果,现有设备运行正常</el-form-item
  637. >
  638. <!-- <multiple-line-chart
  639. :showLegend="true"
  640. :hoverType="'axis'"
  641. :list="wttragetreportcharts.zk"
  642. /> -->
  643. <double-line-chart :height="'250px'" :list="zzLineChartOptions" />
  644. <el-form-item class="imp fw">统计分析:</el-form-item>
  645. <el-form-item class="text-indent-2"
  646. >发电机类故障,平均故障周期在12个月,上次故障距此次评价时间为5个月,发电机处于平稳运行周期。</el-form-item
  647. >
  648. </el-form>
  649. </div>
  650. <div class="textBox">
  651. <el-form>
  652. <el-form-item class="imp fw text-indent-2">变桨</el-form-item>
  653. <div class="infoBox">
  654. <p>
  655. 1)关键参数:变桨采用“变桨电机温度1”、“变桨电机温度2”
  656. 、“变桨电机温度3”、“变频器温度1”、“变频器温度2”
  657. 、“变频器温度3”为关键参数,该参数在统计周期内数据显示样本在安全运行区内,没有超过进入劣化区
  658. </p>
  659. </div>
  660. <div class="logHead">发电机关键参数值</div>
  661. <el-table
  662. empty-text="暂无数据"
  663. :data="bjgjcs"
  664. :header-cell-style="{
  665. background: 'rgb(224,224,224)',
  666. color: '#000',
  667. }"
  668. border
  669. stripe
  670. style="width: 100%; margin: 10px 0"
  671. >
  672. <el-table-column prop="gjcs" label="关键参数"></el-table-column>
  673. <el-table-column prop="edz" label="额定值"></el-table-column>
  674. <el-table-column prop="yxfw" label="允许范围"></el-table-column>
  675. <el-table-column prop="qz" label="权重"></el-table-column>
  676. <el-table-column prop="scz" label="实测值"></el-table-column>
  677. <el-table-column prop="df" label="得分"></el-table-column>
  678. </el-table>
  679. <template v-if="false">
  680. <el-form-item class="imp fw text-indent-2">震动监测:</el-form-item>
  681. <el-form-item class="text-indent-2">时域分析分析法</el-form-item>
  682. <el-form-item class="text-indent-2"
  683. >有量纲参数:均值为100,方差为49,均方幅值67,峰值,260,平均幅值44,均方值120</el-form-item
  684. >
  685. <el-form-item class="text-indent-2"
  686. >无量纲参数:峭度指标20,峰值指标50,波形指标90,脉冲指标77</el-form-item
  687. >
  688. <el-form-item class="text-indent-2"
  689. >结合两种指标都未发现明显劣化值</el-form-item
  690. >
  691. <el-form-item class="text-indent-2"
  692. >频域分析法:根据震动检测提供频域分析结果,现有设备运行正常</el-form-item
  693. >
  694. <!-- <multiple-line-chart
  695. :showLegend="true"
  696. :hoverType="'axis'"
  697. :list="wttragetreportcharts.bj"
  698. /> -->
  699. <double-line-chart :height="'250px'" :list="bjLineChartOptions" />
  700. <el-form-item class="imp fw text-indent-2">统计分析:</el-form-item>
  701. <el-form-item class="text-indent-2"
  702. >发电机类故障,平均故障周期在12个月,上次故障距此次评价时间为5个月,发电机处于平稳运行周期。</el-form-item
  703. >
  704. </template>
  705. </el-form>
  706. </div>
  707. <!-- 全生命周期暂时隐藏 -->
  708. <div class="textBox" v-if="false">
  709. <el-form>
  710. <el-form-item class="imp fw text-indent-2"
  711. ><b>全生命周期管理</b>:</el-form-item
  712. >
  713. <div class="logHead">定检记录</div>
  714. <el-table
  715. empty-text="暂无数据"
  716. :data="djjl"
  717. :header-cell-style="{
  718. background: 'rgb(224,224,224)',
  719. color: '#000',
  720. }"
  721. border
  722. stripe
  723. style="width: 100%; margin-bottom: 10px"
  724. >
  725. <el-table-column prop="rq" label="日期"></el-table-column>
  726. <el-table-column prop="ms" label="描述"></el-table-column>
  727. </el-table>
  728. <el-form-item class="imp fw text-indent-2">设备维修</el-form-item>
  729. <el-form-item class="text-indent-2"
  730. >统计周期内,
  731. 年7月27日星期二更换测风系统中风向仪风速标;2021年7月27日星期二维修齿轮箱中齿轮箱冷却风扇。(只显示近三个月内维修换件记录,如果完全没有就显示在统计周期内,机组运行良好,未进行维修换件)
  732. </el-form-item>
  733. <div class="logHead">维修换件频次</div>
  734. <el-table
  735. empty-text="暂无数据"
  736. :data="wxhjpc"
  737. :header-cell-style="{
  738. background: 'rgb(224,224,224)',
  739. color: '#000',
  740. }"
  741. border
  742. stripe
  743. style="width: 100%; margin-bottom: 10px"
  744. >
  745. <el-table-column prop="bjjg" label="部件结构"></el-table-column>
  746. <el-table-column label="近三个月">
  747. <el-table-column prop="wx1" label="维修"></el-table-column>
  748. <el-table-column prop="hj1" label="换件"></el-table-column>
  749. </el-table-column>
  750. <el-table-column label="近一年">
  751. <el-table-column prop="wx2" label="维修"></el-table-column>
  752. <el-table-column prop="hj2" label="换件"></el-table-column>
  753. </el-table-column>
  754. <el-table-column label="全部">
  755. <el-table-column prop="wx3" label="维修"></el-table-column>
  756. <el-table-column prop="hj3" label="换件"></el-table-column>
  757. </el-table-column>
  758. </el-table>
  759. </el-form>
  760. </div>
  761. <div class="textBox">
  762. <el-form>
  763. <el-form-item class="imp fw text-indent-2"
  764. ><b>指标</b>:</el-form-item
  765. >
  766. <el-form-item class="imp fw">1、风能利用率</el-form-item>
  767. <!-- <div class="infoBox" style="margin: 20px 0">
  768. <p>
  769. 近三月,受宁夏电网限电,及自然天气情况等因素影响,{{
  770. datas.wtName
  771. }}发电能力在这个三个月程下降趋势,但非计划损失电量和计划损失电量逐渐减少,风能利用率并未体现出递减趋势,而是逐步增长。
  772. {{ datas.year }}年{{
  773. datas.month
  774. }}月,非计划检修率和计划检修率分别为6%和12%,计划检修率尚可,风机产生的非计划检修率还存在,但较前两月明显较低。
  775. 风机因自身原因造成5%的性能损失率,在可接受范围。
  776. 总体来看,该风机逐步进入平稳期,风能利用率增长趋势,可利率较高。
  777. </p>
  778. </div> -->
  779. <div class="logHead">风机绩效榜(kWh)</div>
  780. <el-table
  781. empty-text="暂无数据"
  782. :data="ls2"
  783. :header-cell-style="{
  784. background: 'rgb(153,204,255)',
  785. color: '#000',
  786. }"
  787. :cell-style="columnStyle"
  788. border
  789. stripe
  790. style="width: 100%; margin: 10px 0"
  791. >
  792. <el-table-column prop="name" label="指标" />
  793. <el-table-column prop="monthValue" label="当月值" />
  794. <el-table-column prop="lastMonth1Value" label="上月值" />
  795. <el-table-column prop="lastMonth2Value" label="前两月值" />
  796. </el-table>
  797. <el-form-item class="imp fw text-indent-2"
  798. >2、设备可利用率</el-form-item
  799. >
  800. <!-- <div class="infoBox" style="margin: 20px 0">
  801. <p>
  802. {{
  803. healthreport.wpname
  804. }}近期温度较高,温度超限类故障较多,但近三个月,{{
  805. datas.wtname
  806. }}可利用呈增长趋势,{{ Number(datas.month) - 2 }}~{{
  807. Number(datas.month)
  808. }}月,非计划小时数分别为{{ sbklyls[2].fjhjxxs }}小时、{{
  809. sbklyls[1].fjhjxxs
  810. }}小时和{{
  811. sbklyls[0].fjhjxxs
  812. }}小时。故障次数分别是2次、3次和2次, {{ datas.month }}月,{{
  813. datas.wtname
  814. }}设备可利用率为{{
  815. Number(healthreport.sbklyl).toFixed(2)
  816. }}%,可靠性尚可。
  817. </p>
  818. </div> -->
  819. <div class="logHead">可靠性分析(小时)</div>
  820. <el-table
  821. empty-text="暂无数据"
  822. :data="ls3"
  823. :header-cell-style="{
  824. background: 'rgb(153,204,255)',
  825. color: '#000',
  826. }"
  827. :cell-style="columnStyle"
  828. border
  829. stripe
  830. style="width: 100%; margin: 10px 0"
  831. >
  832. <el-table-column prop="name" label="指标" />
  833. <el-table-column prop="monthValue" label="当月值" />
  834. <el-table-column prop="lastMonth1Value" label="上月值" />
  835. <el-table-column prop="lastMonth2Value" label="前两月值" />
  836. </el-table>
  837. </el-form>
  838. </div>
  839. <div class="textBox">
  840. <el-form>
  841. <el-form-item class="imp fw text-indent-2">3、性能评价</el-form-item>
  842. <!-- <div class="infoBox" style="margin: 20px 0">
  843. <p>
  844. {{ datas.wtName }}近三个月性能评价{{ datas.wtLevel }},整体排名{{
  845. datas.wtNum
  846. }},{{ datas.year }}年{{
  847. datas.month
  848. }}月性能评价指标横向对比良好。
  849. </p>
  850. </div> -->
  851. <!-- <div class="logHead">
  852. {{ datas.year }}年{{ datas.month }}月性能评价结果
  853. </div>
  854. <el-table
  855. empty-text="暂无数据"
  856. :data="xnpjjg"
  857. :header-cell-style="{
  858. background: 'rgb(224,224,224)',
  859. color: '#000',
  860. }"
  861. border
  862. stripe
  863. style="width: 100%; margin-bottom: 10px"
  864. >
  865. <el-table-column prop="yf" label="月份"></el-table-column>
  866. <el-table-column prop="jb" label="级别"></el-table-column>
  867. <el-table-column prop="df" label="得分"></el-table-column>
  868. <el-table-column prop="ph" label="排行"></el-table-column>
  869. </el-table> -->
  870. <div class="logHead">
  871. {{ datas.year }}年{{ datas.month }}月性能评价明细
  872. </div>
  873. <table
  874. border="1"
  875. class="xnpjfx"
  876. style="width: 100%"
  877. cellspacing=""
  878. cellpadding=""
  879. >
  880. <tr>
  881. <td align="center">
  882. <div class="border-b p-5">风机编号:{{ datas.wtName }}</div>
  883. <div class="border-b">量化评级:{{ datas.wtLevel }}</div>
  884. <div class="border-b">综合排名:{{ datas.wtNum }}</div>
  885. <normal-radar-chart
  886. height="500px"
  887. width="500px"
  888. :value="pjmxs"
  889. />
  890. </td>
  891. <td valign="top"></td>
  892. <td style="display: flex; justify-content: center">基础指标</td>
  893. <el-table
  894. empty-text="暂无数据"
  895. :data="xnpjmx"
  896. :header-cell-style="{ color: '#000', background: '#fff' }"
  897. border
  898. stripe
  899. style="width: 100%"
  900. >
  901. <el-table-column prop="types" label="类型" />
  902. <el-table-column prop="targetName" label="指标" />
  903. <el-table-column prop="value" label="数值" />
  904. <el-table-column prop="num" label="排名" />
  905. <el-table-column prop="score" label="评分" />
  906. </el-table>
  907. </tr>
  908. </table>
  909. </el-form>
  910. </div>
  911. <!-- <div class="textBox">
  912. <el-form>
  913. <el-form-item class="fw" style="margin: 10px 0; text-align: center"
  914. >数据来源:集控中心大数据分析系统
  915. </el-form-item>
  916. </el-form>
  917. </div> -->
  918. </div>
  919. </el-dialog>
  920. </template>
  921. <script>
  922. import DoubleLineChart from "@/components/chart/line/double-line-chart.vue";
  923. // import ScatterLineChart from "@com/chart/combination/scatter-line-chart.vue";
  924. import NormalLineChart from "@com/chart/line/normal-line-chart.vue";
  925. import NormalRadarChart from "@com/chart/radar/normal-radar-chart.vue";
  926. import MultipleLineChart from "@com/chart/line/double-line-chart.vue";
  927. import Get_PDF from "@tools/htmlToPdf";
  928. import $ from "jquery";
  929. import api from "@api/wisdomOverhaul/health/index.js";
  930. import axios from "axios";
  931. export default {
  932. components: {
  933. DoubleLineChart,
  934. // ScatterLineChart,
  935. NormalLineChart,
  936. MultipleLineChart,
  937. NormalRadarChart,
  938. },
  939. data() {
  940. return {
  941. datas: {},
  942. reportInfo1: {},
  943. alarmcountVoList: [],
  944. ls1: [],
  945. ls2: [],
  946. ls3: [],
  947. yjmxdb: [],
  948. bjlhzt: {
  949. fdj: 0,
  950. clx: 0,
  951. bj: 0,
  952. zz: 0,
  953. tableData: [],
  954. },
  955. fdjLineChartOptions: [],
  956. clxLineChartOptions: [],
  957. zzLineChartOptions: [],
  958. bjLineChartOptions: [],
  959. healthreport: {},
  960. tjjxfa: {},
  961. // 对风偏差
  962. dfpc: {
  963. nipples: [
  964. {
  965. title: "频次",
  966. smooth: true,
  967. value: [],
  968. },
  969. ],
  970. dfpclpowers: [
  971. {
  972. title: "功率",
  973. smooth: true,
  974. value: [],
  975. },
  976. ],
  977. dfpclSpeeds: [
  978. {
  979. title: "风速",
  980. smooth: true,
  981. value: [],
  982. },
  983. ],
  984. },
  985. // 切入切出对比
  986. qrqcs: [
  987. {
  988. foreignkeyid: "",
  989. xfqr: 0,
  990. xfqc: 0,
  991. dfqr: 0,
  992. dfqc: 0,
  993. },
  994. ],
  995. // 曲线偏差率
  996. glqxnh: [],
  997. qxpcls: [
  998. {
  999. title: "曲线偏差率",
  1000. yAxisIndex: 0,
  1001. value: [
  1002. {
  1003. text: "1",
  1004. value: 0,
  1005. },
  1006. ],
  1007. },
  1008. {
  1009. title: "基准值",
  1010. yAxisIndex: 0,
  1011. value: [
  1012. {
  1013. text: "1",
  1014. value: 0,
  1015. },
  1016. ],
  1017. },
  1018. ],
  1019. // 隐患部件频次统计
  1020. yhbjcount: {
  1021. cdlcount: 0,
  1022. cdltime: 0,
  1023. cfxtcount: 0,
  1024. cfxttime: 0,
  1025. clxcount: 0,
  1026. clxttime: 0,
  1027. fdjcount: 0,
  1028. fdjtime: 0,
  1029. bjcount: 0,
  1030. bjtime: 0,
  1031. jccount: 0,
  1032. jctime: 0,
  1033. phcount: 0,
  1034. phtime: 0,
  1035. tdgcount: 0,
  1036. tdgtime: 0,
  1037. },
  1038. // 部件隐患数据频次时长统计
  1039. bjyhcount: [
  1040. {
  1041. yhmx: "主轴温度温差大于8度",
  1042. count: 64,
  1043. },
  1044. {
  1045. yhmx: "主轴温度温差大于8度",
  1046. count: 64,
  1047. },
  1048. {
  1049. yhmx: "主轴温度温差大于8度",
  1050. count: 64,
  1051. },
  1052. {
  1053. yhmx: "主轴温度温差大于8度",
  1054. times: 64,
  1055. },
  1056. {
  1057. yhmx: "主轴温度温差大于8度",
  1058. times: 64,
  1059. },
  1060. {
  1061. yhmx: "主轴温度温差大于8度",
  1062. times: 64,
  1063. },
  1064. ],
  1065. // 部件隐患对比
  1066. bjyhdbs: [],
  1067. // 隐患模型对比
  1068. yhmxdbs: [],
  1069. yhmxdbs2: [],
  1070. // 故障分类
  1071. faultclass: [],
  1072. // 设备可利用率
  1073. sbklyls: [
  1074. {
  1075. date: "2021-08-01",
  1076. yxxs: 8.23,
  1077. djxs: 15.77,
  1078. fjhjxxs: 0.0,
  1079. jhjxxs: 0.0,
  1080. slxs: 0.0,
  1081. gzcs: null,
  1082. sbklyl: 100.0,
  1083. },
  1084. {
  1085. date: "2021-08-01",
  1086. yxxs: 8.23,
  1087. djxs: 15.77,
  1088. fjhjxxs: 0.0,
  1089. jhjxxs: 0.0,
  1090. slxs: 0.0,
  1091. gzcs: null,
  1092. sbklyl: 100.0,
  1093. },
  1094. {
  1095. date: "2021-08-01",
  1096. yxxs: 8.23,
  1097. djxs: 15.77,
  1098. fjhjxxs: 0.0,
  1099. jhjxxs: 0.0,
  1100. slxs: 0.0,
  1101. gzcs: null,
  1102. sbklyl: 100.0,
  1103. },
  1104. ],
  1105. sbklyls2: [],
  1106. // 风能利用率
  1107. fnlyls: [],
  1108. //功率对部件温度影响
  1109. partwds: [],
  1110. // 性能评价
  1111. xnpjjg: [],
  1112. //性能评价明细
  1113. xnpjmx: [],
  1114. pjmxs: [],
  1115. wttragetreportcharts: [],
  1116. zhrank: 2,
  1117. // 维修换件频次
  1118. wxhjpc: [
  1119. {
  1120. bjjg: "叶片",
  1121. wx1: "0",
  1122. hj1: "0",
  1123. wx2: "0",
  1124. hj2: "0",
  1125. wx3: "0",
  1126. hj3: "0",
  1127. },
  1128. {
  1129. bjjg: "轮毂及变桨系统",
  1130. wx1: "0",
  1131. hj1: "0",
  1132. wx2: "0",
  1133. hj2: "0",
  1134. wx3: "0",
  1135. hj3: "0",
  1136. },
  1137. {
  1138. bjjg: "主控柜",
  1139. wx1: "0",
  1140. hj1: "0",
  1141. wx2: "0",
  1142. hj2: "0",
  1143. wx3: "0",
  1144. hj3: "0",
  1145. },
  1146. {
  1147. bjjg: "机舱",
  1148. wx1: "0",
  1149. hj1: "0",
  1150. wx2: "0",
  1151. hj2: "0",
  1152. wx3: "0",
  1153. hj3: "0",
  1154. },
  1155. {
  1156. bjjg: "偏航系统",
  1157. wx1: "0",
  1158. hj1: "0",
  1159. wx2: "0",
  1160. hj2: "0",
  1161. wx3: "0",
  1162. hj3: "0",
  1163. },
  1164. {
  1165. bjjg: "齿轮箱",
  1166. wx1: "0",
  1167. hj1: "0",
  1168. wx2: "0",
  1169. hj2: "0",
  1170. wx3: "0",
  1171. hj3: "0",
  1172. },
  1173. {
  1174. bjjg: "发电机",
  1175. wx1: "0",
  1176. hj1: "0",
  1177. wx2: "0",
  1178. hj2: "0",
  1179. wx3: "0",
  1180. hj3: "0",
  1181. },
  1182. {
  1183. bjjg: "液压",
  1184. wx1: "0",
  1185. hj1: "0",
  1186. wx2: "0",
  1187. hj2: "0",
  1188. wx3: "0",
  1189. hj3: "0",
  1190. },
  1191. {
  1192. bjjg: "测风",
  1193. wx1: "0",
  1194. hj1: "1",
  1195. wx2: "0",
  1196. hj2: "0",
  1197. wx3: "0",
  1198. hj3: "0",
  1199. },
  1200. {
  1201. bjjg: "联轴器",
  1202. wx1: "0",
  1203. hj1: "0",
  1204. wx2: "0",
  1205. hj2: "0",
  1206. wx3: "0",
  1207. hj3: "0",
  1208. },
  1209. {
  1210. bjjg: "主轴",
  1211. wx1: "0",
  1212. hj1: "0",
  1213. wx2: "0",
  1214. hj2: "0",
  1215. wx3: "0",
  1216. hj3: "0",
  1217. },
  1218. {
  1219. bjjg: "塔架",
  1220. wx1: "0",
  1221. hj1: "0",
  1222. wx2: "0",
  1223. hj2: "0",
  1224. wx3: "0",
  1225. hj3: "0",
  1226. },
  1227. {
  1228. bjjg: "塔底控制柜",
  1229. wx1: "0",
  1230. hj1: "0",
  1231. wx2: "0",
  1232. hj2: "0",
  1233. wx3: "0",
  1234. hj3: "0",
  1235. },
  1236. {
  1237. bjjg: "变频器",
  1238. wx1: "0",
  1239. hj1: "0",
  1240. wx2: "0",
  1241. hj2: "0",
  1242. wx3: "0",
  1243. hj3: "0",
  1244. },
  1245. {
  1246. bjjg: "辅助系统",
  1247. wx1: "0",
  1248. hj1: "0",
  1249. wx2: "0",
  1250. hj2: "0",
  1251. wx3: "0",
  1252. hj3: "0",
  1253. },
  1254. {
  1255. bjjg: "基础",
  1256. wx1: "0",
  1257. hj1: "0",
  1258. wx2: "0",
  1259. hj2: "0",
  1260. wx3: "0",
  1261. hj3: "0",
  1262. },
  1263. ],
  1264. djjl: [
  1265. {
  1266. rq: "2021-7-26",
  1267. ms: "正常",
  1268. },
  1269. {
  1270. rq: "2021-7-20",
  1271. ms: "发现齿轮箱漏油,已加油,联系厂家维修",
  1272. },
  1273. {
  1274. rq: "2021-6-12",
  1275. ms: "正常",
  1276. },
  1277. ],
  1278. Powertrend: [
  1279. {
  1280. title: "",
  1281. yAxisIndex: 0, // 使用单位
  1282. value: [],
  1283. },
  1284. ],
  1285. fdjgjcsz: [
  1286. {
  1287. gjcs: "发电机转速",
  1288. edz: "1700",
  1289. yxfw: "<2000",
  1290. qz: "0.35",
  1291. scz: "1500",
  1292. df: "0.3",
  1293. },
  1294. {
  1295. gjcs: "发电机轴A温度",
  1296. edz: "70",
  1297. yxfw: "<100",
  1298. qz: "0.15",
  1299. scz: "56",
  1300. df: "0.12",
  1301. },
  1302. {
  1303. gjcs: "发电机轴B温度",
  1304. edz: "70",
  1305. yxfw: "<100",
  1306. qz: "0.15",
  1307. scz: "54",
  1308. df: "0.12",
  1309. },
  1310. ],
  1311. fdjgjcsz2: [
  1312. {
  1313. gjcs: "主轴承温度",
  1314. edz: "30",
  1315. yxfw: "<80",
  1316. qz: "0.35",
  1317. scz: "36.2",
  1318. df: "0.79",
  1319. },
  1320. {
  1321. gjcs: "主轴承油脂启动时间间隔",
  1322. edz: "",
  1323. yxfw: "<500",
  1324. qz: "0.15",
  1325. scz: "394",
  1326. df: "0.03",
  1327. },
  1328. {
  1329. gjcs: "主轴承油脂泵运行周期",
  1330. edz: "",
  1331. yxfw: "<14",
  1332. qz: "0.15",
  1333. scz: "6",
  1334. df: "0",
  1335. },
  1336. ],
  1337. bjlhpczl: [
  1338. {
  1339. sjzq: "近1天",
  1340. fdj: "1",
  1341. clx: "0",
  1342. bj: "0",
  1343. zz: "1",
  1344. zj: "2",
  1345. },
  1346. {
  1347. sjzq: "近3天",
  1348. fdj: "1",
  1349. clx: "0",
  1350. bj: "0",
  1351. zz: "1",
  1352. zj: "2",
  1353. },
  1354. {
  1355. sjzq: "统计期内",
  1356. fdj: "1",
  1357. clx: "0",
  1358. bj: "0",
  1359. zz: "1",
  1360. zj: "2",
  1361. },
  1362. ],
  1363. // 变桨关键参数表格
  1364. bjgjcs: [
  1365. {
  1366. gjcs: "变桨电机温度1",
  1367. edz: "55",
  1368. yxfw: "<100",
  1369. qz: "0.12",
  1370. scz: "68",
  1371. df: "0.24",
  1372. },
  1373. {
  1374. gjcs: "变桨电机温度2",
  1375. edz: "55",
  1376. yxfw: "<100",
  1377. qz: "0.12",
  1378. scz: "87",
  1379. df: "0.59",
  1380. },
  1381. {
  1382. gjcs: "变桨电机温度3",
  1383. edz: "55",
  1384. yxfw: "<100",
  1385. qz: "0.12",
  1386. scz: "79",
  1387. df: "0.48",
  1388. },
  1389. {
  1390. gjcs: "变频器温度1",
  1391. edz: "25",
  1392. yxfw: "<45",
  1393. qz: "0.20",
  1394. scz: "31",
  1395. df: "0.34",
  1396. },
  1397. {
  1398. gjcs: "变频器温度2",
  1399. edz: "25",
  1400. yxfw: "<45",
  1401. qz: "0.20",
  1402. scz: "31",
  1403. df: "0.90",
  1404. },
  1405. {
  1406. gjcs: "变频器温度3",
  1407. edz: "25",
  1408. yxfw: "<45",
  1409. qz: "0.20",
  1410. scz: "30",
  1411. df: "0.12",
  1412. },
  1413. ],
  1414. scatterLineData: {
  1415. data: [
  1416. {
  1417. title: "男",
  1418. value: [
  1419. [14.49, 1537.0],
  1420. [5.78, 368.0],
  1421. [5.08, 247.0],
  1422. [4.79, 171.0],
  1423. [4.05, 120.0],
  1424. [3.17, 49.0],
  1425. [2.45, 5.0],
  1426. [2.93, 28.0],
  1427. [2.55, 6.0],
  1428. [2.39, -6.0],
  1429. [1.51, 0.0],
  1430. [1.21, 0.0],
  1431. [9.85, 1233.0],
  1432. [11.21, 1540.0],
  1433. [11.15, 1554.0],
  1434. [11.64, 1534.0],
  1435. [11.44, 1531.0],
  1436. [10.96, 1522.0],
  1437. [10.23, 1540.0],
  1438. [11.26, 816.0],
  1439. [12.43, 673.0],
  1440. [10.37, 693.0],
  1441. [10.83, 715.0],
  1442. [12.66, 718.0],
  1443. [13.49, 739.0],
  1444. [14.78, 732.0],
  1445. [13.16, 1414.0],
  1446. [14.48, 1532.0],
  1447. [12.24, 1539.0],
  1448. [11.48, 1535.0],
  1449. [12.82, 1538.0],
  1450. [11.93, 1547.0],
  1451. [10.42, 1410.0],
  1452. [10.05, 1532.0],
  1453. [10.05, 1497.0],
  1454. [10.07, 1486.0],
  1455. [9.67, 1454.0],
  1456. [11.3, 1419.0],
  1457. [11.14, 1510.0],
  1458. [10.77, 1538.0],
  1459. [10.55, 1542.0],
  1460. [10.43, 1517.0],
  1461. [12.58, 1541.0],
  1462. [11.05, 1551.0],
  1463. [10.85, 1535.0],
  1464. [11.87, 1540.0],
  1465. [13.79, 1530.0],
  1466. [13.63, 1537.0],
  1467. [12.01, 1535.0],
  1468. [12.12, 1532.0],
  1469. [11.53, 1524.0],
  1470. [10.62, 1541.0],
  1471. [10.23, 1409.0],
  1472. [10.89, 1541.0],
  1473. [10.45, 1541.0],
  1474. [11.59, 1536.0],
  1475. [12.1, 1544.0],
  1476. [11.83, 1534.0],
  1477. [12.57, 1544.0],
  1478. [10.88, 1538.0],
  1479. [11.15, 1539.0],
  1480. [11.37, 1536.0],
  1481. [11.62, 1546.0],
  1482. [11.98, 1537.0],
  1483. [11.72, 1533.0],
  1484. [10.92, 1530.0],
  1485. [11.77, 1547.0],
  1486. [10.46, 1414.0],
  1487. [10.08, 1308.0],
  1488. [10.82, 1487.0],
  1489. [9.68, 1485.0],
  1490. [10.13, 1279.0],
  1491. ],
  1492. },
  1493. ],
  1494. lineData: {
  1495. xTitle: "风速",
  1496. yTitle: "功率",
  1497. legends: [],
  1498. data: [
  1499. [
  1500. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
  1501. 19, 20, 21, 22, 23, 24, 25,
  1502. ],
  1503. [
  1504. 0, 0, 0, 93.67, 98.38, 165, 295.84, 471.84, 648.28, 871.72,
  1505. 1124.84, 1296.42, 1448.63, 1548, 1548, 1548, 1548, 1548, 1548,
  1506. 1548, 1548, 1548, 1548, 1548, 1548, 1548,
  1507. ],
  1508. ],
  1509. },
  1510. },
  1511. qrqc: [
  1512. {
  1513. xm: "发电机转速",
  1514. xfqr: "1700",
  1515. xfqc: "2000",
  1516. dfqr: "0.35",
  1517. dfqc: "1500",
  1518. },
  1519. {
  1520. xm: "发电机转速",
  1521. xfqr: "1700",
  1522. xfqc: "2000",
  1523. dfqr: "0.35",
  1524. dfqc: "1500",
  1525. },
  1526. ],
  1527. gzfltj: [
  1528. {
  1529. fl: "xxx",
  1530. pc1: "1500",
  1531. pc2: "1500",
  1532. pc3: "1500",
  1533. sc1: "1500",
  1534. sc2: "1500",
  1535. sc3: "1500",
  1536. },
  1537. {
  1538. fl: "xxx",
  1539. pc1: "1500",
  1540. pc2: "1500",
  1541. pc3: "1500",
  1542. sc1: "1500",
  1543. sc2: "1500",
  1544. sc3: "1500",
  1545. },
  1546. ],
  1547. dialogVisible: false, // 弹窗是否显示
  1548. chartmap: {
  1549. fdj: [
  1550. {
  1551. title: "发电机",
  1552. yAxisIndex: 0,
  1553. value: [],
  1554. },
  1555. ],
  1556. clx: [
  1557. {
  1558. title: "齿轮箱",
  1559. yAxisIndex: 0,
  1560. value: [],
  1561. },
  1562. ],
  1563. zk: [
  1564. {
  1565. title: "主轴",
  1566. yAxisIndex: 0,
  1567. value: [],
  1568. },
  1569. ],
  1570. bj: [
  1571. {
  1572. title: "变桨",
  1573. yAxisIndex: 0,
  1574. value: [],
  1575. },
  1576. ],
  1577. },
  1578. djpg: [],
  1579. fnlyl: [
  1580. {
  1581. name: "name",
  1582. q1ysj: "1500",
  1583. q2ysj: "1500",
  1584. q3ysj: "1500",
  1585. },
  1586. {
  1587. name: "name",
  1588. q1ysj: "1500",
  1589. q2ysj: "1500",
  1590. q3ysj: "1500",
  1591. },
  1592. ],
  1593. jczbmap: {},
  1594. kkxfx: [
  1595. {
  1596. name: "name",
  1597. q1ysj: "1500",
  1598. q2ysj: "1500",
  1599. q3ysj: "1500",
  1600. },
  1601. {
  1602. name: "name",
  1603. q1ysj: "1500",
  1604. q2ysj: "1500",
  1605. q3ysj: "1500",
  1606. },
  1607. ],
  1608. fnlylItem: {},
  1609. sbklylItem: {},
  1610. reqData: {},
  1611. };
  1612. },
  1613. props: {
  1614. show: {
  1615. type: Boolean,
  1616. default: false,
  1617. },
  1618. params: {
  1619. type: Boolean,
  1620. default: () => {},
  1621. },
  1622. },
  1623. created() {
  1624. this.getReport();
  1625. },
  1626. beforeUpdate() {
  1627. var that = this;
  1628. that.$nextTick(() => {
  1629. that.others();
  1630. });
  1631. },
  1632. mounted() {
  1633. this.dialogVisible = this.show;
  1634. },
  1635. methods: {
  1636. others() {
  1637. $(".bjyhdb .el-table__header-wrapper table .is-group tr").eq(1).remove();
  1638. },
  1639. yhmxdbMethod({ row, column, rowIndex, columnIndex }) {
  1640. if (rowIndex < 8) {
  1641. if (rowIndex === 0 && columnIndex === 0) {
  1642. return [8, 1];
  1643. } else if (rowIndex >= 1 && columnIndex === 0) {
  1644. return [0, 0];
  1645. }
  1646. } else if (rowIndex >= 8 && rowIndex < 13) {
  1647. if (rowIndex === 8 && columnIndex === 0) {
  1648. return [5, 1];
  1649. } else if (rowIndex >= 9 && columnIndex === 0) {
  1650. return [0, 0];
  1651. }
  1652. } else if (rowIndex >= 13 && rowIndex < 27) {
  1653. if (rowIndex === 13 && columnIndex === 0) {
  1654. return [14, 1];
  1655. } else if (rowIndex >= 14 && columnIndex === 0) {
  1656. return [0, 0];
  1657. }
  1658. } else if (rowIndex >= 27 && rowIndex < 63) {
  1659. if (rowIndex === 27 && columnIndex === 0) {
  1660. return [36, 1];
  1661. } else if (rowIndex >= 28 && columnIndex === 0) {
  1662. return [0, 0];
  1663. }
  1664. } else if (rowIndex >= 63 && rowIndex < 78) {
  1665. if (rowIndex === 63 && columnIndex === 0) {
  1666. return [15, 1];
  1667. } else if (rowIndex >= 64 && columnIndex === 0) {
  1668. return [0, 0];
  1669. }
  1670. } else if (rowIndex >= 78 && rowIndex < 85) {
  1671. if (rowIndex === 78 && columnIndex === 0) {
  1672. return [7, 1];
  1673. } else if (rowIndex >= 79 && columnIndex === 0) {
  1674. return [0, 0];
  1675. }
  1676. } else if (rowIndex >= 85 && rowIndex < 88) {
  1677. if (rowIndex === 85 && columnIndex === 0) {
  1678. return [3, 1];
  1679. } else if (rowIndex >= 86 && columnIndex === 0) {
  1680. return [0, 0];
  1681. }
  1682. }
  1683. },
  1684. // 导出PDF
  1685. exportPDF(name) {
  1686. this.BASE.showMsg({
  1687. type: "success",
  1688. msg: "正在导出...请稍后...",
  1689. });
  1690. Get_PDF.downloadPDF(
  1691. document.querySelector(".pdfDom"),
  1692. "健康评价报告概述"
  1693. );
  1694. },
  1695. // 关闭弹窗
  1696. dialogClosed() {
  1697. this.dialogVisible = false;
  1698. this.$emit("closed", false);
  1699. },
  1700. // 改变列颜色
  1701. columnStyle({ row, column, rowIndex, columnIndex }) {
  1702. if (columnIndex === 0) {
  1703. return "background:rgb(204,255,255);";
  1704. }
  1705. },
  1706. // 获取报告详情
  1707. getReport(wtid, recorddate) {
  1708. if (!wtid) {
  1709. return;
  1710. }
  1711. // wtid = "SXJ_KGDL_ZK_F_WT_0048_EQ";
  1712. // recorddate = "2023-05-18";
  1713. api
  1714. .getAlarmcountVoList({
  1715. wtId: wtid,
  1716. recordDate: recorddate,
  1717. })
  1718. .then((res) => {
  1719. this.alarmcountVoList = res.data;
  1720. });
  1721. api
  1722. .healthreportHealthReport({
  1723. wtid: wtid,
  1724. date: recorddate,
  1725. })
  1726. .then((res) => {
  1727. if (res.code == 200) {
  1728. this.reportInfo1 = res.data;
  1729. }
  1730. });
  1731. // 获得健康报告指标列表信息
  1732. axios({
  1733. baseURL: process.env.VUE_APP_NEW_WISDOM,
  1734. url: `/health/getconHealthReportTargetMap?wtId=${wtid}&recordDate=${recorddate}`,
  1735. }).then((res) => {
  1736. if (res.data.code === 200) {
  1737. const data = res.data.data;
  1738. this.ls1 = data.ls1 || [];
  1739. this.ls2 = data.ls2 || [];
  1740. this.ls3 = data.ls3 || [];
  1741. }
  1742. });
  1743. // 获得等级评估结果
  1744. axios({
  1745. baseURL: process.env.VUE_APP_NEW_WISDOM,
  1746. url: `/health/getEquipmentInfoDayTopVoList?wtId=${wtid}&recordDate=${recorddate}`,
  1747. }).then((res) => {
  1748. if (res.data.code === 200) {
  1749. const data = res.data.data;
  1750. let datas = {};
  1751. let pjmxs = [
  1752. {
  1753. indicator: [],
  1754. data: [
  1755. {
  1756. name: data[0].wtName,
  1757. value: [],
  1758. },
  1759. ],
  1760. },
  1761. ];
  1762. data?.forEach((ele) => {
  1763. for (let key in ele) {
  1764. if (key !== "topls") {
  1765. datas[key] = ele[key];
  1766. }
  1767. }
  1768. });
  1769. data?.[0].topls?.forEach((ele) => {
  1770. if (ele.types) {
  1771. pjmxs[0].indicator.push(ele.targetName);
  1772. pjmxs[0].data[0].value.push(ele.num);
  1773. }
  1774. });
  1775. datas.year = recorddate.split("-")[0];
  1776. datas.month = recorddate.split("-")[1];
  1777. this.xnpjmx = data?.[0].topls || [];
  1778. this.datas = datas;
  1779. this.pjmxs = pjmxs;
  1780. }
  1781. });
  1782. // 获取隐患模型对比
  1783. axios({
  1784. baseURL: process.env.VUE_APP_NEW_WISDOM,
  1785. url: `/health/getAlarmcountVoList?wtId=${wtid}&recordDate=${recorddate}`,
  1786. }).then((res) => {
  1787. if (res.data.code === 200) {
  1788. this.yjmxdb = res.data.data;
  1789. }
  1790. });
  1791. // 获取曲线拟合及偏差率折线图
  1792. axios({
  1793. baseURL: process.env.VUE_APP_NEW_WISDOM,
  1794. url: `/health/getHealthReportQxpc?wtId=${wtid}&recordDate=${recorddate}`,
  1795. }).then((res) => {
  1796. if (res.data.code === 200) {
  1797. let glqxnh = [];
  1798. let lineChartItem = {
  1799. title: "曲线偏差率",
  1800. smooth: true,
  1801. value: [],
  1802. };
  1803. res.data.data?.forEach((ele) => {
  1804. lineChartItem.value.push({
  1805. text: new Date(ele.recordDate).formatDate("yyyy-MM-dd hh:mm:ss"),
  1806. value: ele.value || 0,
  1807. });
  1808. });
  1809. glqxnh.push(lineChartItem);
  1810. this.glqxnh = glqxnh;
  1811. }
  1812. });
  1813. // 获取对风偏差率折线图
  1814. axios({
  1815. baseURL: process.env.VUE_APP_API,
  1816. url: `/winddeviation/getDeviationValue?wtId=${wtid}&recorddate=${recorddate}`,
  1817. }).then(({ data: res }) => {
  1818. if (res.data.code === 200) {
  1819. if (
  1820. res.data.data.deviationls.length &&
  1821. res.data.data.powerresultList.length &&
  1822. res.data.data.speedresultList.length
  1823. ) {
  1824. this.healthreport = res.data.data;
  1825. this.dfpc = {
  1826. nipples: [
  1827. {
  1828. title: "频次",
  1829. smooth: true,
  1830. value: this.healthreport.deviationls.map((i) => {
  1831. return { text: i.value, value: i.bhg };
  1832. }),
  1833. },
  1834. ],
  1835. dfpclpowers: [
  1836. {
  1837. title: "功率",
  1838. smooth: true,
  1839. value: this.healthreport.powerresultList.map((i) => {
  1840. return { text: i.power, value: i.dfpcl };
  1841. }),
  1842. },
  1843. ],
  1844. dfpclSpeeds: [
  1845. {
  1846. title: "风速",
  1847. smooth: true,
  1848. value: this.healthreport.speedresultList.map((i) => {
  1849. return { text: i.speed, value: i.dfpcl };
  1850. }),
  1851. },
  1852. ],
  1853. };
  1854. } else {
  1855. this.healthreport = null;
  1856. }
  1857. }
  1858. });
  1859. // 获取部件劣化状态
  1860. axios({
  1861. baseURL: process.env.VUE_APP_NEW_WISDOM,
  1862. url: `/health/getHealthNumVoList?wtId=${wtid}&recordDate=${recorddate}`,
  1863. }).then((res) => {
  1864. if (res.data.code === 200) {
  1865. let bjlhzt = {
  1866. fdj: 0,
  1867. clx: 0,
  1868. bj: 0,
  1869. zz: 0,
  1870. };
  1871. res.data.data.forEach((ele) => {
  1872. for (let key in bjlhzt) {
  1873. bjlhzt[key] += ele[key] || 0;
  1874. }
  1875. });
  1876. bjlhzt.tableData = res.data.data || [];
  1877. this.bjlhzt = bjlhzt;
  1878. }
  1879. });
  1880. // 获取部件劣化状态发电机、齿轮箱、主轴、变桨折线图
  1881. [
  1882. { key: "fdjLineChartOptions", title: "发电机" },
  1883. { key: "clxLineChartOptions", title: "齿轮箱" },
  1884. { key: "zzLineChartOptions", title: "主轴" },
  1885. { key: "bjLineChartOptions", title: "变桨" },
  1886. ].forEach((item) => {
  1887. const key = item.key;
  1888. const title = item.title;
  1889. axios({
  1890. baseURL: process.env.VUE_APP_NEW_WISDOM,
  1891. url: `/health/getHealthDataVlueVo?wtId=${wtid}&recordDate=${recorddate}&type=${
  1892. key.split("LineChart")[0]
  1893. }`,
  1894. }).then((res) => {
  1895. if (res.data.code === 200) {
  1896. let chartOptions = [];
  1897. let lineChartItem = {
  1898. title: `${title}健康趋势`,
  1899. smooth: true,
  1900. value: [],
  1901. };
  1902. res.data.data?.forEach((ele) => {
  1903. lineChartItem.value.push({
  1904. text: new Date(ele.recordDate).formatDate(
  1905. "yyyy-MM-dd hh:mm:ss"
  1906. ),
  1907. value: ele.value || 0,
  1908. });
  1909. });
  1910. chartOptions.push(lineChartItem);
  1911. this[key] = chartOptions;
  1912. }
  1913. });
  1914. });
  1915. // 获取推荐检修方案
  1916. axios({
  1917. baseURL: process.env.VUE_APP_NEW_WISDOM,
  1918. url: `/health/getStateJudgment?wtId=${wtid}&recordDate=${recorddate}`,
  1919. }).then((res) => {
  1920. if (res.data.code === 200) {
  1921. this.tjjxfa = res.data.data;
  1922. }
  1923. });
  1924. },
  1925. // 对象排序
  1926. compare(prop) {
  1927. return function (obj1, obj2) {
  1928. var val1 = obj1[prop];
  1929. var val2 = obj2[prop];
  1930. if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
  1931. val1 = Number(val1);
  1932. val2 = Number(val2);
  1933. }
  1934. return val1 > val2 ? -1 : val1 < val2 ? 1 : 0;
  1935. };
  1936. },
  1937. },
  1938. watch: {
  1939. show(value) {
  1940. this.dialogVisible = value;
  1941. // if (value) {
  1942. // this.datas();
  1943. // }
  1944. },
  1945. params(res) {
  1946. this.reqData = res;
  1947. },
  1948. },
  1949. };
  1950. </script>
  1951. <style lang="less" scoped>
  1952. .cDialog {
  1953. position: relative;
  1954. .pdfDom {
  1955. padding: 30px 50px;
  1956. }
  1957. .title {
  1958. text-align: center;
  1959. font-size: 24px;
  1960. font-weight: 700;
  1961. }
  1962. .tableBox {
  1963. width: 100%;
  1964. display: flex;
  1965. justify-content: space-between;
  1966. align-items: center;
  1967. .l,
  1968. .r {
  1969. width: 49%;
  1970. align-self: flex-start;
  1971. }
  1972. .fw {
  1973. font-weight: 700;
  1974. }
  1975. }
  1976. .infoBox {
  1977. margin-top: 10px;
  1978. font-size: 16px;
  1979. .red {
  1980. color: #f25656;
  1981. }
  1982. .purple {
  1983. color: rgb(112, 88, 209);
  1984. }
  1985. .info {
  1986. color: #1595fa;
  1987. }
  1988. p {
  1989. text-indent: 2em;
  1990. }
  1991. }
  1992. .textBox {
  1993. width: 100%;
  1994. margin-top: 10px;
  1995. font-size: 16px;
  1996. }
  1997. }
  1998. .logHead {
  1999. display: flex;
  2000. width: 100%;
  2001. height: 40px;
  2002. line-height: 40px;
  2003. background: rgba(96, 103, 105, 0.6);
  2004. color: #ffffff;
  2005. justify-content: center;
  2006. margin-top: 15px;
  2007. }
  2008. .border-b {
  2009. border-bottom: 1px solid #c0ccda;
  2010. }
  2011. .p-5 {
  2012. padding: 5px;
  2013. }
  2014. .m-b-10 {
  2015. margin-bottom: 10px;
  2016. }
  2017. .text-indent-2 {
  2018. text-indent: 2em;
  2019. }
  2020. .text-indent-4 {
  2021. text-indent: 4em;
  2022. }
  2023. </style>
  2024. <style lang="less">
  2025. .cDialog {
  2026. .cell {
  2027. text-align: center;
  2028. }
  2029. .el-dialog__body {
  2030. max-height: 850px;
  2031. overflow-y: scroll;
  2032. padding: 0;
  2033. }
  2034. .el-form-item.imp {
  2035. .el-form-item__content {
  2036. font-size: 24px;
  2037. }
  2038. }
  2039. .el-form-item {
  2040. margin-bottom: 0;
  2041. }
  2042. .el-table td {
  2043. color: black;
  2044. }
  2045. .tableBox {
  2046. .el-table .sort-caret.ascending {
  2047. border-bottom-color: #000;
  2048. }
  2049. .el-table .sort-caret.descending {
  2050. border-top-color: #000;
  2051. }
  2052. .el-table .ascending .sort-caret.ascending {
  2053. border-bottom-color: #05bb4c;
  2054. }
  2055. .el-table .descending .sort-caret.descending {
  2056. border-top-color: #05bb4c;
  2057. }
  2058. }
  2059. }
  2060. </style>