Browse Source

Update modeControl.vue

moccus 3 years ago
parent
commit
ed2b1f13a3
1 changed files with 656 additions and 640 deletions
  1. 656 640
      src/components/modeControl/modeControl.vue

+ 656 - 640
src/components/modeControl/modeControl.vue

@@ -1,176 +1,176 @@
 <template>
-    <div class="body">
-        <img class="logo" src="../../assets/img/logo.png" alt="" />
-        <div class="control">
-            <div :class="current === 0 ? 'smart_on' : 'smart'" @click="ChangeBar(0)">智能</div>
-            <div :class="current === 1 ? 'recommend_on' : 'recommend'" @click="ChangeBar(1)" >推荐</div>
-            <div :class="current === 2 ? 'manual_on' : 'manual'" @click="ChangeBar(2)" >手动</div>
-        </div>
-        <div style="display: flex; flex-direction: row; z-index: 2">
-            <div class="showData">
-                <div class="dataBox" @dblclick="dbClicks(
-                    $store.state.currentStation
-                        ? showDate?.stationOverviewInfos[$store.state.currentStation]
-                            ?.healthIndex
-                        : showDate.healthIndex,
-                    '健康指数'
-                    )">
-                <div class="dataTitle">健康指数</div>
-                    <div class="datas">
-                        {{$store.state.currentStation ? healthIndex.toFixed(0) : allHealthIndex.toFixed(0)}}%
-                    </div>
-                </div>
-                <div class="dataBox" @dblclick="dbClicks(
-                    $store.state.currentStation
-                        ? showDate?.stationOverviewInfos[$store.state.currentStation]
-                            ?.resourceIndex
-                        : showDate.resourceIndex,
-                    '资源指数'
-                    )">
-                    <div class="dataTitle">资源指数</div>
-                    <div class="datas">
-                        {{
-                        $store.state.currentStation
-                            ? resourceIndex.toFixed(0)
-                            : allResourceIndex.toFixed(0)
-                        }}%
-                    </div>
-                </div>
-            </div>
-            <div>
-                <div id="mainEcharts" @dblclick="dbClick()" class="echarts"></div>
-                <div class="powerContent">
-                    <div class="power" @dblclick="dbClicks(
-                            $store.state.currentStation
-                            ? showDate?.stationOverviewInfos[$store.state.currentStation]
-                                ?.realTimePower
-                            : showDate.realTimePower,
-                            '实际功率'
-                        )">
-                        <div class="powerTitle">实际功率</div>
-                        <div class="powerDatas" style="background-color: rgba(75, 85, 174, 1)" >
-                        {{
-                            $store.state.currentStation
-                            ? showDate?.stationOverviewInfos[
-                                $store.state.currentStation
-                                ]?.realTimePower?.value.toFixed(2)
-                            : showDate.realTimePower?.value.toFixed(2)
-                        }} <div style="font-size: 12px;">MW</div>
-                        </div>
-                    </div>
-                    <div class="power1" @dblclick="
-                        dbClicks(
-                            $store.state.currentStation
-                            ? showDate?.stationOverviewInfos[$store.state.currentStation]
-                                ?.theoreticalPower
-                            : showDate.theoreticalPower,
-                            '理论功率'
-                        ) "
-                    >
-                        <div class="powerTitle">理论功率</div>
-                        <div
-                        class="powerDatas"
-                        style="background-color: rgba(05, 187, 76, 1)"
-                        >
-                        {{
-                            $store.state.currentStation
-                            ? 
-                            (showDate?.stationOverviewInfos[
-                                $store.state.currentStation
-                                ]?.realTimePower?.value*1.15).toFixed(2)
-                            : (showDate.realTimePower?.value*1.15).toFixed(2)
-                        }}<div style="font-size: 12px;">MW</div>
-                        </div>
-                    </div>
-                    <div
-                        class="power2"
-                        @dblclick="
-                        dbClicks(
-                            $store.state.currentStation
-                            ? showDate?.stationOverviewInfos[$store.state.currentStation]
-                                ?.agcPowerSet
-                            : showDate.agcPowerSet,
-                            'AGC有功设定'
-                        )
-                        "
-                    >
-                        <div class="powerTitle">AGC有功设定</div>
-                        <div
-                        class="powerDatas"
-                        style="background-color: rgba(186, 50, 55, 1)"
-                        >
-                        {{
-                            $store.state.currentStation
-                            ? showDate?.stationOverviewInfos[
-                                $store.state.currentStation
-                                ]?.agcPowerSet?.value.toFixed(2)
-                            : showDate.agcPowerSet?.value.toFixed(2)
-                        }}<div style="font-size: 12px;">MW</div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="showData">
-                <div
-                class="dataBox-right"
-                @dblclick="
-                    dbClicks(
-                    $store.state.currentStation
-                        ? showDate?.stationOverviewInfos[$store.state.currentStation]
-                            ?.windEnergyRate
-                        : showDate.windEnergyRate,
-                    '风能利用率'
-                    )
-                "
-                >
-                <div class="dataTitle">风能利用率</div>
-                <div class="datas" v-if="showDate.windEnergyRate?.value <= 100">
-                    {{
-                    $store.state.currentStation
-                        ? showDate?.stationOverviewInfos[
-                            $store.state.currentStation
-                        ]?.windEnergyRate?.value.toFixed(2)
-                        : showDate.windEnergyRate?.value.toFixed(2)
-                    }}%
-                </div>
-                </div>
-                <div
-                class="dataBox-right"
-                @dblclick="
-                    dbClicks(
-                    $store.state.currentStation
-                        ? showDate?.stationOverviewInfos[$store.state.currentStation]
-                            ?.curveFollowingRate
-                        : showDate.curveFollowingRate,
-                    '曲线跟随率'
-                    )
-                "
-                >
-                <div class="dataTitle">曲线跟随率</div>
-                <div class="datas" v-if="showDate.curveFollowingRate?.value <= 100">
-                    {{
-                    $store.state.currentStation
-                        ? showDate?.stationOverviewInfos[
-                            $store.state.currentStation
-                        ]?.curveFollowingRate?.value.toFixed(2)
-                        : showDate.curveFollowingRate?.value.toFixed(2)
-                    }}%
-                </div>
-                </div>
-            </div>
-        </div>
-    </div>
-    <DetailPages ref="detials" @closed="closed()" v-model="dialogVisible">
-    </DetailPages>
-    <Details
-        @closed="closeds()"
-        v-model="display"
-        :partsName="partsName"
-        echartsId="modelEcharts"
-        :datas="modelDetails"
-        @search-data="search"
-        @original-data="originalData"
-    ></Details>
+  <div class="body">
+      <img class="logo" src="../../assets/img/logo.png" alt="" />
+      <div class="control">
+          <div :class="current === 0 ? 'smart_on' : 'smart'" @click="ChangeBar(0)">智能</div>
+          <div :class="current === 1 ? 'recommend_on' : 'recommend'" @click="ChangeBar(1)" >推荐</div>
+          <div :class="current === 2 ? 'manual_on' : 'manual'" @click="ChangeBar(2)" >手动</div>
+      </div>
+      <div style="display: flex; flex-direction: row; z-index: 2">
+          <div class="showData">
+              <div class="dataBox" @dblclick="dbClicks(
+                  $store.state.currentStation
+                      ? showDate?.stationOverviewInfos[$store.state.currentStation]
+                          ?.healthIndex
+                      : showDate.healthIndex,
+                  '健康指数'
+                  )">
+              <div class="dataTitle">健康指数</div>
+                  <div class="datas">
+                      {{$store.state.currentStation ? healthIndex.toFixed(0) : allHealthIndex.toFixed(0)}}%
+                  </div>
+              </div>
+              <div class="dataBox" @dblclick="dbClicks(
+                  $store.state.currentStation
+                      ? showDate?.stationOverviewInfos[$store.state.currentStation]
+                          ?.resourceIndex
+                      : showDate.resourceIndex,
+                  '资源指数'
+                  )">
+                  <div class="dataTitle">资源指数</div>
+                  <div class="datas">
+                      {{
+                      $store.state.currentStation
+                          ? resourceIndex.toFixed(0)
+                          : allResourceIndex.toFixed(0)
+                      }}%
+                  </div>
+              </div>
+          </div>
+          <div>
+              <div id="mainEcharts" @dblclick="dbClick()" class="echarts"></div>
+              <div class="powerContent">
+                  <div class="power" @dblclick="dbClicks(
+                          $store.state.currentStation
+                          ? showDate?.stationOverviewInfos[$store.state.currentStation]
+                              ?.realTimePower
+                          : showDate.realTimePower,
+                          '实际功率'
+                      )">
+                      <div class="powerTitle">实际功率</div>
+                      <div class="powerDatas" style="background-color: rgba(75, 85, 174, 1)" >
+                      {{
+                          $store.state.currentStation
+                          ? showDate?.stationOverviewInfos[
+                              $store.state.currentStation
+                              ]?.realTimePower?.value.toFixed(2)
+                          : showDate.realTimePower?.value.toFixed(2)
+                      }} <div style="font-size: 12px;">MW</div>
+                      </div>
+                  </div>
+                  <div class="power1" @dblclick="
+                      dbClicks(
+                          $store.state.currentStation
+                          ? showDate?.stationOverviewInfos[$store.state.currentStation]
+                              ?.theoreticalPower
+                          : showDate.theoreticalPower,
+                          '理论功率'
+                      ) "
+                  >
+                      <div class="powerTitle">理论功率</div>
+                      <div
+                      class="powerDatas"
+                      style="background-color: rgba(05, 187, 76, 1)"
+                      >
+                      {{
+                          $store.state.currentStation
+                          ? 
+                          (showDate?.stationOverviewInfos[
+                              $store.state.currentStation
+                              ]?.realTimePower?.value*1.15).toFixed(2)
+                          : (showDate.realTimePower?.value*1.15).toFixed(2)
+                      }}<div style="font-size: 12px;">MW</div>
+                      </div>
+                  </div>
+                  <div
+                      class="power2"
+                      @dblclick="
+                      dbClicks(
+                          $store.state.currentStation
+                          ? showDate?.stationOverviewInfos[$store.state.currentStation]
+                              ?.agcPowerSet
+                          : showDate.agcPowerSet,
+                          'AGC有功设定'
+                      )
+                      "
+                  >
+                      <div class="powerTitle">AGC有功设定</div>
+                      <div
+                      class="powerDatas"
+                      style="background-color: rgba(186, 50, 55, 1)"
+                      >
+                      {{
+                          $store.state.currentStation
+                          ? showDate?.stationOverviewInfos[
+                              $store.state.currentStation
+                              ]?.agcPowerSet?.value.toFixed(2)
+                          : showDate.agcPowerSet?.value.toFixed(2)
+                      }}<div style="font-size: 12px;">MW</div>
+                      </div>
+                  </div>
+              </div>
+          </div>
+          <div class="showData">
+              <div
+              class="dataBox-right"
+              @dblclick="
+                  dbClicks(
+                  $store.state.currentStation
+                      ? showDate?.stationOverviewInfos[$store.state.currentStation]
+                          ?.windEnergyRate
+                      : showDate.windEnergyRate,
+                  '风能利用率'
+                  )
+              "
+              >
+              <div class="dataTitle">风能利用率</div>
+              <div class="datas" v-if="showDate.windEnergyRate?.value <= 100">
+                  {{
+                  $store.state.currentStation
+                      ? showDate?.stationOverviewInfos[
+                          $store.state.currentStation
+                      ]?.windEnergyRate?.value.toFixed(2)
+                      : showDate.windEnergyRate?.value.toFixed(2)
+                  }}%
+              </div>
+              </div>
+              <div
+              class="dataBox-right"
+              @dblclick="
+                  dbClicks(
+                  $store.state.currentStation
+                      ? showDate?.stationOverviewInfos[$store.state.currentStation]
+                          ?.curveFollowingRate
+                      : showDate.curveFollowingRate,
+                  '曲线跟随率'
+                  )
+              "
+              >
+              <div class="dataTitle">曲线跟随率</div>
+              <div class="datas" v-if="showDate.curveFollowingRate?.value <= 100">
+                  {{
+                  $store.state.currentStation
+                      ? showDate?.stationOverviewInfos[
+                          $store.state.currentStation
+                      ]?.curveFollowingRate?.value.toFixed(2)
+                      : showDate.curveFollowingRate?.value.toFixed(2)
+                  }}%
+              </div>
+              </div>
+          </div>
+      </div>
+  </div>
+  <DetailPages ref="detials" @closed="closed()" v-model="dialogVisible">
+  </DetailPages>
+  <Details
+      @closed="closeds()"
+      v-model="display"
+      :partsName="partsName"
+      echartsId="modelEcharts"
+      :datas="modelDetails"
+      @search-data="search"
+      @original-data="originalData"
+  ></Details>
 </template>
 <script>
 import BackgroundData from "utils/BackgroundData";
