Przeglądaj źródła

修改菜单结构,场站分析的综合场用电量和发电量分析增加风电光伏筛选框

baiyanting 1 rok temu
rodzic
commit
9ef81d9248
69 zmienionych plików z 4114 dodań i 3717 usunięć
  1. 400 0
      src/assets/icon/svg/fdfx.svg
  2. 404 0
      src/assets/icon/svg/fjjkd.svg
  3. 419 0
      src/assets/icon/svg/gffx.svg
  4. 438 0
      src/assets/icon/svg/gfjkd.svg
  5. 22 87
      src/components/lightDetial/index.vue
  6. 402 0
      src/components/powerAndSpeedSearch/index.vue
  7. 51 28
      src/components/windDetail/index.vue
  8. 287 312
      src/router/index.js
  9. 0 262
      src/views/HealthControl/energyEfficAnalyse/healthPowerCurve/index copy.vue
  10. 0 0
      src/views/HealthControl/healthManagement/temperatureAnalysis/index.vue
  11. 0 0
      src/views/HealthControl/healthManagement/wtSaturability/index.vue
  12. 0 0
      src/views/HealthControl/healthManagement/wtSaturability/tab1.vue
  13. 0 0
      src/views/HealthControl/healthManagement/wtSaturability/tab2.vue
  14. 0 0
      src/views/HealthControl/healthManagement/wtSaturability/tab3.vue
  15. 0 13
      src/views/economicsOperation/benchmarkingManagement/companyBenchmarking/index.vue
  16. 0 13
      src/views/economicsOperation/dataAnalysis/combine.vue
  17. 0 13
      src/views/economicsOperation/dataAnalysis/lineAnalysis.vue
  18. 0 13
      src/views/economicsOperation/dataAnalysis/rateAnalysis.vue
  19. 0 13
      src/views/economicsOperation/dataFilter/prepare.vue
  20. 0 13
      src/views/economicsOperation/dataFilter/process.vue
  21. 1 1
      src/views/economicsOperation/efficiency/index.vue
  22. 63 12
      src/views/economicsOperation/monthElectricAnalyseAll/index.vue
  23. 0 13
      src/views/economicsOperation/performanceAnalyse/curveAnalyse/index.vue
  24. 0 15
      src/views/economicsOperation/performanceAnalyse/index.vue
  25. 11 0
      src/views/economicsOperation/photovoltaicAnalyse/index.vue
  26. 11 0
      src/views/economicsOperation/photovoltaicAnalyse/lslfx/index.vue
  27. 1 1
      src/views/economicsOperation/performanceEvalute/performanceEvaluation/index.vue
  28. 0 0
      src/views/economicsOperation/photovoltaicAnalyse/powerAnalyse/components/current-scatter-chart.json
  29. 0 0
      src/views/economicsOperation/photovoltaicAnalyse/powerAnalyse/components/current-scatter-chart.vue
  30. 0 0
      src/views/economicsOperation/photovoltaicAnalyse/powerAnalyse/components/table.vue
  31. 1 1
      src/views/HealthControl/energyEfficAnalyse/powerAnalyse/index.vue
  32. 0 0
      src/views/economicsOperation/photovoltaicAnalyse/powerHotAnalyse/components/current-scatter-chart.json
  33. 0 0
      src/views/economicsOperation/photovoltaicAnalyse/powerHotAnalyse/components/current-scatter-chart.vue
  34. 0 0
      src/views/economicsOperation/photovoltaicAnalyse/powerHotAnalyse/components/table.vue
  35. 1 1
      src/views/HealthControl/energyEfficAnalyse/powerHotAnalyse/index.vue
  36. 11 0
      src/views/economicsOperation/photovoltaicAnalyse/prAnalyse/index.vue
  37. 0 13
      src/views/economicsOperation/powerCurve/index.vue
  38. 0 15
      src/views/economicsOperation/reportForms/index.vue
  39. 0 552
      src/views/economicsOperation/reportForms/newEnergyDaily/index.vue
  40. 0 827
      src/views/economicsOperation/reportForms/newEnergyMonthly/index.vue
  41. 0 690
      src/views/economicsOperation/reportForms/specifcGravity/index.vue
  42. 0 707
      src/views/economicsOperation/reportForms/windMonthly/index.vue
  43. 261 0
      src/views/economicsOperation/stationAnalyse/electricAnalyse/components/barCharts.vue
  44. 510 0
      src/views/economicsOperation/stationAnalyse/electricAnalyse/index.vue
  45. 1 1
      src/views/economicsOperation/analyse/index.vue
  46. 256 0
      src/views/economicsOperation/stationAnalyse/stationElectricAnalyse/components/lineCharts.vue
  47. 505 0
      src/views/economicsOperation/stationAnalyse/stationElectricAnalyse/index.vue
  48. 11 0
      src/views/economicsOperation/stationAnalyse/windAndPhotovoltaic/index.vue
  49. 0 0
      src/views/economicsOperation/windAnalyse/cutInAndOutAnalysis/historyDetail.vue
  50. 2 2
      src/views/economicsOperation/powerCurve/cutInAndOutAnalysis/index.vue
  51. 1 1
      src/views/economicsOperation/performanceEvalute/index.vue
  52. 1 1
      src/views/economicsOperation/analyse/monthlyAnalysis/index.vue
  53. 0 0
      src/views/economicsOperation/windAnalyse/monthlyAnalysis/reportDialog.vue
  54. 0 0
      src/views/economicsOperation/windAnalyse/performanceAssess/dayDetailInfo.vue
  55. 0 0
      src/views/economicsOperation/windAnalyse/performanceAssess/historyDetail.vue
  56. 1 1
      src/views/economicsOperation/performanceEvalute/performanceAssess/index.vue
  57. 0 0
      src/views/economicsOperation/windAnalyse/powerCurve/components/current-scatter-chart.json
  58. 0 0
      src/views/economicsOperation/windAnalyse/powerCurve/components/current-scatter-chart.vue
  59. 0 0
      src/views/economicsOperation/windAnalyse/powerCurve/components/table.vue
  60. 1 1
      src/views/HealthControl/energyEfficAnalyse/healthPowerCurve/index.vue
  61. 34 88
      src/views/economicsOperation/powerCurve/powerLinefitting/index.vue
  62. 1 1
      src/views/HealthControl/energyEfficAnalyse/qxpclfx/index.vue
  63. 0 0
      src/views/economicsOperation/windAnalyse/singleWindAnasyle/chartTheme.json
  64. 0 0
      src/views/economicsOperation/windAnalyse/singleWindAnasyle/historyDetail.vue
  65. 1 1
      src/views/economicsOperation/analyse/standAloneAnalyse/index.vue
  66. 0 0
      src/views/economicsOperation/windAnalyse/singleWindAnasyle/raderswithhart.vue
  67. 0 0
      src/views/economicsOperation/windAnalyse/singleWindAnasyle/windDetailDialog.vue
  68. 1 1
      src/views/stateMonitor/factoryMonitor/components/headerButton.vue
  69. 4 4
      src/views/stateMonitor/factoryMonitor/windPowerPlant/components/lineCharts.vue

+ 400 - 0
src/assets/icon/svg/fdfx.svg

@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.1" id="图层_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px"
+	 viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M136.615,138.074c4.002,0,7.247,3.244,7.247,7.247
+				c0,4.002-3.245,7.247-7.247,7.247s-7.246-3.245-7.246-7.247C129.369,141.318,132.613,138.074,136.615,138.074z"/>
+			<path d="M139.932,136.886l0.014-4.165c1.1-0.152,7.735-0.909,7.735-0.909l-7.073-44.23c0,0-2.396-0.979-4.432,0.106
+				l-8.758,44.307c0,0,6.664,0.553,8.713,0.777l-0.006,4.096L139.932,136.886z"/>
+			<path d="M127.722,144.738l-3.612,2.07c-0.684-0.876-4.656-6.244-4.656-6.244l-34.768,28.24c0,0,0.349,2.565,2.307,3.785
+				l42.75-14.569c0,0-2.854-6.048-3.684-7.934l3.551-2.043L127.722,144.738z"/>
+			<path d="M144.809,148.972l3.6,2.094c-0.416,1.029-3.08,7.154-3.08,7.154l41.841,15.989c0,0,2.048-1.585,2.124-3.892
+				l-33.991-29.737c0,0-3.812,5.495-5.03,7.157l-3.543-2.054L144.809,148.972z"/>
+			<path d="M134.719,60.479c-1.279,0-2.48,0.36-3.52,1.04l-35.08,27.24l-10.24-13.12c-1.24-1.479-2.96-2.32-4.88-2.32
+				c-1.24,0-2.52,0.36-3.68,1.04l-36.88,26.96c-2.72,2.28-3.32,6.12-1.28,8.561c1.28,1.72,3,2.56,5.12,2.56
+				c1.36,0,2.64-0.479,3.44-1.279l32.16-23.521l10.24,13.12c1.16,1.4,2.92,2.24,4.76,2.24c1.4,0,2.76-0.48,3.8-1.36l39.799-30.24
+				c2.48-2.08,3.041-5.88,1.279-8.56C138.559,61.319,136.719,60.479,134.719,60.479z"/>
+			<path d="M19.399,163.4h52.08c3.32,0,6-2.681,6-6c0-3.32-2.68-6-6-6h-44.08c-3.2,0-5.8-2.601-5.8-5.801V43.2
+				c0-3.2,2.6-5.8,5.8-5.8h123.96c0.799,0,1.52,0.16,2.24,0.44c1.359,0.6,2.479,1.72,3.08,3.08c0.318,0.72,0.439,1.48,0.439,2.24V84
+				c0,3.319,2.68,6,6,6s6-2.681,6-6V35.2c0-5.4-4.4-9.761-9.76-9.761H19.399c-5.4,0-9.76,4.4-9.76,9.761v118.44
+				C9.639,159,13.999,163.4,19.399,163.4L19.399,163.4z"/>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+G3wCPzI+AAb8eSXwy/8HU4CZhQ==
+	]]>
+</i:pgf>
+</svg>

+ 404 - 0
src/assets/icon/svg/fjjkd.svg

@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.1" id="图层_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="124px" height="124px"
+	 viewBox="35 35 124 124" enable-background="new 35 35 124 124" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<g>
+			<g>
+				<path d="M101.329,111.274c0.176-0.762,0.38-1.513,0.616-2.25l-1.137,1.947L101.329,111.274z M85.609,110.045l-1.888-3.307
+					l-3.613,2.07c-0.683-0.877-4.655-6.244-4.655-6.244l-34.768,28.24c0,0,0.349,2.565,2.307,3.785l42.75-14.569
+					c0,0-2.853-6.048-3.683-7.934L85.609,110.045z M92.615,100.074c-4.002,0-7.247,3.245-7.247,7.247
+					c0,4.004,3.244,7.248,7.247,7.248c4.002,0,7.247-3.244,7.247-7.248C99.862,103.318,96.617,100.074,92.615,100.074z
+					 M92.176,49.687l-8.757,44.307c0,0,6.664,0.554,8.712,0.777l-0.006,4.096l3.807,0.019l0.014-4.165
+					c1.1-0.153,7.735-0.91,7.735-0.91l-7.073-44.23C96.607,49.582,94.212,48.601,92.176,49.687z M125.003,108.555
+					c-2.985,0-5.405,2.412-5.405,5.387c0,2.977,2.42,5.387,5.405,5.387c2.987,0,5.409-2.41,5.409-5.387
+					C130.412,110.967,127.99,108.555,125.003,108.555z M128.549,93.22c-13.507,0-24.455,10.903-24.455,24.356
+					s10.948,24.362,24.455,24.362c13.502,0,24.451-10.909,24.451-24.362S142.051,93.22,128.549,93.22z M140.323,131.896
+					c-0.745,0-1.423-0.302-1.913-0.788l-7.922-7.895c-1.611,0.949-3.48,1.5-5.485,1.5c-5.972,0-10.813-4.82-10.813-10.771
+					c0-5.947,4.842-10.771,10.813-10.771s10.813,4.824,10.813,10.771c0,1.996-0.554,3.859-1.506,5.465l7.926,7.891
+					c0.486,0.489,0.791,1.161,0.791,1.906C143.027,130.691,141.816,131.896,140.323,131.896z"/>
+			</g>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	hWLv3+sATCj6kkjCH5eh6GyTD8WLqbPQqsRXQzGhdhCKRfZbiVQjP4vutmNDfqO4M86EypHz9CS1
+wgwagKFBh6BXQ7FO7x7CaoXC9UkM/mwDgIVQdHdnvKqAAUNP750973L156M9iJh8dDe7sVyR5NKs
+Gj1p3FSOD0Mwk1mtUPlIJCeZ+tbs7TpdWZZih1X5Qc4X69lRa2uPv85XlnuzamVv4zizdXd8Mthe
+TX6VweA2R8TgyvGNi/REaGRNuIZgjAiF/V2xzkhjIstbk0v54S52yCXTrTA5kI5UnuRr02vhafSx
+xvXW+CEEfaY3CsDIj9xkW8H+QWgNdGZyog4uf5DOf219Bz8PBuD1dsUI9UF+PHk4p0M9yD1lNg+f
+EggqAGMCLD+tnDZsoWb7xwerdKjbobA84VdlGlQAZpJv8g/pJWFzgzbcyXrsJG4DNfMeFtfbVTrU
+dPuWq3EbJwgq3Dem4S7VetmV3EXklAaVq13eVGygZpdXm61ikQYVzg0A/MwdLN9dUZG8dBDfXz/s
+Jm5pUOWH72JWgdpcXzdhOLU1HfQQVAAGLMpu1Ti1bflRODqFUCPWqU3cp3dOylEANT0yQ3182q7R
+oAIwCHBmcLY0RYApUEX5aW312gZq7SU7XM+mqFAnxccUgopommW49fTovj2iQ91eCk/Wc2syDao8
+e+ZXI+G9+0cTVAgGT22humuD5OzySuta3qJDTbcfudpj/YI61qXaZGv1I3mNiA1luNxBbHZqC3Vd
+ets/sxlrKAn4W3MFQt3QoSKahpB8XtvYy+2HTgDU3NgMtZErtVUyHQ+boGZbjY9rDLX68FEzjPVu
+n2vcVzOIphkAK8Otf01yH8vnWSrUkw25bwt1/6NTLpqgYtKJAN9HuNamNKFDPY4/HPek2JQKtdXZ
+27KFevpQPyph7kkb7n2Zu16/zdOhNpZnrbduL0+Fet3gRyaoGIwC+OogeTCwg3rMXY9T+zZQ9yLX
+TzfPRSrUm73uBtyedsPtdIrTGxuoD2nu8ewyQod6evb2/bayvaFDNTBp7nGaOLeF+tmMrt3aQa1x
+nfOvbTrUs32YYirfFydl6nCr3+NZG6j5eujmlGtgqOLS9MC4efbk2c19GkKNIqhwNASFOlveijzN
+PjsA6o5shvq8cbGiQP0obJg4zxp3cppBUIX13XDdCDUBRzN5O1qGgONWWtFIhB6WszUAdX9ioYsP
+owKGuheuxkwYDhVrZ+sY6uN08wixNQLJkavoVn3nCEJNWuniFR/PNda+A6i1mRmq3N+LKFA3zxPG
+sUJx8Kq0uraNAKf2rhoNw3CX7yeZ7n0TQuUsPOC0sLZ0Oz0/BFAFC62Wi93hVXQ1tY2eWpm0LJfy
+6+2rxsMR9fWZGNrmDh+iU5un67u8OGkum55qpHOpVouFVksrFViBQuK6w2yutsLDp1Hr0/exytto
+T4fwNKbc2WM9Y1NhOs3zu3c5+tPDtdD+2U313ObpdOv48Gh5gp7SJJtj7rERjWZm9NePs53T/d3Z
+us3T49fmZu46bnqq85vTO15lr0LMSrW4FW1CrQu/kV27Eu+ruzZPt6Gcdl3evtm3qVDauFmR+yWb
+p/VYp5y9fKA/PSnWvu9EUhH0lIa004v375NONUp//fT2+2dqkhRsnn5+jeIfUt70VF9p7cdm9kKM
+27z+uHGvLXLr087XtUoZKU/FWyjZ7CzFcjV6Ben2tDZdOpPoT1+5x/f174dL1KerN+e963DodM8G
+abK80zlP7Z+Hw7BCwvpUKB2enZc+4VMLPZKLnc9J6HG9YnqqIg0QrM3wxup26Jn6+ux5J7Kxf7Mh
+6k93x5HtMfoGqdsYUavdQn3lO6JkQAVsljXlLUeQTrOurOijG8dbfChWubgJxa6fWlABvQyF7yMz
++K0J1NCPcih+3MlwyduPHH5td2f0AbrT2kcAEWhVFkie5IfrXHLndob0IUBqX7c1qMvJ/k43AkS/
+pSpQhpJGIiovCes7zbiiDK2MSOa4u5yC3ODoE4vqQB/qrlx86NSbhJqOPNhDXao9xW2hcrVS9swo
+C2iAsdA8TG11bKC2nxygHoQyNKiaqH5wILe14aYMUPP15a/s7EGFejAwYviRhJpurZAYPt+/MMoC
+vbW1ZX240a3B1akN1Mw7XHNjOtR0u02DirU1hOQ3cmqNUJFqYQMVaJxAtejaQRURVH1BG4e7dMBt
+2kJFQootVCikXJmgIlFdQXLMHslLtcM109TyMSCAIPjomzIZp7MerR5Wo4xVz5YlliaXznZCDPXk
+WedjVaVpmHTAgRvsScomxvSjtxYLR0ujySneAuBbGQqGhwg3KnK1vX9wdgHQfBJDHwCMsL7HEdYe
+xZ6Ujl2Q27m5Bmjl+n1Z6YR4UULGp91xuHdpplEAfin5LlVW4ccyat6grSkQ1E0JenRf4TdK32uw
+Sgq3oRPA3d3qKvEByKQuiZuMeudYYV/7UmspY9Y7zR1lVlfRB1wRBj1E6diZNoZKdLebqhM41FAP
+wIBOXzVByRpkCbMN527BPk2c+5TsL2/G0AdGKbTtQCpgtiZixDdm7ohHHxek6k4Z4R5/3FB1T8v6
+0keIPsTbivMcpvauL09s5xCBQdMYO1HWDVaZqCPc2vA5h0brIJ7Gg9bQG77sV8TBNe47yaTtl70z
+vrjX9a9bZ9RjkYNlfY14cWW97raDbFCv654K9pOL2kEH3YmOeqMdmgVfJirUjg3NVKj6UB6TkwvG
+r8kCHmfkqcpXHycHGg5TdBweHK8hYc1ue1YfzqamHhm7g0h9DH7ck6ZaC/qqUM8+Nm5Pko5Tt2fE
+dnCpla3jhu3g9O2pjs9mcA/LjoNDuF7De4nSE0w6n6qcJHauXMcVWUPjoq/5dmxs5BopEyOwTpnN
+kCoJw3LX9qNhuXNSM7FmFOTPyJVWBWAevubBDUbM62b4zoQYVVSHvPtcWzwxbUFHHVorJ+7txABz
+UwqTjjpswK4wMm9AcanBMGpi96mSjbW/Yk2rZbMBY9UY/lDmCzsqrGujm1qCYBhmFX4oJBFZvykL
+RFw64W2bAmCS76PojrVvm182fRO+hNJd4Yg+zFgprEtn+gybkGaalo/82DQt4PUr2ZHpUakQCUYn
+RAcQNzUbTkVKk3RRkpjh3gEiscpKs+FUrJP8kZ85syk4NxS5ijbJoPvdkDO+4AiTtD4ZFXYgeC/Z
+dkvvDluf3pcduOe+vn/dmckBkvUcpI3ObN1ZIzBMo7OsxzCHymjQNMoa95p7RchgH4hVvSnT3Hht
+zU0tUZsiiI1TawbxYl6kuQl8HoZpJLvzIs1I3bwjTbGEKctNKN2240bttg63TNVNaVHFZqyw20nO
+010XIkLIuvTN8FZHM+FM03Tp2yBAkEMyKuzzbM+3uvA4Kx17UKfTI9uVNt1bnRtBttTCJKc5I+ig
++clqb7Afze7ERCH8TJWqBZp6Akfj3hm9J270wKYnpNRZt0idHtCi98REAExIo+mP3VSEyrNKt520
+J+URGiGxd1Qzj5PRU5vI4X5BWsTDlak39RSaP+iSzSFUhA9YKQlto6h9qi4RxIa9W/Q+uZICRAVY
+BK7vh/OQApMrIlxd84546gj3Ns9P9BEawuC8Ir4ydZMe1JULdU9HSV94nLzzc49QoQJgBg/aY9ad
+6aS6fz/kXvmltmlFEEqhR3zRNrvtTtdjoOj4ysyBL2Kn4yWwM7Vsdv5oxqDGuduijtBOZzGmOBkd
+gAy94twdJNerioezfJ9a2YQWBTfV2d6QSzKCI7N872twYdrg0Ny42kJITJs4NZshBNnTiGX/ecRJ
+k4+bOYd0NDMZ9WjCrauRKLVS+EozrEMdMXR+A3HTkb2YS+xsOwA70LbDsKAJomAwSRjFbBgKzRnF
+7GNdzCYcks4QbMRsQO+XGdAHV5rT0jp2cmuRUrIzX8RGyPGxkTXamHudpGRtcIvYN8cmrsi63E1M
+evM8ZGSILmZs6nLfu1pNmYZk8BEwD8nMA11JgeK/MS728bGZA/ogBQAxOudTSKcNblzFXIigHNuC
+JliTg5gbCUeNQSFgXLcts55rt/sITdpOzwUk2ZN3gzZqtD3FTpyBAzKwP9hUknHfuFtpYWvcAih0
+GWB1fzanGR/NnMIDyegHfw0ZlU2bVpAd2qUhj1uR1griN/P7OVB3HBihMhpGXohaIx2NrGxVJzYm
+g/pBa2iWRGGZT/eE7ik0trYY9oM6C71GHj2Ftti8dMYmOTekbOpE3TYo1O3KmbphjYAxvgLsEZ/U
+zcjWgMBJJUl+qNvkg9AlTUEW3qnb5ENYgAAFU8ZaS/Nu3itMBfwI+aaGnKkbudLcG/JN3QhNGjU0
+P3W7slA3MqcQum44aXqVVNYSXT4wTtoWZ6tnG9yPpJXDILsoK0LpzDpQk3c3TDFjtFgKvxFdt9dm
+y5oPDz+YUtLcPadPGLRmS3FNdmgWotseOwdU0CiOKVAZbt3XdY+KJXWBVB8qUUZi49qQi3int4JW
+mkNDfqMqjK0kGR35rg3Z7yCNdJpMSbb7EbTm0U6oNaWIHCb+GKPwxxtW6Z/GHE1WDkDT5pb+oQpm
+joOwKoXM/BG0ZlYxbZmjq+UWtjb/NsKuCGllXvJ/48wc2dnaDav078bWbhYi/d/QmCM92s69IQt/
+dGaOFjcRuR/FpROBlT86M0fF6QWtSM2YiT9aYmpcQ53sxn+L5saeP5KhWXpoh+34QceeqCqr4oow
+IFTfmTa2DahLuMiapqawOGi3zzfDTDvTXQiGcwNayzC0xkDEAdKGqw5I82KMvb1lFIcJNyxVKezI
+TjZvT8F/qE8PXxrptHaLQQg1sakEhU21EZvyZoe2VeO6Ewc2FSuFdb+nITrODgVtcwg/4yazMQ0J
+pdsPZ+WJNbQXNvW14jA3nuL4YWtT+6Y8GlPaTHZoq1eBuqC7E6ZIX6U1G7mjnEjqgVg0yy0ZNJk0
+dYvaJwdrsrIsIL+x32eKuUiXInAgOgUgmbcXvljJwXNkWjBHrxGK5+MdAGYx6XxRx1w+ha3Nn87n
+nMsXQKeMLCCdzwqVzOVTJZu50/mcc/kC+JSR+dP51EVGz+XTFvS86XzOuXwB7ZSROdP56FDVXL4A
+PXXRezqfcy5fQE9dnC+dzzmXD+ffLCCdjxAzKbl8yCG5iHQ+51w+TVT3lc5nDIC2z0QamxV2unJM
+Cnz2eWD79rFtCltj7ZbsloC30w3TJHdzWMJ9xS1+htUg1VybmW027qiyS1LYKDZZ4tcZPIXNdfv4
+dWdUmT3s9xUz87eGsm0w5gNGaX1y9hQ6tBbzNEL7jBX3JD72ESZc9w0D4pU+GXOIjH0KqDmFbN1y
+MZs57xtf+XueyI4epdqOyfNagKq2dDagpfyyhZig7CvvDj7dIWlOdosvzT84Ta53DudxTbtjjS9R
+FrRt2h2zpdlhvrCPYAFpd67xJdgh6YYbB28Fm5ZCLugxY6IYvTVjgBdQbA+iulihWA==
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+</i:pgf>
+</svg>

+ 419 - 0
src/assets/icon/svg/gffx.svg

@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.1" id="图层_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px"
+	 viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<g>
+			<path d="M146.859,132.467c8.767,0,21.293,0,21.293,0l4.762,3.575l3.251,7.636c0,0-2.343,3.136-3.553,4.723
+				c-10.013,0-14.944,0-24.958,0c-1.549-1.587-4.609-4.723-4.609-4.723l-0.113-7.417
+				C142.932,136.261,145.576,133.706,146.859,132.467L146.859,132.467z M107.495,132.467c0,0,12.266,0,21.032,0
+				c1.322,1.239,3.967,3.794,3.967,3.794l-0.15,7.417c0,0-3.061,3.136-4.609,4.723c-9.977,0-14.723,0-24.698,0
+				c-1.246-1.587-3.59-4.723-3.59-4.723l3.288-7.636C102.734,136.042,105.908,133.706,107.495,132.467L107.495,132.467z
+				 M146.18,111.668c7.748,0,18.121,0,18.121,0l4.119,2.941c0,0,1.623,4.931,2.493,9.265c-1.06,1.161-2.116,2.323-3.212,3.522
+				c-8.654,0-12.264,0-20.916,0c-1.323-1.199-3.967-3.522-3.967-3.522l-0.113-9.265C142.705,114.609,145.046,112.636,146.18,111.668
+				L146.18,111.668z M111.312,111.668c0,0,10.188,0,17.896,0c1.135,0.968,3.477,2.941,3.477,2.941l-0.113,9.265
+				c0,0-2.606,2.323-3.969,3.522c-8.652,0-12.037,0-20.69,0c-1.059-1.199-2.153-2.39-3.174-3.551
+				c0.868-4.335,2.493-7.779,2.493-7.779S109.951,112.636,111.312,111.668L111.312,111.668z M112.338,101.454
+				c16.967,0,34.94,0,51.944,0c6.158,0,12.167,9.076,13.489,14.418c2.758,11.302,5.479,15.749,8.236,27.051
+				c2.08,8.477-3.135,15.469-11.712,15.469c-23.653,0-49.288,0-72.98,0c-8.577,0-13.715-6.992-11.675-15.469
+				c2.758-11.302,5.517-15.749,8.237-27.051c1.322-5.342,7.33-14.555,13.489-14.555L112.338,101.454z M163.727,106.574
+				c-17.268,0-34.535,0-51.805,0c-4.572,0-8.992,6.309-9.861,10.257c-2.532,11.303-5.064,14.79-7.595,26.092
+				c-1.36,6.077,2.494,10.339,8.578,10.339c23.199,0,46.363,0,69.525,0c6.122,0,9.939-4.262,8.576-10.339
+				c-2.529-11.302-5.063-14.789-7.557-26.092C172.682,112.883,168.262,106.574,163.727,106.574L163.727,106.574z M132.654,163.433
+				h10.238v3.776l15.479,3.02v4.008c-12.809,0-28.57,0-41.418,0v-4.008l15.701-3.02V163.433z"/>
+			<path d="M134.719,59.479c-1.279,0-2.48,0.36-3.52,1.04l-35.08,27.24l-10.24-13.12c-1.24-1.479-2.96-2.32-4.88-2.32
+				c-1.24,0-2.52,0.36-3.68,1.04l-36.88,26.96c-2.72,2.28-3.32,6.12-1.28,8.561c1.28,1.72,3,2.56,5.12,2.56
+				c1.36,0,2.64-0.479,3.44-1.279l32.16-23.521l10.24,13.12c1.16,1.4,2.92,2.24,4.76,2.24c1.4,0,2.76-0.48,3.8-1.36l39.799-30.24
+				c2.48-2.08,3.041-5.88,1.279-8.56C138.559,60.319,136.719,59.479,134.719,59.479z"/>
+			<path d="M19.399,162.4h52.08c3.32,0,6-2.681,6-6c0-3.32-2.68-6-6-6h-44.08c-3.2,0-5.8-2.601-5.8-5.801V42.2
+				c0-3.2,2.6-5.801,5.8-5.801h123.96c0.799,0,1.52,0.16,2.24,0.44c1.359,0.6,2.479,1.72,3.08,3.08
+				c0.318,0.72,0.439,1.479,0.439,2.24V83c0,3.319,2.68,6,6,6s6-2.681,6-6V34.2c0-5.4-4.4-9.761-9.76-9.761H19.399
+				c-5.4,0-9.76,4.4-9.76,9.761v118.44C9.639,158,13.999,162.4,19.399,162.4L19.399,162.4z"/>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+</i:pgf>
+</svg>

