Browse Source

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

# Conflicts:
#	src/router/index.js
shilin 3 years ago
parent
commit
6731de6562
29 changed files with 161656 additions and 6482 deletions
  1. 5 1
      public/static/config/modeConfig.js
  2. 6 4
      src/components/coms/table/group-table.vue
  3. 8 4
      src/views/NewPages/power-benchmarking.vue
  4. 1798 1615
      src/views/WindSite/components/boosterstation/BoosterStation.js
  5. 5443 0
      src/views/WindSite/components/boosterstation/dwk.vue
  6. 7695 1342
      src/views/WindSite/components/boosterstation/mch.vue
  7. 9183 0
      src/views/WindSite/components/boosterstation/mhs.vue
  8. 15487 0
      src/views/WindSite/components/boosterstation/nss.vue
  9. 5559 0
      src/views/WindSite/components/boosterstation/pl1.vue
  10. 11202 0
      src/views/WindSite/components/boosterstation/pl2.vue
  11. 718 686
      src/views/WindSite/components/boosterstation/previewPicture.vue
  12. 8441 0
      src/views/WindSite/components/boosterstation/qs.vue
  13. 5159 0
      src/views/WindSite/components/boosterstation/sbdl.vue
  14. 16141 0
      src/views/WindSite/components/boosterstation/sbq.vue
  15. 12259 0
      src/views/WindSite/components/boosterstation/xh.vue
  16. 10237 0
      src/views/WindSite/components/boosterstation/xs.vue
  17. 3864 0
      src/views/WindSite/components/generalappearance/svg/中卫第二光伏电站主接线图.svg
  18. 3117 0
      src/views/WindSite/components/generalappearance/svg/大武口总貌图.svg
  19. 13625 0
      src/views/WindSite/components/generalappearance/svg/宣和总貌图.svg
  20. 2832 0
      src/views/WindSite/components/generalappearance/svg/平罗一期.svg
  21. 5838 0
      src/views/WindSite/components/generalappearance/svg/平罗二期总貌图.svg
  22. 5193 0
      src/views/WindSite/components/generalappearance/svg/牛首山.svg
  23. 4296 0
      src/views/WindSite/components/generalappearance/svg/石板泉.svg
  24. 3193 0
      src/views/WindSite/components/generalappearance/svg/青山.svg
  25. 3133 0
      src/views/WindSite/components/generalappearance/svg/香风五线.svg
  26. 6846 2823
      src/views/WindSite/components/generalappearance/xs/xs.vue
  27. 55 6
      src/views/WindSite/pages/BoosterStation.vue
  28. 3 1
      src/views/WindSite/pages/GeneralAppearance.vue
  29. 320 0
      src/views/malfunctionRecall/index.vue

+ 5 - 1
public/static/config/modeConfig.js

@@ -7,6 +7,9 @@ let baseURL = null;
 // websocket 服务器地址
 let websocketUrl = null;
 
