Explorar el Código

Merge branch 'yx' of http://61.161.152.110:10101/r/electronic-map into yx

chenminghua hace 3 años
padre
commit
6148bcda39

+ 8 - 3
src/router/index.js

@@ -199,9 +199,14 @@ const routes = [
     component: () => import('../views/cutAnalyse/index.vue'),
   },
   {
-    path: '/health/health8',
-    name: 'health8',
-    component: () => import(/* webpackChunkName: "health8" */  '../views/HealthControl/Health8.vue'),
+    path: '/cutAnalyse', // 切入切出分析
+    name: 'cutAnalyse',
+    component: () => import('../views/cutAnalyse/index.vue'),
+  },
+  {
+    path: '/wtSaturability', // 单机饱和度
+    name: 'wtSaturability',
+    component: () => import('../views/wtSaturability/index.vue'),
   },
   {
     path: '/knowledge',

+ 9 - 9
src/views/Home/components/map/svg-map-nx.vue

@@ -267,7 +267,7 @@
                 <g v-show="popup[0]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="290" y="190" />
-                    <text x="300" y="210" fill="#919697" font-size="14">经度1</text>
+                    <text x="300" y="210" fill="#919697" font-size="14">经度</text>
                     <text x="350" y="210" fill="#05bb4c" font-size="14">{{xtMap.QS_FDC && xtMap.XS_FDC.jd}}</text>
                     <text x="300" y="235" fill="#919697" font-size="14">纬度</text>
                     <text x="350" y="235" fill="#05bb4c" font-size="14">{{xtMap.QS_FDC && xtMap.XS_FDC.wd}}</text>
@@ -281,7 +281,7 @@
                 <g v-show="popup[1]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="420" y="35" />
-                    <text x="430" y="55" fill="#919697" font-size="14">经度2</text>
+                    <text x="430" y="55" fill="#919697" font-size="14">经度</text>
                     <text x="480" y="55" fill="#05bb4c" font-size="14">{{xtMap.MCH_GDC && xtMap.MCH_GDC.jd}}</text>
                     <text x="430" y="80" fill="#919697" font-size="14">纬度</text>
                     <text x="480" y="80" fill="#05bb4c" font-size="14">{{xtMap.MCH_GDC && xtMap.MCH_GDC.wd}}</text>
@@ -295,7 +295,7 @@
                 <g v-show="popup[2]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="430" y="75" />
-                    <text x="440" y="95" fill="#919697" font-size="14">经度3</text>
+                    <text x="440" y="95" fill="#919697" font-size="14">经度</text>
                     <text x="490" y="95" fill="#05bb4c" font-size="14">{{xtMap.XH_GDC && xtMap.XH_GDC.jd}}</text>
                     <text x="440" y="120" fill="#919697" font-size="14">纬度</text>
                     <text x="490" y="120" fill="#05bb4c" font-size="14">{{xtMap.XH_GDC && xtMap.XH_GDC.wd}}</text>
@@ -309,7 +309,7 @@
                 <g v-show="popup[3]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="550" y="60" />
-                    <text x="560" y="80" fill="#919697" font-size="14">经度4</text>
+                    <text x="560" y="80" fill="#919697" font-size="14">经度</text>
                     <text x="610" y="80" fill="#05bb4c" font-size="14">{{xtMap.NSS_FDC && xtMap.NSS_FDC.jd}}</text>
                     <text x="560" y="105" fill="#919697" font-size="14">纬度</text>
                     <text x="610" y="105" fill="#05bb4c" font-size="14">{{xtMap.NSS_FDC && xtMap.NSS_FDC.wd}}</text>
@@ -323,7 +323,7 @@
                 <g v-show="popup[4]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="480" y="0" />
-                    <text x="490" y="20" fill="#919697" font-size="14">经度5</text>
+                    <text x="490" y="20" fill="#919697" font-size="14">经度</text>
                     <text x="540" y="20" fill="#05bb4c" font-size="14">{{xtMap.DWK_GDC && xtMap.DWK_GDC.jd}}</text>
                     <text x="490" y="45" fill="#919697" font-size="14">纬度</text>
                     <text x="540" y="45" fill="#05bb4c" font-size="14">{{xtMap.DWK_GDC && xtMap.DWK_GDC.wd}}</text>
@@ -337,7 +337,7 @@
                 <g v-show="popup[5]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="500" y="25" />
-                    <text x="510" y="45" fill="#919697" font-size="14">经度6</text>
+                    <text x="510" y="45" fill="#919697" font-size="14">经度</text>
                     <text x="560" y="45" fill="#05bb4c" font-size="14">{{xtMap.PL_GDC && xtMap.PL_GDC.jd}}</text>
                     <text x="510" y="70" fill="#919697" font-size="14">纬度</text>
                     <text x="560" y="70" fill="#05bb4c" font-size="14">{{xtMap.PL_GDC && xtMap.PL_GDC.wd}}</text>
@@ -351,7 +351,7 @@
                 <g v-show="popup[6]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="520" y="120" />
-                    <text x="530" y="140" fill="#919697" font-size="14">经度7</text>
+                    <text x="530" y="140" fill="#919697" font-size="14">经度</text>
                     <text x="580" y="140" fill="#05bb4c" font-size="14">{{xtMap.SBQ_FDC && xtMap.SBQ_FDC.jd}}</text>
                     <text x="530" y="165" fill="#919697" font-size="14">纬度</text>
                     <text x="580" y="165" fill="#05bb4c" font-size="14">{{xtMap.SBQ_FDC && xtMap.SBQ_FDC.wd}}</text>
@@ -365,7 +365,7 @@
                 <g v-show="popup[7]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="530" y="150" />
-                    <text x="540" y="170" fill="#919697" font-size="14">经度8</text>
+                    <text x="540" y="170" fill="#919697" font-size="14">经度</text>
                     <text x="590" y="170" fill="#05bb4c" font-size="14">{{xtMap.MHS_FDC && xtMap.MHS_FDC.jd}}</text>
                     <text x="540" y="195" fill="#919697" font-size="14">纬度</text>
                     <text x="590" y="195" fill="#05bb4c" font-size="14">{{xtMap.MHS_FDC && xtMap.MHS_FDC.wd}}</text>
@@ -379,7 +379,7 @@
                 <g v-show="popup[8]">
                     <!-- +5 (+10+50, +20)+25 -->
                     <use xlink:href="#popup-box-svg" x="570" y="175" />
-                    <text x="580" y="195" fill="#919697" font-size="14">经度9</text>
+                    <text x="580" y="195" fill="#919697" font-size="14">经度</text>
                     <text x="630" y="195" fill="#05bb4c" font-size="14">{{xtMap.QS_FDC && xtMap.QS_FDC.jd}}</text>
                     <text x="580" y="220" fill="#919697" font-size="14">纬度</text>
                     <text x="630" y="220" fill="#05bb4c" font-size="14">{{xtMap.QS_FDC && xtMap.QS_FDC.wd}}</text>

+ 2 - 2
src/views/cutAnalyse/index.vue

@@ -25,10 +25,10 @@
 			</div>
 		</div>
     <div class="df-table">
-      <ComTable :data="tableData"></ComTable>
+      <ComTable height="100vh" :data="tableData"></ComTable>
     </div>
     <el-dialog title="切入切出风速整合历史" v-model="dialogShow" width="85%" top="10vh" custom-class="modal" :close-on-click-modal="true" @closed="dialogType = ''">
-      <ComTable :data="tableHistoryData"></ComTable>
+      <ComTable height="100vh" :data="tableHistoryData"></ComTable>
     </el-dialog>
   </div>
 </template>

+ 5 - 0
src/views/layout/Menu.vue

@@ -130,6 +130,11 @@ export default {
                   text: "单机月度分析",
                   icon: "svg-wind-site",
                   path: "/nxfx6",
+                },
+                {
+                  text: "单机饱和度",
+                  icon: "svg-wind-site",
+                  path: "/wtSaturability",
                 }
               ]
             }