+ 438 - 0
src/assets/icon/svg/gfjkd.svg

@@ -0,0 +1,438 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.1" id="图层_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="124px" height="124px"
+	 viewBox="35 35 124 124" enable-background="new 35 35 124 124" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<g>
+			<g>
+				<path d="M102.732,104.867h4.8c5.139-7.022,13.44-11.586,22.812-11.586c0.296,0,0.589,0.013,0.884,0.022l-0.838-1.968
+					l-5.214-3.914c0,0-13.715,0-23.313,0c-1.406,1.356-4.301,4.153-4.301,4.153l0.124,8.121
+					C97.686,99.697,101.037,103.13,102.732,104.867z M104.466,110.189H53.89c-6.66,0-10.88-4.666-9.391-11.319
+					c2.771-12.374,5.543-16.192,8.315-28.567c0.952-4.323,5.792-11.23,10.798-11.23h56.718c4.965,0,9.805,6.907,10.797,11.23
+					c2.374,10.759,4.78,15.056,7.188,24.125c2.084,0.612,4.065,1.456,5.919,2.504c-2.852-10.977-5.671-15.976-8.527-27.68
+					c-1.448-5.848-8.026-15.786-14.769-15.786H64.067l-1.063-0.15c-6.744,0-13.322,10.088-14.769,15.936
+					c-2.979,12.374-5.999,17.243-9.019,29.617c-2.234,9.281,3.392,16.937,12.783,16.937h50.673
+					C103.073,113.852,103.683,111.974,104.466,110.189z M128.198,78.015c-0.953-4.746-2.729-10.144-2.729-10.144l-4.51-3.221
+					c0,0-11.357,0-19.84,0c-1.242,1.06-3.805,3.221-3.805,3.221l0.124,10.144c0,0,2.894,2.543,4.343,3.856h22.9
+					C125.881,80.558,127.039,79.286,128.198,78.015z M86.342,67.871c0,0-2.564-2.161-3.807-3.221c-8.438,0-19.593,0-19.593,0
+					c-1.489,1.06-4.467,4.815-4.467,4.815s-1.779,3.771-2.73,8.517c1.117,1.272,2.316,2.575,3.475,3.888h22.653
+					c1.491-1.313,4.345-3.856,4.345-3.856L86.342,67.871z M127.003,112.555c-2.985,0-5.405,2.412-5.405,5.387
+					c0,2.977,2.42,5.387,5.405,5.387c2.987,0,5.409-2.41,5.409-5.387C132.412,114.967,129.99,112.555,127.003,112.555z
+					 M97.52,125.46v-4.135H86.311v4.135l-17.19,3.306v4.389h35.487c-0.958-2.113-1.663-4.364-2.077-6.717L97.52,125.46z
+					 M58.764,87.422c-1.737,1.356-5.212,3.914-5.212,3.914l-3.6,8.361c0,0,2.566,3.433,3.931,5.17h27.041
+					c1.696-1.737,5.047-5.17,5.047-5.17l0.164-8.121c0,0-2.895-2.797-4.343-4.153C72.194,87.422,58.764,87.422,58.764,87.422z
+					 M130.549,97.22c-13.507,0-24.455,10.903-24.455,24.356s10.948,24.362,24.455,24.362c13.502,0,24.451-10.909,24.451-24.362
+					S144.051,97.22,130.549,97.22z M142.323,135.896c-0.745,0-1.423-0.302-1.913-0.788l-7.922-7.895
+					c-1.611,0.949-3.48,1.5-5.485,1.5c-5.972,0-10.813-4.82-10.813-10.771c0-5.947,4.842-10.771,10.813-10.771
+					s10.813,4.824,10.813,10.771c0,1.996-0.554,3.859-1.506,5.465l7.926,7.891c0.486,0.489,0.791,1.161,0.791,1.906
+					C145.027,134.691,143.816,135.896,142.323,135.896z"/>
+			</g>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	1dUKxctR9XIyMzKK9tKdmwdqJuO4ivNeZ9nKjjhz6HaVllHpz9FWJY4u571xFkebeSMuaveodHF6
+nEeSAns6jvPBAwFjehxbPtrDxF3HmCmn0OF0hVn5bPfAuCHphK/Toe7jcs6R253sHTv0SVGzmSPv
+UbecI++16XOaQ8v+zUd+xUsMM8+h0esZoGbksxLqgXdOzrLRmeLdmsdBDR4dM25FHDhm6fgapnHz
+ZH6keWTszIg0550UP0gzc7cZWzP7i7OyHkQVMKZgLULNfTukpU8FzElLGtk7tuGVRElvwLC39nbo
+aQ9e8eTDg1dP9qxE7hRz620P2jzCLua800kWQrG5tMbahlMyWMLTxNWn2wEt3il7plmiRhC/HVo3
+VpwNNee0PwYu4I0R551KGjpoXnWHhD1Heeekzxzq5G6UN65+HxcNU3gadxJmx9WRRb0MUDK9LBqm
+c67RgDlBP2A46tg5V4+RATmnZdmCk3zraahPzra/GpnCTPtPkzAr3RpCnCgrDXVrfTGo0h1BOk/z
+uw68cvRwn4xz45ZYN5P3xt4n1QMF3RIXhCqK98Ygb2ZDlUd6nqVPFjPK7L3Z44/HFu+NuJIfucfK
+U703tJXGn8zt4Di2eG8CxlzcWa2Kz2NW743BbefEcfiT9bkHh+fGV4KQqSfHU3fvjR4J6ZUPxxKP
+7DgkxS9wvIi4JEiFc/DeBMwn9XnixivW1CE7yB7XCQjKzBGoYlak96dYkTYbhZDQ5BWmw6JIj04W
+kiG5d827u+GslgMhT6pVczK7B8hxcAjM7IG69sHtRNxXqbIb5bpQRydzH3umcIGQ48lns6T4Ocdl
+mVUOrxQ/3wHzBrEGKX7OfjrPZFYzWVjcpo4L2jMcEMcCItDL65YNWVQWtsZ72SIh2bYmZ83Mc7DW
+Fp2Zxxh2PW9mHvtKmyszzxgM22AM1vORmecnGNZHZh7VxMUNLTQzT6cbv1nqTJl5+ka+S6jV/Jl5
+eAmw5InMl5lnjbxXkvNmEWYsmXlec7OgzDzHnUK2fSFwurDs8gUY8taq7suIxf+qaJ0l2xHK/kMv
+bYEXPrnA9ezKPTXg8ma4gKNVcSuqu2yezWJoyGJiO7VCLGnXhuY9AgBaUYLIncIjZguxvnb0l9Mi
+75lCrCkbgpBL57BJawxLYKJHNBk+0rIC1kO1S4s75RiaugnNzNMc6bHy2PRIcGVR1RHO5zW2yWZx
+c7QIeoRWHPICZjFxcUOM9Oh6yghpaH56hFZMxEjz2TAq/qQ183nHTqeKGZRbF4c2jDBqcXlBmaea
+rZrdAY8k2dtFJMniHI+FJck+fi0ySfbxazFJsvwSS9aPhwrRXjo1xP2ZM1ZmbYiZiQbckmRRQx7H
+DTB2h2O01jwbcj7oGqfRaTq09xE5mFBcjoJ1i1/SNBsrPW6GYzZ63Ax7TAZzaC+kTP2EpDy6WFt4
+Ul6A/bTreZLyaOT5E5LyFmB7siTlmWxPBya2gKQ8o/vhztVMnyspzwimuZjIPpCorlnfM55+Dyl+
+ppgL59PvjWLNLcVvziPhzEhblOMZmjIdyDiXZtMZm49Qdt6ZCNCP/zBPaJIpgtclGAJ22CGWwdmv
+x5B1bekTbVno4Tys4a6Ku+gCX6VHX9WmC9ezrw+vcOVe+b5609hPToq1ivy809q5Kn/wpWLy+La8
+LB03ynvRxtXO8Fs0g74d1FG99VL17rHaFdZ3l8pEOGEvscEPfWPLQwvAleJne8akMEva3fJNs270
+dpmuldvdLD00na7Qu3NL9oMbC3lHqPgycgeomWW4ifzJOdmv6ZrsNxKdocJN5I5Q4SbyNwN5WpPC
+Ii5pd/W0YIBqzkPDt3NrUG3Jful3uEG075AAF3FJ9luqthOOULnqyXbdGG1nS7tLnZW/OaXdtdzS
+7lYyNKgB7Z7Ci+V72nDxglo97522naBeumD47ORG9QtQh1upXFfNU7tCDlRQvylJgdONnSRDPVhp
+U7HEMVTlvm1sFhjqRTeHk4ouTNGomynNbWcn4nWKV6bkFurvEt/roNwi1KYj5l2mstc9B24i3CSk
+UeM7DGdRs92BZlKRGSK6nJOLSh6Rq9aIroVer+dwxMSir9ejTd+sbjvbqW1syZk0B3F9bch5nJdu
+jh10udtNidZ2iR30cbOe4wiVyHuGVM+h50UrLiM0Ou/LDLHarH1iuWOFFfFeMdrsdDP0uh6AFgBt
+z+ojGSsLTeyjZfX59tk4J/bRrATFbbfIxD5HB/FiE/togwtoB2kuLLGPFlWiRkIuMLGP6XSe+RP7
+GNzdi0jso2X1BXwdZuKa2EfL6qNHQs6V2Efb51HJc4GJfbR5JdJzoYl9tCgFoyBYUGIfLY/BmrGy
+gMQ+WlZfwOWMLp+JfbR0JAxmsYl9NOGkb0UsLLGP1idqnM18iX2mOVSy+kzk6VNztR1nRlWgFp3Y
+R2vKtlk8f2KfqSnvG5j9JvbNjzSmxD5mpM2X2GdqiiHNx2diHy2rT3Wp+opHpif20XRSS7rCIhL7
+9AZsd0UsMrHPKQZqwYl9DibuohP7aEMK/LLwxD7aLOHAscUm9nnZngtK7KOhw7aRP39iH21IAdrJ
+SU76KiQb+rMRzTxtL1yWrZcUP43fPPQOWqIaLSQ+XAmxYt89+8qRbzioHPPc4sescsx3i5/Rn6le
+4eeucrChyvMOYLwbxYQqT23DfR1oOjRcb+d5Zy/j9NmZgkeAv8uVe8zSSNledeuWl1bA2icsCDxu
+6mVFleRMxjZmc+lkMlFOl/08NksISmCTQRdwc5sdzx9qBZf/ecbZsOrr7pf/BRzuWHGYAr+X/5m9
+HE73/82Yg2mPufARD+3n8j+Ku5ty/99MTi0tly+1ACfkbJf/KU5Ij/v/vBDkefmfqqq73/83TwSJ
+uHcdXQ7MfUbX6GRxOR57mxdMCblO6rhpbw2NbzM89+Bo8R0W1xBTTp9zAB97dPfJPNcO6EOyRBo7
+BsB4XtvnEjDEnB4HuJknIdeMnc6YaUEzpjTVP+0pTfVPLPkChlOtnIWfq+SDvLmEx2wyhcQ3Fhpq
+1VhcqFWDNdTKI5K6/skUZcWQiBmZZydFbwWrsu5LgLEhbxlIHMSeDc1Cig7uB9yQz0x7Wp9ohyTS
+WCdjti/l+GVUtkMV3MbdKOaEF/Sg5J47Y9X7XCwCaE1gikY3CDMHbOK5+S5tuJw6STU23VIokBYX
+sZj9is8m6qVIszgLIQXLQa+fLTHmZugzhYIWZAGtLepyx5shTqGYmwuMP1iuWwowJGJubcxrJZTI
+grYcw+wrZwG14rzbrLpUGRvye2GZ0b7BDZmTOma8jMg8aVHbZjFzFgU9hWL9a8OWQrH+5Z0Yw0iP
+zPf+BdzzPZtuG+4z7JQGlCy8hdEj/d6/WVV1n/f+2VR169V/fsnIHLTh28Sd7d6/gMcFggvIjYJ7
+/6w+G/bL+iitOZ89ZmI2jLkbPu79C7Af3w6xL35xaOZps0SBuCs/qKmWIZTRKNb8ZPu2lzrLDIZq
+wON27Nv5j9ZSEjEXke37+OXu/GKN6IKG/GX7Wngabmj+bF9oxfVsu9my729dd7msiVSag9iNHuMU
+erybyQ2mBPU50ONmmDFjxiuRioi1lsyaS8WULWe37g1zM1PoDmptFute4QKOBv4dk3/bM5FKRRpr
+LpV3SmaCZuc72p4OQgqh9MaZTTtqjE7uB+gW47Jg0RhhNK+lRNymNJYSnlelM2mMTawxmlWOefJu
+i3fv1gNZdKaAOfRMebelhIfdRNvxcZybUoIpkZ3hVC3UVMZzN4o579YaEeK4G8V0geDMl2FSj5iA
+uwMXdRlmUw/O0sH4yrvVyZhLVltxGkA9HrollWR5j18lCYNXe9lm+b7avCrfV+T9wmHm6rhUTLyU
+SsXkCcSLNkaqIFrtm3un+KLM6VvL16P+Q8CYw27OkXtwzszLXWzWjQvKlJkX3Xo5t+YDEvJUr6Zb
+3Q4NHRIRm3du+YDdpCNUrnpVvDDbN5YcOWO2mhXqN7fL/+J5A1RIVSPhPNrVdJvRsQbVmiOXunuv
+bTlcTbcUdsyRk6ff+IQan0bLkYtub306X8PncuVgqvlggaoEWWhI/nROf+Sqw6srR6hrNem96wRV
+QmDcUgIv7pyhVs4eDhwxrN/rqPo6zYAvbFOLaFSBj78py32Tsd4WrmdkNg5VU481piZTkTqppwjO
+WoYeMqIScXXatwpTJ/8y5kw08WeJzjSvtMNvUfshefW14SwRUq7XunmF2FidKc75R1+0PqmpJDNo
+EahPs4TY4L0yY/ioKb/KV+AWrU/Y6WQ2cf36nerrHgFupoBLd1QxBG4xp8fNFLjlkodmiQS16AIz
+rqohawyYV9RQmSE2lGGEGAx0a+Y16tAnegyYaTeKOS9xphgwV7pxCQPbJ92x20FmAzwx1PmWbkY1
+Y6NFWBrPFdo26KyeW58n39GRVlnYJvhzZRHbRGhwjwvwpz1XFuAGQ7OOt4nmPOiawSOteW69UhLn
+O12XSE9ISWTLW/O0aqApewzYTP40SyhKRxha83jbSzXqqGdnNh1hujBL2uJGnsOHXMXs1CWcZ7aD
+uuAQNeeDujDdeLv5zB4Ycn6FKSLhwP1kCGWPgDnPzkVcMp1kYaj/kZss5igG2vlp86RAeSl1GyR2
+UPOwOXdLcjyKgUFVt9y3ZmH/jHmJtDk070rSzxdgzkv0vIhYnUONblzwdROfe0WoFgG05pF4NMP6
+urHu05viOmduzfOm5JmQ5nnJ0UxI88xNYh+m9Zqj+ZCWcuyYJYvZtlk8W0oiq8VLzb9hT0l0IE9b
+PiKVPNlTEh06YctHDDjdJ82Wksiaj2iRnrOnE7LlIwZc7pNmSElkzUd0N9g9Z4k1H9El+oElJZE1
+H9EUDDs7RljzEenbq8wpiaz5iBiMe0qi0iPbuCxKletlhTpP+6mXFRr2b37mZYXE8Ph+9JMvKzS5
+7Zj5x8yXFTrxtAVfVmiJgfpZlxXa3HY/57JCk5D+eZcVBua535P9skKPeAHoVi316KRXX7OcagW3
+HQZsp1r5vPCQkklooGrf0XbWCw/dEzIC7qdasV94yJCOvYgLDxdyqpX3hYdsp1rNfeGhmgC4iFOt
+XC48nC3f0/eFhxbitdx26LagZ7rw0NhZ+22HNMPD14WHvtJ8Zr/w0Mk5QW47dA6AmfHCQ/cbFwJs
+93t6X3jI4utcwIWH7rcd6qOZ88JD9mDYuS481GeJ5gS2RNv5v/DQnYwD5Iyu+S88dJd8jrbnrBce
+OiV+xa32je9kfHzhIeMeAUNoluuFhzOEXc9z4aG6kOi3HQZmz8inX3jo3grVmeLnwkOHVlwjunxc
+eOgerhZguY+A5cJD99RgSwyU/wsP3W05Q3T3fBceWjrGeqHTrBceuu/zaBuSniHeHhceuod4657b
+OS88ZEmPW8CFh2pGGv22Q5vW6ffCQz9cwMeFh7TkSF3B0NRBvw2xnTcS8L6n0H/KhQ==
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	m14FgwCJ/7yhIlrj2HDS+gEUlMdWlpk60Ku8iLmkSkaIJMU0rAV18DQnMVGKrc5km8PZNqkv9Ln+
+85YbR5ab3b/yqenLVl+MqVh1eAB/AM9pJmdyvZiKdT+LonNjXUAthoWcAX6kFdjcNmRh0Fw8phHo
+faK6jf4kzC7KtFOtNh7vfinWl2nHikxVGuntKeCL2p4VGLDYL4IWfZr4GNQS8GnkUipn14qBFPNI
+89Maw8Ihre+SKb81hRAxckGrhORe2tyMVmKGpxVrHVObct+Xm2HmxtPORG6/TBY+ebzPySuTmVfn
+kOLwBYz6dPnCq/6cvmQ9+XH7wps+Hb9/pRRIdVoC6n25LRWNyofjEsTUbK5Lom76cV7+uWKI6iIl
+xb6cpMoatbpJyVT6cZTCbPt0lcKrPp2l0F+f7lJAnk+HKVlmNpcpiBofTtOS+qYvt+lfHcfADeV1
+9ysXLIyUv4og+BX+GryymogwRsLAb2osjEGW0OJhgLlQImKg2GdMDKEZX1ExNI+xQoWUyBiqI5oW
+G0N13NqjY4i6ao2PofuMKREyysqjRskQV6QtTgaK/UXKKG/6iJUhXfEVLeNogPiNmCFbAT5iZoDj
++IyagVf9xc2Q3vqKnHH0FFCjZ6DYZ/wMzK7PCBowwv3F0BDWYouiIcW+4mhUWqLF0tCd2JRoGiKC
+rfE0VBc6LaKG4lG2x9QQZ7Q1qobqyabE1RDKsUXWQLHP2BoFcdT4GooDmRZhQ3VI02JsaM5YSpQN
+3blLibMhFf1E2sDI7LE2VJc3LdqGhq+aYRH+swlm9+S4eX0cnCl0x4uDk4YWiQOkS4nFITJ39mgc
+B/cUISCHXVS2qBziCbXF5dB3LimRObByKbE51M1VWnQOwbUtPoe6uUuL0KFuF9NidBRs/ZUbvS/z
+Gr3/bJT+/90ofVmEUWo19X6eERmutyfvr71BV5KDjWkP7FdiLN7VfWddQJgQr4KoQV4hJJlUBl2c
+YhKHGx9W6+036Upu9/qQc/I2bv+Qgu3BYDhpT6QRehR8k6XxZChLaCjDX6EEXtJeWF2tnFcDv/y/
+oRGz+w==
+	]]>
+</i:pgf>
+</svg>

+ 22 - 87
src/components/lightDetial/index.vue

@@ -1,14 +1,12 @@
 <template>
   <div style="height: 100%">
-    <!-- <div class="wtname">
-      :class="colorList[wtInfo.status]" <div class="wt-status"></div> 
-      <div class="wt-text">{{ wtname }}</div>
-    </div>-->
     <div
       class="wt-top"
       :class="colorFlag ? colorList1[wtInfo.status] : colorList[wtInfo.status]"
     >
       <div class="wt-text">设备名称:{{ wtname }}</div>
+      <div class="wt-info">厂商名称:厂商名称</div>
+      <div class="wt-xh" @click="handleXhClick(wtInfo)">设备型号:设备型号</div>
       <div class="wt-alarm" @click="handleAlarm(wtInfo)">
         <i
           class="svg-icon svg-icon-sm"
@@ -71,16 +69,18 @@
       </div>
     </div>
     <alarmDialog ref="alarmDialog" />
+    <powerAndSpeed ref="powerAndSpeed" :tabEvent="-2" />
   </div>
 </template>
 <script>
 import { GetWtTelemeteryInfo } from "@/api/factoryMonitor/index.js";
 import { GetWtPoints, GetPointsData } from "@/api/points/index.js";
 import svgIcon from "@/components/coms/icon/svg-icon.vue";
