index.vue 65 KB

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