+ 89 - 0
src/views/wtSaturability/index.vue

@@ -0,0 +1,89 @@
+<template>
+  <div class="health">
+    <div class="selections mg-b-16">
+      <div class="item" @click="tabSelect(0)" :class="{ active: tabIndex == 0 }">总功率情况</div>
+      <div class="item" @click="tabSelect(1)" :class="{ active: tabIndex == 1 }">月功率情况</div>
+      <div class="item" @click="tabSelect(2)" :class="{ active: tabIndex == 2 }">日功率情况</div>
+    </div>
+    <div class="curHeight" v-if="tabIndex == 0">
+      <Tab1 />
+    </div>
+    <div class="curHeight" v-if="tabIndex == 1">
+      111
+    </div>
+    <div class="curHeight" v-if="tabIndex == 2">
+      222
+    </div>
+  </div>
+</template>
+
+<script>
+import Tab1 from "./tab1.vue";
+export default {
+  // 名称
+  name: "wtSaturability",
+
+  // 使用组件
+  components: {
+    Tab1
+  },
+
+  // 数据
+  data () {
+    const that = this;
+    return {
+      tabIndex: 0,
+    };
+  },
+
+  // 函数
+  methods: {
+    tabSelect (state) {
+      this.tabIndex = state;
+    },
+    // 请求服务
+    requestData () {
+      
+    }
+  },
+
+  created () {
+    this.requestData();
+  },
+
+  mounted () { },
+
+  unmounted () { },
+};
+</script>
+
+<style lang="less" scope>
+.health {
+  .selections {
+    display: flex;
+
+    .item {
+      flex: 0 0 128px;
+      text-align: center;
+      line-height: 33px;
+      margin-right: 8px;
+      color: @font-color;
+      font-size: @fontsize-s;
+      background: fade(@gray, 20);
+      border: 1px solid fade(@gray, 20);
+
+      &:hover,
+      &.active {
+        background: fade(@green, 20);
+        border: 1px solid @green;
+        color: @green;
+        cursor: pointer;
+      }
+    }
+  }
+
+  .curHeight {
+    height: 87vh;
+  }
+}
+</style>