+import powerAndSpeed from "@/components/powerAndSpeedSearch/index.vue";
 import alarmDialog from "@/components/alarm";
 export default {
   name: "lightDetail",
-  components: { svgIcon, alarmDialog },
+  components: { svgIcon, alarmDialog, powerAndSpeed },
   props: {
     stationName: {
       type: String,
@@ -89,14 +89,6 @@ export default {
       type: String,
       default: "4vh",
     },
-    rightcellHeight: {
-      type: String,
-      default: "3.25vh",
-    },
-    partHeight: {
-      type: String,
-      default: "15vh",
-    },
     wind: {
       type: Object,
       default: () => {},
@@ -178,6 +170,10 @@ export default {
     },
   },
   methods: {
+    handleXhClick(wind) {
+      //   console.log(wind);
+      this.$refs.powerAndSpeed && this.$refs.powerAndSpeed.init(wind);
+    },
     clear() {
       this.wtInfo = {};
       this.wtname = "";
@@ -341,80 +337,6 @@ export default {
 };
 </script>
 <style lang="less" scoped>
-.wtname {
-  height: 60px;
-  background: rgba(96, 103, 105, 0.2);
-  border-radius: 5px;
-  display: flex;
-  align-items: center;
-  padding-left: 20px;
-  color: #fff;
-  .wt-status {
-    width: 32px;
-    height: 10px;
-    margin: 0 20px;
-  }
-
-  .wt-text {
-    font-size: 16px;
-  }
-  &.green {
-    .wt-status {
-      background: #05bb4c;
-    }
-    .wt-text {
-      color: #05bb4c;
-    }
-  }
-  &.blue {
-    .wt-status {
-      background: #3c88f7;
-    }
-    .wt-text {
-      color: #3c88f7;
-    }
-  }
-  &.pink {
-    .wt-status {
-      background: #c530c8;
-    }
-    .wt-text {
-      color: #c530c8;
-    }
-  }
-  &.red {
-    .wt-status {
-      background: #ba3237;
-    }
-    .wt-text {
-      color: #ba3237;
-    }
-  }
-  &.orange {
-    .wt-status {
-      background: #e17d24;
-    }
-    .wt-text {
-      color: #e17d24;
-    }
-  }
-  &.white {
-    .wt-status {
-      background: #fff;
-    }
-    .wt-text {
-      color: #fff;
-    }
-  }
-  &.gray {
-    .wt-status {
-      background: #606769;
-    }
-    .wt-text {
-      color: #606769;
-    }
-  }
-}
 .wt-top {
   height: 60px;
   background: rgba(96, 103, 105, 0.2);
@@ -423,6 +345,7 @@ export default {
   align-items: center;
   padding-left: 20px;
   color: #fff;
+  font-size: 16px;
   .wt-text {
     margin-right: 50px;
   }
@@ -432,6 +355,18 @@ export default {
       margin-left: 5px;
     }
   }
+  .wt-info,
+  .wt-xh {
+    color: #959595;
+
+    margin-right: 50px;
+  }
+  .wt-xh {
+    &:hover,
+    &:active {
+      font-weight: 700;
+    }
+  }
   &.green {
     color: #05bb4c;
   }

+ 402 - 0
src/components/powerAndSpeedSearch/index.vue

@@ -0,0 +1,402 @@
+<template>
+  <el-dialog v-model="dialogVisible" width="85%" top="40px">
+    <template #title>
+      <div class="dialog-title">
+        <div class="title">功率曲线</div>
+      </div>
+    </template>
+    <div class="dialog-body" style="height: 900px; width: 100%; display: flex">
+      <img class="dialog-img" src="@/assets/imgs/dialog.png" />
+      <div class="power_Table">
+        <el-table
+          :data="powerLinefittingData"
+          stripe
+          size="mini"
+          height="100%"
+          ref="fitting_table"
+          width="100%"
+        >
+          <el-table-column
+            v-for="(item, index) in tableHeader"
+            :key="index"
+            sortable
+            :prop="item.code"
+            :label="item.title"
+            align="center"
+          >
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="power_Echarts">
+        <div id="fittingid" class="fittingEchartSty"></div>
+      </div>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+import { getApiPerformancecurvefitting } from "@/api/monthlyPerformanceAnalysis";
+import * as echarts from "echarts";
+import partten from "@/helper/partten.js";
+import util from "@/helper/util.js";
+export default {
+  name: "powerAndSpeed",
+  data() {
+    return {
+      dialogVisible: false,
+      stationVal: "",
+      windVal: "",
+      powerLinefittingData: [], //展示数据
+      tableHeader: [
+        { title: "风速(m/s)", code: "speed" },
+        { title: "保证功率(KW)", code: "ensurepower" },
+        { title: "拟合功率(KW)", code: "theorypower" },
+      ],
+      toFixed: "0",
+      originData: [], //初始数据
+    };
+  },
+  props: {
+    tabEvent: { type: Number },
+  },
+  created() {},
+  watch: {
+    tabEvent: {
+      handler(val) {
+        this.tableHeader = this.tableHeader.map((item) => {
+          if (item.code == "speed") {
+            if (val == -2) {
+              item.title = "光照(W/m²)";
+            } else {
+              item.title = "风速(m/s)";
+            }
+          }
+          return { ...item };
+        });
+      },
+      immediate: true,
+    },
+  },
+  methods: {
+    init(wind) {
+      this.dialogVisible = true;
+      this.stationVal = wind.wpid;
+      this.windVal = wind.wtid;
+
+      this.getTableData();
+    },
+    //过滤数据
+    dataFilter(num) {
+      this.toFixed = num;
+      this.powerLinefittingData = this.filterList(this.toFixed);
+    },
+    filterList(num) {
+      let data = JSON.parse(JSON.stringify(this.originData));
+      switch (num) {
+        case "0":
+          return data.filter((item) => {
+            let a = JSON.stringify(item.speed).split(".");
+            if (a.length == 1) {
+              return item;
+            }
+          });
+        case "1":
+          return data.filter((item) => {
+            let a = JSON.stringify(item.speed).split(".");
+            if (a.length == 2) {
+              if (a[1].length == 1) {
+                return item;
+              }
+            }
+          });
+        case "2":
+          return data.filter((item) => {
+            let a = JSON.stringify(item.speed).split(".");
+            if (a.length == 2) {
+              if (a[1].length == 2) {
+                return item;
+              }
+            }
+          });
+      }
+    },
+    seachData() {
+      this.getTableData();
+    },
+    async getTableData() {
+      let params = {
+        dateType: 2,
+        wtId: this.windVal,
+        type: this.tabEvent,
+      };
+      const { data } = await getApiPerformancecurvefitting(params);
+
+      if (data && data.code == 200 && Object.keys(data.data).length) {
+        this.changeEchartsData(data.data.chanrt);
+        this.originData = data.data.list;
+        this.dataFilter(this.toFixed);
+      } else {
+        this.originData = [];
+      }
+    },
+    // 整合echarts数据
+    changeEchartsData(datas) {
+      let xAxis = [];
+      let lenged = [];
+      let seriesOne = [];
+      let seriesTwo = [];
+      let series = [];
+      let showYx = false;
+      if (datas && datas.length > 0) {
+        showYx = true;
+        lenged = ["保证功率", "拟合功率"];
+        datas.forEach((it, index) => {
+          xAxis.push(it.speed);
+          seriesOne.push(it.ensurepower);
+          seriesTwo.push(it.theorypower);
+        });
+        let obj = {
+          name: "保证功率",
+          type: "line",
+          smooth: true,
+          lineStyle: {
+            width: 1,
+          },
+          data: seriesOne,
+        };
+        // series.push(obj)
+        let objs = {
+          name: "拟合功率",
+          type: "line",
+          smooth: true,
+          lineStyle: {
+            width: 1,
+          },
+          data: seriesTwo,
+        };
+        // series.push(objs)
+        series = [obj, objs];
+      }
+      this.getChartes(xAxis, lenged, series, showYx);
+    },
+    getChartes(xAxis, lenged, series, showY) {
+      let option = {
+        color: [
+          "#1C99FF",
+          "#FF8700",
+          "#3D54BE",
+          "#fa8c16",
+          "#1DA0D7",
+          "#DD5044",
+        ],
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(0,0,0,0.4)",
+          borderColor: partten.getColor("gray"),
+          textStyle: {
+            color: "#fff",
+            fontSize: util.vh(16),
+          },
+        },
+        legend: {
+          show: true,
+          data: lenged,
+          padding: [10, 10],
+          right: 56,
+          icon: "circle",
+          itemWidth: 6,
+          inactiveColor: partten.getColor("gray"),
+          textStyle: {
+            color: partten.getColor("grayl"),
+            fontSize: 12,
+          },
+        },
+        grid: {
+          top: 56,
+          left: 40,
+          right: 40,
+          bottom: 24,
+          containLabel: true,
+        },
+        xAxis: [
+          {
+            name: this.tabEvent == -1 ? "m/s" : "W/m²",
+            type: "category",
+            boundaryGap: false,
+            axisLabel: {
+              formatter: "{value}",
+              textStyle: {
+                color: "#959595",
+                fontSize: 14,
+              },
+            },
+            nameTextStyle: {
+              color: "#959595",
+              fontSize: 14,
+            },
+            data: xAxis,
+          },
+        ],
+        yAxis: {
+          // show: showY,
+          type: "value",
+          name: "kWh",
+          axisLabel: {
+            formatter: "{value}",
+            textStyle: {
+              color: "#959595",
+              fontSize: 14,
+            },
+          },
+          nameTextStyle: {
+            color: "#959595",
+            fontSize: 14,
+          },
+          boundaryGap: false,
+          //分格线
+          splitLine: {
+            show: false,
+          },
+        },
+        series: series,
+      };
+      let dom = document.getElementById("fittingid");
+      dom.removeAttribute("_echarts_instance_");
+      let myChart = echarts.init(dom);
+      myChart.clear();
+      myChart.setOption(option);
+
+      window.addEventListener("resize", function () {
+        myChart.resize();
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.dialog-body {
+  height: 800px;
+  width: 100%;
+  display: flex;
+  .power_Table {
+    height: 100%;
+    width: 420px;
+  }
+  .power_Echarts {
+    height: 100%;
+    width: calc(100% - 420px - 20px);
+    .fittingEchartSty {
+      height: 100%;
+      width: 100%;
+    }
+  }
+
+  //   .powerLinefitting_Table {
+  //     height: calc(100% - 32px);
+  //     .el-table--mini {
+  //       .el-table__header-wrapper {
+  //         tr {
+  //           background: rgba(83, 89, 104, 0.3) !important;
+  //           th {
+  //             vertical-align: top !important;
+  //           }
+  //           .cell {
+  //             color: #b3b3b3;
+  //             font-family: MicrosoftYaHei;
+  //             font-size: 14px;
+  //           }
+  //         }
+  //       }
+  //       .el-table__body-wrapper {
+  //         tr {
+  //           &:nth-child(2n) {
+  //             background: rgba(83, 89, 104, 0.05) !important;
+  //           }
+  //           .cell {
+  //             color: #d8d8d9;
+  //             font-family: ArialMT;
+  //             font-size: 13px;
+  //             height: 25px !important;
+  //           }
+  //         }
+  //       }
+  //     }
+  //     .historyBtn {
+  //       background: #43516b;
+  //       border-radius: 15px;
+  //       margin-top: 5px;
+  //       border: 1px solid #43516b;
+  //       span {
+  //         color: #fff;
+  //       }
+  //     }
+  //   }
+  //   .powerLinefitting_Echarts {
+  //     width: 100%;
+  //     background: rgba(0, 0, 0, 0.45);
+  //     position: relative;
+  //     height: 400px;
+  //     padding-bottom: 15px;
+  //     // border-bottom: 1px solid rgba(153, 153, 153, 0.5);
+  //     font-size: 16px;
+  //     font-family: Microsoft YaHei;
+  //     font-weight: 400;
+  //     color: #ffffff;
+  //     .chart-name {
+  //       display: flex;
+  //       align-items: center;
+  //       padding-left: 20px;
+  //       position: relative;
+  //       height: 39px;
+  //       width: 98%;
+  //       margin-left: 1%;
+  //       border-bottom: 1px solid rgba(153, 153, 153, 0.5);
+  //       font-size: 16px;
+  //       font-family: Microsoft YaHei;
+  //       font-weight: 400;
+  //       color: #ffffff;
+  //       .point {
+  //         width: 6px;
+  //         height: 1px;
+  //         background-color: #ffffff;
+  //         position: absolute;
+
+  //         &.point-left {
+  //           left: 0;
+  //         }
+
+  //         &.point-right {
+  //           right: 0;
+  //         }
+
+  //         &.top {
+  //           top: -1px;
+  //         }
+
+  //         &.bottom {
+  //           bottom: -1px;
+  //         }
+  //       }
+  //     }
+  //     .fittingEchartSty {
+  //       width: 100%;
+  //       height: calc(100% - 39px);
+  //       background: rgba(0, 0, 0, 0.45);
+  //     }
+  //   }
+}
+.el-table::v-deep {
+  .el-table__header-wrapper {
+    th {
+      height: 35px !important;
+      line-height: 35px !important;
+    }
+  }
+
+  td {
+    height: 33px !important;
+    line-height: 33px !important;
+  }
+}
+</style>

+ 51 - 28
src/components/windDetail/index.vue

@@ -2,14 +2,17 @@
   <div class="bodys">
     <div class="edge" v-if="Object.keys(monitorInfo).length">
       <div class="info" style="position: relative">
-        <div
-          style="
-            display: flex;
-            width: 100%;
-            align-items: center;
-            margin-top: 10px;
-          "
-        >
+        <div class="info-wrapper">
+          <div class="ps-info">
+            <div class="ps-title">厂商名称:</div>
+            <div class="ps-name">厂商名称</div>
+          </div>
+          <div class="ps-info" @click="handleXhClick(windInfo)">
+            <div class="ps-title">设备型号:</div>
+            <div class="ps-name">设备型号</div>
+          </div>
+        </div>
+        <div class="info-wrapper">
           <div class="info-title" :class="colorList[monitorInfo.status]">
             <span class="text">设备名称: {{ windname }}</span>
           </div>
@@ -279,11 +282,12 @@
       </div>
     </div>
     <alarmDialog ref="alarmDialog" />
+    <powerAndSpeed ref="powerAndSpeed" :tabEvent="-1" />
   </div>
 </template>
 <script>
 import { GetWtPoints, GetPointsData } from "@/api/points/index.js";
-
+import powerAndSpeed from "@/components/powerAndSpeedSearch/index.vue";
 import {
   GetWtMonitorInfo,
   GetWtTelemeteryInfo,
@@ -320,7 +324,7 @@ export default {
       times: "",
     };
   },
-  components: { svgIcon, alarmDialog },
+  components: { svgIcon, alarmDialog, powerAndSpeed },
   apiUrl: "",
   props: {
     wind: {
@@ -398,6 +402,10 @@ export default {
     },
   },
   methods: {
+    handleXhClick(wind) {
+      //   console.log(wind);
+      this.$refs.powerAndSpeed && this.$refs.powerAndSpeed.init(wind);
+    },
     cancle() {
       this.windInfo = {};
       this.windname = "";
@@ -607,7 +615,7 @@ export default {
   width: 100%;
   height: 100%;
   .edge {
-    width: 18%;
+    width: 350px;
     display: flex;
     height: 100%;
     flex-direction: column;
@@ -616,13 +624,34 @@ export default {
     .info {
       width: 100%;
       flex: 0 0 auto;
+      padding: 10px 15px;
       //   background-color: rgba(11, 12, 12, 0.45);
       background-color: rgba(96, 103, 105, 0.2);
       border-radius: 5px;
       display: flex;
       flex-direction: column;
-      align-items: center;
-
+      .info-wrapper {
+        display: flex;
+        width: 100%;
+        align-items: center;
+        justify-content: space-between;
+        margin-bottom: 10px;
+        .ps-info {
+          display: flex;
+          align-items: center;
+          margin-bottom: -5px;
+          white-space: nowrap;
+          color: #959595;
+          font-size: 15px;
+          &:nth-child(2) {
+            cursor: pointer;
+            &:hover,
+            &:active {
+              font-weight: 700;
+            }
+          }
+        }
+      }
       .info-title {
         width: 50%;
         height: 25px;
@@ -633,48 +662,46 @@ export default {
         flex-direction: row;
         align-items: center;
         justify-content: center;
-        margin-left: 20px;
-        margin-right: 20px;
         white-space: nowrap;
         &.green {
           background-color: rgba(5, 187, 76, 0.2);
-          border: 1px solid #05bb4c;
+          //   border: 1px solid #05bb4c;
           color: #05bb4c;
         }
 
         &.blue {
           background-color: rgba(0, 70, 199, 0.2);
-          border: 1px solid #3c88f7;
+          //   border: 1px solid #3c88f7;
           color: #1c99ff;
         }
 
         &.pink {
           background-color: rgba(197, 48, 200, 0.2);
-          border: 1px solid #c530c8;
+          //   border: 1px solid #c530c8;
           color: #c530c8;
         }
 
         &.red {
           background-color: rgba(186, 50, 55, 0.2);
-          border: 1px solid #ba3237;
+          //   border: 1px solid #ba3237;
           color: #ba3237;
         }
 
         &.orange {
           background-color: rgba(225, 125, 36, 0.2);
-          border: 1px solid #e17d24;
+          //   border: 1px solid #e17d24;
           color: #e17d24;
         }
 
         &.write {
           background-color: rgba(255, 255, 255, 0.2);
-          border: 1px solid #ffffff;
+          //   border: 1px solid #ffffff;
           color: #ffffff;
         }
 
         &.gray {
           background-color: rgba(96, 103, 105, 0.2);
-          border: 1px solid #606769;
+          //   border: 1px solid #606769;
           color: #606769;
         }
       }
@@ -713,16 +740,13 @@ export default {
         }
       }
       .info-item {
-        width: 90%;
         font-size: 24px;
         font-family: Adobe Heiti Std;
         font-weight: normal;
         color: #ffffff;
-        padding: 20px 0;
       }
 
       .info-value {
-        width: 90%;
         display: flex;
         flex-direction: row;
         align-items: baseline;
@@ -731,7 +755,6 @@ export default {
         font-family: Arial;
         font-weight: 400;
         color: #05bb4c;
-        margin-left: 5px;
         white-space: nowrap;
         .unit {
           font-size: 24px;
@@ -794,8 +817,8 @@ export default {
   }
 
   .parts {
-    width: 79%;
-    margin-left: 2%;
+    width: calc(100% - 350px - 20px);
+    margin-left: 20px;
     height: 100%;
     display: flex;
     flex-direction: column;

+ 287 - 312
src/router/index.js

@@ -725,289 +725,366 @@ export const asyncRoutes = [
           //   },
         ],
       },
-      //三率分析
+      //专题分析
       {
-        path: "efficiency",
-        redirect: "efficiency/restorationEfficiency",
-        component: () => import("@/views/economicsOperation/efficiency"),
-        name: "efficiency",
+        path: "thematicAnalysis",
+        redirect: "thematicAnalysis/comprehensiveAnalysis",
+        component: () => import("@/views/economicsOperation/thematicAnalysis"),
+        name: "thematicAnalysis",
         meta: {
-          title: "三率",
-          icon: "svg-slgl",
-          permissions: ["jn_slgl"],
+          title: "专题分析",
+          icon: "svg-ztfx",
+          permissions: ["jn_ztfx"],
         },
         children: [
           {
-            path: "restorationEfficiency",
+            path: "comprehensiveAnalysis",
             component: () =>
               import(
-                "@/views/economicsOperation/efficiency/restorationEfficiency"
+                "@/views/economicsOperation/thematicAnalysis/comprehensiveAnalysis"
               ),
-            name: "restorationEfficiency",
+            name: "comprehensiveAnalysis",
             meta: {
-              title: "复位及时率",
+              title: "综合分析",
               icon: "",
-              permissions: ["jn_slgl_fwjsl"],
+              permissions: ["jn_ztfx_zhfx"],
             },
           },
           {
-            path: "consumeEfficiency",
+            path: "windEnergy",
             component: () =>
-              import("@/views/economicsOperation/efficiency/consumeEfficiency"),
-            name: "consumeEfficiency",
+              import("@/views/economicsOperation/thematicAnalysis/windEnergy"),
+            name: "windEnergy",
             meta: {
-              title: "消缺及时率",
+              title: "风能利用率",
               icon: "",
-              permissions: ["jn_slgl_xqjsl"],
+              permissions: ["jn_ztfx_fnlyl"],
             },
           },
           {
-            path: "stateEfficiency",
+            path: "failure",
             component: () =>
-              import("@/views/economicsOperation/efficiency/stateEfficiency"),
-            name: "stateEfficiency",
+              import("@/views/economicsOperation/thematicAnalysis/failure"),
+            name: "failure",
             meta: {
-              title: "状态转换率",
+              title: "五项损失率",
               icon: "",
-              permissions: ["jn_slgl_ztzhl"],
+              permissions: ["jn_ztfx_wxssl"],
             },
           },
-        ],
-      },
-      //性能分析
-      {
-        path: "analyse",
-        redirect: "analyse/standAloneAnalyse",
-        component: () => import("@/views/economicsOperation/analyse"),
-        name: "analyse",
-        meta: {
-          title: "性能分析",
-          icon: "svg-dimension-new",
-          permissions: ["jn_xnfx"],
-        },
-        children: [
           {
-            path: "standAloneAnalyse",
+            path: "reset",
             component: () =>
-              import("@/views/economicsOperation/analyse/standAloneAnalyse"),
-            name: "standAloneAnalyse",
+              import("@/views/economicsOperation/thematicAnalysis/reset"),
+            name: "reset",
             meta: {
-              title: "单机性能分析",
+              title: "三率分析",
               icon: "",
-              permissions: ["jn_xnfx_djxnfx"],
+              permissions: ["jn_ztfx_fwjsl"],
             },
           },
           {
-            path: "monthlyAnalysis",
+            path: "MTBF",
             component: () =>
-              import("@/views/economicsOperation/analyse/monthlyAnalysis"),
-            name: "monthlyAnalysis",
+              import("@/views/economicsOperation/thematicAnalysis/MTBF"),
+            name: "MTBF",
             meta: {
-              title: "单机月度分析",
+              title: "可靠性分析",
               icon: "",
-              permissions: ["jn_xnfx_djydfx"],
+              permissions: ["jn_ztfx_kkxfx"],
+            },
+          },
+          {
+            path: "generation",
+            component: () =>
+              import("@/views/economicsOperation/thematicAnalysis/generation"),
+            name: "generation",
+            meta: {
+              title: "发电量分析",
+              icon: "",
+              permissions: ["jn_ztfx_dlfx"],
             },
           },
         ],
       },
-      //性能评估
+      //场站分析
       {
-        path: "performanceEvalute",
-        component: () =>
-          import("@/views/economicsOperation/performanceEvalute"),
-        name: "performanceEvalute",
+        path: "stationAnalyse",
+        component: () => import("@/views/economicsOperation/stationAnalyse"),
+        name: "StationAnalyse",
         meta: {
-          title: "性能评估",
-          icon: "svg-fjfx",
-          permissions: ["jn_xndjpg"],
+          title: "场站分析",
+          icon: "svg-fddl",
+          permissions: ["jn_fddlfx"],
         },
         children: [
           {
-            path: "performanceAssess",
+            path: "electricAnalyse",
             component: () =>
               import(
-                "@/views/economicsOperation/performanceEvalute/performanceAssess"
+                "@/views/economicsOperation/stationAnalyse/electricAnalyse"
               ),
-            name: "performanceAssess",
+            name: "ElectricAnalyse",
             meta: {
-              title: "风电性能等级评估",
+              title: "发电量分析",
               icon: "",
-              permissions: ["jn_glqx_glqxnh"],
+              permissions: ["jn_gfdlfx"],
             },
           },
           {
-            path: "performanceEvaluation",
+            path: "stationElectricAnalyse",
             component: () =>
               import(
-                "@/views/economicsOperation/performanceEvalute/performanceEvaluation"
+                "@/views/economicsOperation/stationAnalyse/stationElectricAnalyse"
               ),
-            name: "performanceEvaluation",
+            name: "StationElectricAnalyse",
             meta: {
-              title: "光伏性能评价",
+              title: "综合场用电量分析",
               icon: "",
-              permissions: ["jn_glqx_qrqcfx"],
+              permissions: ["jn_gfdlfx"],
+            },
+          },
+          {
+            path: "WindAndPhotovoltaic",
+            component: () =>
+              import(
+                "@/views/economicsOperation/stationAnalyse/windAndPhotovoltaic"
+              ),
+            name: "WindAndPhotovoltaic",
+            meta: {
+              title: "风光资源分析",
+              icon: "",
+              permissions: ["jn_gfdlfx"],
             },
           },
         ],
       },
-      //功率曲线
+      //风电分析
       {
-        path: "powerCurve",
-        redirect: "powerCurve/powerLinefitting",
-        component: () => import("@/views/economicsOperation/powerCurve"),
-        name: "powerCurve",
+        path: "windAnalyse",
+        component: () => import("@/views/economicsOperation/windAnalyse"),
+        name: "WindAnalyse",
         meta: {
-          title: "功率曲线",
-          icon: "svg-power-curve",
-          permissions: ["jn_glqx"],
+          title: "风电分析",
+          icon: "svg-fdfx",
+          permissions: ["jn_xnfx"],
         },
         children: [
           {
-            path: "powerLinefitting",
+            path: "powerAnalyse",
+            component: () =>
+              import("@/views/economicsOperation/windAnalyse/powerCurve"),
+            name: "PowerCurve",
+            meta: {
+              title: "功率曲线拟合",
+              icon: "",
+              permissions: ["jn_xnfx_djxnfx"],
+            },
+          },
+          {
+            path: "powerSearch",
             component: () =>
-              import("@/views/economicsOperation/powerCurve/powerLinefitting"),
-            name: "powerLinefitting",
+              import("@/views/economicsOperation/windAnalyse/powerSearch"),
+            name: "PowerSearch",
             meta: {
               title: "功率曲线查询",
               icon: "",
-              permissions: ["jn_glqx_glqxnh"],
+              permissions: ["jn_xnfx_djxnfx"],
+            },
+          },
+          {
+            path: "qxpclfx",
+            component: () =>
+              import(
+                "@/views/economicsOperation/windAnalyse/qxpclfx/index.vue"
+              ),
+            name: "Qxpclfx",
+            meta: {
+              title: "曲线偏差率分析",
+              icon: "",
+              permissions: ["jn_xnfx_djxnfx"],
             },
           },
           {
             path: "cutInAndOutAnalysis",
             component: () =>
               import(
-                "@/views/economicsOperation/powerCurve/cutInAndOutAnalysis"
+                "@/views/economicsOperation/windAnalyse/cutInAndOutAnalysis/index.vue"
               ),
-            name: "cutInAndOutAnalysis",
+            name: "CutInAndOutAnalysis",
             meta: {
               title: "切入切出分析",
               icon: "",
               permissions: ["jn_glqx_qrqcfx"],
             },
           },
+          {
+            path: "singleWindAnasyle",
+            component: () =>
+              import(
+                "@/views/economicsOperation/windAnalyse/singleWindAnasyle/index.vue"
+              ),
+            name: "SingleWindAnasyle",
+            meta: {
+              title: "单机性能分析",
+              icon: "",
+              permissions: ["jn_xnfx_djxnfx"],
+            },
+          },
+          {
+            path: "monthlyAnalysis",
+            component: () =>
+              import(
+                "@/views/economicsOperation/windAnalyse/monthlyAnalysis/index.vue"
+              ),
+            name: "MonthlyAnalysis",
+            meta: {
+              title: "单机月度分析",
+              icon: "",
+              permissions: ["jn_xnfx_djydfx"],
+            },
+          },
+          {
+            path: "performanceAssess",
+            component: () =>
+              import(
+                "@/views/economicsOperation/windAnalyse/performanceAssess/index.vue"
+              ),
+            name: "PerformanceAssess",
+            meta: {
+              title: "性能等级评估",
+              icon: "",
+              permissions: ["jn_glqx_glqxnh"],
+            },
+          },
         ],
       },
-      //专题分析
+      //光伏分析
       {
-        path: "thematicAnalysis",
-        redirect: "thematicAnalysis/comprehensiveAnalysis",
-        component: () => import("@/views/economicsOperation/thematicAnalysis"),
-        name: "thematicAnalysis",
+        path: "photovoltaicAnalyse",
+        redirect: "analyse/standAloneAnalyse",
+        component: () =>
+          import("@/views/economicsOperation/photovoltaicAnalyse"),
+        name: "PhotovoltaicAnalyse",
         meta: {
-          title: "专题分析",
-          icon: "svg-ztfx",
-          permissions: ["jn_ztfx"],
+          title: "光伏分析",
+          icon: "svg-gffx",
+          permissions: ["jn_xnfx"],
         },
         children: [
           {
-            path: "comprehensiveAnalysis",
+            path: "powerAnalyse",
             component: () =>
               import(
-                "@/views/economicsOperation/thematicAnalysis/comprehensiveAnalysis"
+                "@/views/economicsOperation/photovoltaicAnalyse/powerAnalyse"
               ),
-            name: "comprehensiveAnalysis",
+            name: "PowerAnalyse",
             meta: {
-              title: "综合分析",
+              title: "功率曲线拟合",
               icon: "",
-              permissions: ["jn_ztfx_zhfx"],
+              permissions: ["jn_xnfx_djxnfx"],
             },
           },
           {
-            path: "windEnergy",
+            path: "powerHotAnalyse",
             component: () =>
-              import("@/views/economicsOperation/thematicAnalysis/windEnergy"),
-            name: "windEnergy",
+              import(
+                "@/views/economicsOperation/photovoltaicAnalyse/powerHotAnalyse"
+              ),
+            name: "PowerHotAnalyse",
             meta: {
-              title: "风能利用率",
+              title: "功率温度分析",
               icon: "",
-              permissions: ["jn_ztfx_fnlyl"],
+              permissions: ["jn_xnfx_djxnfx"],
             },
           },
           {
-            path: "failure",
+            path: "lslfx",
             component: () =>
-              import("@/views/economicsOperation/thematicAnalysis/failure"),
-            name: "failure",
+              import("@/views/economicsOperation/photovoltaicAnalyse/lslfx"),
+            name: "Lslfx",
             meta: {
-              title: "五项损失率",
+              title: "离散率分析",
               icon: "",
-              permissions: ["jn_ztfx_wxssl"],
+              permissions: ["jn_xnfx_djxnfx"],
             },
           },
           {
-            path: "reset",
+            path: "prAnalyse",
             component: () =>
-              import("@/views/economicsOperation/thematicAnalysis/reset"),
-            name: "reset",
+              import(
+                "@/views/economicsOperation/photovoltaicAnalyse/prAnalyse"
+              ),
+            name: "PrAnalyse",
             meta: {
-              title: "三率分析",
+              title: "PR分析",
               icon: "",
-              permissions: ["jn_ztfx_fwjsl"],
+              permissions: ["jn_xnfx_djydfx"],
             },
           },
           {
-            path: "MTBF",
+            path: "performanceEvaluation",
             component: () =>
-              import("@/views/economicsOperation/thematicAnalysis/MTBF"),
-            name: "MTBF",
+              import(
+                "@/views/economicsOperation/photovoltaicAnalyse/performanceEvaluation"
+              ),
+            name: "PerformanceEvaluation",
             meta: {
-              title: "可靠性分析",
+              title: "性能等级评估",
               icon: "",
-              permissions: ["jn_ztfx_kkxfx"],
+              permissions: ["jn_glqx_glqxnh"],
             },
           },
+        ],
+      }, //管控效率
+      {
+        path: "efficiency",
+        redirect: "efficiency/restorationEfficiency",
+        component: () => import("@/views/economicsOperation/efficiency"),
+        name: "efficiency",
+        meta: {
+          title: "管控效率",
+          icon: "svg-dimension-new",
+          permissions: ["jn_slgl"],
+        },
+        children: [
           {
-            path: "generation",
+            path: "restorationEfficiency",
             component: () =>
-              import("@/views/economicsOperation/thematicAnalysis/generation"),
-            name: "generation",
+              import(
+                "@/views/economicsOperation/efficiency/restorationEfficiency"
+              ),
+            name: "restorationEfficiency",
             meta: {
-              title: "发电量分析",
+              title: "复位及时率",
               icon: "",
-              permissions: ["jn_ztfx_dlfx"],
+              permissions: ["jn_slgl_fwjsl"],
+            },
+          },
+          {
+            path: "consumeEfficiency",
+            component: () =>
+              import("@/views/economicsOperation/efficiency/consumeEfficiency"),
+            name: "consumeEfficiency",
+            meta: {
+              title: "消缺及时率",
+              icon: "",
+              permissions: ["jn_slgl_xqjsl"],
+            },
+          },
+          {
+            path: "stateEfficiency",
+            component: () =>
+              import("@/views/economicsOperation/efficiency/stateEfficiency"),
+            name: "stateEfficiency",
+            meta: {
+              title: "状态转换率",
+              icon: "",
+              permissions: ["jn_slgl_ztzhl"],
             },
           },
         ],
       },
-      //风电电量分析
-      {
-        path: "monthElectricAnalyse",
-        component: () =>
-          import("@/views/economicsOperation/monthElectricAnalyse/index.vue"),
-        name: "monthElectricAnalyse",
-        meta: {
-          title: "风电电量分析",
-          icon: "svg-fddl",
-          permissions: ["jn_fddlfx"],
-        },
-      },
-      //光伏电量分析
-      {
-        path: "monthElectricAnalyseGf",
-        component: () =>
-          import("@/views/economicsOperation/monthElectricAnalyseGf/index.vue"),
-        name: "monthElectricAnalyseGf",
-        meta: {
-          title: "光伏电量分析",
-          icon: "svg-gfdl",
-          permissions: ["jn_gfdlfx"],
-        },
-      },
-      //综合厂用电量
-      {
-        path: "monthElectricAnalyseAll",
-        component: () =>
-          import(
-            "@/views/economicsOperation/monthElectricAnalyseAll/index.vue"
-          ),
-        name: "monthElectricAnalyseAll",
-        meta: {
-          title: "综合厂用电量分析",
-          icon: "svg-cydl",
-          permissions: ["jn_zhcydlfx"],
-        },
-      },
       //综合管控KPI
       {
         path: "comprehensiveControl",
@@ -1062,58 +1139,6 @@ export const asyncRoutes = [
           },
         ],
       },
-      //   {
-      //     path: "reportForms",
-      //     redirect: "reportForms/newEnergyDaily",
-      //     component: () => import("@/views/economicsOperation/reportForms"),
-      //     name: "reportForms",
-      //     meta: {
-      //       title: "报表",
-      //       icon: "icon-dimension",
-      //     },
-      //     children: [
-      //       {
-      //         path: "newEnergyDaily",
-      //         component: () =>
-      //           import("@/views/economicsOperation/reportForms/newEnergyDaily"),
-      //         name: "newEnergyDaily",
-      //         meta: {
-      //           title: "新能源日报",
-      //           icon: "",
-      //         },
-      //       },
-      //       {
-      //         path: "newEnergyMonthly",
-      //         component: () =>
-      //           import("@/views/economicsOperation/reportForms/newEnergyMonthly"),
-      //         name: "newEnergyMonthly",
-      //         meta: {
-      //           title: "新能源月报",
-      //           icon: "",
-      //         },
-      //       },
-      //       {
-      //         path: "specifcGravity",
-      //         component: () =>
-      //           import("@/views/economicsOperation/reportForms/specifcGravity"),
-      //         name: "specifcGravity",
-      //         meta: {
-      //           title: "各风场生产月报",
-      //           icon: "",
-      //         },
-      //       },
-      //       {
-      //         path: "windMonthly",
-      //         component: () =>
-      //           import("@/views/economicsOperation/reportForms/windMonthly"),
-      //         name: "windMonthly",
-      //         meta: {
-      //           title: "新能源月报",
-      //           icon: "",
-      //         },
-      //       },
-      //     ],
-      //   },
     ],
   },
   //智慧检修
@@ -1216,75 +1241,11 @@ export const asyncRoutes = [
               permissions: ["jn_jkgl_lhztfx"],
             },
           },
-        ],
-      },
-
-      {
-        path: "energyEfficAnalyse",
-        redirect: "energyEfficAnalyse/healthPowerCurve",
-        component: () => import("@/views/HealthControl/energyEfficAnalyse"),
-        name: "energyEfficAnalyse",
-        meta: {
-          title: "能效分析",
-          icon: "svg-能效分析",
-          permissions: ["jn_nxfx"],
-        },
-        children: [
-          {
-            path: "healthPowerCurve",
-            component: () =>
-              import(
-                "@/views/HealthControl/energyEfficAnalyse/healthPowerCurve"
-              ),
-            name: "healthPowerCurve",
-            meta: {
-              title: "功率曲线拟合",
-              icon: "",
-              permissions: ["jn_nxfx_glqxnh"],
-            },
-          },
-          {
-            path: "powerAnalyse",
-            component: () =>
-              import("@/views/HealthControl/energyEfficAnalyse/powerAnalyse"),
-            name: "powerAnalyse",
-            meta: {
-              title: "功率曲线分析",
-              icon: "",
-              permissions: ["jn_nxfx_glqxnh"],
-            },
-          },
-          {
-            path: "powerHotAnalyse",
-            component: () =>
-              import(
-                "@/views/HealthControl/energyEfficAnalyse/powerHotAnalyse"
-              ),
-            name: "powerHotAnalyse",
-            meta: {
-              title: "功率光照曲线分析",
-              icon: "",
-              permissions: ["jn_nxfx_glqxnh"],
-            },
-          },
-          {
-            path: "qxpclfx",
-            component: () =>
-              import(
-                "@/views/HealthControl/energyEfficAnalyse/qxpclfx/index.vue"
-              ),
-            name: "qxpclfx",
-            meta: {
-              title: "曲线偏差率分析",
-              icon: "",
-              permissions: ["jn_nxfx_qxpcl"],
-            },
-          },
           {
             path: "wtSaturability",
             component: () =>
               import(
-                "@/views/HealthControl/energyEfficAnalyse/wtSaturability/index.vue"
+                "@/views/HealthControl/healthManagement/wtSaturability/index.vue"
               ),
             name: "wtSaturability",
             meta: {
@@ -1297,7 +1258,7 @@ export const asyncRoutes = [
             path: "temperatureAnalysis",
             component: () =>
               import(
-                "@/views/HealthControl/energyEfficAnalyse/temperatureAnalysis/index.vue"
+                "@/views/HealthControl/healthManagement/temperatureAnalysis/index.vue"
               ),
             name: "temperatureAnalysis",
             meta: {
@@ -1306,47 +1267,61 @@ export const asyncRoutes = [
               permissions: ["jn_nxfx_bjwd"],
             },
           },
-          {
-            path: "evaluationAnalysis",
-            component: () =>
-              import(
-                "@/views/HealthControl/energyEfficAnalyse/evaluationAnalysis/index.vue"
-              ),
-            name: "evaluationAnalysis",
-            meta: {
-              title: "预警评判分析",
-              icon: "",
-              permissions: ["jn_nxfx_yjpp"],
-            },
-          },
-          {
-            path: "malfunctionAnalysis",
-            component: () =>
-              import(
-                "@/views/HealthControl/energyEfficAnalyse/malfunctionAnalysis/index.vue"
-              ),
-            name: "malfunctionAnalysis",
-            meta: {
-              title: "故障评判分析",
-              icon: "",
-              permissions: ["jn_nxfx_gzpp"],
-            },
-          },
-          {
-            path: "powerAnalysis",
-            component: () =>
-              import(
-                "@/views/HealthControl/energyEfficAnalyse/powerAnalysis/index.vue"
-              ),
-            name: "powerAnalysis",
-            meta: {
-              title: "部件功率分析",
-              icon: "",
-              permissions: ["jn_nxfx_gzpp"],
-            },
-          },
         ],
       },
+
+      //   {
+      //     path: "energyEfficAnalyse",
+      //     redirect: "energyEfficAnalyse/healthPowerCurve",
+      //     component: () => import("@/views/HealthControl/energyEfficAnalyse"),
+      //     name: "energyEfficAnalyse",
+      //     meta: {
+      //       title: "能效分析",
+      //       icon: "svg-能效分析",
+      //       permissions: ["jn_nxfx"],
+      //     },
+      //     children: [
+      //       {
+      //         path: "evaluationAnalysis",
+      //         component: () =>
+      //           import(
+      //             "@/views/HealthControl/energyEfficAnalyse/evaluationAnalysis/index.vue"
+      //           ),
+      //         name: "evaluationAnalysis",
+      //         meta: {
+      //           title: "预警评判分析",
+      //           icon: "",
+      //           permissions: ["jn_nxfx_yjpp"],
+      //         },
+      //       },
+      //       {
+      //         path: "malfunctionAnalysis",
+      //         component: () =>
+      //           import(
+      //             "@/views/HealthControl/energyEfficAnalyse/malfunctionAnalysis/index.vue"
+      //           ),
+      //         name: "malfunctionAnalysis",
+      //         meta: {
+      //           title: "故障评判分析",
+      //           icon: "",
+      //           permissions: ["jn_nxfx_gzpp"],
+      //         },
+      //       },
+      //       {
+      //         path: "powerAnalysis",
+      //         component: () =>
+      //           import(
+      //             "@/views/HealthControl/energyEfficAnalyse/powerAnalysis/index.vue"
+      //           ),
+      //         name: "powerAnalysis",
+      //         meta: {
+      //           title: "部件功率分析",
+      //           icon: "",
+      //           permissions: ["jn_nxfx_gzpp"],
+      //         },
+      //       },
+      //     ],
+      //   },
       {
         path: "healthDetail",
         redirect: "healthDetail/wpHealth",

+ 0 - 262
src/views/HealthControl/energyEfficAnalyse/healthPowerCurve/index copy.vue

@@ -1,262 +0,0 @@
-<template>
-  <div class="draught-fan-list">
-    <div class="query mg-b-8">
-      <div class="query-items">
-        <div class="query-item">
-          <div class="lable">场站:</div>
-          <div class="search-input">
-            <el-select
-              v-model="wpId"
-              clearable
-              placeholder="请选择"
-              popper-class="select"
-              @change="
-                (wpId) => {
-                  getWt(wpId, true);
-                }
-              "
-            >
-              <el-option
-                v-for="item in wpArray"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-              />
-            </el-select>
-          </div>
-        </div>
-        <div class="query-item">
-          <div class="lable">风机:</div>
-          <div class="search-input">
-            <el-select
-              v-model="wtId"
-              clearable
-              placeholder="请选择"
-              popper-class="select"
-            >
-              <el-option
-                v-for="item in wtArray"
-                :key="item.id"
-                :value="item.id"
-                :label="item.nemCode"
-              />
-            </el-select>
-          </div>
-        </div>
-        <div class="query-item">
-          <div class="lable">日期:</div>
-          <div class="search-input">
-            <el-date-picker
-              v-model="recorddate"
-              type="month"
-              value-format="YYYY-MM"
-              placeholder="选择日期"
-              popper-class="date-select"
-            >
-            </el-date-picker>
-          </div>
-        </div>
-      </div>
-      <div class="query-actions">
-        <button class="btn green" @click="search">搜索</button>
-      </div>
-    </div>
-    <div style="height: calc(100% - 40px); padding-bottom: 10px">
-      <ScatterLineChart
-        xTitle="风速(m/s)"
-        yTitle="功率(kw)"
-        :showLegend="true"
-        height="100%"
-        :lineData="chartLineData"
-        :data="chartData"
-      />
-    </div>
-  </div>
-</template>
-
-<script>
-import ScatterLineChart from "@com/chart/combination/scatter-line-chart.vue";
-import api1 from "@api/economic/index.js";
-import api from "@api/wisdomOverhaul/energy/index.js";
-export default {
-  // 名称
-  name: "healthPowerCurve",
-
-  // 使用组件
-  components: {
-    ScatterLineChart,
-  },
-
-  // 数据
-  data() {
-    return {
-      isAsc: "asc",
-      wpArray: [],
-      wtArray: [],
-      wpId: "",
-      wtId: "",
-      recorddate: new Date(new Date().getTime() - 3600 * 1000 * 24).formatDate(
-        "yyyy-MM"
-      ),
-      chartLineData: {
-        xTitle: "风速",
-        yTitle: "功率",
-        legends: [],
-        data: [],
-      },
-      chartData: [
-        {
-          title: "",
-          value: [],
-        },
-      ],
-    };
-  },
-
-  // 函数
-  methods: {
-    // 获取风场
-    getWp(reGetWp) {
-      api1
-        .getWpList({
-          type: "-1",
-        })
-        .then((res) => {
-          if (res.data.code === 200) {
-            this.wpArray = res.data.data;
-            this.wpId = res.data.data[0].id;
-            this.getWt(this.wpId, reGetWp);
-          }
-        });
-    },
-
-    // 获取风机
-    getWt(wpid, reGetWp) {
-      if (wpid) {
-        api1
-          .getWtList({
-            wpId: wpid,
-          })
-          .then((res) => {
-            if (res.code === 200) {
-              this.wtArray = res.data;
-              this.wtId = res.data[0].id;
-              if (!reGetWp) {
-                this.getChartData();
-              }
-            }
-          });
-      }
-    },
-
-    // 获取图表数据
-    getChartData() {
-      this.BASE.showLoading();
-      api
-        .scatterScatterWtAjax({
-          wtId: this.wtId,
-          year: this.recorddate.split("-")[0],
-          month: this.recorddate.split("-")[1],
-        })
-        .then((res) => {
-          if (res.data.line.length || res.data.scatter.length) {
-            let chartLineData = {
-              xTitle: "风速",
-              yTitle: "功率",
-              legends: [],
-              // data: [[], []],
-              data: [[]],
-            };
-
-            res.data.line.forEach((ele) => {
-              // chartLineData.data[0].push(ele[0]);
-              // chartLineData.data[1].push(ele[1]);
-              chartLineData.data[0].push(ele[1]);
-            });
-
-            let scatter = [];
-            res.data?.scatter?.forEach((ele) => {
-              if (ele[0] < 30 && ele[1] < 3000) {
-                scatter.push(ele);
-              }
-            });
-
-            let chartData = [
-              {
-                title: "功率曲线拟合",
-                value: scatter,
-              },
-            ];
-
-            this.chartLineData = chartLineData;
-            this.chartData = chartData;
-          } else {
-            this.BASE.showMsg({
-              msg: "所选日期区间暂无数据",
-            });
-          }
-          this.BASE.closeLoading();
-        });
-    },
-
-    search() {
-      if (!this.wpId || !this.wtId) {
-        this.BASE.showMsg({
-          msg: "场站与风机为必选项",
-        });
-      } else {
-        this.getChartData();
-      }
-    },
-  },
-
-  created() {
-    this.getWp();
-  },
-
-  mounted() {},
-
-  unmounted() {},
-};
-</script>
-
-<style lang="less" scoped>
-.draught-fan-list {
-  width: 100%;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  padding: 10px 20px;
-  .btn-group-tabs {
-    display: flex;
-    flex-direction: row;
-
-    .photovoltaic {
-      margin-left: 1.481vh;
-    }
-  }
-
-  .df-table {
-    border: 0.093vh solid fade(@darkgray, 50%);
-    position: relative;
-    overflow: auto;
-    flex-grow: 1;
-    margin-top: 1.481vh;
-    height: 30vh;
-
-    &:before {
-      content: "";
-      width: 0.37vh;
-      height: 0.37vh;
-      background: @write;
-      position: absolute;
-      left: 0.278vh;
-      top: 0.278vh;
-    }
-
-    tbody {
-      height: calc(100vh - 166px);
-    }
-  }
-}
-</style>

src/views/HealthControl/energyEfficAnalyse/temperatureAnalysis/index.vue → src/views/HealthControl/healthManagement/temperatureAnalysis/index.vue


src/views/HealthControl/energyEfficAnalyse/wtSaturability/index.vue → src/views/HealthControl/healthManagement/wtSaturability/index.vue


src/views/HealthControl/energyEfficAnalyse/wtSaturability/tab1.vue → src/views/HealthControl/healthManagement/wtSaturability/tab1.vue


src/views/HealthControl/energyEfficAnalyse/wtSaturability/tab2.vue → src/views/HealthControl/healthManagement/wtSaturability/tab2.vue


src/views/HealthControl/energyEfficAnalyse/wtSaturability/tab3.vue → src/views/HealthControl/healthManagement/wtSaturability/tab3.vue


+ 0 - 13
src/views/economicsOperation/benchmarkingManagement/companyBenchmarking/index.vue

@@ -1,13 +0,0 @@
-<template>
-  <div>公司对标</div>
-</template>
-
-<script>
-export default {
-  name:'companyBenchmarking',//公司对标
-}
-</script>
-
-<style>
-
-</style>

+ 0 - 13
src/views/economicsOperation/dataAnalysis/combine.vue

@@ -1,13 +0,0 @@
-<template>
-	<iframe src="/dataFilter/index.html#/dataAnalysis/combine" ref="iframeRef" frameborder="0" class="w-full h-screen"></iframe>
-</template>
-<script setup>
-import { ref, onMounted, inject } from 'vue';
-const iframeRef = ref()
-const showMenu = inject('show_menu')
-onMounted(() => {
-	iframeRef.value.contentWindow.addEventListener('message', (event) => {
-		showMenu({clientX: event.data})
-	})
-})
-</script>

+ 0 - 13
src/views/economicsOperation/dataAnalysis/lineAnalysis.vue

@@ -1,13 +0,0 @@
-<template>
-	<iframe src="/dataFilter/index.html#/dataAnalysis/lineAnalysis" ref="iframeRef" frameborder="0" class="w-full h-screen"></iframe>
-</template>
-<script setup>
-import { ref, onMounted, inject } from 'vue';
-const iframeRef = ref()
-const showMenu = inject('show_menu')
-onMounted(() => {
-	iframeRef.value.contentWindow.addEventListener('message', (event) => {
-		showMenu({clientX: event.data})
-	})
-})
-</script>

+ 0 - 13
src/views/economicsOperation/dataAnalysis/rateAnalysis.vue

@@ -1,13 +0,0 @@
-<template>
-	<iframe src="/dataFilter/index.html#/dataAnalysis/rateAnalysis" ref="iframeRef" frameborder="0" class="w-full h-screen"></iframe>
-</template>
-<script setup>
-import { ref, onMounted, inject } from 'vue';
-const iframeRef = ref()
-const showMenu = inject('show_menu')
-onMounted(() => {
-	iframeRef.value.contentWindow.addEventListener('message', (event) => {
-		showMenu({clientX: event.data})
-	})
-})
-</script>

+ 0 - 13
src/views/economicsOperation/dataFilter/prepare.vue

@@ -1,13 +0,0 @@
-<template>
-	<iframe src="/dataFilter/index.html#/dataFilter/prepare?companyId=SD_LYDL_ZGS" ref="iframeRef" frameborder="0" class="w-full h-screen"></iframe>
-</template>
-<script setup>
-import { ref, onMounted, inject } from 'vue';
-const iframeRef = ref()
-const showMenu = inject('show_menu')
-onMounted(() => {
-	iframeRef.value.contentWindow.addEventListener('message', (event) => {
-		showMenu({clientX: event.data})
-	})
-})
-</script>

+ 0 - 13
src/views/economicsOperation/dataFilter/process.vue

@@ -1,13 +0,0 @@
-<template>
-	<iframe src="/dataFilter/index.html#/dataFilter/process" ref="iframeRef" frameborder="0" class="w-full h-screen"></iframe>
-</template>
-<script setup>
-import { ref, onMounted, inject } from 'vue';
-const iframeRef = ref()
-const showMenu = inject('show_menu')
-onMounted(() => {
-	iframeRef.value.contentWindow.addEventListener('message', (event) => {
-		showMenu({clientX: event.data})
-	})
-})
-</script>

+ 1 - 1
src/views/economicsOperation/efficiency/index.vue

@@ -4,7 +4,7 @@
 
 <script>
 export default {
-  name: "efficiency", //
+  name: "efficiency", //管控效
 };
 </script>
 

+ 63 - 12
src/views/economicsOperation/monthElectricAnalyseAll/index.vue

@@ -27,6 +27,11 @@
           popper-class="date-select"
         >
         </el-date-picker>
+        <el-radio-group v-model="filter" size="mini" >
+          <el-radio label="1"> 同比 </el-radio>
+          <el-radio label="2"> 环比 </el-radio>
+        </el-radio-group>
+
         <el-button round size="mini" class="searchColor" @click="getDatas"
           >搜索</el-button
         >
@@ -51,7 +56,7 @@
           width="100%"
           height="100%"
         >
-          <el-table-column align="center" label="指标名称" width="120">
+          <el-table-column align="center" label="指标名称" width="128">
             <template #default="{ row }">
               {{ row[0] }}
             </template>
@@ -63,20 +68,53 @@
             align="center"
             show-overflow-tooltip
           >
+           
+            <el-table-column
+              label="本月"
+              width="66"
+              v-if="filter == 1 || filter == 2"
+              align="center"
+              show-overflow-tooltip
+            >
+              <template #default="scope">
+                <span>
+                  {{
+                    scope.row[index + 1][0] || scope.row[index + 1][0] == 0
+                      ? scope.row[index + 1][0]
+                      : "--"
+                  }}
+                </span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="同比"
+              width="66"
+              v-if="filter == 1"
+              align="center"
+              show-overflow-tooltip
+            >
+              <template #default="scope">
+                <span>
+                  {{
+                    scope.row[index + 1][1] || scope.row[index + 1][1] == 0
+                      ? scope.row[index + 1][1]
+                      : "--"
+                  }}
+                </span>
+              </template>
+            </el-table-column>
             <el-table-column
-              v-for="(subItem, subIndex) in item.children"
-              :key="subIndex"
-              :label="subItem"
+              label="环比"
+              width="66"
+              v-if="filter == 2"
               align="center"
-              width="45"
               show-overflow-tooltip
-              ><template #default="scope">
+            >
+              <template #default="scope">
                 <span>
-                  <!-- {{ scope.row[index + 1][subIndex] }} -->
                   {{
-                    scope.row[index + 1][subIndex] ||
-                    scope.row[index + 1][subIndex] == 0
-                      ? scope.row[index + 1][subIndex]
+                    scope.row[index + 1][2] || scope.row[index + 1][2] == 0
+                      ? scope.row[index + 1][2]
                       : "--"
                   }}
                 </span>
@@ -86,7 +124,7 @@
           <el-table-column
             align="center"
             label="合计"
-            width="45"
+            width="76"
             show-overflow-tooltip
           >
             <template #default="{ row }">
@@ -155,6 +193,7 @@ export default {
         "购网电量",
         "综合厂用电率(%)",
       ],
+      filter: "1",
     };
   },
   watch: {},
@@ -162,7 +201,6 @@ export default {
     this.getStation();
   },
   methods: {
-
     getStation() {
       getAllStation().then(({ data: res, code }) => {
         if (code == 200) {
@@ -360,4 +398,17 @@ export default {
     }
   }
 }
+.el-radio-group::v-deep {
+  margin-left: 15px;
+  display: flex;
+  align-items: center;
+  .el-radio__inner:hover {
+    border-color: #05bb4c;
+  }
+}
+.el-table--border::v-deep {
+  th.el-table__cell {
+    border-bottom: 1px solid #000 !important;
+  }
+}
 </style>

+ 0 - 13
src/views/economicsOperation/performanceAnalyse/curveAnalyse/index.vue

@@ -1,13 +0,0 @@
-<template>
-  <div>曲线偏差率分析</div>
-</template>
-
-<script>
-export default {
-  name:'curveAnalyse',//曲线偏差率分析
-}
-</script>
-
-<style>
-
-</style>

+ 0 - 15
src/views/economicsOperation/performanceAnalyse/index.vue

@@ -1,15 +0,0 @@
-<template>
-  <div>
-   <router-view />
-  </div>
-</template>
-
-<script>
-export default {
-  name:'performanceAnalyse',//性能分析
-}
-</script>
-
-<style>
-
-</style>

+ 11 - 0
src/views/economicsOperation/photovoltaicAnalyse/index.vue

@@ -0,0 +1,11 @@
+<template>
+  <router-view />
+</template>
+
+<script>
+export default {
+  name: "PhotovoltaicAnalyse", //风电分析
+};
+</script>
+
+<style></style>

+ 11 - 0
src/views/economicsOperation/photovoltaicAnalyse/lslfx/index.vue

@@ -0,0 +1,11 @@
+<template>
+  <div>离散率分析</div>
+</template>
+
+<script>
+export default {
+  name: "Lslfx", //离散率分析
+};
+</script>
+
+<style lang="less" scoped></style>

+ 1 - 1
src/views/economicsOperation/performanceEvalute/performanceEvaluation/index.vue

@@ -157,7 +157,7 @@ import { getApiequipmentinfoDayListGf } from "@/api/powerAnalyse.js";
 // import dayDetailInfo from "./dayDetailInfo.vue";
 import dayjs from "dayjs";
 export default {
-  name: "performanceEvaluation",
+  name: "PerformanceEvaluation",
   components: {
     // historyDetail,
     // dayDetailInfo,

src/views/HealthControl/energyEfficAnalyse/powerAnalyse/components/current-scatter-chart.json → src/views/economicsOperation/photovoltaicAnalyse/powerAnalyse/components/current-scatter-chart.json


src/views/HealthControl/energyEfficAnalyse/powerAnalyse/components/current-scatter-chart.vue → src/views/economicsOperation/photovoltaicAnalyse/powerAnalyse/components/current-scatter-chart.vue


src/views/HealthControl/energyEfficAnalyse/powerAnalyse/components/table.vue → src/views/economicsOperation/photovoltaicAnalyse/powerAnalyse/components/table.vue


+ 1 - 1
src/views/HealthControl/energyEfficAnalyse/powerAnalyse/index.vue

@@ -189,7 +189,7 @@ import {
 } from "@/api/powerAnalyse.js";
 export default {
   // 名称
-  name: "powerAnalyse",
+  name: "PowerAnalyse",
 
   // 使用组件
   components: {

src/views/HealthControl/energyEfficAnalyse/powerHotAnalyse/components/current-scatter-chart.json → src/views/economicsOperation/photovoltaicAnalyse/powerHotAnalyse/components/current-scatter-chart.json


src/views/HealthControl/energyEfficAnalyse/powerHotAnalyse/components/current-scatter-chart.vue → src/views/economicsOperation/photovoltaicAnalyse/powerHotAnalyse/components/current-scatter-chart.vue


src/views/HealthControl/energyEfficAnalyse/powerHotAnalyse/components/table.vue → src/views/economicsOperation/photovoltaicAnalyse/powerHotAnalyse/components/table.vue


+ 1 - 1
src/views/HealthControl/energyEfficAnalyse/powerHotAnalyse/index.vue

@@ -293,7 +293,7 @@ import {
 } from "@/api/powerAnalyse.js";
 export default {
   // 名称
-  name: "powerHotAnalyse",
+  name: "PowerHotAnalyse",
 
   // 使用组件
   components: {

+ 11 - 0
src/views/economicsOperation/photovoltaicAnalyse/prAnalyse/index.vue

@@ -0,0 +1,11 @@
+<template>
+  <div>PR分析</div>
+</template>
+
+<script>
+export default {
+  name: "PrAnalyse", //PR分析
+};
+</script>
+
+<style lang="less" scoped></style>

+ 0 - 13
src/views/economicsOperation/powerCurve/index.vue

@@ -1,13 +0,0 @@
-<template>
-   <router-view />
-</template>
-
-<script>
-export default {
-  name:'powerCurve',//性能分析
-}
-</script>
-
-<style>
-
-</style>

+ 0 - 15
src/views/economicsOperation/reportForms/index.vue

@@ -1,15 +0,0 @@
-<template>
-    <div>
-        <router-view/>
-    </div>
-</template>
-
-<script>
-    export default {
-        name: 'reportForms',//报表
-    }
-</script>
-
-<style>
-
-</style>

+ 0 - 552
src/views/economicsOperation/reportForms/newEnergyDaily/index.vue

@@ -1,552 +0,0 @@
-<template>
-  <div class="comAnalysise">
-    <div class="comAnalysis_tops">
-      <div class="station">
-        时间
-        <div class="search-input">
-          <el-date-picker
-            v-model="pickerTimer"
-            type="date"
-            format="YYYY-MM-DD"
-            placeholder="选择日期"
-            popper-class="date-select"
-          >
-          </el-date-picker>
-        </div>
-      </div>
-      <div class="but">
-        <el-button round size="mini" class="buttons" @click="seachData"
-          >搜索</el-button
-        >
-        <el-button round size="mini" class="buttons" @click="downXlsxFn"
-          >导出</el-button
-        >
-      </div>
-    </div>
-    <div class="systemData bodys">
-      <div class="line">
-        <div class="leftContent"><span>新能源生产日报</span></div>
-      </div>
-
-      <el-table
-        :data="stationDatas"
-        ref="month_table"
-        style="width: 100%"
-        empty-text="暂无数据"
-        height="81vh"
-        :row-class-name="tableRowClassName"
-        :header-cell-style="headerStyle"
-      >
-        <el-table-column
-          v-for="(item, index) in stationData"
-          :key="index"
-          :prop="item.tagCode"
-          align="center"
-          :width="item.width"
-          header-align="center"
-          class-name="add"
-          style="width: 100%"
-          empty-text="暂无数据"
-          height="81vh"
-        >
-          <template #header>
-            <div>
-              <div v-if="item.tagName.length > 6">
-                {{ item.tagName }}
-                <span v-if="item.valueUnit">({{ item.valueUnit }})</span>
-              </div>
-              <div v-else>
-                <div
-                  style="
-                    white-space: nowrap;
-                    text-overflow: ellipsis;
-                    overflow: hidden;
-                  "
-                >
-                  {{ item.tagName }}
-                </div>
-                <div v-if="item.valueUnit">({{ item.valueUnit }})</div>
-              </div>
-            </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!--            <el-pagination-->
-      <!--                    @size-change="handleSizeChange"-->
-      <!--                    @current-change="handleCurrentChange"-->
-      <!--                    :current-page="page.currentPage"-->
-      <!--                    :page-size="page.pagesize"-->
-      <!--                    layout="total, prev, pager, next, jumper"-->
-      <!--                    :total="page.total">-->
-      <!--            </el-pagination>-->
-    </div>
-  </div>
-</template>
-
-<script>
-import { getNemDailyReportData } from "@api/reportForms";
-import utils from "@/utills/downXlsx";
-
-export default {
-  name: "newEnergyDaily", //新能源日报
-  data() {
-    return {
-      rowClass: "",
-      pickerTimer: "",
-      stationDatas: [],
-      stationData: [
-        {
-          tagName: "风场名称",
-          tagCode: "tagNames",
-          valueUnit: "",
-          width: "97%",
-        },
-        {
-          tagName: "日平均风速",
-          tagCode: "rpjfs",
-          valueUnit: "m/s",
-          width: "83%",
-        },
-        {
-          tagName: "日发电量",
-          tagCode: "rfdldb",
-          valueUnit: "万kWh",
-          width: "77%",
-        },
-        {
-          tagName: "月累计发电量",
-          tagCode: "yfdldb",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "年累计发电量",
-          tagCode: "nfdldb",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "日上网电量",
-          tagCode: "rswdldb",
-          valueUnit: "万kWh",
-          width: "97%",
-        },
-        {
-          tagName: "月累计上网电量",
-          tagCode: "yswdldb",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "年累计上网电量",
-          tagCode: "nswdldb",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "综合厂用电量",
-          tagCode: "rzhcydldb",
-          valueUnit: "万kWh",
-          width: "97%",
-        },
-        {
-          tagName: "月累计综合厂用电量",
-          tagCode: "yzhcydldb",
-          valueUnit: "万kWh",
-          width: "111%",
-        },
-        {
-          tagName: "SCADA日发电量",
-          tagCode: "rfdl",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "SCADA月累计发电量",
-          tagCode: "yfdl",
-          valueUnit: "万kWh",
-          width: "113%",
-        },
-        {
-          tagName: "SCADA年累计发电量",
-          tagCode: "nfdl",
-          valueUnit: "万kWh",
-          width: "113%",
-        },
-        {
-          tagName: "SCADA综合厂用电量",
-          tagCode: "sacdazhcydl",
-          valueUnit: "万kWh",
-          width: "113%",
-        },
-        {
-          tagName: "SCADA月累计综合厂用电量",
-          tagCode: "sacdayzhcydl",
-          valueUnit: "万kWh",
-          width: "131%",
-        },
-        {
-          tagName: "SCADA综合厂用电率",
-          tagCode: "scadlv",
-          valueUnit: "%",
-          width: "95%",
-        },
-        {
-          tagName: "日限电损失电量",
-          tagCode: "rxdssdl",
-          valueUnit: "万kWh",
-          width: "97%",
-        },
-        {
-          tagName: "月累计限电损失电量",
-          tagCode: "yxdssdl",
-          valueUnit: "万kWh",
-          width: "111%",
-        },
-        {
-          tagName: "年累计限电损失电量",
-          tagCode: "nxdssdl",
-          valueUnit: "万kWh",
-          width: "111%",
-        },
-      ],
-
-      isFullScreen: false,
-      pageSize: 25,
-      allStation: [],
-      stationDatasd: [],
-    };
-  },
-  created() {
-    this.pickerTimer = new Date();
-    this.getNemDailyReportData();
-    this.$nextTick(() => this.addRollListener());
-  },
-  mounted() {
-    window.onresize = () => {
-      this.getNemDailyReportData();
-    };
-  },
-  methods: {
-    addRollListener() {
-      const dom = document.getElementsByClassName("el-table__body-wrapper")[0];
-
-      dom.addEventListener("scroll", () => {
-        const scrollTop = dom.scrollTop;
-        const offsetHeight = dom.offsetHeight;
-        const clientHeight = dom.clientHeight;
-        const scrollHeight = dom.scrollHeight;
-        if (
-          clientHeight + scrollTop + 1 > scrollHeight ||
-          offsetHeight + scrollTop >= scrollHeight
-        ) {
-          this.pageSize++;
-          this.getNemDailyReportData();
-        }
-      });
-    },
-    downXlsxFn() {
-      this.stationDatas = this.allStation;
-      let headers = [];
-      this.stationData.forEach((it) => {
-        headers.push(it.tagName + it.valueUnit);
-      });
-
-      setTimeout(() => {
-        if (this.stationDatas.length > 0) {
-          utils.exportExcel(this.$refs["month_table"].$el, headers, "生产日报");
-        }
-      }, 1000);
-    },
-    async getNemDailyReportData() {
-      const { data } = await getNemDailyReportData(
-        this.getchangeTime(this.pickerTimer)
-      );
-      if (data.length >= 1) {
-        data?.forEach((value) => {
-          value.tagNames = value.projectName;
-
-          if (value.projectName == "") {
-            value.tagNames = "合计";
-          }
-
-          for (let key in value) {
-            if (
-              key == "rfdldb" ||
-              key == "rxdssdl" ||
-              key == "yxdssdl" ||
-              key == "nxdssdl"
-            ) {
-              value[key] = (value[key] / 10000).toFixed(2);
-            } else if (key == "rpjfs") {
-              value[key] = value[key].toFixed(2);
-            } else if (typeof value[key] === "number") {
-              value[key] = (value[key] / 10000).toFixed(4);
-            }
-          }
-          value.scadlv =
-            value.rfdl != 0
-              ? ((value.sacdazhcydl / value.rfdl) * 100).toFixed(2)
-              : 0;
-        });
-
-        this.allStation = data;
-        this.stationDatasd = this.deepClone(data);
-        this.stationDatas = this.stationDatasd.splice(0, this.pageSize);
-      } else {
-        this.stationDatas = [];
-        this.allStation = [];
-      }
-    },
-    deepClone(ob) {
-      var obj = JSON.stringify(ob);
-      var objClone = JSON.parse(obj);
-      return objClone;
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if (row.projectName == "") {
-        return "success-row";
-      } else if (rowIndex === "") {
-        return "";
-      }
-      return "";
-    },
-
-    //转换时间
-    getchangeTime(date) {
-      var y = date.getFullYear();
-      var m = date.getMonth() + 1;
-      var d = date.getDate();
-      m = m < 10 ? "0" + m : m;
-      d = d < 10 ? "0" + d : d;
-      return y + "-" + m + "-" + d;
-    },
-    seachData() {
-      this.getNemDailyReportData();
-    },
-    headerStyle({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex < 3) {
-        return { "backdrop-filter": "blur(10px)", padding: "6px 0" };
-      } else {
-        return { padding: "6px 0" };
-      }
-    },
-  },
-  computed: {
-    pageHeight() {
-      return {
-        height: document.documentElement.clientHeight - 130 + "px",
-      };
-    },
-  },
-};
-</script>
-
-<style lang="less">
-.el-table .success-row {
-  background: rgba(83, 89, 104, 0.3) !important;
-}
-
-.comAnalysise {
-  padding: 0 23px;
-
-  .systemData {
-    margin: 0 5px 5px 5px;
-    padding-bottom: 10px;
-
-    .el-table--mini {
-      margin: 5px;
-
-      .el-table__header-wrapper {
-        tr {
-          background: rgba(83, 89, 104, 0.3) !important;
-
-          th {
-            vertical-align: top !important;
-          }
-
-          .cell {
-            color: #b3b3b3;
-            font-family: MicrosoftYaHei;
-            font-size: 14px;
-          }
-        }
-      }
-
-      .el-table__body-wrapper {
-        tr {
-          &:nth-child(2n) {
-            background: rgba(83, 89, 104, 0.05) !important;
-          }
-
-          .cell {
-            color: #d8d8d9;
-            font-family: ArialMT;
-            font-size: 13px;
-            height: 25px !important;
-          }
-        }
-      }
-    }
-
-    .el-pagination {
-      display: flex;
-      justify-content: flex-end;
-      margin-right: 40px;
-      margin-top: -40px;
-
-      .btn-prev,
-      .btn-next,
-      .btn-quickprev,
-      .btn-quicknext,
-      .el-pager,
-      .number {
-        background: rgba(58, 63, 75, 0.4);
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pager .active {
-        background: #083c94;
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pagination__total,
-      .el-pagination__jump {
-        color: #fff;
-
-        .el-input__inner {
-          background: rgba(58, 63, 75, 0.2);
-          border: 1px solid #3e4349;
-          color: #fff;
-          border-radius: 2px;
-        }
-      }
-    }
-  }
-}
-
-.comAnalysis_tops {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  margin-top: 10px;
-  margin-bottom: 10px;
-
-  .station {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    font-size: 14px;
-    font-family: Microsoft YaHei;
-    font-weight: 400;
-    color: #b3b3b3;
-    margin-right: 10px;
-    margin-left: 10px;
-  }
-
-  .tabCut {
-    display: inline-block;
-    margin: 0 10px;
-
-    div {
-      display: inline-block;
-      width: 60px;
-      height: 27px;
-      border: 1px solid #274934;
-      text-align: center;
-      line-height: 25px;
-      cursor: pointer;
-    }
-
-    div:nth-child(1) {
-      border-radius: 13px 0px 0px 13px;
-      border-right-width: 0;
-    }
-
-    div:nth-child(2) {
-      border-radius: 0px 13px 13px 0px;
-      cursor: not-allowed;
-    }
-
-    .active {
-      background-color: rgba(5, 187, 76, 0.9);
-      color: #fff;
-    }
-  }
-
-  .search-input {
-    margin-left: 10px;
-
-    .el-input__inner {
-      width: 175px;
-    }
-
-    .el-input__suffix {
-      right: -50px;
-    }
-  }
-
-  .but {
-    display: flex;
-    flex-direction: row;
-    align-content: center;
-    margin-left: 20px;
-
-    .buttons:nth-child(1) {
-      background: rgba(5, 187, 76, 0.6);
-      border: 1px solid #3b6c53;
-      border-radius: 13px;
-      color: #fff;
-
-      &:hover {
-        background: rgba(5, 187, 76, 0.9);
-        border-radius: 13px;
-        color: #fff;
-      }
-    }
-
-    .buttons:nth-child(2) {
-      background: rgba(67, 81, 107, 0.3) !important;
-      border: 1px solid #3b6c53;
-      border-radius: 13px;
-      font-size: 14px;
-      color: #b3b3b3;
-    }
-  }
-}
-
-.line {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  justify-content: space-between;
-  width: 100%;
-  margin-bottom: 5px;
-
-  .leftContent {
-    width: 242px;
-    height: 41px;
-    display: flex;
-    align-items: center;
-    background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
-
-    span {
-      font-size: 16px;
-      font-family: Microsoft YaHei;
-      font-weight: 400;
-      color: #ffffff;
-      margin-left: 25px;
-    }
-  }
-}
-
-.systemData {
-  width: 100%;
-  height: calc(100% - 70px);
-  background-color: rgba(0, 0, 0, 0.45);
-  padding: 5px;
-  overflow: hidden;
-}
-</style>

+ 0 - 827
src/views/economicsOperation/reportForms/newEnergyMonthly/index.vue

@@ -1,827 +0,0 @@
-<template>
-  <div class="singleMachine">
-    <div class="singleMachine_top">
-      <el-select
-        size="mini"
-        v-model="companyVal"
-        placeholder="请选择"
-        @change="changeCompan"
-      >
-        <el-option
-          v-for="item in companyOptions"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-        >
-        </el-option>
-      </el-select>
-      <div class="tabCut">
-        <div
-          @click="changeBtn(val.id)"
-          :class="tabIndex === val.id ? 'active' : ''"
-          v-for="val in tabOptions"
-          :key="val.id"
-        >
-          <span>{{ val.name }}</span>
-        </div>
-      </div>
-      <div class="station">
-        场站:
-        <el-select
-          size="mini"
-          v-model="stationVal"
-          placeholder="请选择"
-          @change="changeStation"
-          clearable
-        >
-          <el-option
-            v-for="item in stationOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          >
-          </el-option>
-        </el-select>
-      </div>
-      <div class="station">
-        时间
-        <div class="search-input">
-          <el-date-picker
-            v-model="pickerTimer"
-            type="month"
-            value-format="YYYY-MM"
-            placeholder="选择日期"
-            popper-class="date-select"
-          >
-          </el-date-picker>
-        </div>
-      </div>
-      <div class="but">
-        <el-button round size="mini" class="buttons" @click="seachData"
-          >搜索</el-button
-        >
-        <el-button round size="mini" class="buttons" @click="downXlsxFn"
-          >导出</el-button
-        >
-      </div>
-    </div>
-    <div style="background: rgba(0, 0, 0, 0.45)">
-      <div class="singleMachine_title clearfix">
-        <div class="leftContent floatLeft"><span>{{}}新能源月报</span></div>
-        <!--               -->
-      </div>
-      <div class="singleMachine_Table">
-        <el-table
-          :data="stationDatas"
-          style="width: 100%"
-          height="81vh"
-          ref="stand_table"
-          empty-text="暂无数据"
-          :header-cell-style="headerStyle"
-          stripe
-        >
-          <el-table-column prop="tagName" align="center" label="名称" />
-
-          <el-table-column prop="unit" align="center" label="计算单位" />
-
-          <el-table-column label="当月" align="center">
-            <el-table-column prop="reality" label="实际" align="center" />
-            <el-table-column prop="lastMounth" label="上月" align="center" />
-            <el-table-column prop="lastYear" label="去年同期" align="center" />
-          </el-table-column>
-          <el-table-column label="累计" align="center">
-            <el-table-column prop="realityLj" label="实际" align="center" />
-            <el-table-column prop="lastMounthLj" label="上月" align="center" />
-            <el-table-column
-              prop="lastYearLj"
-              label="去年同期"
-              align="center"
-            />
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import utils from "@/utills/downXlsx";
-import {
-  getNemMonthReportData,
-  getApicompanyslist,
-  getApiwpByCplistlist,
-} from "@api/reportForms";
-
-export default {
-  name: "newEnergyMonthly", //新能源月报
-  components: {},
-  data() {
-    return {
-      companyVal: "",
-      companyOptions: [],
-      stationVal: "",
-      stationOptions: [],
-      pickerTimer: "",
-      singleMachineData: [],
-      showBtn: true,
-      dialogTitle: "",
-      tabIndex: -1,
-      stationDatas: [],
-      stationData: [
-        {
-          tagName: "发电量",
-          unit: "万kwh",
-          reality: "sjfdl",
-          lastMounth: "syfdl",
-          lastYear: "lyfdl",
-          realityLj: "yljfdl",
-          lastMounthLj: "syljfdl",
-          lastYearLj: "lyljfdl",
-        },
-        {
-          tagName: "发电量(SCADA统计)",
-          unit: "万kwh",
-          reality: "sasjfdl",
-          lastMounth: "sasyfdl",
-          lastYear: "salyfdl",
-          realityLj: "sayljfdl",
-          lastMounthLj: "sasyljfdl",
-          lastYearLj: "salyljfdl",
-        },
-        {
-          tagName: "理论发电量",
-          unit: "万kwh",
-          reality: "llfdl",
-          lastMounth: "syllfdl",
-          lastYear: "lyllfdl",
-          realityLj: "ljllfdl",
-          lastMounthLj: "ljsyllfdl",
-          lastYearLj: "lyljllfdl",
-        },
-        {
-          tagName: "理论发电量(SCADA)",
-          unit: "万kwh",
-          reality: "sallfdl",
-          lastMounth: "sasyllfdl",
-          lastYear: "salyllfdl",
-          realityLj: "saljllfdl",
-          lastMounthLj: "saljsyllfdl",
-          lastYearLj: "salyljllfdl",
-        },
-        {
-          tagName: "上网电量",
-          unit: "万kwh",
-          reality: "swdl",
-          lastMounth: "syswdl",
-          lastYear: "lyswdl",
-          realityLj: "ljswdl",
-          lastMounthLj: "syljswdl",
-          lastYearLj: "lyljswdl",
-        },
-        {
-          tagName: "购网电量",
-          unit: "万kwh",
-          reality: "gwdl",
-          lastMounth: "sygwdl",
-          lastYear: "lygwdl",
-          realityLj: "ljgwdl",
-          lastMounthLj: "syljgwdl",
-          lastYearLj: "lyljgwdl",
-        },
-        {
-          tagName: "综合厂用电量",
-          unit: "万kwh",
-          reality: "zhcydl",
-          lastMounth: "syzhcydl",
-          lastYear: "lyzhcydl",
-          realityLj: "ljzhcydl",
-          lastMounthLj: "syljzhcydl",
-          lastYearLj: "lyljzhcydl",
-        },
-        {
-          tagName: "综合厂用电率",
-          unit: "%",
-          reality: "zhcydlv",
-          lastMounth: "syzhcydlv",
-          lastYear: "lyzhcydlv",
-          realityLj: "ljzhcydlv",
-          lastMounthLj: "syljzhcydlv",
-          lastYearLj: "lyljzhcydlv",
-        },
-        {
-          tagName: "综合厂用电量(SCADA)",
-          unit: "万kwh",
-          reality: "sazhcydl",
-          lastMounth: "sasyzhcydl",
-          lastYear: "salyzhcydl",
-          realityLj: "saljzhcydl",
-          lastMounthLj: "sasyljzhcydl",
-          lastYearLj: "salyljzhcydl",
-        },
-        {
-          tagName: "综合厂用电率(SCADA)",
-          unit: "%",
-          reality: "sazhcydlv",
-          lastMounth: "sasyzhcydlv",
-          lastYear: "salyzhcydlv",
-          realityLj: "saljzhcydlv",
-          lastMounthLj: "sasyljzhcydlv",
-          lastYearLj: "salyljzhcydlv",
-        },
-        {
-          tagName: "发电用厂用电量",
-          unit: "万kwh",
-          reality: "fdcydl",
-          lastMounth: "syfdcydl",
-          lastYear: "lyfdcydl",
-          realityLj: "ljfdcydl",
-          lastMounthLj: "syljfdcydl",
-          lastYearLj: "lyljfdcydl",
-        },
-        {
-          tagName: "发电厂用电率",
-          unit: "%",
-          reality: "fdcydlv",
-          lastMounth: "syfdcydlv",
-          lastYear: "lyfdcydlv",
-          realityLj: "ljfdcydlv",
-          lastMounthLj: "syljfdcydlv",
-          lastYearLj: "lyljfdcydlv",
-        },
-        {
-          tagName: "发电设备平均利用小时",
-          unit: "h",
-          reality: "sbpjlyxs",
-          lastMounth: "sysbpjlyxs",
-          lastYear: "lysbpjlyxs",
-          realityLj: "ljsbpjlyxs",
-          lastMounthLj: "syljsbpjlyxs",
-          lastYearLj: "lyljsbpjlyxs",
-        },
-        {
-          tagName: "等效可用系数",
-          unit: "%",
-          reality: "dxkyxs",
-          lastMounth: "sydxkyxs",
-          lastYear: "lydxkyxs",
-          realityLj: "ljdxkyxs",
-          lastMounthLj: "syljdxkyxs",
-          lastYearLj: "lyljdxkyxs",
-        },
-        {
-          tagName: "设备故障损失电量",
-          unit: "万kwh",
-          reality: "sbgzssdl",
-          lastMounth: "sysbgzssdl",
-          lastYear: "lysbgzssdl",
-          realityLj: "ljsbgzssdl",
-          lastMounthLj: "syljsbgzssdl",
-          lastYearLj: "lyljsbgzssdl",
-        },
-        {
-          tagName: "风机故障损失电量",
-          unit: "万kwh",
-          reality: "fjgzssdl",
-          lastMounth: "syfjgzssdl",
-          lastYear: "lyfjgzssdl",
-          realityLj: "ljfjgzssdl",
-          lastMounthLj: "syljfjgzssdl",
-          lastYearLj: "lyljfjgzssdl",
-        },
-        {
-          tagName: "升压站故障损失电量",
-          unit: "万kwh",
-          reality: "syzgzssdl",
-          lastMounth: "sysyzgzssdl",
-          lastYear: "lysyzgzssdl",
-          realityLj: "ljsyzgzssdl",
-          lastMounthLj: "syljsyzgzssdl",
-          lastYearLj: "lyljsyzgzssdl",
-        },
-        {
-          tagName: "计划检修损失电量",
-          unit: "万kwh",
-          reality: "jhjxssdl",
-          lastMounth: "syjhjxssdl",
-          lastYear: "lyjhjxssdl",
-          realityLj: "ljjhjxssdl",
-          lastMounthLj: "syljjhjxssdl",
-          lastYearLj: "lyljjhjxssdl",
-        },
-        {
-          tagName: "风机计划检修损失电量",
-          unit: "万kwh",
-          reality: "fjjhjxssdl",
-          lastMounth: "syfjjhjxssdl",
-          lastYear: "lyfjjhjxssdl",
-          realityLj: "ljfjjhjxssdl",
-          lastMounthLj: "syljfjjhjxssdl",
-          lastYearLj: "lyljfjjhjxssdl",
-        },
-        {
-          tagName: "升压站计划检修损失电量",
-          unit: "万kwh",
-          reality: "syzjhjxssdl",
-          lastMounth: "sysyzjhjxssdl",
-          lastYear: "lysyzjhjxssdl",
-          realityLj: "ljsyzjhjxssdl",
-          lastMounthLj: "syljsyzjhjxssdl",
-          lastYearLj: "lyljsyzjhjxssdl",
-        },
-        {
-          tagName: "调度限电损失电量",
-          unit: "万kwh",
-          reality: "ddxdssdl",
-          lastMounth: "syddxdssdl",
-          lastYear: "lyddxdssdl",
-          realityLj: "ljddxdssdl",
-          lastMounthLj: "syljddxdssdl",
-          lastYearLj: "lyljddxdssdl",
-        },
-        {
-          tagName: "风机性能未达标损失电量",
-          unit: "万kwh",
-          reality: "fjxnwdbssdl",
-          lastMounth: "syfjxnwdbssdl",
-          lastYear: "lyfjxnwdbssdl",
-          realityLj: "ljfjxnwdbssdl",
-          lastMounthLj: "syljfjxnwdbssdl",
-          lastYearLj: "lyljfjxnwdbssdl",
-        },
-        {
-          tagName: "设备可利用率",
-          unit: "%",
-          reality: "sbklylv",
-          lastMounth: "sysbklylv",
-          lastYear: "lysbklylv",
-          realityLj: "ljsbklylv",
-          lastMounthLj: "syljsbklylv",
-          lastYearLj: "lyljsbklylv",
-        },
-        {
-          tagName: "设备故障停运时间",
-          unit: "h",
-          reality: "sbgztysj",
-          lastMounth: "sysbgztysj",
-          lastYear: "lysbgztysj",
-          realityLj: "ljsbgztysj",
-          lastMounthLj: "syljsbgztysj",
-          lastYearLj: "lyljsbgztysj",
-        },
-        {
-          tagName: "风机故障停运时间(累计值)",
-          unit: "h",
-          reality: "fjgztysj",
-          lastMounth: "syfjgztysj",
-          lastYear: "lyfjgztysj",
-          realityLj: "ljfjgztysj",
-          lastMounthLj: "syljfjgztysj",
-          lastYearLj: "lyljfjgztysj",
-        },
-        {
-          tagName: "电网故障影响停运时间(累计值)",
-          unit: "h",
-          reality: "dwgztysj",
-          lastMounth: "sydwgztysj",
-          lastYear: "lydwgztysj",
-          realityLj: "ljdwgztysj",
-          lastMounthLj: "syljdwgztysj",
-          lastYearLj: "lyljdwgztysj",
-        },
-        {
-          tagName: "计划检修停运时间",
-          unit: "h",
-          reality: "jhjxtysj",
-          lastMounth: "syjhjxtysj",
-          lastYear: "lyjhjxtysj",
-          realityLj: "ljjhjxtysj",
-          lastMounthLj: "syljjhjxtysj",
-          lastYearLj: "lyljjhjxtysj",
-        },
-        {
-          tagName: "风机计划检修停运时间(累计值)",
-          unit: "h",
-          reality: "fjjhjxtysj",
-          lastMounth: "syfjjhjxtysj",
-          lastYear: "lyfjjhjxtysj",
-          realityLj: "ljfjjhjxtysj",
-          lastMounthLj: "syljfjjhjxtysj",
-          lastYearLj: "lyljfjjhjxtysj",
-        },
-        {
-          tagName: "电网计划检修停运时间(累计值)",
-          unit: "h",
-          reality: "dwjhjxtysj",
-          lastMounth: "sydwjhjxtysj",
-          lastYear: "lydwjhjxtysj",
-          realityLj: "ljdwjhjxtysj",
-          lastMounthLj: "syljdwjhjxtysj",
-          lastYearLj: "lyljdwjhjxtysj",
-        },
-        {
-          tagName: "月平均风速",
-          unit: "m/s",
-          reality: "ypjfs",
-          lastMounth: "syypjfs",
-          lastYear: "lyypjfs",
-          realityLj: "ljypjfs",
-          lastMounthLj: "syljypjfs",
-          lastYearLj: "lyljypjfs",
-        },
-      ],
-      stationVals: "",
-
-      tabOptions: [
-        { id: -1, name: "风电" },
-        { id: -2, name: "光伏" },
-      ],
-
-      tagTitle: "",
-    };
-  },
-  created() {
-    this.getCompanyData();
-  },
-  mounted() {
-    window.onresize = () => {
-      this.getTableData();
-    };
-  },
-  computed: {},
-  methods: {
-    // 获取公司列表
-    async getCompanyData() {
-      this.companyOptions = [];
-      this.pickerTimer = this.getchangeTime(new Date());
-      const { data } = await getApicompanyslist({ type: "0" });
-      var arr = [];
-      if (data && data.length > 0) {
-        {
-          data.forEach((item) => {
-            if (item.preCode == "") {
-              this.companyVal = item.code;
-            }
-            var obj = {};
-            obj.value = item.code;
-            obj.label = item.aname;
-            arr.push(obj);
-          });
-        }
-      }
-      this.companyOptions = arr;
-      this.getStationData();
-    },
-    headerStyle({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex < 0) {
-        return { "backdrop-filter": "blur(10px)", padding: "6px 0" };
-      } else {
-        return { padding: "6px 0" };
-      }
-    },
-    changeBtn(id) {
-      this.tabIndex = id;
-      this.stationVal = "";
-      this.getStationData();
-    },
-    changeCompan(val) {
-      this.companyVal = val;
-      this.stationVal = "";
-      this.getStationData();
-    },
-    // 获取场站
-    async getStationData() {
-      this.stationOptions = [];
-
-      let params = {
-        companyCode: this.companyVal,
-        stationType: this.tabIndex,
-      };
-      const { data } = await getApiwpByCplistlist(params);
-      var arr = [];
-      if (data && data.length > 0) {
-        {
-          data.forEach((item) => {
-            var obj = {};
-            obj.value = item.CZMC;
-            obj.CZBM = item.CZBM;
-            arr.push(obj);
-          });
-        }
-      }
-      this.stationVals = data[0].CZBM;
-      this.stationVal = data[0].CZMC;
-      this.stationOptions = arr;
-      this.getTableData();
-    },
-    changeStation(val) {
-      let obj = {};
-      if (this.stationOptions != "") {
-        obj = this.stationOptions.find((item) => {
-          return item.value == val;
-        });
-        this.stationVals = obj.CZBM;
-      }
-
-      this.stationVal = val;
-    },
-    seachData() {
-      this.getTableData();
-    },
-    async getTableData() {
-      let params = {
-        date: this.pickerTimer,
-        stationId: this.stationVals,
-      };
-      const { data } = await getNemMonthReportData(params);
-      let s = this.deepClone(this.stationData);
-      if (JSON.stringify(data) != "{}") {
-        s?.forEach((value) => {
-          for (let key in value) {
-            for (let k in data) {
-              if (value[key] == k) {
-                if (value.unit == "万kwh") {
-                  value[key] = (data[k] / 10000).toFixed(2);
-                } else {
-                  value[key] = data[k].toFixed(2);
-                }
-              }
-            }
-          }
-        });
-        this.stationDatas = s;
-      } else {
-        this.stationDatas = "";
-      }
-    },
-
-    //转换时间
-    getchangeTime(date) {
-      var y = date.getFullYear();
-      var m = date.getMonth() + 1;
-      m = m < 10 ? "0" + m : m;
-      return y + "-" + m;
-    },
-
-    deepClone(ob) {
-      var obj = JSON.stringify(ob);
-      var objClone = JSON.parse(obj);
-      return objClone;
-    },
-    downXlsxFn() {
-      if (this.stationDatas.length > 0) {
-        utils.exportExcel(
-          this.$refs["stand_table"].$el,
-          "名称",
-          this.pickerTimer + "生产月报"
-        );
-      }
-    },
-  },
-};
-</script>
-
-<style lang="less">
-.singleMachine {
-  padding: 0 23px;
-
-  .singleMachine_title {
-    padding-left: 10px;
-
-    .leftContent {
-      width: 242px;
-      height: 41px;
-      line-height: 41px;
-      background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
-
-      span {
-        font-size: 16px;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        color: #ffffff;
-        margin-left: 25px;
-      }
-    }
-
-    .floatLeft {
-      float: left;
-    }
-
-    .floatRight {
-      float: right;
-    }
-
-    .rightContent {
-      width: 212px;
-      height: 28px;
-      margin-top: 13px;
-      background: url("../../../../assets/imgs/title_right_bg.png");
-    }
-  }
-
-  .clearfix::after {
-    content: "";
-    clear: both;
-    height: 0;
-    line-height: 0;
-    visibility: hidden;
-    display: block;
-  }
-
-  .clearfix {
-    zoom: 1;
-  }
-
-  .singleMachine_top {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    padding-top: 10px;
-    margin-bottom: 10px;
-
-    .station {
-      display: flex;
-      flex-direction: row;
-      align-items: center;
-      font-size: 14px;
-      font-family: Microsoft YaHei;
-      font-weight: 400;
-      color: #b3b3b3;
-      margin-right: 10px;
-      margin-left: 10px;
-    }
-
-    .tabCut {
-      display: inline-block;
-      margin: 0 10px;
-
-      div {
-        display: inline-block;
-        width: 60px;
-        height: 27px;
-        border: 1px solid #274934;
-        text-align: center;
-        line-height: 25px;
-        cursor: pointer;
-      }
-
-      div:nth-child(1) {
-        border-radius: 13px 0px 0px 13px;
-      }
-
-      div:nth-child(2) {
-        border-radius: 0px 13px 13px 0px;
-      }
-
-      .active {
-        background-color: rgba(5, 187, 76, 0.9);
-        color: #fff;
-      }
-    }
-
-    .search-input {
-      margin-left: 10px;
-
-      .el-input__inner {
-        width: 175px;
-      }
-
-      .el-input__suffix {
-        right: -50px;
-      }
-    }
-
-    .but {
-      display: flex;
-      flex-direction: row;
-      align-content: center;
-      margin-left: 20px;
-
-      .buttons:nth-child(1) {
-        background: rgba(5, 187, 76, 0.6);
-        border: 1px solid #3b6c53;
-        border-radius: 13px;
-        color: #fff;
-
-        &:hover {
-          background: rgba(5, 187, 76, 0.9);
-          border-radius: 13px;
-          color: #fff;
-        }
-      }
-
-      .buttons:nth-child(2) {
-        background: rgba(67, 81, 107, 0.3);
-        border: 1px solid #3b6c53;
-        border-radius: 13px;
-        font-size: 14px;
-        color: #b3b3b3;
-      }
-    }
-  }
-
-  .singleMachine_Table {
-    margin: 0 5px 5px 5px;
-    padding-bottom: 10px;
-
-    .el-table--mini {
-      margin: 5px;
-
-      .el-table__header-wrapper {
-        tr {
-          background: rgba(83, 89, 104, 0.3) !important;
-
-          th {
-            vertical-align: top !important;
-          }
-
-          .cell {
-            color: #b3b3b3;
-            font-family: MicrosoftYaHei;
-            font-size: 14px;
-          }
-        }
-      }
-
-      .el-table__body-wrapper {
-        tr {
-          &:nth-child(2n) {
-            background: rgba(83, 89, 104, 0.05) !important;
-          }
-
-          .cell {
-            color: #d8d8d9;
-            font-family: ArialMT;
-            font-size: 13px;
-            height: 25px !important;
-          }
-        }
-      }
-    }
-
-    .el-pagination {
-      display: flex;
-      justify-content: flex-end;
-      margin-right: 40px;
-      margin-top: 20px;
-
-      .btn-prev,
-      .btn-next,
-      .btn-quickprev,
-      .btn-quicknext,
-      .el-pager,
-      .number {
-        background: rgba(58, 63, 75, 0.4);
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pager .active {
-        background: #083c94;
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pagination__total,
-      .el-pagination__jump {
-        color: #fff;
-
-        .el-input__inner {
-          background: rgba(58, 63, 75, 0.2);
-          border: 1px solid #3e4349;
-          color: #fff;
-          border-radius: 2px;
-        }
-      }
-    }
-
-    .historyBtn {
-      cursor: pointer;
-      color: #1c99ff;
-      margin-right: 15px;
-    }
-  }
-
-  .el-overlay {
-    .el-overlay-dialog {
-      overflow-y: hidden !important;
-
-      .windhistoryDetailModel,
-      .windDetailmodal {
-        margin-top: 0 !important;
-
-        .el-dialog__body {
-          padding: 10px 20px 20px 20px;
-        }
-      }
-    }
-  }
-
-  .el-picker__popper .el-date-range-picker__header .el-picker-panel__icon-btn {
-    color: #fff;
-  }
-
-  .el-picker__popper .el-date-table .in-range div {
-    background: #43516b;
-  }
-}
-</style>

+ 0 - 690
src/views/economicsOperation/reportForms/specifcGravity/index.vue

@@ -1,690 +0,0 @@
-<template>
-  <div class="singleMachine singDel">
-    <div class="singleMachine_top">
-      <el-select
-        size="mini"
-        v-model="companyVal"
-        placeholder="请选择"
-        @change="changeCompan"
-      >
-        <el-option
-          v-for="item in companyOptions"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-        >
-        </el-option>
-      </el-select>
-
-      <div class="station">
-        场站:
-        <el-select
-          size="mini"
-          v-model="stationVal"
-          placeholder="请选择"
-          @change="changeStation"
-          clearable
-        >
-          <el-option
-            v-for="item in stationOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          >
-          </el-option>
-        </el-select>
-      </div>
-      <div class="station">
-        时间
-        <div class="search-input">
-          <el-date-picker
-            v-model="pickerTimer"
-            type="month"
-            value-format="YYYY-MM"
-            placeholder="选择日期"
-            popper-class="date-select"
-          >
-          </el-date-picker>
-        </div>
-      </div>
-      <div class="but">
-        <el-button round size="mini" class="buttons" @click="seachData"
-          >搜索</el-button
-        >
-        <el-button round size="mini" class="buttons" @click="downXlsxFn"
-          >导出</el-button
-        >
-      </div>
-    </div>
-    <div style="background: rgba(0, 0, 0, 0.45)">
-      <div class="singleMachine_title clearfix">
-        <div class="leftContent floatLeft"><span>各风场生产月报</span></div>
-        <!--               -->
-      </div>
-      <div class="singleMachine_Table">
-        <el-table
-          height="81vh"
-          empty-text="暂无数据"
-          :data="tableData"
-          ref="stand_table"
-          :header-cell-style="headerStyle"
-          :span-method="objectSpanMethod"
-          style="width: 100%"
-        >
-          <el-table-column prop="tagName" align="center">
-            <template #header>
-              <div v-if="1 > 2">123</div>
-            </template>
-          </el-table-column>
-          <el-table-column prop="name" align="center">
-            <template #header>
-              <div>名称</div>
-            </template>
-          </el-table-column>
-          <el-table-column prop="unit" label="计算单位" align="center">
-          </el-table-column>
-          <el-table-column label="当月" align="center">
-            <el-table-column align="center" prop="reality" label="实际">
-            </el-table-column>
-            <el-table-column align="center" prop="lastMounth" label="上月">
-            </el-table-column>
-            <el-table-column align="center" prop="lastYear" label="去年同期">
-            </el-table-column>
-          </el-table-column>
-          <el-table-column label="累计" align="center">
-            <el-table-column align="center" prop="realityLj" label="实际">
-            </el-table-column>
-            <el-table-column align="center" prop="lastMounthLj" label="上月">
-            </el-table-column>
-            <el-table-column align="center" prop="lastYearLj" label="去年同期">
-            </el-table-column>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import utils from "@/utills/downXlsx";
-import {
-  getPowerStationMonthReportData,
-  getApicompanyslist,
-  getApiwpByCplistlist,
-} from "@api/reportForms";
-
-export default {
-  name: "specifcGravity", //各风场生产月报
-  data() {
-    return {
-      companyVal: "",
-      companyOptions: [],
-      stationVal: "",
-      stationOptions: [],
-      pickerTimer: "",
-      singleMachineData: [],
-      showBtn: true,
-      dialogTitle: "",
-      tabIndex: -1,
-      stationDatas: [],
-      de: [{ do: "1" }, { do: "2" }],
-      tableData: [],
-
-      rowMergeArrs: {},
-
-      stationVals: "",
-
-      tagTitle: "",
-    };
-  },
-  created() {
-    this.getCompanyData();
-  },
-  mounted() {
-    this.$nextTick(function () {
-      this.setColSpan();
-    });
-  },
-  computed: {},
-  methods: {
-    // 获取公司列表
-    async getCompanyData() {
-      this.companyOptions = [];
-      this.pickerTimer = this.getchangeTime(new Date());
-      const { data } = await getApicompanyslist({ type: "0" });
-      var arr = [];
-      if (data && data.length > 0) {
-        {
-          data.forEach((item) => {
-            if (item.preCode == "") {
-              this.companyVal = item.code;
-            }
-            var obj = {};
-            obj.value = item.code;
-            obj.label = item.aname;
-            arr.push(obj);
-          });
-        }
-      }
-      this.companyOptions = arr;
-      this.getStationData();
-    },
-    headerStyle({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex < 0) {
-        return { "backdrop-filter": "blur(10px)", padding: "6px 0" };
-      } else {
-        return { padding: "6px 0" };
-      }
-    },
-    changeBtn(id) {
-      this.tabIndex = id;
-      this.stationVal = "";
-      this.getStationData();
-    },
-    changeCompan(val) {
-      this.companyVal = val;
-      this.stationVal = "";
-      this.getStationData();
-    },
-    // 获取场站
-    async getStationData() {
-      this.stationOptions = [];
-
-      let params = {
-        companyCode: this.companyVal,
-        stationType: -1,
-      };
-      const { data } = await getApiwpByCplistlist(params);
-      var arr = [];
-      if (data && data.length > 0) {
-        {
-          data.forEach((item) => {
-            var obj = {};
-            obj.value = item.CZMC;
-            obj.CZBM = item.CZBM;
-            arr.push(obj);
-          });
-        }
-      }
-      this.stationVals = data[0].CZBM;
-      this.stationVal = data[0].CZMC;
-      this.stationOptions = arr;
-      this.getTableData();
-    },
-    changeStation(val) {
-      let obj = {};
-      if (this.stationOptions != "") {
-        obj = this.stationOptions.find((item) => {
-          return item.value == val;
-        });
-        this.stationVals = obj.CZBM;
-      }
-
-      this.stationVal = val;
-    },
-    seachData() {
-      this.getTableData();
-    },
-
-    flitterData(arr) {
-      let spanOneArr = [];
-      let concatOne = 0;
-      arr.forEach((item, index) => {
-        if (index === 0) {
-          spanOneArr.push(1);
-        } else {
-          if (item.tagName === arr[index - 1].tagName) {
-            //第一列需合并相同内容的判断条件
-            spanOneArr[concatOne] += 1;
-            spanOneArr.push(0);
-          } else {
-            spanOneArr.push(1);
-            concatOne = index;
-          }
-        }
-      });
-      return {
-        one: spanOneArr,
-      };
-    },
-    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex === 0 || columnIndex === 2) {
-        const _row = this.flitterData(this.tableData).one[rowIndex];
-        const _col = _row > 0 ? 1 : 0;
-        return {
-          rowspan: _row,
-          colspan: _col,
-        };
-      }
-    },
-
-    setColSpan: function () {
-      var x =
-        document.getElementsByClassName("el-table__header")[0].rows[0].cells;
-
-      x[1].colSpan = 2;
-      x[0].style.display = "none";
-      x[0].id = "delete";
-    },
-    async getTableData() {
-      let params = {
-        date: this.pickerTimer,
-        stationId: this.stationVals,
-      };
-      const { data } = await getPowerStationMonthReportData(params);
-      var arr = [];
-      if (JSON.stringify(data) != "{}") {
-        data?.forEach((item) => {
-          if (item.projectName == "") {
-            item.projectName = "合计";
-          }
-
-          var obj1 = {
-            tagName: "发电量",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.sjfdl,
-            lastMounth: item.syfdl,
-            lastYear: item.lyfdl,
-            realityLj: item.yljfdl,
-            lastMounthLj: item.syljfdl,
-            lastYearLj: item.lyljfdl,
-          };
-          var obj2 = {
-            tagName: "发电量(SCADA统计)",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.sasjfdl,
-            lastMounth: item.sasyfdl,
-            lastYear: item.salyfdl,
-            realityLj: item.sayljfdl,
-            lastMounthLj: item.sasyljfdl,
-            lastYearLj: item.salyljfdl,
-          };
-          var obj3 = {
-            tagName: "理论发电量",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.llfdl,
-            lastMounth: item.syllfdl,
-            lastYear: item.lyllfdl,
-            realityLj: item.ljllfdl,
-            lastMounthLj: item.ljsyllfdl,
-            lastYearLj: item.lyljllfdl,
-          };
-          var obj4 = {
-            tagName: "理论发电量(SCADA)",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.sallfdl,
-            lastMounth: item.sasyllfdl,
-            lastYear: item.salyllfdl,
-            realityLj: item.saljllfdl,
-            lastMounthLj: item.saljsyllfdl,
-            lastYearLj: item.salyljllfdl,
-          };
-          var obj5 = {
-            tagName: "上网电量",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.swdl,
-            lastMounth: item.syswdl,
-            lastYear: item.lyswdl,
-            realityLj: item.ljswdl,
-            lastMounthLj: item.syljswdl,
-            lastYearLj: item.lyljswdl,
-          };
-          var obj5 = {
-            tagName: "购网电量",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.gwdl,
-            lastMounth: item.sygwdl,
-            lastYear: item.lygwdl,
-            realityLj: item.ljgwdl,
-            lastMounthLj: item.syljgwdl,
-            lastYearLj: item.lyljgwdl,
-          };
-          var obj6 = {
-            tagName: "综合厂用电量",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.zhcydl,
-            lastMounth: item.syzhcydl,
-            lastYear: item.lyzhcydl,
-            realityLj: item.ljzhcydl,
-            lastMounthLj: item.syljzhcydl,
-            lastYearLj: item.lyljzhcydl,
-          };
-          var obj7 = {
-            tagName: "综合厂用电率",
-            name: item.projectName,
-            unit: "%",
-            reality: item.zhcydlv,
-            lastMounth: item.syzhcydlv,
-            lastYear: item.lyzhcydlv,
-            realityLj: item.ljzhcydlv,
-            lastMounthLj: item.syljzhcydlv,
-            lastYearLj: item.lyljzhcydlv,
-          };
-          var obj8 = {
-            tagName: "综合厂用电量(SCADA)",
-            name: item.projectName,
-            unit: "万kwh",
-            reality: item.sazhcydl,
-            lastMounth: item.sasyzhcydl,
-            lastYear: item.salyzhcydl,
-            realityLj: item.saljzhcydl,
-            lastMounthLj: item.sasyljzhcydl,
-            lastYearLj: item.salyljzhcydl,
-          };
-
-          arr.push(obj1);
-          arr.push(obj2);
-          arr.push(obj3);
-          arr.push(obj4);
-          arr.push(obj5);
-          arr.push(obj6);
-          arr.push(obj7);
-          arr.push(obj8);
-        });
-        arr?.forEach((value) => {
-          for (let key in value) {
-            if (value.unit == "万kwh" && typeof value[key] === "number") {
-              value[key] = (value[key] / 10000).toFixed(2);
-            } else if (typeof value[key] === "number") {
-              value[key] = value[key].toFixed(2);
-            }
-          }
-        });
-
-        arr.sort((a, b) => {
-          if (a["tagName"] != b["tagName"]) {
-            return a["tagName"].localeCompare(b["tagName"]);
-          }
-        });
-        this.tableData = arr;
-      } else {
-        this.tableData = "";
-      }
-    },
-
-    //转换时间
-    getchangeTime(date) {
-      var y = date.getFullYear();
-      var m = date.getMonth() + 1;
-      m = m < 10 ? "0" + m : m;
-      return y + "-" + m;
-    },
-
-    deepClone(ob) {
-      var obj = JSON.stringify(ob);
-      var objClone = JSON.parse(obj);
-      return objClone;
-    },
-    downXlsxFn() {
-      if (document.getElementById("delete")) {
-        document.getElementById("delete").remove();
-      }
-
-      let el = this.$refs["stand_table"].$el;
-      if (this.tableData.length > 0)
-        utils.exportExcel(el, "名称", this.pickerTimer + "场站月报");
-    },
-  },
-};
-</script>
-
-<style lang="less">
-.singDel {
-  .el-table__body tr td {
-    border: 1px solid rgba(0, 0, 0, 0.8) !important;
-    border-top: none !important;
-    border-left: none !important;
-  }
-}
-
-.singleMachine {
-  padding: 0 23px;
-
-  .singleMachine_title {
-    padding-left: 10px;
-
-    .leftContent {
-      width: 242px;
-      height: 41px;
-      line-height: 41px;
-      background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
-
-      span {
-        font-size: 16px;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        color: #ffffff;
-        margin-left: 25px;
-      }
-    }
-
-    .floatLeft {
-      float: left;
-    }
-
-    .floatRight {
-      float: right;
-    }
-
-    .rightContent {
-      width: 212px;
-      height: 28px;
-      margin-top: 13px;
-      background: url("../../../../assets/imgs/title_right_bg.png");
-    }
-  }
-
-  .clearfix::after {
-    content: "";
-    clear: both;
-    height: 0;
-    line-height: 0;
-    visibility: hidden;
-    display: block;
-  }
-
-  .clearfix {
-    zoom: 1;
-  }
-
-  .singleMachine_top {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    padding-top: 10px;
-    margin-bottom: 10px;
-
-    .station {
-      display: flex;
-      flex-direction: row;
-      align-items: center;
-      font-size: 14px;
-      font-family: Microsoft YaHei;
-      font-weight: 400;
-      color: #b3b3b3;
-      margin-right: 10px;
-      margin-left: 10px;
-    }
-
-    .tabCut {
-      display: inline-block;
-      margin: 0 10px;
-
-      div {
-        display: inline-block;
-        width: 60px;
-        height: 27px;
-        border: 1px solid #274934;
-        text-align: center;
-        line-height: 25px;
-        cursor: pointer;
-      }
-
-      div:nth-child(1) {
-        border-radius: 13px 0px 0px 13px;
-      }
-
-      div:nth-child(2) {
-        border-radius: 0px 13px 13px 0px;
-      }
-
-      .active {
-        background-color: rgba(5, 187, 76, 0.9);
-        color: #fff;
-      }
-    }
-
-    .search-input {
-      margin-left: 10px;
-
-      .el-input__inner {
-        width: 175px;
-      }
-
-      .el-input__suffix {
-        right: -50px;
-      }
-    }
-
-    .but {
-      display: flex;
-      flex-direction: row;
-      align-content: center;
-      margin-left: 20px;
-
-      .buttons:nth-child(1) {
-        background: rgba(5, 187, 76, 0.6);
-        border: 1px solid #3b6c53;
-        border-radius: 13px;
-        color: #fff;
-
-        &:hover {
-          background: rgba(5, 187, 76, 0.9);
-          border-radius: 13px;
-          color: #fff;
-        }
-      }
-
-      .buttons:nth-child(2) {
-        background: rgba(67, 81, 107, 0.3);
-        border: 1px solid #3b6c53;
-        border-radius: 13px;
-        font-size: 14px;
-        color: #b3b3b3;
-      }
-    }
-  }
-
-  .singleMachine_Table {
-    margin: 0 5px 5px 5px;
-    padding-bottom: 10px;
-
-    .el-table--mini {
-      margin: 5px;
-
-      .el-table__header-wrapper {
-        tr {
-          background: rgba(83, 89, 104, 0.3) !important;
-
-          th {
-            vertical-align: top !important;
-          }
-
-          .cell {
-            color: #b3b3b3;
-            font-family: MicrosoftYaHei;
-            font-size: 14px;
-          }
-        }
-      }
-
-      .el-table__body-wrapper {
-        tr {
-          &:nth-child(2n) {
-            background: rgba(83, 89, 104, 0.05) !important;
-          }
-
-          .cell {
-            color: #d8d8d9;
-            font-family: ArialMT;
-            font-size: 13px;
-            height: 25px !important;
-          }
-        }
-      }
-    }
-
-    .el-pagination {
-      display: flex;
-      justify-content: flex-end;
-      margin-right: 40px;
-      margin-top: 20px;
-
-      .btn-prev,
-      .btn-next,
-      .btn-quickprev,
-      .btn-quicknext,
-      .el-pager,
-      .number {
-        background: rgba(58, 63, 75, 0.4);
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pager .active {
-        background: #083c94;
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pagination__total,
-      .el-pagination__jump {
-        color: #fff;
-
-        .el-input__inner {
-          background: rgba(58, 63, 75, 0.2);
-          border: 1px solid #3e4349;
-          color: #fff;
-          border-radius: 2px;
-        }
-      }
-    }
-
-    .historyBtn {
-      cursor: pointer;
-      color: #1c99ff;
-      margin-right: 15px;
-    }
-  }
-
-  .el-overlay {
-    .el-overlay-dialog {
-      overflow-y: hidden !important;
-
-      .windhistoryDetailModel,
-      .windDetailmodal {
-        margin-top: 0 !important;
-
-        .el-dialog__body {
-          padding: 10px 20px 20px 20px;
-        }
-      }
-    }
-  }
-
-  .el-picker__popper .el-date-range-picker__header .el-picker-panel__icon-btn {
-    color: #fff;
-  }
-
-  .el-picker__popper .el-date-table .in-range div {
-    background: #43516b;
-  }
-}
-</style>

+ 0 - 707
src/views/economicsOperation/reportForms/windMonthly/index.vue

@@ -1,707 +0,0 @@
-<template>
-  <div class="singleMachine">
-    <div class="singleMachine_top">
-      <el-select
-        size="mini"
-        v-model="companyVal"
-        placeholder="请选择"
-        @change="changeCompan"
-      >
-        <el-option
-          v-for="item in companyOptions"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-        >
-        </el-option>
-      </el-select>
-      <div class="tabCut">
-        <div
-          @click="changeBtn(val.id)"
-          :class="tabIndex === val.id ? 'active' : ''"
-          v-for="val in tabOptions"
-          :key="val.id"
-        >
-          <span>{{ val.name }}</span>
-        </div>
-      </div>
-      <div class="station">
-        场站:
-        <el-select
-          size="mini"
-          v-model="stationVal"
-          placeholder="请选择"
-          @change="changeStation"
-          clearable
-        >
-          <el-option
-            v-for="item in stationOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          >
-          </el-option>
-        </el-select>
-      </div>
-      <div class="station">
-        时间
-        <div class="search-input">
-          <el-date-picker
-            v-model="pickerTimer"
-            type="month"
-            value-format="YYYY-MM"
-            placeholder="选择日期"
-            popper-class="date-select"
-          >
-          </el-date-picker>
-        </div>
-      </div>
-      <div class="but">
-        <el-button round size="mini" class="buttons" @click="seachData"
-          >搜索</el-button
-        >
-        <el-button round size="mini" class="buttons" @click="downXlsxFn"
-          >导出</el-button
-        >
-      </div>
-    </div>
-    <div style="background: rgba(0, 0, 0, 0.45)">
-      <div class="singleMachine_title clearfix">
-        <div class="leftContent floatLeft"><span>{{}}单机性能分析表</span></div>
-        <!--               -->
-      </div>
-      <div class="singleMachine_Table">
-        <el-table
-          :data="stationDatas"
-          ref="stand_table"
-          style="width: 100%"
-          empty-text="暂无数据"
-          height="81vh"
-          stripe
-          :row-class-name="tableRowClassName"
-          :header-cell-style="headerStyle"
-        >
-          <el-table-column
-            v-for="(item, index) in stationData"
-            :key="index"
-            :prop="item.tagCode"
-            align="center"
-            :width="item.width"
-            header-align="center"
-            class-name="add"
-            style="width: 100%"
-            empty-text="暂无数据"
-            height="81vh"
-          >
-            <template #header>
-              <div>
-                <div v-if="item.tagName.length > 6">
-                  {{ item.tagName }}
-                  <span v-if="item.valueUnit">({{ item.valueUnit }})</span>
-                </div>
-                <div v-else>
-                  <div
-                    style="
-                      white-space: nowrap;
-                      text-overflow: ellipsis;
-                      overflow: hidden;
-                    "
-                  >
-                    {{ item.tagName }}
-                  </div>
-                  <div v-if="item.valueUnit">({{ item.valueUnit }})</div>
-                </div>
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import utils from "@/utills/downXlsx";
-import {
-  getEquipmentReportData,
-  getApicompanyslist,
-  getApiwpByCplistlist,
-} from "@api/reportForms";
-
-export default {
-  name: "windMonthly", //单机月报
-  components: {},
-  data() {
-    return {
-      companyVal: "",
-      companyOptions: [],
-      stationVal: "",
-      stationOptions: [],
-      pickerTimer: "",
-      singleMachineData: [],
-      showBtn: true,
-      dialogTitle: "",
-      tabIndex: -1,
-      stationDatas: [],
-      stationData: [
-        {
-          tagName: "机组编号",
-          tagCode: "tagNames",
-          valueUnit: "",
-          width: "120%",
-        },
-
-        {
-          tagName: "scada月发电量",
-          tagCode: "yfdl",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "月理论发电量",
-          tagCode: "yllfdl",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "月平均风速",
-          tagCode: "ypjfs",
-          valueUnit: "m/s",
-          width: "85%",
-        },
-        {
-          tagName: "设备利用小时数",
-          tagCode: "sblyxss",
-          valueUnit: "小时",
-          width: "105%",
-        },
-        {
-          tagName: "设备可利用率",
-          tagCode: "sbklylv",
-          valueUnit: "%",
-          width: "105%",
-        },
-        {
-          tagName: "等效可用系数",
-          tagCode: "ddxkyxs",
-          valueUnit: "%",
-          width: "97%",
-        },
-        {
-          tagName: "有效风时数",
-          tagCode: "yxfss",
-          valueUnit: "小时",
-          width: "105%",
-        },
-        {
-          tagName: "有效风时利用率",
-          tagCode: "yxfslylv",
-          valueUnit: "%",
-          width: "105%",
-        },
-        {
-          tagName: "故障损失电量",
-          tagCode: "gzssdl",
-          valueUnit: "万kWh",
-          width: "97%",
-        },
-        {
-          tagName: " 调度限电损失电量",
-          tagCode: "ddxdssdl",
-          valueUnit: "万kWh",
-          width: "111%",
-        },
-        {
-          tagName: "计划检修损失电量",
-          tagCode: "jhjxssdl",
-          valueUnit: "万kWh",
-          width: "105%",
-        },
-        {
-          tagName: "性能未达标损失电量",
-          tagCode: "xnwdbssdl",
-          valueUnit: "万kWh",
-          width: "113%",
-        },
-        {
-          tagName: "受累损失电量",
-          tagCode: "slssdl",
-          valueUnit: "万kWh",
-          width: "113%",
-        },
-        {
-          tagName: "并网时间",
-          tagCode: "bwsj",
-          valueUnit: "小时",
-          width: "80%",
-        },
-        {
-          tagName: "待机时间",
-          tagCode: "djsj",
-          valueUnit: "小时",
-          width: "80%",
-        },
-        {
-          tagName: "检修停机时间",
-          tagCode: "jxtjsj",
-          valueUnit: "小时",
-          width: "100%",
-        },
-        {
-          tagName: "故障停机时间",
-          tagCode: "gztjsj",
-          valueUnit: "小时",
-          width: "100%",
-        },
-        {
-          tagName: "连续无故障时间",
-          tagCode: "lxwgzsj",
-          valueUnit: "小时",
-          width: "100%",
-        },
-        {
-          tagName: "通讯中断时间",
-          tagCode: "txzdsj",
-          valueUnit: "小时",
-          width: "98%",
-        },
-      ],
-      stationVals: "",
-      tabOptions: [
-        { id: -1, name: "风电" },
-        { id: -2, name: "光伏" },
-      ],
-      pageSize: 25,
-      stationDatasd: [],
-      allStation: [],
-    };
-  },
-  created() {
-    this.$nextTick(() => this.addRollListener());
-
-    this.getCompanyData();
-  },
-  mounted() {
-    window.onresize = () => {
-      this.getTableData();
-    };
-  },
-  computed: {},
-  methods: {
-    // 获取公司列表
-    async getCompanyData() {
-      this.companyOptions = [];
-      this.pickerTimer = this.getchangeTime(new Date());
-      const { data } = await getApicompanyslist({ type: "0" });
-      var arr = [];
-      if (data && data.length > 0) {
-        {
-          data.forEach((item) => {
-            if (item.preCode == "") {
-              this.companyVal = item.code;
-            }
-            var obj = {};
-            obj.value = item.code;
-            obj.label = item.aname;
-            arr.push(obj);
-          });
-        }
-      }
-      this.companyOptions = arr;
-      this.getStationData();
-    },
-    headerStyle({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex < 0) {
-        return { "backdrop-filter": "blur(10px)", padding: "6px 0" };
-      } else {
-        return { padding: "6px 0" };
-      }
-    },
-    changeBtn(id) {
-      this.tabIndex = id;
-      this.stationVal = "";
-      this.getStationData();
-    },
-    changeCompan(val) {
-      this.companyVal = val;
-      this.stationVal = "";
-      this.getStationData();
-    },
-    // 获取场站
-    async getStationData() {
-      this.stationOptions = [];
-
-      let params = {
-        companyCode: this.companyVal,
-        stationType: this.tabIndex,
-      };
-      const { data } = await getApiwpByCplistlist(params);
-      var arr = [];
-      if (data && data.length > 0) {
-        {
-          data.forEach((item) => {
-            var obj = {};
-            obj.value = item.CZMC;
-            obj.CZBM = item.CZBM;
-            arr.push(obj);
-          });
-        }
-      }
-      this.stationVals = data[0].CZBM;
-      this.stationVal = data[0].CZMC;
-      this.stationOptions = arr;
-      this.getTableData();
-    },
-    changeStation(val) {
-      let obj = {};
-      if (this.stationOptions != "") {
-        obj = this.stationOptions.find((item) => {
-          return item.value == val;
-        });
-        this.stationVals = obj.CZBM;
-      }
-
-      this.stationVal = val;
-    },
-    seachData() {
-      this.getTableData();
-    },
-    async getTableData() {
-      let params = {
-        date: this.pickerTimer,
-        stationId: this.stationVals,
-      };
-      const { data } = await getEquipmentReportData(params);
-
-      if (data.length >= 1) {
-        data?.forEach((value) => {
-          value.tagNames = value.powerstationName + value.deviceName;
-          for (let key in value) {
-            if (
-              key == "yfdl" ||
-              key == "gzssdl" ||
-              key == "yllfdl" ||
-              key == "ddxdssdl" ||
-              key == "jhjxssdl" ||
-              key == "xnwdbssdl" ||
-              key == "slssdl"
-            ) {
-              value[key] = (value[key] / 10000).toFixed(4);
-            } else if (typeof value[key] === "number") {
-              value[key] = value[key].toFixed(2);
-            }
-          }
-        });
-
-        this.allStation = data;
-        this.stationDatasd = this.deepClone(data);
-        this.stationDatas = this.stationDatasd.splice(0, this.pageSize);
-      } else {
-        this.stationDatas = [];
-        this.allStation = [];
-      }
-    },
-
-    addRollListener() {
-      const dom = document.getElementsByClassName("el-table__body-wrapper")[0];
-      dom.addEventListener("scroll", () => {
-        const scrollTop = dom.scrollTop;
-        const offsetHeight = dom.offsetHeight;
-        const clientHeight = dom.clientHeight;
-        const scrollHeight = dom.scrollHeight;
-        if (
-          clientHeight + scrollTop + 1 > scrollHeight ||
-          offsetHeight + scrollTop >= scrollHeight
-        ) {
-          this.pageSize++;
-          this.getTableData();
-        }
-      });
-    },
-    tableRowClassName({ row, rowIndex }) {
-      if (row.powerstationName == "") {
-        return "success-row";
-      } else if (rowIndex === "") {
-        return "";
-      }
-      return "";
-    },
-
-    //转换时间
-    getchangeTime(date) {
-      var y = date.getFullYear();
-      var m = date.getMonth() + 1;
-      m = m < 10 ? "0" + m : m;
-      return y + "-" + m;
-    },
-
-    deepClone(ob) {
-      var obj = JSON.stringify(ob);
-      var objClone = JSON.parse(obj);
-      return objClone;
-    },
-    downXlsxFn() {
-      this.stationDatas = this.allStation;
-      let headers = [];
-      this.stationData.forEach((it) => {
-        headers.push(it.tagName + it.valueUnit);
-      });
-      setTimeout(() => {
-        if (this.stationDatas.length > 0) {
-          utils.exportExcel(
-            this.$refs["stand_table"].$el,
-            headers,
-            this.pickerTimer + "单机月报"
-          );
-        }
-      }, 1000);
-    },
-  },
-};
-</script>
-
-<style lang="less">
-.singleMachine {
-  padding: 0 23px;
-
-  .singleMachine_title {
-    padding-left: 10px;
-
-    .leftContent {
-      width: 242px;
-      height: 41px;
-      line-height: 41px;
-      background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
-
-      span {
-        font-size: 16px;
-        font-family: Microsoft YaHei;
-        font-weight: 400;
-        color: #ffffff;
-        margin-left: 25px;
-      }
-    }
-
-    .floatLeft {
-      float: left;
-    }
-
-    .floatRight {
-      float: right;
-    }
-
-    .rightContent {
-      width: 212px;
-      height: 28px;
-      margin-top: 13px;
-      background: url("../../../../assets/imgs/title_right_bg.png");
-    }
-  }
-
-  .clearfix::after {
-    content: "";
-    clear: both;
-    height: 0;
-    line-height: 0;
-    visibility: hidden;
-    display: block;
-  }
-
-  .clearfix {
-    zoom: 1;
-  }
-
-  .singleMachine_top {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    padding-top: 10px;
-    margin-bottom: 10px;
-
-    .station {
-      display: flex;
-      flex-direction: row;
-      align-items: center;
-      font-size: 14px;
-      font-family: Microsoft YaHei;
-      font-weight: 400;
-      color: #b3b3b3;
-      margin-right: 10px;
-      margin-left: 10px;
-    }
-
-    .tabCut {
-      display: inline-block;
-      margin: 0 10px;
-
-      div {
-        display: inline-block;
-        width: 60px;
-        height: 27px;
-        border: 1px solid #274934;
-        text-align: center;
-        line-height: 25px;
-        cursor: pointer;
-      }
-
-      div:nth-child(1) {
-        border-radius: 13px 0px 0px 13px;
-      }
-
-      div:nth-child(2) {
-        border-radius: 0px 13px 13px 0px;
-      }
-
-      .active {
-        background-color: rgba(5, 187, 76, 0.9);
-        color: #fff;
-      }
-    }
-
-    .search-input {
-      margin-left: 10px;
-
-      .el-input__inner {
-        width: 175px;
-      }
-
-      .el-input__suffix {
-        right: -50px;
-      }
-    }
-
-    .but {
-      display: flex;
-      flex-direction: row;
-      align-content: center;
-      margin-left: 20px;
-
-      .buttons:nth-child(1) {
-        background: rgba(5, 187, 76, 0.6);
-        border: 1px solid #3b6c53;
-        border-radius: 13px;
-        color: #fff;
-
-        &:hover {
-          background: rgba(5, 187, 76, 0.9);
-          border-radius: 13px;
-          color: #fff;
-        }
-      }
-
-      .buttons:nth-child(2) {
-        background: rgba(67, 81, 107, 0.3);
-        border: 1px solid #3b6c53;
-        border-radius: 13px;
-        font-size: 14px;
-        color: #b3b3b3;
-      }
-    }
-  }
-
-  .singleMachine_Table {
-    margin: 0 5px 5px 5px;
-    padding-bottom: 10px;
-
-    .el-table--mini {
-      margin: 5px;
-
-      .el-table__header-wrapper {
-        tr {
-          background: rgba(83, 89, 104, 0.3) !important;
-
-          th {
-            vertical-align: top !important;
-          }
-
-          .cell {
-            color: #b3b3b3;
-            font-family: MicrosoftYaHei;
-            font-size: 14px;
-          }
-        }
-      }
-
-      .el-table__body-wrapper {
-        tr {
-          &:nth-child(2n) {
-            background: rgba(83, 89, 104, 0.05) !important;
-          }
-
-          .cell {
-            color: #d8d8d9;
-            font-family: ArialMT;
-            font-size: 13px;
-            height: 25px !important;
-          }
-        }
-      }
-    }
-
-    .el-pagination {
-      display: flex;
-      justify-content: flex-end;
-      margin-right: 40px;
-      margin-top: 20px;
-
-      .btn-prev,
-      .btn-next,
-      .btn-quickprev,
-      .btn-quicknext,
-      .el-pager,
-      .number {
-        background: rgba(58, 63, 75, 0.4);
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pager .active {
-        background: #083c94;
-        color: #fff;
-        border-radius: 2px;
-      }
-
-      .el-pagination__total,
-      .el-pagination__jump {
-        color: #fff;
-
-        .el-input__inner {
-          background: rgba(58, 63, 75, 0.2);
-          border: 1px solid #3e4349;
-          color: #fff;
-          border-radius: 2px;
-        }
-      }
-    }
-
-    .historyBtn {
-      cursor: pointer;
-      color: #1c99ff;
-      margin-right: 15px;
-    }
-  }
-
-  .el-overlay {
-    .el-overlay-dialog {
-      overflow-y: hidden !important;
-
-      .windhistoryDetailModel,
-      .windDetailmodal {
-        margin-top: 0 !important;
-
-        .el-dialog__body {
-          padding: 10px 20px 20px 20px;
-        }
-      }
-    }
-  }
-
-  .el-picker__popper .el-date-range-picker__header .el-picker-panel__icon-btn {
-    color: #fff;
-  }
-
-  .el-picker__popper .el-date-table .in-range div {
-    background: #43516b;
-  }
-}
-</style>

+ 261 - 0
src/views/economicsOperation/stationAnalyse/electricAnalyse/components/barCharts.vue

@@ -0,0 +1,261 @@
+<template>
+  <div class="chart" :id="id"></div>
+</template>
+
+<script>
+import util from "@/helper/util.js";
+import partten from "@/helper/partten.js";
+import * as echarts from "echarts";
+import dayjs from "dayjs";
+export default {
+  name: "yfdl-multiple-bar-chart",
+  componentName: "yfdl-multiple-bar-chart",
+  props: {
+    width: {
+      type: String,
+      default: "100%",
+    },
+    height: {
+      type: String,
+      default: "100%",
+    },
+
+    // 传入数据
+    list: {
+      type: Array,
+      default: () => [],
+    },
+    tabIndex: {
+      type: Number,
+    },
+  },
+  data() {
+    return {
+      id: "",
+      chart: null,
+      firstAnimation: true,
+    };
+  },
+  computed: {
+    xdata() {
+      return [
+        "一月",
+        "二月",
+        "三月",
+        "四月",
+        "五月",
+        "六月",
+        "七月",
+        "八月",
+        "九月",
+        "十月",
+        "十一月",
+        "十二月",
+      ];
+    },
+    series() {
+      let result = [];
+      if (this.list && this.list.length > 0) {
+        this.list.forEach((listItem, index) => {
+          let seriesItem = {
+            name: listItem?.name,
+            type: "bar",
+            data: listItem?.data,
+            itemStyle: {
+              color: listItem.color,
+            },
+            barWidth: "20%",
+          };
+          if (this.tabIndex == -2) {
+            if (index == 3) {
+              seriesItem = {
+                yAxisIndex: 1,
+                name: listItem?.name,
+                type: "line",
+                smooth: true,
+                data: listItem?.data,
+                itemStyle: {
+                  color: listItem.color,
+                },
+              };
+            }
+          }
+          result.push(seriesItem);
+        });
+      }
+      return result;
+    },
+  },
+  methods: {
+    resize() {
+      this.initChart();
+    },
+    initChart() {
+      let chart = echarts.init(this.$el);
+      let option = {
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(5, 187, 76,0.35)",
+          borderColor: "#05bb4c",
+          formatter: function (params) {
+            var htmlStr = `<div style='margin-bottom:5px'>${params[0].axisValue}</div>`;
+            for (var i = 0; i < params.length; i++) {
+              htmlStr += `<div style='margin-bottom:2px'>`;
+              var param = params[i];
+              var seriesName = param.seriesName; //图例名称
+              var value = param.value; //y轴值
+              var data = param.data; //单位判断code
+              var mark = param.marker; //点
+              var unit = `<span style='font-size:14px'>`;
+
+              htmlStr += mark; //一个点
+              htmlStr += `${seriesName} : ${
+                value != null ? value + unit + ` 万kWh</span>` : "--"
+              }`; //圆点后面显示的文本
+              htmlStr += "</div>";
+            }
+            return htmlStr;
+          },
+          padding: [10, 10, 3, 10],
+          textStyle: {
+            color: "#fff",
+            fontSize: 16,
+          },
+          axisPointer: {
+            type: "shadow",
+            shadowStyle: {
+              color: "rgba(105,105,105, .05)",
+              width: "1",
+            },
+          },
+        },
+        legend: {
+          show: true,
+          data: this.list.map((i) => i?.name),
+          right: 56,
+          icon: "ract",
+          itemWidth: 8,
+          itemHeight: 8,
+          inactiveColor: partten.getColor("gray"),
+          textStyle: {
+            fontSize: 12,
+            color: partten.getColor("grayl"),
+          },
+        },
+        grid: {
+          top: "10%",
+          left: "1%",
+          right: "2%",
+          bottom: "5%",
+          containLabel: true,
+        },
+        xAxis: [
+          {
+            type: "category",
+            data: this.xdata,
+            nameLocation: "center",
+            axisPointer: {
+              type: "shadow",
+            },
+            axisLine: {
+              lineStyle: {
+                color: "#93989A",
+              },
+            },
+            axisLabel: {
+              textStyle: {
+                fontSize: 14,
+                color: "#93989A",
+              },
+            },
+          },
+        ],
+        yAxis: [
+          {
+            type: "value",
+            name: "单位:万千瓦时",
+            nameTextStyle: {
+              color: "#93989A",
+            },
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "rgba(96,103,105,0.3)",
+                type: "dashed",
+              },
+            },
+            axisLabel: {
+              textStyle: {
+                fontSize: 14,
+                color: "#93989A",
+              },
+            },
+          },
+        ],
+        series: this.series,
+      };
+      chart.clear();
+      if (this.tabIndex == -2) {
+        option.yAxis.push({
+          type: "value",
+          name: "单位:W/m²",
+          nameTextStyle: {
+            color: "#93989A",
+          },
+          splitLine: {
+            show: false,
+          },
+          axisLabel: {
+            textStyle: {
+              fontSize: 14,
+              color: "#93989A",
+            },
+          },
+        });
+      }
+      chart.setOption(option);
+
+      this.resize = function () {
+        chart.resize();
+      };
+
+      window.addEventListener("resize", this.resize);
+    },
+  },
+  created() {
+    this.$nextTick(() => {
+      this.id = "pie-chart-" + util.newGUID();
+    });
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$el.style.width = this.width;
+      this.$el.style.height = this.height;
+      this.initChart();
+      this.firstAnimation = false;
+    });
+  },
+  updated() {
+    this.$nextTick(() => {
+      this.initChart();
+    });
+  },
+  unmounted() {
+    window.removeEventListener("resize", this.resize);
+  },
+
+  watch: {
+    "$store.state.themeName"() {
+      this.initChart();
+    },
+  },
+};
+</script>
+
+<style lang="less">
+.chart {
+  width: 100%;
+  height: 100%;
+  display: inline-block;
+}
+</style>

+ 510 - 0
src/views/economicsOperation/stationAnalyse/electricAnalyse/index.vue

@@ -0,0 +1,510 @@
+<template>
+  <div class="parcel-box">
+    <div class="search">
+      <div class="search-left">
+        <el-select
+          size="mini"
+          v-model="company"
+          placeholder="请选择"
+          @change="companyChanged"
+        >
+          <el-option
+            v-for="item in companyOptions"
+            :key="item.id"
+            :label="item.aname"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+        <div class="tabCut">
+          <div
+            @click="tabClick(val.id)"
+            :class="[
+              tabIndex === val.id ? 'active' : '',
+              displayDetail ? 'disabled' : '',
+            ]"
+            v-for="val in tabOptions"
+            :key="val.id"
+          >
+            <span>{{ val.name }}</span>
+          </div>
+        </div>
+        <el-select
+          size="mini"
+          v-model="station"
+          placeholder="请选择"
+          style="margin-left: 15px"
+          @change="stationChanged"
+        >
+          <el-option
+            v-for="item in stationOptions"
+            :key="item.id"
+            :label="item.aname"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+        <el-date-picker
+          size="mini"
+          type="year"
+          v-model="year"
+          value-format="YYYY"
+          placeholder="请选择"
+          style="margin-left: 15px"
+          popper-class="date-select"
+        >
+        </el-date-picker>
+        <el-button round size="mini" class="searchColor" @click="getDatas"
+          >搜索</el-button
+        >
+      </div>
+    </div>
+    <div
+      class="parcel-content"
+      v-loading="loading"
+      element-loading-background="rgba(4, 12, 11, 0.8)"
+    >
+      <!-- <img src="@/assets/imgs/glycfx-bg1.png" alt="" /> -->
+      <div class="line clearfix">
+        <div class="leftContent">
+          <span>{{ selectValue }}</span>
+        </div>
+      </div>
+      <div class="table-wrapper">
+        <el-table
+          :data="tableData"
+          size="mini"
+          stripe
+          width="100%"
+          height="100%"
+        >
+          <el-table-column
+            v-for="(item, index) in tableHead"
+            :label="item"
+            :key="index"
+            align="center"
+            :width="item == '指标名称' ? '200px' : ''"
+            show-overflow-tooltip
+          >
+            <template #default="scope">
+              <span>
+                {{
+                  scope.row[index] || scope.row[index] == 0
+                    ? scope.row[index]
+                    : "--"
+                }}
+              </span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="echarts">
+        <div class="chart-wrapper">
+          <BarCharts
+            :list="list"
+            width="100%"
+            height="100%"
+            :tabIndex="tabIndex"
+          ></BarCharts>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import BarCharts from "./components/barCharts.vue";
+import { companys } from "@/api/curveAnalyse";
+import { GetStationByCompany } from "@/api/factoryMonitor/index.js";
+import {
+  getMonthElectricAnalyse,
+  getMonthElectricAnalyseGf,
+} from "@/api/monthlyPerformanceAnalysis.js";
+export default {
+  name: "ElectricAnalyse",
+  components: {
+    BarCharts,
+  },
+  data() {
+    return {
+      loading: false,
+      list: [],
+      barList: [],
+      tableData: [],
+      tableHead: [
+        "指标名称",
+        "一月",
+        "二月",
+        "三月",
+        "四月",
+        "五月",
+        "六月",
+        "七月",
+        "八月",
+        "九月",
+        "十月",
+        "十一月",
+        "十二月",
+        "合计",
+      ],
+      company: "",
+      companyOptions: [],
+      station: "",
+      stationOptions: [],
+      year: "2023",
+      selectValue: "发电量分析",
+      headers: [
+        "计划电量",
+        "预测电量",
+        "实发电量",
+        "当月占比(实发/计划)",
+        "全年占比(实发/计划)",
+        "短期准确率",
+      ],
+      headersGf: [
+        "日照强度(W/m²)",
+        "实发电量",
+        "计划电量",
+        "计划完成情况(%)",
+        "可研电量",
+        "可研完成情况(%)",
+        "等效发电小时(h)",
+      ],
+      tabIndex: -1,
+      tabOptions: [
+        { id: -1, name: "风电" },
+        { id: -2, name: "光伏" },
+      ],
+    };
+  },
+  watch: {},
+  created() {
+    this.initialization();
+  },
+  methods: {
+    tabClick(tab) {
+      this.tabIndex = tab;
+      if (tab == -2) {
+        this.company = "SXJ_KGDL_GFFD_ZGS";
+        this.station = "";
+        this.getStation();
+      } else {
+        this.company = this.companyOptions[0].id;
+        this.station = "";
+        this.getStation();
+      }
+    },
+    initialization() {
+      companys().then(({ data: res }) => {
+        if (res.data) {
+          this.companyOptions = res.data;
+          this.company = res.data[0].id;
+          this.getStation();
+        }
+      });
+    },
+    companyChanged() {
+      this.station = "";
+      this.getStation();
+    },
+    getStation() {
+      GetStationByCompany({ companyids: this.company, type: 0 }).then(
+        ({ data: res, code }) => {
+          if (res.code == 200) {
+            this.stationOptions = res.data;
+            this.station = this.stationOptions[0].id;
+            this.getDatas();
+          }
+        }
+      );
+    },
+    getDatas() {
+      this.loading = true;
+      if (this.tabIndex == -1) {
+        this.asyncDataFd();
+      } else {
+        this.asyncDataGf();
+      }
+    },
+    asyncDataFd() {
+      getMonthElectricAnalyse({ wpId: this.station, year: this.year }).then(
+        ({ data, code }) => {
+          if (code == 200) {
+            //合计列
+            let hj = [
+              data.bnjhdlhj,
+              data.rfdlychj,
+              data.bnsjdlhj,
+              null,
+              data.qnzbhj + "%",
+              null,
+            ];
+            //处理纵向表格数据
+            let resData = JSON.parse(JSON.stringify(data.value));
+            // 数组按矩阵思路, 变成转置矩阵
+            let matrixData = resData.map((row) => {
+              let arr = [];
+              for (let key in row) {
+                if (key != "hours") {
+                  if (key.includes("zb") || key.includes("zql")) {
+                    arr.push(row[key] ? row[key] + "%" : row[key]);
+                  } else {
+                    arr.push(row[key]);
+                  }
+                }
+              }
+              return arr;
+            });
+            // 加入标题拼接最终的数据
+            this.tableData = matrixData[0].map((col, i) => {
+              let newArr = new Array(
+                this.tableHead.length - matrixData.length - 2
+              ).fill(null);
+              let array = [
+                this.headers[i],
+                ...matrixData.map((row) => {
+                  return row[i];
+                }),
+                ...newArr,
+                hj[i],
+              ];
+              return array;
+            });
+
+            //处理图表数据
+            let list = [
+              {
+                name: "计划电量",
+                data: resData.map((ele) => ele.jhdl),
+                color: "#4B55AE",
+              },
+              {
+                name: "预测电量",
+                data: resData.map((ele) => ele.rfdlyc),
+                color: "#FF8300",
+              },
+              {
+                name: "实发电量",
+                data: resData.map((ele) => ele.sjdl),
+                color: "#05BB4C",
+              },
+            ];
+            this.list = list;
+          }
+          this.loading = false;
+        }
+      );
+    },
+    asyncDataGf() {
+      getMonthElectricAnalyseGf({ wpId: this.station, year: this.year }).then(
+        ({ data, code }) => {
+          if (code == 200) {
+            //合计列
+            let hj = [
+              data.rzqdhj,
+              data.sjdlhj,
+              data.jhdlhj,
+              data.wcqkhj + "%",
+              data.kydlhj,
+              data.kywcqkhj + "%",
+              data.dxxsshj,
+            ];
+            //处理纵向表格数据
+            let resData = JSON.parse(JSON.stringify(data.value));
+            // 数组按矩阵思路, 变成转置矩阵
+            let matrixData = resData.map((row) => {
+              let arr = [];
+              for (let key in row) {
+                if (key != "hours") {
+                  if (key == "wcqk" || key == "kywcqk") {
+                    arr.push(row[key] ? row[key] + "%" : row[key]);
+                  } else {
+                    arr.push(row[key]);
+                  }
+                }
+              }
+              return arr;
+            });
+            // 加入标题拼接最终的数据
+            this.tableData = matrixData[0].map((col, i) => {
+              let newArr = new Array(
+                this.tableHead.length - matrixData.length - 2
+              ).fill(null);
+              let array = [
+                this.headersGf[i],
+                ...matrixData.map((row) => {
+                  return row[i];
+                }),
+                ...newArr,
+                hj[i],
+              ];
+              return array;
+            });
+
+            //处理图表数据
+            let list = [
+              {
+                name: "计划电量",
+                data: resData.map((ele) => ele.jhdl),
+                color: "#4B55AE",
+              },
+              {
+                name: "实发电量",
+                data: resData.map((ele) => ele.sjdl),
+                color: "#05BB4C",
+              },
+              {
+                name: "可研电量",
+                data: resData.map((ele) => ele.sjdl),
+                color: "#21a4f7",
+              },
+              {
+                name: "日照强度",
+                data: resData.map((ele) => ele.rzqd),
+                color: "#FF8300",
+              },
+            ];
+            this.list = list;
+          }
+          this.loading = false;
+        }
+      );
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.parcel-box {
+  padding: 0 20px;
+  box-sizing: border-box;
+  width: 100%;
+  height: 100%;
+
+  .search {
+    display: flex;
+    flex-direction: row;
+    padding: 15px 0;
+    align-items: center;
+    justify-content: space-between;
+
+    .search-left {
+      display: flex;
+      flex-direction: row;
+      align-items: center;
+      .tabCut {
+        display: inline-block;
+        margin: 0 10px;
+
+        div {
+          display: inline-block;
+          width: 60px;
+          height: 27px;
+          border: 1px solid #274934;
+          text-align: center;
+          line-height: 25px;
+          cursor: pointer;
+        }
+
+        div:nth-child(1) {
+          border-radius: 13px 0px 0px 13px;
+          border-right-width: 0;
+        }
+
+        div:nth-child(2) {
+          border-radius: 0px 13px 13px 0px;
+        }
+
+        .active {
+          background-color: rgba(5, 187, 76, 0.9);
+          color: #fff;
+        }
+        .disabled {
+          cursor: not-allowed;
+          pointer-events: none;
+        }
+      }
+    }
+
+    .search-right {
+      position: relative;
+
+      .select-back {
+        position: absolute;
+        right: 5px;
+        top: 0px;
+        z-index: 0;
+      }
+
+      .title-select {
+        z-index: 2;
+      }
+    }
+
+    button {
+      margin-left: 10px;
+      background: rgba(67, 81, 107, 0.3);
+      border: 1px solid #274934;
+      color: #b3b3b3;
+    }
+
+    .searchColor {
+      background-color: rgba(5, 187, 76, 0.2);
+      border: 1px solid #3b6c53;
+      color: #b3b3b3;
+      font-size: 14px;
+
+      &:hover {
+        background-color: rgba(5, 187, 76, 0.5);
+        color: #ffffff;
+      }
+    }
+  }
+  .parcel-content {
+    width: 100%;
+    height: calc(100% - 88px);
+    // position: relative;
+    background: url("~@/assets/imgs/glycfx-bg1.png") no-repeat;
+    background-size: 100% 100%;
+    background-position: center;
+    img {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+    }
+    .line {
+      .leftContent {
+        width: 242px;
+        height: 45px;
+        line-height: 45px;
+        background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
+
+        span {
+          font-size: 16px;
+          font-family: Microsoft YaHei;
+          font-weight: 400;
+          color: #05bb4c;
+          margin-left: 25px;
+        }
+      }
+    }
+
+    .echarts {
+      height: calc(100% - 305px - 45px);
+      padding: 0 20px;
+      .chart-wrapper {
+        height: 100%;
+        width: 100%;
+      }
+    }
+    .table-wrapper {
+      height: 305px;
+      width: 100%;
+      padding: 0 20px;
+      padding-top: 10px;
+    }
+  }
+}
+</style>

+ 1 - 1
src/views/economicsOperation/analyse/index.vue

@@ -4,7 +4,7 @@
 
 <script>
 export default {
-  name: "performanceAnalyse", //性能分析
+  name: "StationAnalyse", //场站分析
 };
 </script>
 

+ 256 - 0
src/views/economicsOperation/stationAnalyse/stationElectricAnalyse/components/lineCharts.vue

@@ -0,0 +1,256 @@
+<template>
+  <div class="chart" :id="id"></div>
+</template>
+
+<script>
+import util from "@/helper/util.js";
+import partten from "@/helper/partten.js";
+import * as echarts from "echarts";
+import dayjs from "dayjs";
+export default {
+  name: "yfdl-multiple-bar-chart",
+  componentName: "yfdl-multiple-bar-chart",
+  props: {
+    width: {
+      type: String,
+      default: "100%",
+    },
+    height: {
+      type: String,
+      default: "100%",
+    },
+
+    // 传入数据
+    list: {
+      type: Array,
+      default: () => [],
+    },
+  },
+  data() {
+    return {
+      id: "",
+      chart: null,
+      firstAnimation: true,
+    };
+  },
+  computed: {
+    xdata() {
+      return [
+        "一月",
+        "二月",
+        "三月",
+        "四月",
+        "五月",
+        "六月",
+        "七月",
+        "八月",
+        "九月",
+        "十月",
+        "十一月",
+        "十二月",
+      ];
+    },
+    series() {
+      let result = [];
+      if (this.list && this.list.length > 0) {
+        this.list.forEach((listItem, index) => {
+          let seriesItem = {
+            yAxisIndex: 0,
+            name: listItem?.name,
+            type: "bar",
+            data: listItem?.data,
+            itemStyle: {
+              color: listItem.color,
+            },
+            barWidth: "20%",
+          };
+          //   if (index == 3) {
+          //     seriesItem = {
+          //       yAxisIndex: 1,
+          //       name: listItem?.name,
+          //       type: "line",
+          //       smooth: true,
+          //       data: listItem?.data,
+          //       itemStyle: {
+          //         color: listItem.color,
+          //       },
+          //     };
+          //   }
+
+          result.push(seriesItem);
+        });
+      }
+      return result;
+    },
+  },
+  methods: {
+    resize() {
+      this.initChart();
+    },
+    initChart() {
+      let chart = echarts.init(this.$el);
+      let option = {
+        tooltip: {
+          trigger: "axis",
+          backgroundColor: "rgba(5, 187, 76,0.35)",
+          borderColor: "#05bb4c",
+          formatter: function (params) {
+            var htmlStr = `<div style='margin-bottom:5px'>${params[0].axisValue}</div>`;
+            for (var i = 0; i < params.length; i++) {
+              htmlStr += `<div style='margin-bottom:2px'>`;
+              var param = params[i];
+              var seriesName = param.seriesName; //图例名称
+              var value = param.value; //y轴值
+              var data = param.data; //单位判断code
+              var mark = param.marker; //点
+              var unit = `<span style='font-size:14px'>`;
+
+              htmlStr += mark; //一个点
+              htmlStr += `${seriesName} : ${
+                value != null ? value + unit + ` 万kWh</span>` : "--"
+              }`; //圆点后面显示的文本
+              htmlStr += "</div>";
+            }
+            return htmlStr;
+          },
+          padding: [10, 10, 3, 10],
+          textStyle: {
+            color: "#fff",
+            fontSize: 16,
+          },
+          axisPointer: {
+            type: "shadow",
+            shadowStyle: {
+              color: "rgba(105,105,105, .05)",
+              width: "1",
+            },
+          },
+        },
+        legend: {
+          show: true,
+          data: this.list?.map((i) => i?.name),
+          right: 56,
+          icon: "ract",
+          itemWidth: 8,
+          itemHeight: 8,
+          inactiveColor: partten.getColor("gray"),
+          textStyle: {
+            fontSize: 12,
+            color: partten.getColor("grayl"),
+          },
+        },
+        grid: {
+          top: "10%",
+          left: "2%",
+          right: "4%",
+          bottom: "5%",
+          containLabel: true,
+        },
+        xAxis: [
+          {
+            type: "category",
+            data: this?.xdata,
+            nameLocation: "center",
+            axisPointer: {
+              type: "shadow",
+            },
+            axisLine: {
+              lineStyle: {
+                color: "#93989A",
+              },
+            },
+            axisLabel: {
+              textStyle: {
+                fontSize: 14,
+                color: "#93989A",
+              },
+            },
+          },
+        ],
+        yAxis: [
+          {
+            type: "value",
+            name: "单位:万千瓦时",
+            nameTextStyle: {
+              color: "#93989A",
+            },
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "rgba(96,103,105,0.3)",
+                type: "dashed",
+              },
+            },
+            axisLabel: {
+              textStyle: {
+                fontSize: 14,
+                color: "#93989A",
+              },
+            },
+          },
+          //   {
+          //     type: "value",
+          //     name: "单位:W/m²",
+          //     nameTextStyle: {
+          //       color: "#93989A",
+          //     },
+          //     splitLine: {
+          //       show: false,
+          //     },
+          //     axisLabel: {
+          //       textStyle: {
+          //         fontSize: 14,
+          //         color: "#93989A",
+          //       },
+          //     },
+          //   },
+        ],
+        series: this?.series,
+      };
+      chart.clear();
+      chart.setOption(option);
+
+      this.resize = function () {
+        chart.resize();
+      };
+
+      window.addEventListener("resize", this.resize);
+    },
+  },
+  created() {
+    this.$nextTick(() => {
+      this.id = "pie-chart-" + util.newGUID();
+    });
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$el.style.width = this.width;
+      this.$el.style.height = this.height;
+      this.initChart();
+      this.firstAnimation = false;
+    });
+  },
+  updated() {
+    this.$nextTick(() => {
+      this.initChart();
+    });
+  },
+  unmounted() {
+    window.removeEventListener("resize", this.resize);
+  },
+
+  watch: {
+    "$store.state.themeName"() {
+      this.initChart();
+    },
+  },
+};
+</script>
+
+<style lang="less">
+.chart {
+  width: 100%;
+  height: 100%;
+  display: inline-block;
+}
+</style>

+ 505 - 0
src/views/economicsOperation/stationAnalyse/stationElectricAnalyse/index.vue

@@ -0,0 +1,505 @@
+<template>
+  <div class="parcel-box">
+    <div class="search">
+      <div class="search-left">
+        <el-select
+          size="mini"
+          v-model="company"
+          placeholder="请选择"
+          @change="companyChanged"
+        >
+          <el-option
+            v-for="item in companyOptions"
+            :key="item.id"
+            :label="item.aname"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+        <div class="tabCut">
+          <div
+            @click="tabClick(val.id)"
+            :class="[
+              tabIndex === val.id ? 'active' : '',
+              displayDetail ? 'disabled' : '',
+            ]"
+            v-for="val in tabOptions"
+            :key="val.id"
+          >
+            <span>{{ val.name }}</span>
+          </div>
+        </div>
+        <el-select
+          size="mini"
+          v-model="station"
+          placeholder="请选择"
+          style="margin-left: 15px"
+          @change="stationChanged"
+        >
+          <el-option
+            v-for="item in stationOptions"
+            :key="item.id"
+            :label="item.aname"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+
+        <el-date-picker
+          size="mini"
+          type="year"
+          v-model="year"
+          value-format="YYYY"
+          placeholder="请选择"
+          style="margin-left: 15px"
+          popper-class="date-select"
+        >
+        </el-date-picker>
+        <el-radio-group v-model="filter" size="mini">
+          <el-radio label="1"> 同比 </el-radio>
+          <el-radio label="2"> 环比 </el-radio>
+        </el-radio-group>
+
+        <el-button round size="mini" class="searchColor" @click="getDatas"
+          >搜索</el-button
+        >
+      </div>
+    </div>
+    <div
+      class="parcel-content"
+      v-loading="loading"
+      element-loading-background="rgba(4, 12, 11, 0.8)"
+    >
+      <!-- <img src="@/assets/imgs/glycfx-bg1.png" alt="" /> -->
+      <div class="line clearfix">
+        <div class="leftContent">
+          <span>{{ selectValue }}</span>
+        </div>
+      </div>
+      <div class="table-wrapper">
+        <el-table
+          :data="tableData"
+          size="mini"
+          stripe
+          width="100%"
+          height="100%"
+        >
+          <el-table-column align="center" label="指标名称" width="128">
+            <template #default="{ row }">
+              {{ row[0] }}
+            </template>
+          </el-table-column>
+          <el-table-column
+            v-for="(item, index) in tableHead.slice(1, 13)"
+            :label="item.title"
+            :key="index"
+            align="center"
+            show-overflow-tooltip
+          >
+            <el-table-column
+              label="本月"
+              width="66"
+              v-if="filter == 1 || filter == 2"
+              align="center"
+              show-overflow-tooltip
+            >
+              <template #default="scope">
+                <span>
+                  {{
+                    scope.row[index + 1][0] || scope.row[index + 1][0] == 0
+                      ? scope.row[index + 1][0]
+                      : "--"
+                  }}
+                </span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="同比"
+              width="66"
+              v-if="filter == 1"
+              align="center"
+              show-overflow-tooltip
+            >
+              <template #default="scope">
+                <span>
+                  {{
+                    scope.row[index + 1][1] || scope.row[index + 1][1] == 0
+                      ? scope.row[index + 1][1]
+                      : "--"
+                  }}
+                </span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="环比"
+              width="66"
+              v-if="filter == 2"
+              align="center"
+              show-overflow-tooltip
+            >
+              <template #default="scope">
+                <span>
+                  {{
+                    scope.row[index + 1][2] || scope.row[index + 1][2] == 0
+                      ? scope.row[index + 1][2]
+                      : "--"
+                  }}
+                </span>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="合计"
+            width="76"
+            show-overflow-tooltip
+          >
+            <template #default="{ row }">
+              {{ row[13] }}
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="echarts">
+        <div class="chart-wrapper">
+          <LineCharts :list="list" width="100%" height="100%" />
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import LineCharts from "./components/lineCharts.vue";
+import { companys } from "@/api/curveAnalyse";
+import { GetStationByCompany } from "@/api/factoryMonitor/index.js";
+import {
+  getOwnDemand,
+  getAllStation,
+} from "@/api/monthlyPerformanceAnalysis.js";
+export default {
+  name: "StationElectricAnalyse",
+  components: {
+    // ChartColumnar,
+    // Panel,
+    LineCharts,
+  },
+  data() {
+    return {
+      loading: false,
+      list: [],
+      barList: [],
+      tableData: [],
+      tableHead: [
+        { title: "指标名称", children: [] },
+        { title: "一月", children: ["本月", "同比", "环比"] },
+        { title: "二月", children: ["本月", "同比", "环比"] },
+        { title: "三月", children: ["本月", "同比", "环比"] },
+        { title: "四月", children: ["本月", "同比", "环比"] },
+        { title: "五月", children: ["本月", "同比", "环比"] },
+        { title: "六月", children: ["本月", "同比", "环比"] },
+        { title: "七月", children: ["本月", "同比", "环比"] },
+        { title: "八月", children: ["本月", "同比", "环比"] },
+        { title: "九月", children: ["本月", "同比", "环比"] },
+        { title: "十月", children: ["本月", "同比", "环比"] },
+        { title: "十一月", children: ["本月", "同比", "环比"] },
+        { title: "十二月", children: ["本月", "同比", "环比"] },
+        { title: "合计", children: [] },
+      ],
+      tabIndex: -1,
+      tabOptions: [
+        { id: -1, name: "风电" },
+        { id: -2, name: "光伏" },
+      ],
+      company: "",
+      companyOptions: [],
+      station: "",
+      stationOptions: [],
+      year: "2023",
+      selectValue: "综合场用电量分析",
+      headers: [
+        "综合场用电量",
+        "发电量",
+        "上网电量",
+        "购网电量",
+        "综合场用电率(%)",
+      ],
+      filter: "1",
+    };
+  },
+  watch: {},
+  created() {
+    this.initialization();
+  },
+  methods: {
+    tabClick(tab) {
+      this.tabIndex = tab;
+      if (tab == -2) {
+        this.company = "SXJ_KGDL_GFFD_ZGS";
+        this.station = "";
+        this.getStation();
+      } else {
+        this.company = this.companyOptions[0].id;
+        this.station = "";
+        this.getStation();
+      }
+    },
+    initialization() {
+      companys().then(({ data: res }) => {
+        if (res.data) {
+          this.companyOptions = res.data;
+          this.company = res.data[0].id;
+          this.getStation();
+        }
+      });
+    },
+    companyChanged() {
+      this.station = "";
+      this.getStation();
+    },
+    getStation() {
+      GetStationByCompany({
+        companyids: this.company,
+        type: this.tabIndex,
+      }).then(({ data: res, code }) => {
+        if (res.code == 200) {
+          this.stationOptions = res.data;
+          this.station = this.stationOptions[0].id;
+          this.getDatas();
+        }
+      });
+    },
+    getDatas() {
+      this.loading = true;
+      getOwnDemand({ wpId: this.station, year: this.year }).then(
+        ({ data, code }) => {
+          if (code == 200) {
+            //合计列
+            let hj = [
+              data.zhcydlsum,
+              data.sjdlsum,
+              data.swdlsum,
+              data.gwdlsum,
+              data.zhcydllsum + "%",
+            ];
+            //处理纵向表格数据
+            let resData = JSON.parse(JSON.stringify(data.value));
+            let subKey = [
+              ["zhcydl", "zhcydltb", "zhcydlhb"],
+              ["sjdl", "sjdltb", "sjdlhb"],
+              ["swdl", "swdltb", "swdlhb"],
+              ["gwdl", "gwdltb", "gwdlhb"],
+              ["zhcydll", "zhcydlltb", "zhcydllhb"],
+            ];
+            // 数组按矩阵思路, 变成转置矩阵
+            let matrixData = resData.map((row) => {
+              let arr = [];
+              for (var i = 0; i <= 4; i++) {
+                let subArr = [];
+                subKey[i].forEach((sub) => {
+                  subArr.push(row[sub]);
+                });
+                arr.push(subArr);
+              }
+              return arr;
+            });
+            // 加入标题拼接最终的数据
+            this.tableData = matrixData[0].map((col, i) => {
+              let newArr = new Array(
+                this.tableHead.length - matrixData.length - 2
+              ).fill(null);
+              let array = [
+                this.headers[i],
+                ...matrixData.map((row) => {
+                  return row[i];
+                }),
+                ...newArr,
+                hj[i],
+              ];
+              return array;
+            });
+            //   .map((item) => {
+            //     item[item.length - 1] = [item[item.length - 1]];
+            //     return item;
+            //   });
+
+            //处理图表数据
+            let list = [
+              {
+                name: "综合场用电量",
+                data: resData.map((ele) => ele.zhcydl),
+                color: "#4B55AE",
+              },
+              {
+                name: "实发电量",
+                data: resData.map((ele) => ele.sjdl),
+                color: "#05BB4C",
+              },
+              {
+                name: "上网电量",
+                data: resData.map((ele) => ele.swdl),
+                color: "#21a4f7",
+              },
+              {
+                name: "购网电量",
+                data: resData.map((ele) => ele.gwdl),
+                color: "#FF8300",
+              },
+            ];
+            this.list = list;
+            this.loading = false;
+          }
+        }
+      );
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.parcel-box {
+  padding: 0 20px;
+  box-sizing: border-box;
+  width: 100%;
+  height: 100%;
+
+  .search {
+    display: flex;
+    flex-direction: row;
+    padding: 15px 0;
+    align-items: center;
+    justify-content: space-between;
+
+    .search-left {
+      display: flex;
+      flex-direction: row;
+      align-items: center;
+      .tabCut {
+        display: inline-block;
+        margin: 0 10px;
+
+        div {
+          display: inline-block;
+          width: 60px;
+          height: 27px;
+          border: 1px solid #274934;
+          text-align: center;
+          line-height: 25px;
+          cursor: pointer;
+        }
+
+        div:nth-child(1) {
+          border-radius: 13px 0px 0px 13px;
+          border-right-width: 0;
+        }
+
+        div:nth-child(2) {
+          border-radius: 0px 13px 13px 0px;
+        }
+
+        .active {
+          background-color: rgba(5, 187, 76, 0.9);
+          color: #fff;
+        }
+        .disabled {
+          cursor: not-allowed;
+          pointer-events: none;
+        }
+      }
+    }
+
+    .search-right {
+      position: relative;
+
+      .select-back {
+        position: absolute;
+        right: 5px;
+        top: 0px;
+        z-index: 0;
+      }
+
+      .title-select {
+        z-index: 2;
+      }
+    }
+
+    button {
+      margin-left: 10px;
+      background: rgba(67, 81, 107, 0.3);
+      border: 1px solid #274934;
+      color: #b3b3b3;
+    }
+
+    .searchColor {
+      background-color: rgba(5, 187, 76, 0.2);
+      border: 1px solid #3b6c53;
+      color: #b3b3b3;
+      font-size: 14px;
+
+      &:hover {
+        background-color: rgba(5, 187, 76, 0.5);
+        color: #ffffff;
+      }
+    }
+  }
+  .parcel-content {
+    width: 100%;
+    height: calc(100% - 88px);
+    // position: relative;
+    background: url("~@/assets/imgs/glycfx-bg1.png") no-repeat;
+    background-size: 100% 100%;
+    background-position: center;
+    img {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+    }
+    .line {
+      .leftContent {
+        width: 242px;
+        height: 45px;
+        line-height: 45px;
+        background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
+
+        span {
+          font-size: 16px;
+          font-family: Microsoft YaHei;
+          font-weight: 400;
+          color: #05bb4c;
+          margin-left: 25px;
+        }
+      }
+    }
+
+    .echarts {
+      height: calc(100% - 305px - 45px);
+      padding: 0 20px;
+      .chart-wrapper {
+        height: 100%;
+        width: 100%;
+      }
+    }
+    .table-wrapper {
+      height: 305px;
+      width: 100%;
+      padding: 0 20px;
+      padding-top: 10px;
+    }
+  }
+}
+.el-radio-group::v-deep {
+  margin-left: 15px;
+  display: flex;
+  align-items: center;
+  .el-radio__inner:hover {
+    border-color: #05bb4c;
+  }
+}
+.el-table--border::v-deep {
+  th.el-table__cell {
+    border-bottom: 1px solid #000 !important;
+  }
+}
+</style>

+ 11 - 0
src/views/economicsOperation/stationAnalyse/windAndPhotovoltaic/index.vue

@@ -0,0 +1,11 @@
+<template>
+  <div>风光资源分析</div>
+</template>
+
+<script>
+export default {
+  name: "WindAndPhotovoltaic", //风光资源分析
+};
+</script>
+
+<style lang="less" scoped></style>

src/views/economicsOperation/powerCurve/cutInAndOutAnalysis/historyDetail.vue → src/views/economicsOperation/windAnalyse/cutInAndOutAnalysis/historyDetail.vue


+ 2 - 2
src/views/economicsOperation/powerCurve/cutInAndOutAnalysis/index.vue

@@ -167,7 +167,7 @@ import HistoryDetail from "./historyDetail.vue";
 import utils from "@/utills/downXlsx";
 import dayjs from "dayjs";
 export default {
-  name: "cutInAndOutAnalysis", //切入切出分析
+  name: "CutInAndOutAnalysis", //切入切出分析
   components: {
     HistoryDetail,
   },
@@ -379,7 +379,7 @@ export default {
 
 <style lang="less">
 .cutInAndOutAnalysis {
-  padding: 0 30px;
+  padding: 0 20px;
   height: 100%;
   .cutInAndOut_title {
     .leftContent {

+ 1 - 1
src/views/economicsOperation/performanceEvalute/index.vue

@@ -4,7 +4,7 @@
 
 <script>
 export default {
-  name: "performanceEvalute", //性能评估
+  name: "WindAnalyse", //风电分析
 };
 </script>
 

+ 1 - 1
src/views/economicsOperation/analyse/monthlyAnalysis/index.vue

@@ -152,7 +152,7 @@ import {
 import ReportDialog from "./reportDialog.vue";
 import utils from "@/utills/downXlsx";
 export default {
-  name: "monthlyAnalysis", //单机月度分析
+  name: "MonthlyAnalysis", //单机月度分析
   components: {
     ReportDialog,
   },

src/views/economicsOperation/analyse/monthlyAnalysis/reportDialog.vue → src/views/economicsOperation/windAnalyse/monthlyAnalysis/reportDialog.vue


src/views/economicsOperation/performanceEvalute/performanceAssess/dayDetailInfo.vue → src/views/economicsOperation/windAnalyse/performanceAssess/dayDetailInfo.vue


src/views/economicsOperation/performanceEvalute/performanceAssess/historyDetail.vue → src/views/economicsOperation/windAnalyse/performanceAssess/historyDetail.vue


+ 1 - 1
src/views/economicsOperation/performanceEvalute/performanceAssess/index.vue

@@ -240,7 +240,7 @@ import historyDetail from "./historyDetail.vue";
 import dayDetailInfo from "./dayDetailInfo.vue";
 import dayjs from "dayjs";
 export default {
-  name: "performanceAssess",
+  name: "PerformanceAssess",
   components: {
     historyDetail,
     dayDetailInfo,

src/views/HealthControl/energyEfficAnalyse/healthPowerCurve/components/current-scatter-chart.json → src/views/economicsOperation/windAnalyse/powerCurve/components/current-scatter-chart.json


src/views/HealthControl/energyEfficAnalyse/healthPowerCurve/components/current-scatter-chart.vue → src/views/economicsOperation/windAnalyse/powerCurve/components/current-scatter-chart.vue


src/views/HealthControl/energyEfficAnalyse/healthPowerCurve/components/table.vue → src/views/economicsOperation/windAnalyse/powerCurve/components/table.vue


+ 1 - 1
src/views/HealthControl/energyEfficAnalyse/healthPowerCurve/index.vue

@@ -327,7 +327,7 @@ import {
 } from "@/api/powerAnalyse.js";
 export default {
   // 名称
-  name: "healthPowerCurve",
+  name: "PowerCurve",
 
   // 使用组件
   components: {

+ 34 - 88
src/views/economicsOperation/powerCurve/powerLinefitting/index.vue

@@ -16,16 +16,6 @@
           >
           </el-option>
         </el-select>
-        <div class="tabCut">
-          <div
-            @click="changeBtn(val.id)"
-            :class="tabEvent === val.id ? 'active' : ''"
-            v-for="val in tabOptions"
-            :key="val.id"
-          >
-            <span>{{ val.name }}</span>
-          </div>
-        </div>
         <div class="station">
           场站:
           <el-select
@@ -61,35 +51,15 @@
             </el-option>
           </el-select>
         </div>
+        <el-radio-group v-model="toFixed" size="mini" @change="dataFilter">
+          <el-radio label="0"> 仅显示整数行 </el-radio>
+          <el-radio label="1"> 显示一位小数行 </el-radio>
+          <el-radio label="2"> 显示两位小数行 </el-radio>
+        </el-radio-group>
         <div class="but">
           <el-button round size="mini" class="search" @click="seachData"
             >拟 合</el-button
           >
-
-          <el-button
-            class="selections_btn"
-            size="mini"
-            @click="dataFilter(0)"
-            :class="{ active: toFixed == 0 }"
-          >
-            仅显示整数行
-          </el-button>
-          <el-button
-            class="selections_btn"
-            size="mini"
-            @click="dataFilter(1)"
-            :class="{ active: toFixed == 1 }"
-          >
-            显示一位小数行
-          </el-button>
-          <el-button
-            class="selections_btn"
-            size="mini"
-            @click="dataFilter(2)"
-            :class="{ active: toFixed == 2 }"
-          >
-            显示两位小数行
-          </el-button>
           <el-button round size="mini" class="download" @click="downXlsxFn"
             >导 出</el-button
           >
@@ -175,7 +145,7 @@ import partten from "@/helper/partten.js";
 import util from "@/helper/util.js";
 import utils from "@/utills/downXlsx";
 export default {
-  name: "powerLinefitting",
+  name: "PowerSearch",
   data() {
     return {
       tabIndex: 0,
@@ -194,49 +164,31 @@ export default {
         { title: "拟合功率(KW)", code: "theorypower" },
       ],
       tabEvent: -1,
-      tabOptions: [
-        { id: -1, name: "风电" },
-        { id: -2, name: "光伏" },
-      ],
-      toFixed: 0,
+      toFixed: "0",
       originData: [],
     };
   },
   created() {
     this.getCompanyData();
   },
-  watch: {
-    tabEvent(val) {
-      this.tableHeader = this.tableHeader.map((item) => {
-        if (item.code == "speed") {
-          if (val == -2) {
-            item.title = "光照(W/m²)";
-          } else {
-            item.title = "风速(m/s)";
-          }
-        }
-        return { ...item };
-      });
-    },
-  },
+  watch: {},
   methods: {
     //过滤数据
     dataFilter(num) {
       this.toFixed = num;
       this.powerLinefittingData = this.filterList(this.toFixed);
-      console.log(this.filterList(this.toFixed));
     },
     filterList(num) {
       let data = JSON.parse(JSON.stringify(this.originData));
       switch (num) {
-        case 0:
+        case "0":
           return data.filter((item) => {
             let a = JSON.stringify(item.speed).split(".");
             if (a.length == 1) {
               return item;
             }
           });
-        case 1:
+        case "1":
           return data.filter((item) => {
             let a = JSON.stringify(item.speed).split(".");
             if (a.length == 2) {
@@ -245,7 +197,7 @@ export default {
               }
             }
           });
-        case 2:
+        case "2":
           return data.filter((item) => {
             let a = JSON.stringify(item.speed).split(".");
             if (a.length == 2) {
@@ -261,23 +213,19 @@ export default {
       this.tabIndex = index;
       this.getTableData();
     },
-    changeBtn(id) {
-      this.tabEvent = id;
-      this.stationVal = "";
-      this.stationOptions = [];
-      this.windVal = "";
-      this.windsOptions = [];
-      this.getStationData();
-      //   this.getTableData();
-    },
     // 获取公司列表
     async getCompanyData() {
       this.companyOptions = [];
       this.pickerTimer = this.getchangeTime(new Date());
-      const { data: datas } = await getApicompanyslist();
-      this.companyOptions = datas.data;
-      this.companyVal = datas.data[0]?.id;
-      this.getStationData(this.companyVal);
+      const { data } = await getApicompanyslist();
+      if (data.code == 200 && data.data.length) {
+        this.companyOptions = data.data;
+        this.companyVal = data.data[0]?.id;
+        this.getStationData(this.companyVal);
+      } else {
+        this.originData = [];
+        this.powerLinefitData = [];
+      }
     },
     changeCompan(val) {
       this.companyVal = val;
@@ -295,9 +243,16 @@ export default {
         companyid: this.companyVal,
       };
       const { data: datas } = await getApiwpByCplistlist(params);
-      this.stationOptions = datas.data;
-      this.stationVal = datas.data[0].id;
-      this.getWindData();
+      if (datas.data.length) {
+        this.stationOptions = datas.data;
+        this.stationVal = datas.data[0].id;
+        this.getWindData();
+      } else {
+        this.stationOptions = [];
+        this.stationVal = "";
+        this.windVal = "";
+        this.seachData();
+      }
     },
     changeStation(val) {
       this.stationVal = val;
@@ -375,6 +330,10 @@ export default {
         };
         // series.push(objs)
         series = [obj, objs];
+      } else {
+        xAxis = [];
+        lenged = [];
+        series = [];
       }
       this.getChartes(xAxis, lenged, series, showYx);
     },
@@ -566,19 +525,6 @@ export default {
           font-size: 14px;
           color: #b3b3b3;
         }
-        .selections_btn {
-          background: fade(#3b6c53, 20);
-          border: 1px solid fade(#3b6c53, 20);
-          border-radius: 13px;
-          color: #b9b9b9;
-          &:hover,
-          &.active {
-            background: fade(#05bb4c, 80);
-            border: 1px solid #05bb4c;
-            color: #fff;
-            cursor: pointer;
-          }
-        }
       }
     }
     .selections {

+ 1 - 1
src/views/HealthControl/energyEfficAnalyse/qxpclfx/index.vue

@@ -70,7 +70,7 @@ import thermometerVue from "../../../../components/chart/bar/thermometer.vue";
 import api1 from "@api/economic/index.js";
 import api from "@api/wisdomOverhaul/energy/index.js";
 export default {
-  name: "qxpclfx",
+  name: "Qxpclfx",
   components: { ComTable },
   data() {
     return {

src/views/economicsOperation/analyse/standAloneAnalyse/chartTheme.json → src/views/economicsOperation/windAnalyse/singleWindAnasyle/chartTheme.json


src/views/economicsOperation/analyse/standAloneAnalyse/historyDetail.vue → src/views/economicsOperation/windAnalyse/singleWindAnasyle/historyDetail.vue


+ 1 - 1
src/views/economicsOperation/analyse/standAloneAnalyse/index.vue

@@ -196,7 +196,7 @@ import WindDetailDialog from "./windDetailDialog.vue";
 import utils from "@/utills/downXlsx";
 import dayjs from "dayjs";
 export default {
-  name: "standAloneAnalyse", //单机性能分析
+  name: "SingleWindAnasyle", //单机性能分析
   components: {
     historyDetail,
     WindDetailDialog,

src/views/economicsOperation/analyse/standAloneAnalyse/raderswithhart.vue → src/views/economicsOperation/windAnalyse/singleWindAnasyle/raderswithhart.vue


src/views/economicsOperation/analyse/standAloneAnalyse/windDetailDialog.vue → src/views/economicsOperation/windAnalyse/singleWindAnasyle/windDetailDialog.vue


+ 1 - 1
src/views/stateMonitor/factoryMonitor/components/headerButton.vue

@@ -282,7 +282,7 @@ export default {
             "renderData",
             this.checkNode,
             this.stationCode,
-            this.pageData[0].name,
+            this.stationName,
             this.tab
           );
           let booster = this.boosterList.find(

+ 4 - 4
src/views/stateMonitor/factoryMonitor/windPowerPlant/components/lineCharts.vue

@@ -100,12 +100,12 @@ export default {
       // 当日0点时间
       var timeStamp = [];
       let stamp = new Date(new Date().setHours(0, 0, 0, 0)).getTime();
-      for (let i = 0; i < 48; i++) {
+      for (let i = 0; i < 24; i++) {
         timeStamp.push(dayjs(stamp).format("HH:mm"));
         // this.emptyData.push("0");
-        stamp = parseInt(stamp) + 30 * 60 * 1000;
+        stamp = parseInt(stamp) + 60 * 60 * 1000;
       }
-      timeStamp.push("24:00");
+    //   timeStamp.push("24:00");
       return timeStamp;
     },
     colorValue() {
@@ -262,7 +262,7 @@ export default {
             type: "category",
             boundaryGap: false,
             axisLabel: {
-              interval: this.interval,
+             
               formatter: "{value}",
               textStyle: {
                 color: "#828484",