@@ -180,310 +180,301 @@ import * as echarts from "echarts";
 import DetailPages from "./detailPages.vue";
 import Details from "../basicDataDetails.vue";
 export default {
-  props: {
-    // current: {
-    //     type: Number,
-    // },
+props: {
+  // current: {
+  //     type: Number,
+  // },
+},
+components: {
+  DetailPages,
+  Details,
+},
+data() {
+  return {
+    current: 1,
+    datas: {},
+    list: {},
+    showDate: {},
+    winFlag: 0,
+    curveFlag: 0,
+    fieldFlag: 0,
+    dialogVisible: false,
+    display: false,
+    modelDetails: [],
+    partsName: "",
+    modelData: {},
+    interval: 60,
+    allHealthIndex: 0,
+    allResourceIndex: 0,
+    healthIndex: 0,
+    resourceIndex: 0,
+    intervals: null,
+  };
+},
+created() {
+  this.initData();
+  this.getEchartss();
+  this.intervals = setInterval(this.getEchartss, 10000);
+},
+computed: {},
+mounted() {
+  this.$nextTick(() => {
+    if (document.getElementById("mainEcharts"), 'dark') {
+      this.getEcharts();
+    }
+  });
+},
+methods: {
+  initData: function () {
+    let mb = MessageBridge.getInstance();
+    let vss = [
+      { key: "/topic/voice-control", action: this.windturbineMessage },
+    ];
+    mb.register(vss);
   },
-  components: {
-    DetailPages,
-    Details,
-  },
-  data() {
-    return {
-      current: 1,
-      datas: {},
-      list: {},
-      showDate: {},
-      winFlag: 0,
-      curveFlag: 0,
-      fieldFlag: 0,
-      dialogVisible: false,
-      display: false,
-      modelDetails: [],
-      partsName: "",
-      modelData: {},
-      interval: 60,
-      allHealthIndex: 0,
-      allResourceIndex: 0,
-      healthIndex: 0,
-      resourceIndex: 0,
-      intervals: null,
-    };
-  },
-  created() {
-    this.initData();
-    this.getEchartss();
-    this.intervals = setInterval(this.getEchartss, 10000);
-  },
-  computed: {},
-  mounted() {
-    this.$nextTick(() => {
-      if (document.getElementById("mainEcharts"), 'dark') {
-        this.getEcharts();
+  windturbineMessage(msg) {
+    if (msg === "CLOSE") {
+      this.dialogVisible = false;
       }
-    });
+    if(msg === 'OPEN_PAGE_MANUAL'){
+      this.ChangeBar(2)
+    }
+    if(msg === 'OPEN_PAGE_AUTOMATIC'){
+      this.ChangeBar(0)
+    }
+    if(msg === 'OPEN_PAGE_RECOMMENDATION'){
+      this.ChangeBar(1)
+    }
+    if(msg === 'OPEN_AGC-GS'){
+      this.dbClick()
+    }
   },
-  methods: {
-    initData: function () {
-      let mb = MessageBridge.getInstance();
-      let vss = [
-        { key: "/topic/voice-control", action: this.windturbineMessage },
-      ];
-      mb.register(vss);
-    },
-    windturbineMessage(msg) {
-      if (msg === "CLOSE") {
-        this.dialogVisible = false;
-        }
-      if(msg === 'OPEN_PAGE_MANUAL'){
-        this.ChangeBar(2)
-      }
-      if(msg === 'OPEN_PAGE_AUTOMATIC'){
-        this.ChangeBar(0)
-      }
-      if(msg === 'OPEN_PAGE_RECOMMENDATION'){
-        this.ChangeBar(1)
-      }
-      if(msg === 'OPEN_AGC-GS'){
-        this.dbClick()
-      }
-    },
-    getEchartss() {
-      api.stationOverview().then((res) => {
-        this.showDate = res.data;
-        this.getEcharts();
-        this.allHealthIndex =
-          (this.showDate.healthIndex?.value / this.showDate.healthIndexMax) *
-          100;
-        this.allResourceIndex =
-          (this.showDate.resourceIndex?.value /
-            this.showDate.resourceIndexMax) *
-          100;
-        this.healthIndex = this.$store.state.currentStation
-          ? (this.showDate.stationOverviewInfos[
+  getEchartss() {
+    api.stationOverview().then((res) => {
+      this.showDate = res.data;
+      this.getEcharts();
+      this.allHealthIndex =
+        (this.showDate.healthIndex?.value / this.showDate.healthIndexMax) *
+        100;
+      this.allResourceIndex =
+        (this.showDate.resourceIndex?.value /
+          this.showDate.resourceIndexMax) *
+        100;
+      this.healthIndex = this.$store.state.currentStation
+        ? (this.showDate.stationOverviewInfos[
+            this.$store.state.currentStation
+          ].healthIndex?.value /
+            this.showDate.stationOverviewInfos[
               this.$store.state.currentStation
-            ].healthIndex?.value /
-              this.showDate.stationOverviewInfos[
-                this.$store.state.currentStation
-              ].healthIndexMax) *
-            100
-          : 0;
-        this.resourceIndex = this.$store.state.currentStation
-          ? (this.showDate.stationOverviewInfos[
+            ].healthIndexMax) *
+          100
+        : 0;
+      this.resourceIndex = this.$store.state.currentStation
+        ? (this.showDate.stationOverviewInfos[
+            this.$store.state.currentStation
+          ].resourceIndex?.value /
+            this.showDate.stationOverviewInfos[
               this.$store.state.currentStation
-            ].resourceIndex?.value /
-              this.showDate.stationOverviewInfos[
-                this.$store.state.currentStation
-              ].resourceIndexMax) *
-            100
-          : 0;
-      });
-    },
-    getEcharts() {
-      let chartDom = document.getElementById("mainEcharts");
-      let myChart = echarts.init(chartDom);
-      let option;
-      option = {
-        series: [
-            {
-                type: "gauge",
-                max: 600,
-                splitNumber: 8,
-                radius: '70%',
-                anchor: {
-                show: true,
-                showAbove: true,
-                size: 9,
-                width: 5,
-                itemStyle: {
-                    color: "#FAC858",
-                },
-                },
-                pointer: {
-                    icon: "",
-                    width: 3,
-                    length: "80%",
-                    offsetCenter: [0, "5%"],
-                },
+            ].resourceIndexMax) *
+          100
+        : 0;
+    });
+  },
+  getEcharts() {
+    let chartDom = document.getElementById("mainEcharts");
+    let myChart = echarts.init(chartDom);
+    let option;
+    const data1 = this.$store.state.currentStation
+      ? Number(
+          this.showDate?.stationOverviewInfos[
+            this.$store.state.currentStation
+          ]?.realTimePower?.value
+        )
+      : Number(this.showDate.realTimePower?.value);
+    const data2 = this.$store.state.currentStation
+      ? Number(
+          this.showDate?.stationOverviewInfos[
+            this.$store.state.currentStation
+          ]?.realTimePower?.value
+        ) *1.15
+      : Number(this.showDate.realTimePower?.value)*1.15;
+    const data3 = this.$store.state.currentStation
+      ? Number(
+          this.showDate?.stationOverviewInfos[
+            this.$store.state.currentStation
+          ]?.agcPowerSet?.value
+        )
+      : Number(this.showDate.agcPowerSet?.value);
 
-                progress: {
-                show: true,
-                overlap: true,
-                roundCap: true,
-                },
-                axisLine: {
-                    lineStyle: {
-                        //仪表盘轴线相关配置。
-                        width: 2,
-                        color: [[1, "rgba(83, 92, 93, 0.5)"]],
-                        // color: [[1, "#fff"]],
-                    },
-                },
-                axisLabel: {
-                    textStyle: {//数字刻度样式
-                        color: '#fff',
-                        // fontSize: 12,
-                    }
-                },
-                splitLine: {
-                //分隔线样式相关
-                    length: 0, //分割线的长度
-                    lineStyle: {
-                        width: 1,
-                        color: "#fff",
-                    },
-                },
-                data: [
-                {
-                    value: 125.85,
-                    // name: '实际功率',
-                    itemStyle: {
-                    color: "rgba(75, 85, 174, 1)",
-                    },
-                },
-                {
-                    value: 137.63,
-                    // name: '理论功率',
-                    itemStyle: {
-                    color: "rgba(05, 187, 76, 1)",
-                    },
-                },
-                {
-                    value: 132.04,
-                    // name: 'AGC有功设定',
-                    itemStyle: {
-                    color: "rgba(186, 50, 55, 1)",
-                    },
-                },
-                ],
-                title: false,
-                detail: false,
-                //     title: {
-                //         fontSize: 12
-                //     },
-                //     detail: {
-                //         width: 20,
-                //         height: 7,
-                //         fontSize: 12,
-                //         color: '#fff',
-                //         backgroundColor: 'auto',
-                //         borderRadius: 3,
-                //         formatter: ''
-                //     }
-            },
-        ],
-      };
-      option.series[0].data[0].value = this.$store.state.currentStation
-        ? Number(
-            this.showDate?.stationOverviewInfos[
-              this.$store.state.currentStation
-            ]?.realTimePower?.value
-          )
-        : Number(this.showDate.realTimePower?.value);
-      option.series[0].data[1].value = this.$store.state.currentStation
-        ? Number(
-            this.showDate?.stationOverviewInfos[
-              this.$store.state.currentStation
-            ]?.realTimePower?.value
-          ) *1.15
-        : Number(this.showDate.realTimePower?.value)*1.15;
-      option.series[0].data[2].value = this.$store.state.currentStation
-        ? Number(
-            this.showDate?.stationOverviewInfos[
-              this.$store.state.currentStation
-            ]?.agcPowerSet?.value
-          )
-        : Number(this.showDate.agcPowerSet?.value);
-      myChart.setOption(option, true);
-    },
-    ChangeBar(values) {
-      let bd = BackgroundData.getInstance();
-      this.$router.push(`/?current=${values}`);
-      if (!bd.LoginUser) {
-        this.$notify({
-          title: "请登录",
-          message: "切换模式需要先登录!",
-          type: "warning",
-          position: "bottom-right",
-          offset: 60,
-          duration: 3000,
-        });
-        return;
+    
+    const ceilNumber = (number) => {
+      let bite = 0;
+      if(number < 100){
+        return 100;
+      }
+      while( number >= 100 ){
+        number /= 100;
+        bite += 1;
       }
-      if (this.current !== values) {
-        this.$store.commit("current", Number(values));
-        if (values === 2) {
+      return Math.ceil(number) * Math.pow(100,bite);
+    }
+    option = {
+      series: [
+          {
+              type: "gauge",
+              max: ceilNumber(Math.max(data1,data2,data3)),
+              splitNumber: 8,
+              radius: '70%',
+              anchor: {
+              show: true,
+              showAbove: true,
+              size: 9,
+              width: 5,
+              itemStyle: {
+                  color: "#FAC858",
+              },
+              },
+              pointer: {
+                  icon: "",
+                  width: 3,
+                  length: "80%",
+                  offsetCenter: [0, "5%"],
+              },
+
+              progress: {
+              show: true,
+              overlap: true,
+              roundCap: true,
+              },
+              axisLine: {
+                  lineStyle: {
+                      //仪表盘轴线相关配置。
+                      width: 2,
+                      color: [[1, "rgba(83, 92, 93, 0.5)"]],
+                      // color: [[1, "#fff"]],
+                  },
+              },
+              axisLabel: {
+                  textStyle: {//数字刻度样式
+                      color: '#fff',
+                      // fontSize: 12,
+                  }
+              },
+              splitLine: {
+              //分隔线样式相关
+                  length: 0, //分割线的长度
+                  lineStyle: {
+                      width: 1,
+                      color: "#fff",
+                  },
+              },
+              data: [
+              {
+                  value: 125.85,
+                  // name: '实际功率',
+                  itemStyle: {
+                  color: "rgba(75, 85, 174, 1)",
+                  },
+              },
+              {
+                  value: 137.63,
+                  // name: '理论功率',
+                  itemStyle: {
+                  color: "rgba(05, 187, 76, 1)",
+                  },
+              },
+              {
+                  value: 132.04,
+                  // name: 'AGC有功设定',
+                  itemStyle: {
+                  color: "rgba(186, 50, 55, 1)",
+                  },
+              },
+              ],
+              title: false,
+              detail: false,
+              //     title: {
+              //         fontSize: 12
+              //     },
+              //     detail: {
+              //         width: 20,
+              //         height: 7,
+              //         fontSize: 12,
+              //         color: '#fff',
+              //         backgroundColor: 'auto',
+              //         borderRadius: 3,
+              //         formatter: ''
+              //     }
+          },
+      ],
+    };
+    option.series[0].data[0].value = data1
+    option.series[0].data[1].value = data2
+    option.series[0].data[2].value = data3
+    myChart.setOption(option, true);
+  },
+  ChangeBar(values) {
+    let bd = BackgroundData.getInstance();
+    this.$router.push(`/?current=${values}`);
+    if (!bd.LoginUser) {
+      this.$notify({
+        title: "请登录",
+        message: "切换模式需要先登录!",
+        type: "warning",
+        position: "bottom-right",
+        offset: 60,
+        duration: 3000,
+      });
+      return;
+    }
+    if (this.current !== values) {
+      this.$store.commit("current", Number(values));
+      if (values === 2) {
+        this.current = values;
+        this.$router.push(`/ManualPage?current=${values}`);
+      } else if (values === 1) {
+        this.$store.commit("currentStation", "");
+        this.$store.commit("current", values);
+        if (this.current === 0) {
+          this.current = values;
+        } else {
+          this.current = values;
+          this.$router.push(`/?current=${values}`);
+        }
+      } else if (values === 0) {
+        this.$store.commit("currentStation", "");
+        this.$store.commit("current", values);
+        if (this.current === 2) {
+          this.current = values;
+          this.$router.push(`/?current=${values}`);
+        } else {
           this.current = values;
-          this.$router.push(`/ManualPage?current=${values}`);
-        } else if (values === 1) {
-          this.$store.commit("currentStation", "");
-          this.$store.commit("current", values);
-          if (this.current === 0) {
-            this.current = values;
-          } else {
-            this.current = values;
-            this.$router.push(`/?current=${values}`);
-          }
-        } else if (values === 0) {
-          this.$store.commit("currentStation", "");
-          this.$store.commit("current", values);
-          if (this.current === 2) {
-            this.current = values;
-            this.$router.push(`/?current=${values}`);
-          } else {
-            this.current = values;
-          }
         }
-      } else if (values === 2) {
-        this.$router.push(`/ManualPage?current=${values}`);
       }
-    },
-    dbClick() {
-      this.dialogVisible = true;
-      this.$refs.detials.getDate();
-    },
-    dbClicks(data, partsName, timeValues) {
-      this.modelData = data;
-      let date = new Date();
-      let endTs = timeValues
-        ? timeValues[1] > date.getTime()
-          ? date.getTime()
-          : timeValues[1]
-        : date.getTime();
-      let startTs = timeValues ? timeValues[0] : endTs - 28800000;
-      data.tag &&
-        api
-          .getPower({
-            tagName: data.tag,
-            startTs: startTs,
-            endTs: endTs,
-            interval: this.interval,
-          })
-          .then((res) => {
-            if (res.data.length > 0) {
-              this.partsName = partsName;
-              this.display = true;
-              this.modelDetails = res.data;
-            } else {
-              this.modelDetails = [];
-            }
-          });
-    },
-    original(data, partsName, timeValues) {
-      this.modelData = data;
-      let date = new Date();
-      let endTs = timeValues
-        ? timeValues[1] > date.getTime()
-          ? date.getTime()
-          : timeValues[1]
-        : date.getTime();
-      let startTs = timeValues ? timeValues[0] : endTs - 28800000;
+    } else if (values === 2) {
+      this.$router.push(`/ManualPage?current=${values}`);
+    }
+  },
+  dbClick() {
+    this.dialogVisible = true;
+    this.$refs.detials.getDate();
+  },
+  dbClicks(data, partsName, timeValues) {
+    this.modelData = data;
+    let date = new Date();
+    let endTs = timeValues
+      ? timeValues[1] > date.getTime()
+        ? date.getTime()
+        : timeValues[1]
+      : date.getTime();
+    let startTs = timeValues ? timeValues[0] : endTs - 28800000;
+    data.tag &&
       api
-        .getOriginalPower({
+        .getPower({
           tagName: data.tag,
           startTs: startTs,
           endTs: endTs,
+          interval: this.interval,
         })
         .then((res) => {
           if (res.data.length > 0) {
@@ -494,249 +485,274 @@ export default {
             this.modelDetails = [];
           }
         });
-    },
-    search(values, interval) {
-      this.interval = interval;
-      this.dbClicks(this.modelData, this.partsName, values);
-    },
-    originalData(values) {
-      this.original(this.modelData, this.partsName, values);
-    },
-    closed() {
-      this.dialogVisible = false;
-    },
-    closeds() {
-      this.display = false;
-      this.interval = 60;
-    },
   },
-  unmounted() {
-    clearInterval(this.intervals);
-    this.intervals = null;
+  original(data, partsName, timeValues) {
+    this.modelData = data;
+    let date = new Date();
+    let endTs = timeValues
+      ? timeValues[1] > date.getTime()
+        ? date.getTime()
+        : timeValues[1]
+      : date.getTime();
+    let startTs = timeValues ? timeValues[0] : endTs - 28800000;
+    api
+      .getOriginalPower({
+        tagName: data.tag,
+        startTs: startTs,
+        endTs: endTs,
+      })
+      .then((res) => {
+        if (res.data.length > 0) {
+          this.partsName = partsName;
+          this.display = true;
+          this.modelDetails = res.data;
+        } else {
+          this.modelDetails = [];
+        }
+      });
+  },
+  search(values, interval) {
+    this.interval = interval;
+    this.dbClicks(this.modelData, this.partsName, values);
+  },
+  originalData(values) {
+    this.original(this.modelData, this.partsName, values);
+  },
+  closed() {
+    this.dialogVisible = false;
+  },
+  closeds() {
+    this.display = false;
+    this.interval = 60;
   },
-  watch: {
-    "$store.getters.current": {
-      handler: function (json) {
-        this.current = json;
-      },
+},
+unmounted() {
+  clearInterval(this.intervals);
+  this.intervals = null;
+},
+watch: {
+  "$store.getters.current": {
+    handler: function (json) {
+      this.current = json;
     },
   },
+},
 };
 </script>
 <style scoped>
 .body {
-  width: 100%;
-  height: 28.5vh;
-  /* background-color: #ffffff; */
-  margin-left: 15px;
-  margin-top: 20px;
-  border: 1px solid #373737;
-  /* border-left: 1px solid #373737;
-  border-right: 1px solid #373737;
-  border-bottom: 1px solid #373737; */
-  /* background-image: url('../../assets/img/type/background.png'); */
-  background-repeat: no-repeat;
-  background-position: center;
-  background-size: cover;
+width: 100%;
+height: 28.5vh;
+/* background-color: #ffffff; */
+margin-left: 15px;
+margin-top: 20px;
+border: 1px solid #373737;
+/* border-left: 1px solid #373737;
+border-right: 1px solid #373737;
+border-bottom: 1px solid #373737; */
+/* background-image: url('../../assets/img/type/background.png'); */
+background-repeat: no-repeat;
+background-position: center;
+background-size: cover;
 }
 .logo {
-  position: absolute;
-  top: 8px;
-  left: 12px;
+position: absolute;
+top: 8px;
+left: 12px;
 }
 .control {
-  display: flex;
-  flex-direction: row-reverse;
-  align-items: center;
-  font-size: 14px;
-  color: #ffffff;
-  /* margin-right: 5px; */
-  position: absolute;
-  top: 30px;
-  right: 10px;
-  z-index: 99;
+display: flex;
+flex-direction: row-reverse;
+align-items: center;
+font-size: 14px;
+color: #ffffff;
+/* margin-right: 5px; */
+position: absolute;
+top: 30px;
+right: 10px;
+z-index: 99;
 }
 
 .manual {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 29px;
-  width: 86px;
-  border-left: 1px solid rgba(51, 51, 51, 1);
-  border-top: 1px solid rgba(51, 51, 51, 1);
-  border-bottom: 1px solid rgba(51, 51, 51, 1);
-  border-top-left-radius: 15px;
-  border-bottom-left-radius: 15px;
+display: flex;
+align-items: center;
+justify-content: center;
+height: 29px;
+width: 86px;
+border-left: 1px solid rgba(51, 51, 51, 1);
+border-top: 1px solid rgba(51, 51, 51, 1);
+border-bottom: 1px solid rgba(51, 51, 51, 1);
+border-top-left-radius: 15px;
+border-bottom-left-radius: 15px;
 }
 
 .manual_on {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 29px;
-  width: 86px;
-  border-left: 1px solid rgba(37, 116, 219, 1);
-  border-top: 1px solid rgba(37, 116, 219, 1);
-  border-bottom: 1px solid rgba(37, 116, 219, 1);
-  border-top-left-radius: 15px;
-  border-bottom-left-radius: 15px;
-  background-color: rgba(37, 116, 219, 1);
+display: flex;
+align-items: center;
+justify-content: center;
+height: 29px;
+width: 86px;
+border-left: 1px solid rgba(37, 116, 219, 1);
+border-top: 1px solid rgba(37, 116, 219, 1);
+border-bottom: 1px solid rgba(37, 116, 219, 1);
+border-top-left-radius: 15px;
+border-bottom-left-radius: 15px;
+background-color: rgba(37, 116, 219, 1);
 }
 
 .recommend {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 29px;
-  width: 86px;
-  border-top: 1px solid rgba(51, 51, 51, 1);
-  border-bottom: 1px solid rgba(51, 51, 51, 1);
+display: flex;
+align-items: center;
+justify-content: center;
+height: 29px;
+width: 86px;
+border-top: 1px solid rgba(51, 51, 51, 1);
+border-bottom: 1px solid rgba(51, 51, 51, 1);
 }
 
 .recommend_on {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 29px;
-  width: 86px;
-  border-top: 1px solid rgba(37, 116, 219, 1);
-  border-bottom: 1px solid rgba(37, 116, 219, 1);
-  background-color: rgba(37, 116, 219, 1);
+display: flex;
+align-items: center;
+justify-content: center;
+height: 29px;
+width: 86px;
+border-top: 1px solid rgba(37, 116, 219, 1);
+border-bottom: 1px solid rgba(37, 116, 219, 1);
+background-color: rgba(37, 116, 219, 1);
 }
 
 .smart {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 29px;
-  width: 86px;
-  border-right: 1px solid rgba(51, 51, 51, 1);
-  border-top: 1px solid rgba(51, 51, 51, 1);
-  border-bottom: 1px solid rgba(51, 51, 51, 1);
-  border-top-right-radius: 15px;
-  border-bottom-right-radius: 15px;
+display: flex;
+align-items: center;
+justify-content: center;
+height: 29px;
+width: 86px;
+border-right: 1px solid rgba(51, 51, 51, 1);
+border-top: 1px solid rgba(51, 51, 51, 1);
+border-bottom: 1px solid rgba(51, 51, 51, 1);
+border-top-right-radius: 15px;
+border-bottom-right-radius: 15px;
 }
 
 .smart_on {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  height: 29px;
-  width: 86px;
-  border-right: 1px solid rgba(37, 116, 219, 1);
-  border-top: 1px solid rgba(37, 116, 219, 1);
-  border-bottom: 1px solid rgba(37, 116, 219, 1);
-  border-top-right-radius: 15px;
-  border-bottom-right-radius: 15px;
-  background-color: rgba(37, 116, 219, 1);
+display: flex;
+align-items: center;
+justify-content: center;
+height: 29px;
+width: 86px;
+border-right: 1px solid rgba(37, 116, 219, 1);
+border-top: 1px solid rgba(37, 116, 219, 1);
+border-bottom: 1px solid rgba(37, 116, 219, 1);
+border-top-right-radius: 15px;
+border-bottom-right-radius: 15px;
+background-color: rgba(37, 116, 219, 1);
 }
 .echarts {
-  width: 300px;
-  height: 280px;
-  margin-top: 10px;
-  /* background-color: #000000; */
-  margin-left: 10px;
+width: 300px;
+height: 280px;
+margin-top: 10px;
+/* background-color: #000000; */
+margin-left: 10px;
 }
 
 .showData {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
+display: flex;
+flex-direction: column;
+align-items: center;
+justify-content: center;
 }
 
 .dataBox {
-  display: flex;
-  flex-direction: column;
-  width: 120px;
-  height: 60px;
-  border: 1px solid rgba(83, 92, 93, 1);
-  margin-bottom: 15px;
-  margin-top: 15px;
-  margin-left: 30px;
+display: flex;
+flex-direction: column;
+width: 120px;
+height: 60px;
+border: 1px solid rgba(83, 92, 93, 1);
+margin-bottom: 15px;
+margin-top: 15px;
+margin-left: 30px;
 }
 
 .dataBox-right {
-  display: flex;
-  flex-direction: column;
-  width: 120px;
-  height: 60px;
-  border: 1px solid rgba(83, 92, 93, 1);
-  margin-bottom: 15px;
-  margin-top: 15px;
-  margin-right: 30px;
+display: flex;
+flex-direction: column;
+width: 120px;
+height: 60px;
+border: 1px solid rgba(83, 92, 93, 1);
+margin-bottom: 15px;
+margin-top: 15px;
+margin-right: 30px;
 }
 
 .dataTitle {
-  height: 50%;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  font-size: 12px;
-  color: rgba(153, 162, 163, 1);
-  margin-left: 5px;
+height: 50%;
+display: flex;
+flex-direction: row;
+align-items: center;
+font-size: 12px;
+color: rgba(153, 162, 163, 1);
+margin-left: 5px;
 }
 
 .datas {
-  height: 50%;
-  display: flex;
-  flex-direction: row-reverse;
-  align-items: center;
-  font-size: 16px;
-  color: rgba(05, 187, 76, 1);
-  margin-right: 5px;
+height: 50%;
+display: flex;
+flex-direction: row-reverse;
+align-items: center;
+font-size: 16px;
+color: rgba(05, 187, 76, 1);
+margin-right: 5px;
 }
 
 .powerContent {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  color: #ffffff;
-  position: relative;
-  bottom: 15%;
-  left: 3%;
+display: flex;
+flex-direction: row;
+align-items: center;
+color: #ffffff;
+position: relative;
+bottom: 15%;
+left: 3%;
 }
 
 .power {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  font-size: 14px;
-  padding: 5px 10px;
+display: flex;
+flex-direction: column;
+align-items: center;
+justify-content: center;
+font-size: 14px;
+padding: 5px 10px;
 }
 
 .power1 {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  font-size: 14px;
-  padding: 5px 10px 5px 10px;
+display: flex;
+flex-direction: column;
+align-items: center;
+justify-content: center;
+font-size: 14px;
+padding: 5px 10px 5px 10px;
 }
 
 .power2 {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  font-size: 14px;
-  padding: 5px 3px;
+display: flex;
+flex-direction: column;
+align-items: center;
+justify-content: center;
+font-size: 14px;
+padding: 5px 3px;
 }
 
 .powerTitle {
-  margin-bottom: 3px;
+margin-bottom: 3px;
 }
 
 .powerDatas {
-  border-radius: 2px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  font-size: 14px;
-  font-weight: 600;
-  padding: 2px 5px;
+border-radius: 2px;
+display: flex;
+align-items: center;
+justify-content: center;
+font-size: 14px;
+font-weight: 600;
+padding: 2px 5px;
 }
 
 </style>