+// 适配器地址
+const adapterUrl = "http://10.155.32.4:8011/";
+
 if (localTest) {
     baseURL = "http://192.168.10.13:8082/" // 联机调试 - 石林
         // baseURL = "http://10.155.32.33:9001/" // 联机调试 - 谢生杰
@@ -18,5 +21,6 @@ websocketUrl = (baseURL.replace(/http:\/\/|https:\/\//g, "")) + "gyee-websocket"
 
 window.__MODE__ = {
     baseURL,
-    websocketUrl
+    websocketUrl,
+    adapterUrl
 };

+ 6 - 4
src/components/coms/table/group-table.vue

@@ -1,7 +1,7 @@
 <template>
-  <el-table :class="customClass" stripe :data="data.data" :height="height" style="width: 100%" @cell-click="onClick">
+  <el-table :class="customClass" stripe :data="data.data" :height="height" style="width: 100%" @cell-click="onClick" @header-click="onHeaderClick">
     <template v-for="col in data.column" :key="col">
-      <el-table-column v-if="col.child && col.child.length > 0" :label="col.name">
+      <el-table-column v-if="col.child && col.child.length > 0" :label="col.name" :key="col">
         <el-table-column
           v-for="sub in col.child"
           :key="sub"
@@ -90,10 +90,9 @@ export default {
       },
     },
   },
-  // 自定义事件
   emits: {
-    // 分页事件
     onPagging: null,
+    headerClick: null,
   },
   // 数据
   data() {
@@ -142,6 +141,9 @@ export default {
     onClick(row, column, cell, event) {
       if (column.rawColumnKey.click) column.rawColumnKey.click(event, row);
     },
+    onHeaderClick(column, event) {
+      this.$emit("headerClick", { event: event, col: column.rawColumnKey, data: this.data.data });
+    },
     handleCurrentChange(val) {
       this.currentPage = val;
       this.$emit("onPagging", {

+ 8 - 4
src/views/NewPages/power-benchmarking.vue

@@ -35,7 +35,7 @@
             <div class="right-btn" :class="{ active: btnIndex == 1 }" @click="rightBtnClick(1)">光伏</div>
           </div>
         </div>
-        <group-table :customClass="'table'" :data="eltableData" :height="'420px'" :pageSize="10"></group-table>
+        <group-table :customClass="'table'" :data="eltableData" :height="'420px'" :pageSize="10" @headerClick="headerClick"></group-table>
       </div>
       <div class="top-right">
         <div class="rank-title">
@@ -69,6 +69,7 @@ import groupTable from "../../components/coms/table/group-table.vue";
 export default {
   components: { groupTable, Panel, MultipleBarChart },
   data() {
+    let that = this;
     return {
       selecttionIndex: 0,
       btnIndex: 0,
@@ -90,7 +91,7 @@ export default {
             ],
           },
           {
-            name: "配送信息",
+            name: "基础指标",
             child: [
               {
                 name: "装机容量(MW)",
@@ -533,6 +534,9 @@ export default {
     selectionClick(index) {
       this.selecttionIndex = index;
     },
+    headerClick(param) {
+      console.log(param);
+    },
     rightBtnClick(index) {
       this.btnIndex = index;
     },
@@ -558,9 +562,9 @@ export default {
           display: flex;
           .selecttion {
             flex: 1 0 250px;
-            width:250px;
+            width: 250px;
             display: flex;
-            
+
             .item {
               flex: 0 0 44px;
               height: 28px;

File diff suppressed because it is too large
+ 1798 - 1615
src/views/WindSite/components/boosterstation/BoosterStation.js


File diff suppressed because it is too large
+ 5443 - 0
src/views/WindSite/components/boosterstation/dwk.vue


File diff suppressed because it is too large
+ 7695 - 1342
src/views/WindSite/components/boosterstation/mch.vue


File diff suppressed because it is too large
+ 9183 - 0
src/views/WindSite/components/boosterstation/mhs.vue


File diff suppressed because it is too large
+ 15487 - 0
src/views/WindSite/components/boosterstation/nss.vue


File diff suppressed because it is too large
+ 5559 - 0
src/views/WindSite/components/boosterstation/pl1.vue


File diff suppressed because it is too large
+ 11202 - 0
src/views/WindSite/components/boosterstation/pl2.vue


File diff suppressed because it is too large
+ 718 - 686
src/views/WindSite/components/boosterstation/previewPicture.vue


File diff suppressed because it is too large
+ 8441 - 0
src/views/WindSite/components/boosterstation/qs.vue


File diff suppressed because it is too large
+ 5159 - 0
src/views/WindSite/components/boosterstation/sbdl.vue


File diff suppressed because it is too large
+ 16141 - 0
src/views/WindSite/components/boosterstation/sbq.vue


File diff suppressed because it is too large
+ 12259 - 0
src/views/WindSite/components/boosterstation/xh.vue


File diff suppressed because it is too large
+ 10237 - 0
src/views/WindSite/components/boosterstation/xs.vue


File diff suppressed because it is too large
+ 3864 - 0
src/views/WindSite/components/generalappearance/svg/中卫第二光伏电站主接线图.svg


File diff suppressed because it is too large
+ 3117 - 0
src/views/WindSite/components/generalappearance/svg/大武口总貌图.svg


File diff suppressed because it is too large
+ 13625 - 0
src/views/WindSite/components/generalappearance/svg/宣和总貌图.svg


File diff suppressed because it is too large
+ 2832 - 0
src/views/WindSite/components/generalappearance/svg/平罗一期.svg


File diff suppressed because it is too large
+ 5838 - 0
src/views/WindSite/components/generalappearance/svg/平罗二期总貌图.svg


File diff suppressed because it is too large
+ 5193 - 0
src/views/WindSite/components/generalappearance/svg/牛首山.svg


File diff suppressed because it is too large
+ 4296 - 0
src/views/WindSite/components/generalappearance/svg/石板泉.svg


File diff suppressed because it is too large
+ 3193 - 0
src/views/WindSite/components/generalappearance/svg/青山.svg


File diff suppressed because it is too large
+ 3133 - 0
src/views/WindSite/components/generalappearance/svg/香风五线.svg


File diff suppressed because it is too large
+ 6846 - 2823
src/views/WindSite/components/generalappearance/xs/xs.vue


+ 55 - 6
src/views/WindSite/pages/BoosterStation.vue

@@ -8,15 +8,52 @@
         @select="select"
       ></BtnGroup2>
     </div>
-    <!-- <bsx6 class="booster-station-body"></bsx6> -->
-    <BoosterMCH class="booster-station-body"></BoosterMCH>
+    <!-- 麻黄山 -->
+    <MHS class="booster-station-body" v-if="wpId === 'MHS_FDC'" />
+
+    <!-- 牛首山 -->
+    <NSS class="booster-station-body" v-if="wpId === 'NSS_FDC'" />
+
+    <!-- 青山 -->
+    <QS class="booster-station-body" v-if="wpId === 'QS_FDC'" />
+
+    <!-- 石板泉 -->
+    <SBQ class="booster-station-body" v-if="wpId === 'SBQ_FDC'" />
+
+    <!-- 香山 -->
+    <XS class="booster-station-body" v-if="wpId === 'XS_FDC'" />
+
+    <!-- 大武口 -->
+    <DWK class="booster-station-body" v-if="wpId === 'DWK_GDC'" />
+
+    <!-- 平罗一期 -->
+    <PL1 class="booster-station-body" v-if="wpId === 'PL_GDC'" />
+
+    <!-- 平罗二期 -->
+    <PL2 class="booster-station-body" v-if="wpId === 'PL_GDC'" />
+
+    <!-- 宣和 -->
+    <XH class="booster-station-body" v-if="wpId === 'XH_GDC'" />
+
+    <!-- 马场湖 -->
+    <MCH class="booster-station-body" v-if="wpId === 'MCH_GDC'" />
   </div>
 </template>
 
 <script>
 import BtnGroup2 from "@com/coms/btn/btn-group-double.vue";
 // import bsx6 from "../components/bsx6.vue";
-import BoosterMCH from "../components/boosterstation/mch.vue";
+import MHS from "../components/boosterstation/mhs.vue";
+import NSS from "../components/boosterstation/nss.vue";
+import QS from "../components/boosterstation/qs.vue";
+import SBQ from "../components/boosterstation/sbq.vue";
+// import SBDL from "../components/boosterstation/sbdl.vue";
+import XS from "../components/boosterstation/xs.vue";
+import DWK from "../components/boosterstation/dwk.vue";
+import PL1 from "../components/boosterstation/pl1.vue";
+import PL2 from "../components/boosterstation/pl2.vue";
+import XH from "../components/boosterstation/pl2.vue";
+import MCH from "../components/boosterstation/mch.vue";
 
 export default {
   // 名称
@@ -25,7 +62,17 @@ export default {
   components: {
     // bsx6,
     BtnGroup2,
-    BoosterMCH,
+    MHS,
+    NSS,
+    QS,
+    SBQ,
+    // SBDL,
+    XS,
+    DWK,
+    PL1,
+    PL2,
+    XH,
+    MCH,
   },
   // 数据
   data() {
@@ -55,9 +102,10 @@ export default {
   // 函数
   methods: {
     select(res) {
+      console.log(2333, res.code);
       this.$router.replace({
-      path: `/monitor/windsite/boosterstation/${res.code}`,
-    });
+        path: `/monitor/windsite/boosterstation/${res.code}`,
+      });
     },
     getWp() {
       let that = this;
@@ -147,6 +195,7 @@ export default {
 
   .booster-station-body {
     flex-grow: 1;
+    margin-top: 20px;
   }
 }
 </style>

+ 3 - 1
src/views/WindSite/pages/GeneralAppearance.vue

@@ -54,7 +54,7 @@
     </div>
     <!-- <gax6 class="general-appearance-body"></gax6> -->
     <div>
-      <AppearanceXs class="general-appearance-body" :data="fjmap"/>
+      <AppearanceXs class="general-appearance-body" :data="fjmap" :zmmap="zmmap"/>
     </div>
   </div>
 </template>
@@ -79,6 +79,7 @@ export default {
       wpId: undefined, //场站
       wpnumMap: {}, //风机监视数量
       fjmap: [], //场站风机详情
+      zmmap: {},
       selectIndex: 0,
       rowIndex: 0,
       btnGroups: [
@@ -158,6 +159,7 @@ export default {
           if (res.code == 200) {
             that.wpnumMap = res.data.fczbmap.jczbmap;
             that.fjmap = res.data.fjmap[0];
+            that.zmmap = res.data.zmmap;
           }
         },
       });

+ 320 - 0
src/views/malfunctionRecall/index.vue

@@ -0,0 +1,320 @@
+<template>
+  <div class="knowledge-2">
+    <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.name"
+              />
+            </el-select>
+          </div>
+        </div>
+        <div class="query-item">
+          <div class="lable">类型:</div>
+          <div class="search-input">
+            <el-select
+              v-model="type"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+            >
+              <el-option
+                v-for="item in typeArray"
+                :key="item.id"
+                :value="item.id"
+                :label="item.name"
+              />
+            </el-select>
+          </div>
+        </div>
+        <div class="query-item">
+          <div class="query-item">
+            <div class="lable">开始日期:</div>
+            <div class="search-input">
+              <el-date-picker
+                v-model="value1"
+                @change="BeginChange(value1)"
+                type="date"
+                value-format="YYYY-MM-DD"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
+              </el-date-picker>
+            </div>
+          </div>
+          <div class="query-item">
+            <div class="lable">结束日期:</div>
+            <div class="search-input">
+              <el-date-picker
+                v-model="value2"
+                @change="EndChange(value2)"
+                type="date"
+                value-format="YYYY-MM-DD"
+                placeholder="选择日期"
+                popper-class="date-select"
+              >
+              </el-date-picker>
+              <div class="unit svg-icon svg-icon-gray">
+                <svg-icon :svgid="''" />
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="query-actions" style="margin-right: 1500px">
+        <button class="btn green" @click="onClickSearch">查询</button>
+      </div>
+    </div>
+    <div>
+      <ComTable :data="tableData" height="85vh"></ComTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import ComTable from "@com/coms/table/table.vue";
+
+export default {
+  components: { ComTable },
+  data() {
+    return {
+      value1: "",
+      value2: "",
+      wpId: "",
+      wpArray: [],
+      wpName: "",
+      wtId: "",
+      type: 2,
+      tableData: {
+        column: [
+          {
+            name: "场站",
+            field: "wpName",
+            is_num: true,
+            is_light: false,
+          },
+          {
+            name: "机组",
+            field: "wtName",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "开始时刻",
+            field: "stopTime",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "结束时刻",
+            field: "startTime",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "停机小时数(h)",
+            field: "stopHours",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "停机类型",
+            field: "warnDesc",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "损失电量(kWh)",
+            field: "lossPower",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "操作",
+            field: "",
+            is_num: false,
+            is_light: false,
+            template() {
+              return "<el-button type='text' style='cursor: pointer;'>回溯</el-button>";
+            },
+            click(e, row) {},
+          },
+        ],
+        data: [],
+      },
+    };
+  },
+  created() {
+    // this.requestSafeList();
+    this.value1 = new Date(new Date().getTime() - 3600 * 1000 * 24).formatDate(
+      "yyyy-MM-dd"
+    );
+    this.value2 = this.getTime(2);
+    this.getWp();
+    this.requestSafeList();
+  },
+  methods: {
+    getTime(val) {
+      //时间戳处理,val=1是默认开始时间(当前月第一天),val=2是默认结束时间(今天)
+      var date = new Date();
+      var year = date.getFullYear(),
+        month = date.getMonth() + 1,
+        day = date.getDate();
+      month >= 1 && month <= 9 ? (month = "0" + month) : "";
+      day >= 0 && day <= 9 ? (day = "0" + day) : "";
+      var begin = year + "-" + month + "-01";
+      var end = year + "-" + month + "-" + day;
+      if (val == 1) {
+        return begin;
+      } else if (val == 2) {
+        return end;
+      }
+    },
+    // 获取风场
+    getWp(reGetWp) {
+      let that = this;
+      that.API.requestData({
+        baseURL: "http://10.155.32.4:9001",
+        subUrl: "benchmarking/wplist",
+        success(res) {
+          that.wpArray = res.data;
+          that.wpId = res.data[0].id;
+          that.wpName = res.data[0].wpName;
+          that.getWt(that.wpId, reGetWp);
+        },
+      });
+    },
+
+    // 获取风机
+    getWt(wpid, reGetWp) {
+      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;
+          },
+        });
+      }
+    },
+    BeginChange(vl) {
+      this.value1 = vl;
+    },
+    EndChange(vl) {
+      this.value2 = vl;
+    },
+    typeChange(vl) {
+      this.type = vl;
+    },
+    // 搜索按钮
+    onClickSearch() {
+      this.requestSafeList();
+    },
+    // 获取停机事件
+    requestSafeList() {
+      let that = this;
+
+      let data = {
+        tablepar: {
+          pageNum: 1,
+          pageSize: 1000,
+        },
+        beginDate: that.value1,
+        endDate: that.value2,
+        wpId: that.wpId,
+      };
+
+      if (that.wtId != "") data.wtId = that.wtId;
+      if (that.type != "") data.type = that.type;
+
+      this.API.requestData({
+        method: "POST",
+        subUrl: "/event/getShutdownevent",
+        data,
+        success(res) {
+          if (res.code == 200) {
+            that.tableData.data = [];
+            if (res.data.list.length) {
+              let data = res.data.list;
+              for (var i = 0; i < data.length; i++) {
+                let obj = {
+                  wpName: data[i].wpName,
+                  wtName: data[i].wtName,
+                  stopTime: new Date(data[i].stopTime).formatDate(
+                    "yyyy-MM-dd hh:mm:ss"
+                  ),
+
+                  stopHours: data[i].stopHours,
+                  statusName: data[i].statusName,
+                  warnDesc: data[i].warnDesc,
+                  lossPower: data[i].lossPower,
+                  handleWay: data[i].handleWay,
+                };
+                if (data[i].startTime)
+                  obj.startTime = new Date(data[i].startTime).formatDate(
+                    "yyyy-MM-dd hh:mm:ss"
+                  );
+                that.tableData.data.push(obj);
+              }
+            }
+          }
+        },
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scope>
+@titleGray: #9ca5a8;
+@rowGray: #606769;
+@darkBack: #536268;
+.knowledge-2 {
+  .el-select {
+    width: 200px;
+  }
+  .el-input {
+    width: 200px;
+  }
+}
+</style>