index.vue 65 KB

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