Menu.vue 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256
  1. <template>
  2. <div class="menu">
  3. <ul class="menu-list">
  4. <li
  5. class="menu-item"
  6. v-for="(menu, index) of currentMenu"
  7. :key="menu"
  8. @click="click(index)"
  9. :class="{ active: activeIndex == index }"
  10. @mouseenter="subMenuShow(menu.children, index)"
  11. >
  12. <router-link :to="menu.path">
  13. <el-tooltip
  14. class="item"
  15. popper-class="tip-set"
  16. effect="dark"
  17. :content="menu.text"
  18. placement="bottom"
  19. :show-after="500"
  20. :enterable="false"
  21. :hide-after="10"
  22. >
  23. <div
  24. class="menu-icon svg-icon"
  25. :class="activeIndex == index ? 'svg-icon-green' : 'svg-icon-gray'"
  26. >
  27. <SvgIcon :svgid="menu.icon"></SvgIcon>
  28. </div>
  29. </el-tooltip>
  30. </router-link>
  31. <!-- <div v-if="menu.children" class="sub-menu-item">
  32. <div class="menu-icon svg-icon" :class="activeIndex == index ? 'svg-icon-green' : 'svg-icon-gray'">
  33. <SvgIcon :svgid="menu.icon"></SvgIcon>
  34. </div>
  35. </div> -->
  36. </li>
  37. </ul>
  38. </div>
  39. <div
  40. class="sub-menu"
  41. v-show="isShowSubMenu"
  42. @mouseleave="subMenuHide"
  43. v-if="$store.state.themeName === 'dark'"
  44. >
  45. <ul class="menu-list">
  46. <li
  47. class="menu-item"
  48. v-for="(menu, index) of subMenu"
  49. @click="subclick(index)"
  50. :key="menu"
  51. :class="{ active: subIndex == index }"
  52. >
  53. <router-link :to="menu.path">
  54. <div class="menu-icon svg-icon">
  55. <!-- <SvgIcon :svgid="menu.icon"></SvgIcon> -->
  56. </div>
  57. <div
  58. class="sub-menu-text"
  59. :class="subIndex == index ? 'green' : 'gray'"
  60. >
  61. {{ menu.text }}
  62. </div>
  63. </router-link>
  64. </li>
  65. </ul>
  66. </div>
  67. </template>
  68. <script>
  69. import SvgIcon from "@com/coms/icon/svg-icon.vue";
  70. export default {
  71. components: {
  72. SvgIcon,
  73. },
  74. props: {},
  75. data() {
  76. return {
  77. currRoot: "monitor",
  78. menuData: [
  79. {
  80. id: "monitor",
  81. text: "驾驶舱",
  82. data: [
  83. // {
  84. // text: '驾驶舱',
  85. // icon: 'svg-lead-cockpit',
  86. // path: '/monitor/home'
  87. // },
  88. {
  89. text: "基础矩阵",
  90. icon: "svg-matrix",
  91. path: "/monitor/lightmatrix1",
  92. },
  93. {
  94. text: "明细矩阵",
  95. icon: "svg-mx-matrix",
  96. path: "/monitor/lightmatrix3",
  97. },
  98. {
  99. text: "欠发矩阵",
  100. icon: "svg-qf-matrix",
  101. path: "/monitor/lightmatrix2",
  102. },
  103. {
  104. text: "光伏矩阵",
  105. icon: "svg-gf-matrix",
  106. path: "/monitor/lightmatrix",
  107. },
  108. {
  109. text: "状态监视",
  110. icon: "svg-state-watch",
  111. path: "/monitor/status",
  112. },
  113. {
  114. text: "Agc",
  115. icon: "svg-agc",
  116. path: "/monitor/agc",
  117. },
  118. {
  119. text: "风场",
  120. icon: "svg-wind-site",
  121. path: "/monitor/windsite/home/MHS_FDC",
  122. },
  123. ],
  124. },
  125. {
  126. id: "decision",
  127. text: "经济运行",
  128. data: [
  129. // {
  130. // text: '经济运行首页',
  131. // icon: 'svg-wind-site',
  132. // // path: '/monitor/sandtable'
  133. // path: '/decision/pb'
  134. // },
  135. {
  136. text: "对标管理",
  137. icon: "svg-dbgl",
  138. path: "/decision/decision1",
  139. children: [
  140. {
  141. text: "风机绩效榜",
  142. icon: "svg-wind-site",
  143. path: "/decision/decision1",
  144. },
  145. {
  146. text: "五项损失率",
  147. icon: "svg-wind-site",
  148. path: "/decision/decision2",
  149. },
  150. {
  151. text: "场内对标",
  152. icon: "svg-wind-site",
  153. path: "/decision/decision2Cndb",
  154. },
  155. {
  156. text: "场际对标",
  157. icon: "svg-wind-site",
  158. path: "/decision/decision2Cjdb",
  159. },
  160. {
  161. text: "项目对标",
  162. icon: "svg-wind-site",
  163. path: "/decision/decision2Xmdb",
  164. },
  165. {
  166. text: "线路对标",
  167. icon: "svg-wind-site",
  168. path: "/decision/decision2Xldb",
  169. },
  170. {
  171. text: "性能对标",
  172. icon: "svg-wind-site",
  173. path: "/decision/decision3",
  174. },
  175. {
  176. text: "值际对标",
  177. icon: "svg-wind-site",
  178. path: "/decision/decision4",
  179. },
  180. {
  181. text: "单机横向对比",
  182. icon: "svg-matrix",
  183. path: "/decision/decision3db",
  184. },
  185. // {
  186. // text: "操作指令统计",
  187. // icon: "svg-matrix",
  188. // path: "/decision/decision4czzl",
  189. // },
  190. ],
  191. },
  192. {
  193. text: "三率管理",
  194. icon: "svg-slgl",
  195. path: "/decision/fwjsl",
  196. children: [
  197. {
  198. text: "复位及时率",
  199. icon: "svg-wind-site",
  200. path: "/decision/fwjsl",
  201. },
  202. {
  203. text: "状态转换率",
  204. icon: "svg-wind-site",
  205. path: "/decision/ztzhl",
  206. },
  207. {
  208. text: "消缺及时率",
  209. icon: "svg-wind-site",
  210. path: "/decision/xqjsl",
  211. },
  212. ],
  213. },
  214. {
  215. text: "排行榜",
  216. icon: "svg-phb",
  217. path: "/decision/powerRank",
  218. children: [
  219. {
  220. text: "发电效率排行",
  221. icon: "svg-wind-site",
  222. path: "/decision/powerRank",
  223. },
  224. {
  225. text: "总发电效率排行",
  226. icon: "svg-wind-site",
  227. path: "/decision/totalPowerRank",
  228. },
  229. {
  230. text: "报警排行",
  231. icon: "svg-wind-site",
  232. path: "/decision/warningRank",
  233. },
  234. ],
  235. },
  236. {
  237. text: "专题分析",
  238. icon: "svg-ztfx",
  239. path: "/decision/ztfx",
  240. children: [
  241. {
  242. text: "综合分析",
  243. icon: "svg-wind-site",
  244. path: "/decision/ztfx",
  245. },
  246. {
  247. text: "风能利用率",
  248. icon: "svg-wind-site",
  249. path: "/decision/fnlyl",
  250. },
  251. {
  252. text: "维护损失率",
  253. icon: "svg-wind-site",
  254. path: "/decision/whssl",
  255. },
  256. {
  257. text: "故障损失率",
  258. icon: "svg-wind-site",
  259. path: "/decision/gzssl",
  260. },
  261. {
  262. text: "限电损失率",
  263. icon: "svg-wind-site",
  264. path: "/decision/xdssl",
  265. },
  266. {
  267. text: "性能损失率",
  268. icon: "svg-wind-site",
  269. path: "/decision/xnssl",
  270. },
  271. {
  272. text: "受累损失率",
  273. icon: "svg-wind-site",
  274. path: "/decision/slssl",
  275. },
  276. {
  277. text: "MTBF分析",
  278. icon: "svg-wind-site",
  279. path: "/decision/mtbf",
  280. },
  281. {
  282. text: "MTTR分析",
  283. icon: "svg-wind-site",
  284. path: "/decision/mttr",
  285. },
  286. {
  287. text: "复位分析",
  288. icon: "svg-wind-site",
  289. path: "/decision/zfwjsl",
  290. },
  291. {
  292. text: "状态分析",
  293. icon: "svg-wind-site",
  294. path: "/decision/zztzhl",
  295. },
  296. {
  297. text: "消缺分析",
  298. icon: "svg-wind-site",
  299. path: "/decision/zxqjsl",
  300. },
  301. {
  302. text: "发电量分析",
  303. icon: "svg-wind-site",
  304. path: "/decision/zfdl",
  305. },
  306. {
  307. text: "综合场用电量",
  308. icon: "svg-wind-site",
  309. path: "/decision/zzhcydl",
  310. },
  311. {
  312. text: "节能减排KPI",
  313. icon: "svg-wind-site",
  314. path: "/decision/zbtjfx",
  315. },
  316. ],
  317. },
  318. {
  319. text: "风机分析",
  320. icon: "svg-fjfx",
  321. path: "/decision/performanceAnalysis",
  322. children: [
  323. {
  324. text: "单机性能分析",
  325. icon: "svg-wind-site",
  326. path: "/decision/performanceAnalysis",
  327. },
  328. {
  329. text: "单机月度分析",
  330. icon: "svg-wind-site",
  331. path: "/decision/singleAnalysis",
  332. },
  333. ],
  334. },
  335. {
  336. text: "光伏分析",
  337. icon: "svg-gffx",
  338. path: "/decision/loadRate",
  339. children: [
  340. {
  341. text: "光伏负荷率",
  342. icon: "svg-wind-site",
  343. path: "/decision/loadRate",
  344. },
  345. ]
  346. },
  347. {
  348. text: "气象分析",
  349. icon: "svg-qxfx",
  350. path: "/decision/fs",
  351. },
  352. {
  353. text: "电量预测",
  354. icon: "svg-dlyc",
  355. path: "/decision/dlyc",
  356. children: [
  357. {
  358. text: "预测拟合风速电量",
  359. icon: "svg-wind-sitenhycfsdl",
  360. path: "/decision/nhdl",
  361. },
  362. {
  363. text: "修正预测风速电量",
  364. icon: "svg-wind-site",
  365. path: "/decision/xzdl",
  366. },
  367. ],
  368. },
  369. // {
  370. // text: "单机分析",
  371. // icon: "svg-wind-site",
  372. // path: "/fgzyfx",
  373. // children: [
  374. // {
  375. // text: "单机分析详细",
  376. // icon: "svg-wind-site",
  377. // path: "/new/dj1",
  378. // },
  379. // {
  380. // text: "电量预测",
  381. // icon: "svg-wind-site",
  382. // path: "/new/pf1",
  383. // },
  384. // {
  385. // text: "气象预测",
  386. // icon: "svg-wind-site",
  387. // path: "/new/fs",
  388. // }
  389. // ]
  390. // }
  391. ],
  392. },
  393. {
  394. id: "health",
  395. text: "智慧检修",
  396. data: [
  397. // {
  398. // text: '沙盘',
  399. // icon: 'svg-沙盘',
  400. // // path: '/monitor/sandtable'
  401. // path: '/health/sandtable'
  402. // },
  403. {
  404. text: "等级评估",
  405. icon: "svg-等级评估",
  406. path: "/health/assess/index",
  407. children: [
  408. {
  409. text: "等级评估",
  410. icon: "svg-等级评估",
  411. path: "/health/assess/index",
  412. },
  413. // {
  414. // text: "自组合评级",
  415. // icon: "svg-wind-site",
  416. // path: "/health/assess/selfEvaluate",
  417. // },
  418. ],
  419. },
  420. // {
  421. // text: "故障诊断",
  422. // icon: "svg-故障诊断",
  423. // path: "/health/gzzd/malfunctionDiagnose",
  424. // children: [
  425. // {
  426. // text: "故障诊断",
  427. // icon: "svg-wind-site",
  428. // path: "/health/gzzd/malfunctionDiagnose",
  429. // },
  430. // {
  431. // text: "故障回溯",
  432. // icon: "svg-wind-site",
  433. // path: "/health/gzzd/malfunctionRecall",
  434. // },
  435. // ],
  436. // },
  437. {
  438. text: "健康管理",
  439. icon: "svg-健康管理",
  440. path: "/health/frist",
  441. children: [
  442. {
  443. text: "健康推荐",
  444. icon: "svg-wind-site",
  445. path: "/health/frist",
  446. },
  447. {
  448. text: "健康首页",
  449. icon: "svg-wind-site",
  450. path: "/health/health2",
  451. },
  452. {
  453. text: "健康总览",
  454. icon: "svg-wind-site",
  455. path: "/health/health6",
  456. },
  457. {
  458. text: "健康矩阵",
  459. icon: "svg-wind-site",
  460. path: "/health/health5",
  461. },
  462. // {
  463. // text: "健康列表",
  464. // icon: "svg-wind-site",
  465. // path: "/health/health6",
  466. // },
  467. {
  468. text: "健康列表",
  469. icon: "svg-wind-site",
  470. path: "/health/health8",
  471. },
  472. {
  473. text: "劣化状态分析",
  474. icon: "svg-q曲线",
  475. path: "/health/healthLineChart/MHS_FDC/MG01_01",
  476. },
  477. ],
  478. },
  479. {
  480. text: "全生命周期",
  481. icon: "svg-全生命周期",
  482. path: "/health/allLifeManage",
  483. },
  484. {
  485. text: "能效分析",
  486. icon: "svg-能效分析",
  487. path: "/health/nxfx/powerCurve",
  488. children: [
  489. {
  490. text: "功率曲线拟合",
  491. icon: "svg-wind-site",
  492. path: "/health/nxfx/powerCurve",
  493. },
  494. {
  495. text: "偏航对风分析",
  496. icon: "svg-wind-site",
  497. path: "/health/nxfx/phdffx",
  498. },
  499. // {
  500. // text: "切入切出分析",
  501. // icon: "svg-wind-site",
  502. // path: "/health/nxfx/cutAnalyse",
  503. // },
  504. {
  505. text: "曲线偏差率分析",
  506. icon: "svg-wind-site",
  507. path: "/health/nxfx/qxpclfx",
  508. },
  509. {
  510. text: "单机饱和度",
  511. icon: "svg-wind-site",
  512. path: "/health/nxfx/wtSaturability",
  513. },
  514. ],
  515. },
  516. {
  517. text: "可靠性分析",
  518. icon: "svg-可靠性分析",
  519. path: "/health/kkxfx/alarmcenter1",
  520. children: [
  521. {
  522. text: "预警分析",
  523. icon: "svg-wind-site",
  524. path: "/health/kkxfx/alarmcenter1",
  525. },
  526. {
  527. text: "故障分析",
  528. icon: "svg-wind-site",
  529. path: "/health/kkxfx/alarmcenter2",
  530. },
  531. {
  532. text: "预警评判分析",
  533. icon: "svg-wind-site",
  534. path: "/health/kkxfx/warnStatistics",
  535. },
  536. {
  537. text: "故障评判分析",
  538. icon: "svg-wind-site",
  539. path: "/health/kkxfx/malfunctionStatistics",
  540. },
  541. // {
  542. // text: "部件评判分析",
  543. // icon: "svg-wind-site",
  544. // path: "/health/kkxfx/bjgltjb",
  545. // },
  546. ],
  547. },
  548. {
  549. text: "风光资源分析",
  550. icon: "svg-风光资源分析",
  551. path: "/health/fzyfx/windAnalysis",
  552. children: [
  553. {
  554. text: "风资源散点",
  555. icon: "svg-wind-site",
  556. path: "/health/fzyfx/windAnalysis",
  557. },
  558. {
  559. text: "风资源风向",
  560. icon: "svg-wind-site",
  561. path: "/health/fzyfx/windAnalysis/fx",
  562. },
  563. ],
  564. },
  565. // {
  566. // text: "故障预警",
  567. // icon: "svg-预警记录",
  568. // path: "/health/MalfunctionWarning/",
  569. // children: [
  570. // {
  571. // text: "无监督学习",
  572. // icon: "svg-wind-site",
  573. // path: "/health/MalfunctionWarning/",
  574. // },
  575. // {
  576. // text: "有监督学习",
  577. // icon: "svg-wind-site",
  578. // path: "/health/MalfunctionWarning/Supervised",
  579. // },
  580. // {
  581. // text: "齿轮箱故障诊断",
  582. // icon: "svg-wind-site",
  583. // path: "/health/MalfunctionWarning/diagnose",
  584. // },
  585. // ],
  586. // },
  587. ],
  588. },
  589. {
  590. id: "save",
  591. text: "安全管控",
  592. data: [
  593. {
  594. text: "安全管控",
  595. icon: "svg-安全管控",
  596. path: "/save/personnel",
  597. children: [
  598. {
  599. text: "人员矩阵",
  600. icon: "svg-wind-site",
  601. path: "/save/personnel",
  602. },
  603. {
  604. text: "全局监视",
  605. icon: "svg-wind-site",
  606. path: "/globalMonitor",
  607. },
  608. ],
  609. },
  610. ],
  611. },
  612. // {
  613. // id: "znbb",
  614. // text: "智能报表",
  615. // data: [
  616. // {
  617. // text: '报表首页',
  618. // icon: 'svg-wind-site',
  619. // path: '/reportPandect'
  620. // },
  621. // // 统计分析
  622. // {
  623. // text: "统计分析",
  624. // icon: "svg-matrix",
  625. // path: "/tjfx",
  626. // children: [
  627. // {
  628. // text: "统计分析",
  629. // icon: "svg-matrix",
  630. // path: "/tjfx",
  631. // },
  632. // {
  633. // text: "表底值查询",
  634. // icon: "svg-matrix",
  635. // path: "/bdzcx",
  636. // },
  637. // ],
  638. // },
  639. // {
  640. // text: "报表管理",
  641. // icon: "svg-matrix",
  642. // path: "/bdzcx",
  643. // children: [
  644. // {
  645. // text: "OA日报",
  646. // icon: "svg-matrix",
  647. // path: "/oafd",
  648. // },
  649. // {
  650. // text: "OA日报(光伏)",
  651. // icon: "svg-matrix",
  652. // path: "/oagf",
  653. // },
  654. // {
  655. // text: "新能源日报",
  656. // icon: "svg-matrix",
  657. // path: "/xnyrb",
  658. // },
  659. // {
  660. // text: "国电电力MISS日报(风电)",
  661. // icon: "svg-matrix",
  662. // path: "/missfdrb",
  663. // },
  664. // {
  665. // text: "国电电力MISS日报(光伏)",
  666. // icon: "svg-matrix",
  667. // path: "/missgfrb",
  668. // },
  669. // {
  670. // text: "新能源风电生产月报",
  671. // icon: "svg-matrix",
  672. // path: "/xnyfdscyb",
  673. // },
  674. // {
  675. // text: "麻黄山生产月报",
  676. // icon: "svg-matrix",
  677. // path: "/mhsscyb",
  678. // },
  679. // {
  680. // text: "牛首山生产月报",
  681. // icon: "svg-matrix",
  682. // path: "/nssscyb",
  683. // },
  684. // {
  685. // text: "青山生产月报",
  686. // icon: "svg-matrix",
  687. // path: "/qsscyb",
  688. // },
  689. // {
  690. // text: "石板泉生产月报",
  691. // icon: "svg-matrix",
  692. // path: "/sbqscyb",
  693. // },
  694. // {
  695. // text: "香山生产月报",
  696. // icon: "svg-matrix",
  697. // path: "/xsscyb",
  698. // },
  699. // {
  700. // text: "新能源光伏生产月报",
  701. // icon: "svg-matrix",
  702. // path: "/xnygfscyb",
  703. // },
  704. // {
  705. // text: "大武口生产月报",
  706. // icon: "svg-matrix",
  707. // path: "/dwkscyb",
  708. // },
  709. // {
  710. // text: "平罗生产月报",
  711. // icon: "svg-matrix",
  712. // path: "/plscyb",
  713. // },
  714. // {
  715. // text: "宣和生产月报",
  716. // icon: "svg-matrix",
  717. // path: "/xhscyb",
  718. // },
  719. // ],
  720. // },
  721. // {
  722. // text: "自定制报表管理",
  723. // icon: "svg-matrix",
  724. // path: "/fdczzdy",
  725. // children: [
  726. // {
  727. // text: "风电场站自定义",
  728. // icon: "svg-matrix",
  729. // path: "/fdczzdy",
  730. // },
  731. // {
  732. // text: "风电项目自定义",
  733. // icon: "svg-matrix",
  734. // path: "/fdxmzdy",
  735. // },
  736. // {
  737. // text: "光伏场站自定义",
  738. // icon: "svg-matrix",
  739. // path: "/gfczzdy",
  740. // },
  741. // {
  742. // text: "光伏项目自定义",
  743. // icon: "svg-matrix",
  744. // path: "/gfxmzdy",
  745. // },
  746. // ],
  747. // },
  748. // ],
  749. // },
  750. {
  751. id: "others",
  752. text: "其他",
  753. data: [
  754. {
  755. text: "统计分析",
  756. icon: "svg-统计分析",
  757. path: "/others/tjfx",
  758. children: [
  759. {
  760. text: "统计分析",
  761. icon: "svg-matrix",
  762. path: "/others/tjfx",
  763. },
  764. {
  765. text: "表底值查询",
  766. icon: "svg-matrix",
  767. path: "/others/bdzcx",
  768. },
  769. ],
  770. },
  771. {
  772. text: "报表管理",
  773. icon: "svg-报表管理",
  774. path: "/others/oafd",
  775. children: [
  776. {
  777. text: "OA日报",
  778. icon: "svg-matrix",
  779. path: "/others/oafd",
  780. },
  781. {
  782. text: "OA日报(光伏)",
  783. icon: "svg-matrix",
  784. path: "/others/oagf",
  785. },
  786. {
  787. text: "新能源日报",
  788. icon: "svg-matrix",
  789. path: "/others/xnyrb",
  790. },
  791. {
  792. text: "国电MIS日报(风电)",
  793. icon: "svg-matrix",
  794. path: "/others/missfdrb",
  795. },
  796. {
  797. text: "国电MIS日报(光伏)",
  798. icon: "svg-matrix",
  799. path: "/others/missgfrb",
  800. },
  801. {
  802. text: "新能源风电生产月报",
  803. icon: "svg-matrix",
  804. path: "/others/xnyfdscyb",
  805. },
  806. {
  807. text: "麻黄山生产月报",
  808. icon: "svg-matrix",
  809. path: "/others/mhsscyb",
  810. },
  811. {
  812. text: "牛首山生产月报",
  813. icon: "svg-matrix",
  814. path: "/others/nssscyb",
  815. },
  816. {
  817. text: "青山生产月报",
  818. icon: "svg-matrix",
  819. path: "/others/qsscyb",
  820. },
  821. {
  822. text: "石板泉生产月报",
  823. icon: "svg-matrix",
  824. path: "/others/sbqscyb",
  825. },
  826. {
  827. text: "香山生产月报",
  828. icon: "svg-matrix",
  829. path: "/others/xsscyb",
  830. },
  831. {
  832. text: "新能源光伏生产月报",
  833. icon: "svg-matrix",
  834. path: "/others/xnygfscyb",
  835. },
  836. {
  837. text: "大武口生产月报",
  838. icon: "svg-matrix",
  839. path: "/others/dwkscyb",
  840. },
  841. {
  842. text: "平罗生产月报",
  843. icon: "svg-matrix",
  844. path: "/others/plscyb",
  845. },
  846. {
  847. text: "宣和生产月报",
  848. icon: "svg-matrix",
  849. path: "/others/xhscyb",
  850. },
  851. {
  852. text: "MIS日报导入",
  853. icon: "svg-matrix",
  854. path: "/others/misimport",
  855. },
  856. {
  857. text: "运营对标报表",
  858. icon: "svg-matrix",
  859. path: "/others/misreport",
  860. },
  861. ],
  862. },
  863. {
  864. text: "自定制报表管理",
  865. icon: "svg-自定制报表管理",
  866. path: "/others/fdczzdy",
  867. children: [
  868. {
  869. text: "风电场站自定义",
  870. icon: "svg-matrix",
  871. path: "/others/fdczzdy",
  872. },
  873. // {
  874. // text: "风电项目自定义",
  875. // icon: "svg-matrix",
  876. // path: "/others/fdxmzdy",
  877. // },
  878. {
  879. text: "光伏场站自定义",
  880. icon: "svg-matrix",
  881. path: "/others/gfczzdy",
  882. },
  883. // {
  884. // text: "光伏项目自定义",
  885. // icon: "svg-matrix",
  886. // path: "/others/gfxmzdy",
  887. // },
  888. ],
  889. },
  890. {
  891. text: "原始数据查询",
  892. icon: "svg-报表首页",
  893. path: "/others/realSearch",
  894. children: [
  895. {
  896. text: "测点数据查询",
  897. icon: "svg-wind-site",
  898. path: "/others/realSearch",
  899. },
  900. {
  901. text: "测点历史数据查询",
  902. icon: "svg-wind-site",
  903. path: "/others/historySearch",
  904. },
  905. {
  906. text: "气象历史数据",
  907. icon: "svg-wind-site",
  908. path: "/others/weather",
  909. },
  910. {
  911. text: "数据导出",
  912. icon: "svg-wind-site",
  913. path: "/others/ExportExcel",
  914. },
  915. ],
  916. },
  917. {
  918. text: "预警记录",
  919. icon: "svg-预警记录",
  920. path: "/others/alarmCenter/alarmcenter",
  921. children: [
  922. {
  923. text: "预警管理",
  924. icon: "svg-wind-site",
  925. path: "/others/alarmCenter/alarmcenter",
  926. },
  927. {
  928. text: "停机事件管理",
  929. icon: "svg-wind-site",
  930. path: "/others/alarmCenter/tjsj",
  931. },
  932. {
  933. text: "限电管理",
  934. icon: "svg-wind-site",
  935. path: "/others/alarmCenter/xdgl",
  936. },
  937. {
  938. text: "升压站报警",
  939. icon: "svg-wind-site",
  940. path: "/others/alarmCenter/boosterAlarm",
  941. },
  942. {
  943. text: "SCADA报警",
  944. icon: "svg-wind-site",
  945. path: "/others/alarmCenter/scadaAlarm",
  946. },
  947. {
  948. text: "光伏报警",
  949. icon: "svg-wind-site",
  950. path: "/others/alarmCenter/gfAlarm",
  951. },
  952. {
  953. text: "自定义报警",
  954. icon: "svg-wind-site",
  955. path: "/others/alarmCenter/customAlarm",
  956. },
  957. {
  958. text: "自定义报警统计",
  959. icon: "svg-wind-site",
  960. path: "/others/alarmCenter/customStatistics",
  961. },
  962. {
  963. text: "报警配置工具",
  964. icon: "svg-wind-site",
  965. path: "/others/alarmCenter/configAlarm",
  966. },
  967. ],
  968. },
  969. {
  970. text: "专家知识",
  971. icon: "svg-专家知识",
  972. path: "/others/knowledge/knowledge",
  973. children: [
  974. {
  975. text: "故障知识列表",
  976. icon: "svg-matrix",
  977. path: "/others/knowledge/knowledge",
  978. },
  979. {
  980. text: "安全措施知识",
  981. icon: "svg-matrix",
  982. path: "/others/knowledge/knowledge2",
  983. },
  984. {
  985. text: "排查检修方案",
  986. icon: "svg-matrix",
  987. path: "/others/knowledge/knowledge6",
  988. },
  989. {
  990. text: "预警知识",
  991. icon: "svg-matrix",
  992. path: "/others/knowledge/knowledge7",
  993. },
  994. {
  995. text: "特征参数",
  996. icon: "svg-matrix",
  997. path: "/others/knowledge/knowledge5",
  998. },
  999. {
  1000. text: "风险辨识知识",
  1001. icon: "svg-matrix",
  1002. path: "/others/knowledge/knowledge3",
  1003. },
  1004. {
  1005. text: "作业指导知识",
  1006. icon: "svg-matrix",
  1007. path: "/others/knowledge/knowledge4",
  1008. },
  1009. ],
  1010. },
  1011. // {
  1012. // text: "样本库",
  1013. // icon: "svg-报表管理",
  1014. // path: "/others/fault",
  1015. // children: [
  1016. // {
  1017. // text: "设备管理",
  1018. // icon: "svg-wind-site",
  1019. // path: "/others/device",
  1020. // },
  1021. // {
  1022. // text: "故障训练样本库",
  1023. // icon: "svg-matrix",
  1024. // path: "/others/fault",
  1025. // },
  1026. // {
  1027. // text: "预警分析样本库",
  1028. // icon: "svg-matrix",
  1029. // path: "/others/warning",
  1030. // },
  1031. // {
  1032. // text: "性能下降样本库",
  1033. // icon: "svg-matrix",
  1034. // path: "/others/performance",
  1035. // },
  1036. // {
  1037. // text: "功率曲线拟合分析",
  1038. // icon: "svg-matrix",
  1039. // path: "/others/totalCurve",
  1040. // },
  1041. // {
  1042. // text: "性能预警综合分析",
  1043. // icon: "svg-matrix",
  1044. // path: "/others/analysis",
  1045. // },
  1046. // {
  1047. // text: "天气预测数据",
  1048. // icon: "svg-matrix",
  1049. // path: "/others/weatherPrognosis",
  1050. // },
  1051. // {
  1052. // text: "风机检修规则",
  1053. // icon: "svg-matrix",
  1054. // path: "/others/overhaulRule",
  1055. // },
  1056. // {
  1057. // text: "故障检修手册",
  1058. // icon: "svg-matrix",
  1059. // path: "/others/faultManual",
  1060. // },
  1061. // {
  1062. // text: "故障维修记录",
  1063. // icon: "svg-matrix",
  1064. // path: "/others/knowledgeBase",
  1065. // },
  1066. // {
  1067. // text: "发电能力分析",
  1068. // icon: "svg-matrix",
  1069. // path: "/others/abilityAnalysis",
  1070. // },
  1071. // {
  1072. // text: "风电营销样本库",
  1073. // icon: "svg-matrix",
  1074. // path: "/others/market",
  1075. // }
  1076. // ],
  1077. // },
  1078. ],
  1079. },
  1080. ],
  1081. activeIndex: 0,
  1082. isShowSubMenu: false,
  1083. parentIndex: null,
  1084. subMenu: [],
  1085. subIndex: null,
  1086. };
  1087. },
  1088. methods: {
  1089. click(index) {
  1090. this.activeIndex = index;
  1091. this.subIndex = null;
  1092. },
  1093. subMenuShow(children, index) {
  1094. if (children) {
  1095. this.isShowSubMenu = true;
  1096. this.parentIndex = index;
  1097. } else {
  1098. this.isShowSubMenu = false;
  1099. this.parentIndex = null;
  1100. }
  1101. this.subMenu = children;
  1102. },
  1103. subMenuHide() {
  1104. this.isShowSubMenu = false;
  1105. this.parentIndex = null;
  1106. // this.subMenu = [];
  1107. },
  1108. subclick(index) {
  1109. this.activeIndex = this.parentIndex;
  1110. this.subIndex = index;
  1111. },
  1112. },
  1113. computed: {
  1114. currentMenu() {
  1115. let data = this.menuData.filter((t) => {
  1116. return t.id == this.currRoot;
  1117. })[0].data;
  1118. this.$store.dispatch("changeMenuData", data);
  1119. return data;
  1120. },
  1121. },
  1122. watch: {
  1123. // 监听路由
  1124. $route: {
  1125. handler: function (val, oldVal) {
  1126. this.menuData.some((element, index) => {
  1127. if (val.path.includes(element.id)) {
  1128. this.$nextTick(() => {
  1129. this.currRoot = element.id;
  1130. this.$nextTick(() => {
  1131. this.currentMenu.some((element, index) => {
  1132. if (val.path == element.path) {
  1133. this.activeIndex = index;
  1134. }
  1135. });
  1136. });
  1137. });
  1138. return true;
  1139. }
  1140. });
  1141. },
  1142. //深度观察监听
  1143. deep: true,
  1144. },
  1145. },
  1146. };
  1147. </script>
  1148. <style lang="less">
  1149. .tip-set{
  1150. z-index: 9999!important;
  1151. }
  1152. .menu {
  1153. padding-top: 1.481vh;
  1154. .menu-list {
  1155. margin: 0;
  1156. padding: 0;
  1157. list-style: none;
  1158. .menu-item {
  1159. padding: 1.481vh 0;
  1160. text-align: center;
  1161. .menu-icon {
  1162. display: flex;
  1163. justify-content: center;
  1164. }
  1165. &.active i {
  1166. color: #05bb4c;
  1167. transition: color 1s;
  1168. }
  1169. }
  1170. }
  1171. i {
  1172. font-size: 2.222vh;
  1173. color: rgba(255, 255, 255, 50%);
  1174. }
  1175. }
  1176. .sub-menu {
  1177. position: absolute;
  1178. top: 0;
  1179. left: 5.3704vh;
  1180. width: 158px;
  1181. height: 100%;
  1182. padding-top: 1.481vh;
  1183. background: fade(#192a26, 95);
  1184. border-right: 1px solid fade(@green, 50);
  1185. box-shadow: inset 11px 0px 20px 0px fade(#021412, 60);
  1186. .menu-list {
  1187. margin: 0;
  1188. padding: 0;
  1189. list-style: none;
  1190. .menu-item {
  1191. display: flex;
  1192. text-align: center;
  1193. line-height: 1.5;
  1194. padding: 8px 0;
  1195. background: #121d1c;
  1196. a {
  1197. display: flex;
  1198. width: 100%;
  1199. height: 100%;
  1200. padding: 0 1.4815vh;
  1201. font-size: @fontsize-s;
  1202. text-decoration: unset;
  1203. .menu-icon {
  1204. display: flex;
  1205. align-items: center;
  1206. svg {
  1207. width: 14px;
  1208. height: 14px;
  1209. use {
  1210. fill: fade(@green, 75);
  1211. }
  1212. }
  1213. }
  1214. }
  1215. &.active {
  1216. background: #323e70;
  1217. .menu-icon {
  1218. display: flex;
  1219. svg use {
  1220. fill: fade(@white, 75);
  1221. }
  1222. }
  1223. }
  1224. .sub-menu-text {
  1225. margin-left: 1.1111vh;
  1226. color: @gray-l;
  1227. }
  1228. & + .menu-item {
  1229. border-top: 1px solid fade(@darkgray, 40);
  1230. }
  1231. }
  1232. }
  1233. i {
  1234. font-size: 2.222vh;
  1235. color: rgba(255, 255, 255, 50%);
  1236. }
  1237. }
  1238. </style>