+ 231 - 0
src/views/wtSaturability/tab1.vue

@@ -0,0 +1,231 @@
+<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">
+              <el-option v-for="item in wpArray" :key="item.id" :value="item.id" :label="item.name" />
+            </el-select>
+          </div>
+        </div>
+      </div>
+      <div class="query-items">
+        <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.name" />
+            </el-select>
+          </div>
+        </div>
+      </div>
+      <div class="query-actions">
+        <button class="btn green" @click="search()">搜索</button>
+      </div>
+    </div>
+    <div class="df-table">
+      <ComTable height="100vh" :data="tableData"></ComTable>
+    </div>
+    <Mlc height="300px" :list="chartData" :units="chartUnit" :showLegend="true" />
+  </div>
+</template>
+
+<script>
+import ComTable from "@com/coms/table/table.vue";
+import Mlc from "@com/chart/line/multiple-line-chart.vue";
+export default {
+  // 名称
+  name: "cutAnalyse",
+
+  // 使用组件
+  components: {
+    ComTable,
+    Mlc
+  },
+
+  // 数据
+  data () {
+    return {
+      isAsc: "asc",
+      wpArray: [],
+      wtArray: [],
+      wpId: "",
+      wtId: "",
+      tableData: {
+        column: [
+          {
+            name: "风机",
+            field: "windturbineid",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "风速",
+            field: "speed",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "实际拟合功率",
+            field: "actualpower",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "最优拟合功率",
+            field: "optimalpower",
+            is_num: false,
+            is_light: false,
+          }
+        ],
+        data: [],
+      },
+      chartData: [{
+        title: "",
+        yAxisIndex: 0,
+        value: []
+      }],
+      chartUnit: ["功率(MW)"]
+    };
+  },
+
+  // 函数
+  methods: {
+    // 获取风场
+    getWp () {
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/windfarmAjax",
+        success (res) {
+          that.wpArray = res.data;
+          that.wpId = res.data[0].id;
+          that.getWt(that.wpId)
+        }
+      });
+    },
+
+    // 获取风机
+    getWt (wpid) {
+      let that = this;
+      if (that.wpId) {
+        that.API.requestData({
+          method: "GET",
+          baseURL: "http://10.155.32.4:9001",
+          subUrl: "benchmarking/wtList",
+          data: {
+            wpid
+          },
+          success (res) {
+            that.wtArray = res.data;
+            that.wtId = res.data[0].id;
+            that.getTab1Data();
+          }
+        });
+      }
+    },
+
+    getTab1Data () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "powersaturation/powersaturationamonutlist",
+        data: {
+          wtId: that.wtId
+        },
+        success (res) {
+          that.tableData.data = res.data.list;
+
+          const key = ["actualpower", "optimalpower", "optmalpower"];
+
+          let chartData = [{
+            title: "实际拟合功率",
+            yAxisIndex: 0,
+            value: []
+          }, {
+            title: "最优拟合功率",
+            yAxisIndex: 0,
+            value: []
+          }, {
+            title: "保证功率",
+            yAxisIndex: 0,
+            value: []
+          }];
+
+          key.forEach((keyEle, keyIndex)=>{
+            res.data.list.forEach(ele=>{
+              chartData[keyIndex].value.push({
+                text:ele.id,
+                value:ele[keyEle]
+              });
+            });
+          });
+
+          that.chartData = chartData;
+        }
+      });
+    },
+
+    search () {
+      if (!this.wpId || !this.wtId) {
+        this.BASE.showMsg({
+          msg: '场站与风机为必选项'
+        });
+      } else {
+        this.getTab1Data();
+      }
+    }
+  },
+
+  created () {
+    this.getWp();
+  },
+
+  mounted () { },
+
+  unmounted () { },
+};
+</script>
+
+<style lang="less" scoped>
+.draught-fan-list {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+
+  .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:60vh;
+
+    &:before {
+      content: '';
+      width: 0.37vh;
+      height: 0.37vh;
+      background: @write;
+      position: absolute;
+      left: 0.278vh;
+      top: 0.278vh;
+    }
+
+    tbody {
+      height: calc(100vh - 166px);
+    }
+  }
+}
+</style>