Jelajahi Sumber

矩阵风机二级页面增加页面及其模拟数据

SunZehao 9 bulan lalu
induk
melakukan
8e798c55a7

+ 796 - 94
src/components/WindturbineDetailPages.vue

@@ -1,98 +1,354 @@
 <template>
   <el-dialog
-    width="80%"
+    fullscreen
     @opened="opened()"
     @closed="closed()"
-    :show-close="false"
-    class="my-info-dialog"
+    modal-class="my-info-dialog"
   >
     <template #title>
       <div style="margin-top: -10px; color: #ffffff">风机详情</div>
     </template>
+
     <div class="body">
-      <div class="titleList">
-        <div class="chunkdiv" @click="handleClick(true)">
-          <div class="title">风机号:&emsp;</div>
-          <div>{{ windturbine.windturbineId }}</div>
-          <!-- <div>
+      <el-tabs
+        v-model="activeName"
+        class="wind-tabs"
+        @tab-click="handleTabsClick"
+        type="border-card"
+        stretch
+        lazy
+      >
+        <el-tab-pane label="主要参数(宁夏)" name="first" class="tabSty">
+          <div class="titleList">
+            <div class="chunkdiv" @click="handleClick(true)">
+              <div class="title">风机号:&emsp;</div>
+              <div>{{ windturbine.windturbineId }}</div>
+              <!-- <div>
             {{ windturbine.stationId.slice(0, 2) }}-{{ windturbine.code }}
           </div> -->
-        </div>
-        <div
-          class="chunkdiv"
-          @click="handleClick(true)"
-          @dblclick="dbClicks(baseDate.windSpeed)"
-        >
-          <div class="title">{{ baseDate.windSpeed.name }}:&emsp;</div>
-          <div>{{ baseDate.windSpeed.value }}{{ baseDate.windSpeed.unit }}</div>
-        </div>
-        <div
-          class="chunkdiv"
-          @click="handleClick(true)"
-          @dblclick="dbClicks({ code: 'YDPJFS5M', name: '五分钟平均风速' })"
-        >
-          <div class="title">五分钟平均风速:&emsp;</div>
-          <div>{{ healthInfo?.averageWindSpeed5?.toFixed(2) }}m/s</div>
-        </div>
-        <div
-          class="chunkdiv"
-          @click="handleClick(true)"
-          @dblclick="dbClicks(theoreticalPower)"
-        >
-          <div class="title">理论功率:&emsp;</div>
-          <div>{{ healthInfo?.theoreticalPower?.toFixed(2) }}Kw</div>
-        </div>
-        <div
-          class="chunkdiv"
-          @click="handleClick(true)"
-          @dblclick="dbClicks(baseDate.power)"
-        >
-          <div class="title">{{ baseDate.power.name }}:&emsp;</div>
-          <div>{{ baseDate.power.value }}{{ baseDate.power.unit }}</div>
-        </div>
-        <div
-          class="chunkdiv"
-          @click="handleClick(true)"
-          @dblclick="dbClicks(baseDate.generatorSpeed)"
-        >
-          <div class="title">{{ baseDate.generatorSpeed.name }}:&emsp;</div>
-          <div>
-            {{ baseDate.generatorSpeed.value
-            }}{{ baseDate.generatorSpeed.unit }}
+            </div>
+            <div
+              class="chunkdiv"
+              @click="handleClick(true)"
+              @dblclick="dbClicks(baseDate.windSpeed)"
+            >
+              <div class="title">{{ baseDate.windSpeed.name }}:&emsp;</div>
+              <div>
+                {{ baseDate.windSpeed.value }}{{ baseDate.windSpeed.unit }}
+              </div>
+            </div>
+            <div
+              class="chunkdiv"
+              @click="handleClick(true)"
+              @dblclick="dbClicks({ code: 'YDPJFS5M', name: '五分钟平均风速' })"
+            >
+              <div class="title">五分钟平均风速:&emsp;</div>
+              <div>{{ healthInfo?.averageWindSpeed5?.toFixed(2) }}m/s</div>
+            </div>
+            <div
+              class="chunkdiv"
+              @click="handleClick(true)"
+              @dblclick="dbClicks(theoreticalPower)"
+            >
+              <div class="title">理论功率:&emsp;</div>
+              <div>{{ healthInfo?.theoreticalPower?.toFixed(2) }}Kw</div>
+            </div>
+            <div
+              class="chunkdiv"
+              @click="handleClick(true)"
+              @dblclick="dbClicks(baseDate.power)"
+            >
+              <div class="title">{{ baseDate.power.name }}:&emsp;</div>
+              <div>{{ baseDate.power.value }}{{ baseDate.power.unit }}</div>
+            </div>
+            <div
+              class="chunkdiv"
+              @click="handleClick(true)"
+              @dblclick="dbClicks(baseDate.generatorSpeed)"
+            >
+              <div class="title">
+                {{ baseDate.generatorSpeed.name }}:&emsp;
+              </div>
+              <div>
+                {{ baseDate.generatorSpeed.value
+                }}{{ baseDate.generatorSpeed.unit }}
+              </div>
+            </div>
+            <div class="chunkdiv" @click="handleClick(false)">
+              <div class="title">故障信息: &emsp;{{ faultNum }}</div>
+            </div>
+          </div>
+          <BasicInformationDetail
+            v-show="current"
+            ref="BasicInfo"
+            :types="types"
+            @health-click="handleHealth"
+            :windturbine="windturbine"
+          ></BasicInformationDetail>
+          <div class="faultInfo" v-show="!current">
+            <div class="left-item">
+              <div
+                :class="item.openedCount > 0 ? 'faultNameErr' : 'faultName'"
+                v-for="(item, index) in fault"
+                :key="index"
+                @click="handleFaultClick(index)"
+              >
+                {{ item.component }}
+                <div class="faultNum" v-if="item.openedCount > 0">
+                  ({{ item.openedCount }})
+                </div>
+              </div>
+            </div>
+            <div class="right-item">
+              <div class="tables">
+                <el-table
+                  :data="faultList"
+                  class="table"
+                  style="width: 100%"
+                  height="67vh"
+                  stripe
+                  highlight-current-row
+                  :header-cell-style="{
+                    background: 'rgb(30,30,30)',
+                    color: 'rgb(220,220,220)',
+                    padding: '4px',
+                    fontSize: '14px',
+                    'border-bottom': 'solid 1px rgba(77, 77, 77, 1)',
+                  }"
+                  :cell-style="tableCellStyle"
+                >
+                  <el-table-column
+                    prop="id"
+                    label="报警编号"
+                    width="200"
+                    align="center"
+                  >
+                  </el-table-column>
+                  <el-table-column
+                    prop="modelId"
+                    label="风机型号"
+                    width="150"
+                    align="center"
+                  >
+                  </el-table-column>
+                  <el-table-column
+                    prop="alertText"
+                    label="报警信息"
+                    align="center"
+                  >
+                  </el-table-column>
+                  <el-table-column label="故障状态" width="120" align="center">
+                    <template #default="scope">
+                      <span>
+                        {{ scope.row.isOpened > 0 ? "故障" : "正常" }}
+                      </span>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </div>
+            </div>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="主要参数(山西)" name="second">
+          <div class="paramsMain">
+            <div class="paramsLeft">
+              <div
+                class="dataList"
+                v-for="(it, index) in leftData"
+                :key="index"
+              >
+                <div class="dataTitles">
+                  <div style="margin-left: 24px; font-size: 16px">
+                    {{ it.name }}
+                  </div>
+                </div>
+                <div class="dataContent">
+                  <div
+                    class="dataBlock"
+                    v-for="(item, index) in it.data"
+                    :key="index"
+                  >
+                    <div class="dataName">{{ item.name }}</div>
+                    <div class="numerical">
+                      <div class="values">{{ item.value }}</div>
+                      <div class="unit">{{ item.unit }}</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div class="paramsCenter">
+              <StandAloneImg
+                :activeIndex="showIndex"
+                @selectSvg="selectSvg"
+                class="sai"
+              ></StandAloneImg>
+              <div
+                class="dataList"
+                v-for="(it, index) in centerData"
+                :key="index"
+              >
+                <div class="dataTitles">
+                  <div style="margin-left: 24px; font-size: 16px">
+                    {{ it.name }}
+                  </div>
+                </div>
+                <div class="dataContent">
+                  <div
+                    class="dataBlock"
+                    v-for="(item, index) in it.data"
+                    :key="index"
+                  >
+                    <div class="dataName">{{ item.name }}</div>
+                    <div class="numerical">
+                      <div class="values">{{ item.value }}</div>
+                      <div class="unit">{{ item.unit }}</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div class="paramsRight">
+              <div
+                class="dataList"
+                v-for="(it, index) in rightData"
+                :key="index"
+              >
+                <div class="dataTitles">
+                  <div style="margin-left: 24px; font-size: 16px">
+                    {{ it.name }}
+                  </div>
+                </div>
+                <div class="dataContent">
+                  <div
+                    class="dataBlock"
+                    v-for="(item, index) in it.data"
+                    :key="index"
+                  >
+                    <div class="dataName">{{ item.name }}</div>
+                    <div class="numerical">
+                      <div class="values">{{ item.value }}</div>
+                      <div class="unit">{{ item.unit }}</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
           </div>
-        </div>
-        <div class="chunkdiv" @click="handleClick(false)">
-          <div class="title">故障信息: &emsp;{{ faultNum }}</div>
-        </div>
-      </div>
-      <BasicInformationDetail
-        v-show="current"
-        ref="BasicInfo"
-        :types="types"
-        @health-click="handleHealth"
-        :windturbine="windturbine"
-      ></BasicInformationDetail>
-      <div class="faultInfo" v-show="!current">
-        <div class="left-item">
-          <div
-            :class="item.openedCount > 0 ? 'faultNameErr' : 'faultName'"
-            v-for="(item, index) in fault"
-            :key="index"
-            @click="handleFaultClick(index)"
-          >
-            {{ item.component }}
-            <div class="faultNum" v-if="item.openedCount > 0">
-              ({{ item.openedCount }})
+          <div class="paramsMainBot">
+            <div
+              class="dataList"
+              v-for="(it, index) in mainBotData"
+              :key="index"
+            >
+              <div class="dataTitles">
+                <div style="margin-left: 24px; font-size: 16px">
+                  {{ it.name }}
+                </div>
+              </div>
+              <div class="dataContent">
+                <div
+                  class="dataBlock"
+                  v-for="(item, index) in it.data"
+                  :key="index"
+                >
+                  <div class="dataName">{{ item.name }}</div>
+                  <div class="numerical">
+                    <div class="values">{{ item.value }}</div>
+                    <div class="unit">{{ item.unit }}</div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="实时报警" name="third">
+          <div class="nowWarn">
+            <div class="nowWarnTree">
+              <el-tree
+                class="filter-tree"
+                :data="nowWarnTreeData"
+                :props="defaultProps"
+                node-key="id"
+                :default-expanded-keys="[0]"
+                ref="tree"
+                @node-click="handleChange"
+              >
+              </el-tree>
+            </div>
+            <div class="nowWarnTable">
+              <el-table
+                :data="nowWarnTableData"
+                class="table"
+                style="width: 100%"
+                height="85vh"
+                stripe
+                highlight-current-row
+                :header-cell-style="{
+                  background: 'rgb(30,30,30)',
+                  color: 'rgb(220,220,220)',
+                  padding: '4px',
+                  fontSize: '14px',
+                  'border-bottom': 'solid 1px rgba(77, 77, 77, 1)',
+                }"
+                :cell-style="tableCellStyle"
+              >
+                <el-table-column
+                  prop="id"
+                  label="报警编号"
+                  width="200"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="time"
+                  label="最近一次报警时间"
+                  width="150"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="alertText"
+                  label="报警文字信息"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column label="故障状态" width="120" align="center">
+                  <template #default="scope">
+                    <span>
+                      {{ scope.row.isOpened > 0 ? "故障" : "正常" }}
+                    </span>
+                  </template>
+                </el-table-column>
+              </el-table>
             </div>
           </div>
-        </div>
-        <div class="right-item">
-          <div class="tables">
+        </el-tab-pane>
+        <el-tab-pane label="历史报警" name="fourth">
+          <div class="searchTitle">
+            <div class="search">
+              <div class="date">日期:</div>
+              <el-date-picker
+                class="pickers"
+                @change="changes"
+                v-model="timeValue"
+                type="datetimerange"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              >
+              </el-date-picker>
+            </div>
+
+            <div class="buttons">查询</div>
+            <div class="buttons">导出</div>
+          </div>
+          <div class="historyWarnTable">
             <el-table
-              :data="faultList"
+              :data="historyWarnTableData"
               class="table"
               style="width: 100%"
-              height="67vh"
+              height="75vh"
               stripe
               highlight-current-row
               :header-cell-style="{
@@ -105,32 +361,122 @@
               :cell-style="tableCellStyle"
             >
               <el-table-column
-                prop="id"
-                label="报警编号"
+                prop="time"
+                label="时间"
                 width="200"
                 align="center"
               >
               </el-table-column>
               <el-table-column
-                prop="modelId"
-                label="风机型号"
-                width="150"
+                prop="id"
+                label="设备"
+                width="120"
+                align="center"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="alertText"
+                label="报警信息"
+                width="500"
                 align="center"
               >
               </el-table-column>
-              <el-table-column prop="alertText" label="报警信息" align="center">
+              <el-table-column prop="leavl" label="级别" align="center">
+              </el-table-column>
+              <el-table-column prop="warnType" label="报警类型" align="center">
+              </el-table-column>
+              <el-table-column prop="stopType" label="停机类型" align="center">
               </el-table-column>
-              <el-table-column label="故障状态" width="120" align="center">
+              <el-table-column label="故障类型" align="center">
                 <template #default="scope">
                   <span>
                     {{ scope.row.isOpened > 0 ? "故障" : "正常" }}
                   </span>
                 </template>
               </el-table-column>
+              <el-table-column
+                prop="isOpenedType"
+                label="故障原因"
+                align="center"
+              >
+              </el-table-column>
             </el-table>
           </div>
-        </div>
-      </div>
+          <div class="paginations">
+            <el-pagination
+              :hide-on-single-page="true"
+              :page-size="page.pagesize"
+              background
+              layout="total, prev, pager, next"
+              :total="page.total"
+              @current-change="handleCurrentChange"
+            >
+            </el-pagination>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="测点详情" name="five">
+          <div class="searchTitle">
+            <div class="search">
+              <div class="date">测点:</div>
+              <el-input
+                class="inputs"
+                placeholder="请输入"
+                v-model="inputVlaues"
+              ></el-input>
+            </div>
+
+            <div class="buttons">查询</div>
+          </div>
+          <div class="measurePoint">
+            <div class="measurePointL">
+              <el-table
+                :data="measurePointDataL"
+                class="table"
+                style="width: 100%"
+                height="75vh"
+                stripe
+                highlight-current-row
+                :header-cell-style="{
+                  background: 'rgb(30,30,30)',
+                  color: 'rgb(220,220,220)',
+                  padding: '4px',
+                  fontSize: '14px',
+                  'border-bottom': 'solid 1px rgba(77, 77, 77, 1)',
+                }"
+                :cell-style="tableCellStyle"
+              >
+                <el-table-column prop="name" label="测点名称" align="center">
+                </el-table-column>
+                <el-table-column prop="value" label="测点值" align="center">
+                </el-table-column>
+              </el-table>
+            </div>
+            <div class="measurePointR">
+              <el-table
+                :data="measurePointDataR"
+                class="table"
+                style="width: 100%"
+                height="75vh"
+                stripe
+                highlight-current-row
+                :header-cell-style="{
+                  background: 'rgb(30,30,30)',
+                  color: 'rgb(220,220,220)',
+                  padding: '4px',
+                  fontSize: '14px',
+                  'border-bottom': 'solid 1px rgba(77, 77, 77, 1)',
+                }"
+                :cell-style="tableCellStyle"
+              >
+                <el-table-column prop="name" label="测点名称" align="center">
+                </el-table-column>
+                <el-table-column prop="value" label="测点值" align="center">
+                </el-table-column>
+              </el-table>
+            </div>
+          </div>
+        </el-tab-pane>
+      </el-tabs>
     </div>
   </el-dialog>
 </template>
@@ -138,6 +484,7 @@
 <script>
 import api from "api/index";
 import BasicInformationDetail from "./BasicInformationDetail.vue";
+import StandAloneImg from "./StandAloneImg.vue";
 import BackgroundData from "utils/BackgroundData";
 import Fault from "utils/fault";
 
@@ -145,6 +492,7 @@ import dataJson from "./windturbinJsondata.json";
 export default {
   components: {
     BasicInformationDetail,
+    StandAloneImg,
   },
   props: {
     windturbine: Object,
@@ -154,6 +502,8 @@ export default {
       current: true,
       BasicInfo: {},
       healthInfo: {},
+      activeName: "first",
+      showIndex: 1,
       line: "",
       alarmTime: "",
       alarmContent: "",
@@ -221,6 +571,26 @@ export default {
       faultNum: 0,
       faultList: [],
       // station: [],
+      leftData: [],
+      centerData: [],
+      rightData: [],
+      mainBotData: [],
+      nowWarnTreeData: [],
+      defaultProps: {
+        children: "children",
+        label: "name",
+      },
+      nowWarnTableData: [],
+      timeValue: [],
+      historyWarnTableData: [],
+      page: {
+        pagenum: 1,
+        pagesize: 100,
+        total: 0,
+      },
+      inputVlaues: "",
+      measurePointDataL: [],
+      measurePointDataR: [],
     };
   },
   created() {
@@ -228,8 +598,25 @@ export default {
     this.baseDate = dataJson.baseDate;
     // this.getWindturbineFdc();
   },
-
+  mounted() {
+    this.leftData = dataJson.leftData;
+    this.centerData = dataJson.centerData;
+    this.rightData = dataJson.rightData;
+    this.mainBotData = dataJson.mainBotData;
+    this.nowWarnTreeData = dataJson.nowWarnTreeData;
+    this.nowWarnTableData = dataJson.nowWarnTableData;
+    this.historyWarnTableData = dataJson.historyWarnTableData;
+    this.measurePointDataL = dataJson.measurePointDataL;
+    this.measurePointDataR = dataJson.measurePointDataR;
+  },
   methods: {
+    handleTabsClick() {},
+    selectSvg(index) {
+      this.showIndex = index;
+    },
+    handleCurrentChange(val) {
+      this.page.pagenum = val;
+    },
     // getWindturbineFdc() {
     //   api.getWindturbineFdc().then((res) => {
     //     this.station = res.data;
@@ -268,7 +655,7 @@ export default {
         obj = {
           height: "40px",
           background: "rgb(30,30,30)",
-          color: "#FF0000",
+          color: "rgb(255,156,0)",
           padding: "3px",
           fontSize: "12px",
           "border-top": "0px solid #000000",
@@ -391,11 +778,326 @@ export default {
   },
 };
 </script>
-<style scoped>
+
+
+<style lang="less">
 .my-info-dialog {
   box-shadow: 0px 0px 10px #05bb4c;
-}
+  z-index: 10000 !important;
+  .paramsMain {
+    width: 100%;
+    display: flex;
+    .paramsLeft {
+      width: 25%;
+      .dataList {
+        width: 97%;
+        /* min-height: 250px; */
+        background-color: #141414;
+        display: flex;
+        flex-direction: column;
+        margin-left: 2%;
+        margin-bottom: 30px;
+        .dataTitles {
+          display: flex;
+          height: 37px;
+          width: 100%;
+          background-color: #242424;
+          color: #ffffff;
+          font-size: 12px;
+          align-items: center;
+        }
+        .dataContent {
+          display: flex;
+          flex-direction: row;
+          flex-wrap: wrap;
+          overflow: auto;
+          justify-content: space-around;
+          .dataBlock {
+            width: 100%;
+            height: 25px;
+            background-color: #242424;
+            border: 1px solid #3d3d3d;
+            margin-top: 8px;
+            display: flex;
+            justify-content: space-between;
+            padding: 10px 20px 0 20px;
+            .dataName {
+              font-size: 12px;
+              color: #ffffff;
+              margin-bottom: 6px;
+            }
+
+            .numerical {
+              display: flex;
+              flex-direction: row;
+              color: #05bb4c;
+              align-items: baseline;
+              position: relative;
+              top: -3px;
+              .values {
+                font-size: 16px;
+              }
 
+              .unit {
+                font-size: 12px;
+                margin-left: 8px;
+              }
+            }
+          }
+        }
+      }
+    }
+    .paramsCenter {
+      width: 50%;
+      .sai {
+        float: left;
+        margin-left: 40px;
+        margin-top: 30px;
+        margin-bottom: 15px;
+        width: 100%;
+        height: 34vh;
+      }
+      .dataList {
+        width: 97%;
+        /* min-height: 250px; */
+        background-color: #141414;
+        display: flex;
+        flex-direction: column;
+        margin-left: 2%;
+        margin-bottom: 10px;
+        .dataTitles {
+          display: flex;
+          height: 37px;
+          width: 100%;
+          background-color: #242424;
+          color: #ffffff;
+          font-size: 12px;
+          align-items: center;
+        }
+        .dataContent {
+          display: flex;
+          flex-direction: row;
+          flex-wrap: wrap;
+          overflow: auto;
+          justify-content: space-around;
+          .dataBlock {
+            width: 24%;
+            height: 25px;
+            background-color: #242424;
+            border: 1px solid #3d3d3d;
+            margin-top: 22px;
+            display: flex;
+            justify-content: space-between;
+            padding: 10px 20px 0 20px;
+            .dataName {
+              font-size: 12px;
+              color: #ffffff;
+              margin-bottom: 6px;
+            }
+
+            .numerical {
+              display: flex;
+              flex-direction: row;
+              color: #05bb4c;
+              align-items: baseline;
+              position: relative;
+              top: -3px;
+              .values {
+                font-size: 16px;
+              }
+
+              .unit {
+                font-size: 12px;
+                margin-left: 8px;
+              }
+            }
+          }
+        }
+      }
+    }
+    .paramsRight {
+      width: 25%;
+      .dataList {
+        width: 97%;
+        /* min-height: 250px; */
+        background-color: #141414;
+        display: flex;
+        flex-direction: column;
+        margin-left: 2%;
+        margin-bottom: 30px;
+        .dataTitles {
+          display: flex;
+          height: 37px;
+          width: 100%;
+          background-color: #242424;
+          color: #ffffff;
+          font-size: 12px;
+          align-items: center;
+        }
+        .dataContent {
+          display: flex;
+          flex-direction: row;
+          flex-wrap: wrap;
+          overflow: auto;
+          justify-content: space-around;
+          .dataBlock {
+            width: 100%;
+            height: 25px;
+            background-color: #242424;
+            border: 1px solid #3d3d3d;
+            margin-top: 8px;
+            display: flex;
+            justify-content: space-between;
+            padding: 10px 20px 0 20px;
+            .dataName {
+              font-size: 12px;
+              color: #ffffff;
+              margin-bottom: 6px;
+            }
+
+            .numerical {
+              display: flex;
+              flex-direction: row;
+              color: #05bb4c;
+              align-items: baseline;
+              position: relative;
+              top: -3px;
+              .values {
+                font-size: 16px;
+              }
+
+              .unit {
+                font-size: 12px;
+                margin-left: 8px;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  .paramsMainBot {
+    .dataList {
+      width: 100%;
+      background-color: #141414;
+      display: flex;
+      flex-direction: column;
+      margin-bottom: 10px;
+      .dataTitles {
+        display: flex;
+        height: 37px;
+        width: 100%;
+        background-color: #242424;
+        color: #ffffff;
+        font-size: 12px;
+        align-items: center;
+      }
+      .dataContent {
+        display: flex;
+        flex-direction: row;
+        flex-wrap: wrap;
+        overflow: auto;
+        justify-content: space-around;
+        .dataBlock {
+          width: 20%;
+          height: 25px;
+          background-color: #242424;
+          border: 1px solid #3d3d3d;
+          margin-top: 22px;
+          display: flex;
+          justify-content: space-between;
+          padding: 10px 20px 0 20px;
+          .dataName {
+            font-size: 12px;
+            color: #ffffff;
+            margin-bottom: 6px;
+          }
+
+          .numerical {
+            display: flex;
+            flex-direction: row;
+            color: #05bb4c;
+            align-items: baseline;
+            position: relative;
+            top: -3px;
+            .values {
+              font-size: 16px;
+            }
+
+            .unit {
+              font-size: 12px;
+              margin-left: 8px;
+            }
+          }
+        }
+      }
+    }
+  }
+  .nowWarn {
+    width: 100%;
+    display: flex;
+    .nowWarnTree {
+      width: 20%;
+      .el-tree {
+        height: 100%;
+        color: #ffffff !important;
+        background-color: rgba(77, 77, 77, 1) !important;
+      }
+
+      .el-tree-node:focus > .el-tree-node__content {
+        background-color: #000000 !important;
+      }
+
+      .el-tree-node__content:hover {
+        background-color: #000000 !important;
+      }
+    }
+    .nowWarnTable {
+      width: 80%;
+    }
+  }
+  .searchTitle {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    margin-left: 3vw;
+    padding-top: 10px;
+    color: #ffffff;
+    .search {
+      display: flex;
+      flex-direction: row;
+      align-items: center;
+      margin-right: 50px;
+      .date {
+        margin-right: 10px;
+        font-size: 16px;
+      }
+    }
+  }
+  .historyWarnTable {
+    margin-top: 10px;
+  }
+  .paginations {
+    display: flex;
+    flex-direction: row-reverse;
+    margin-top: 10px;
+    .el-pagination__total {
+      color: #ffffff;
+    }
+  }
+  .measurePoint {
+    width: 100%;
+    margin-top: 10px;
+    display: flex;
+    justify-content: space-between;
+    .measurePointL,
+    .measurePointR {
+      width: 49%;
+    }
+  }
+}
+</style>
+<style scoped>
 .body {
   background-color: black;
   margin-top: -30px;
@@ -434,9 +1136,9 @@ table {
 		width: 20%;
 	} */
 
-el-tabs {
+/* el-tabs {
   background-color: black;
-}
+} */
 
 .svg {
   height: 67vh;
@@ -502,4 +1204,4 @@ el-tabs {
   width: 98%;
   margin: 1%;
 }
-</style>
+</style>

+ 7 - 3
src/components/allMatricesNoDia.vue

@@ -288,10 +288,14 @@ export default {
   },
   created() {
     // this.getLocks();
-    this.$store.state.titleInfo.stationOverviewInfos = dataJson.stationOverviewInfos;
-    this.stationArr = dataJson.stationArr;
   },
-  mounted() {},
+  mounted() {
+    this.$nextTick(() => {
+      this.$store.state.titleInfo.stationOverviewInfos =
+        dataJson.stationOverviewInfos;
+      this.stationArr = dataJson.stationArr;
+    });
+  },
   methods: {
     showWh(item) {
       let show = false;

+ 605 - 0
src/components/windturbinJsondata.json

@@ -85,5 +85,610 @@
             "alertText": "故障信息1",
             "rank": "中级"
         }
+    ],
+    "leftData": [
+        {
+            "name": "基本信息",
+            "data": [
+                {
+                    "name": "风速",
+                    "value": "1.42",
+                    "unit": "m/s"
+                },
+                {
+                    "name": "风向",
+                    "value": "214.41",
+                    "unit": ""
+                },
+                {
+                    "name": "有功功率",
+                    "value": "0",
+                    "unit": "Kw"
+                },
+                {
+                    "name": "无功功率",
+                    "value": "0",
+                    "unit": "Kw"
+                },
+                {
+                    "name": "叶轮转速",
+                    "value": "0.44",
+                    "unit": "rpm"
+                },
+                {
+                    "name": "发电机转速",
+                    "value": "37.3",
+                    "unit": "rpm"
+                }
+            ]
+        },
+        {
+            "name": "电网信息",
+            "data": [
+                {
+                    "name": "U1项绕组电压",
+                    "value": "399.6",
+                    "unit": "V"
+                },
+                {
+                    "name": "U2项绕组电压",
+                    "value": "399",
+                    "unit": "V"
+                },
+                {
+                    "name": "U3项绕组电压",
+                    "value": "398.7",
+                    "unit": "V"
+                },
+                {
+                    "name": "U1项绕组电流",
+                    "value": "0",
+                    "unit": "A"
+                },
+                {
+                    "name": "U2项绕组电流",
+                    "value": "0",
+                    "unit": "A"
+                },
+                {
+                    "name": "U3项绕组电流",
+                    "value": "0",
+                    "unit": "A"
+                },
+                {
+                    "name": "功率因素",
+                    "value": "0",
+                    "unit": ""
+                },
+                {
+                    "name": "频率",
+                    "value": "50.13",
+                    "unit": "Hz"
+                }
+            ]
+        }
+    ],
+    "centerData": [
+        {
+            "name": "齿轮箱",
+            "data": [
+                {
+                    "name": "齿轮箱入口油温",
+                    "value": "80",
+                    "unit": "℃"
+                },
+                {
+                    "name": "齿轮箱油温",
+                    "value": "38.5",
+                    "unit": "℃"
+                },
+                {
+                    "name": "润滑油滤网入口压力",
+                    "value": "-4.04",
+                    "unit": "bar"
+                },
+                {
+                    "name": "润滑油滤网出口压力",
+                    "value": "-0.02",
+                    "unit": "bar"
+                },
+                {
+                    "name": "轴a温度(驱动端)",
+                    "value": "23.4",
+                    "unit": "℃"
+                },
+                {
+                    "name": "轴b温度(非驱动端)",
+                    "value": "21.7",
+                    "unit": "℃"
+                }
+            ]
+        },
+        {
+            "name": "偏航",
+            "data": [
+                {
+                    "name": "偏航位置",
+                    "value": "-32.96",
+                    "unit": ""
+                },
+                {
+                    "name": "偏航速度",
+                    "value": "0",
+                    "unit": "m/s"
+                }
+            ]
+        },
+        {
+            "name": "液压",
+            "data": [
+                {
+                    "name": "系统压力",
+                    "value": "0",
+                    "unit": "pa"
+                },
+                {
+                    "name": "刹车压力",
+                    "value": "161.2",
+                    "unit": "pa"
+                }
+            ]
+        }
+    ],
+    "rightData": [
+        {
+            "name": "发电机",
+            "data": [
+                {
+                    "name": "U1绕组温度",
+                    "value": "26.3",
+                    "unit": "℃"
+                },
+                {
+                    "name": "V1绕组温度",
+                    "value": "26",
+                    "unit": "℃"
+                },
+                {
+                    "name": "W1绕组温度",
+                    "value": "26.1",
+                    "unit": "℃"
+                },
+                {
+                    "name": "发电机冷却温度",
+                    "value": "24.4",
+                    "unit": "℃"
+                },
+                {
+                    "name": "发电机滑环温度",
+                    "value": "850",
+                    "unit": "℃"
+                },
+                {
+                    "name": "高速轴温度",
+                    "value": "26.3",
+                    "unit": "℃"
+                }
+            ]
+        },
+        {
+            "name": "温度信息",
+            "data": [
+                {
+                    "name": "shaft(主轴)轴1温度",
+                    "value": "34.3",
+                    "unit": "℃"
+                },
+                {
+                    "name": "shaft(主轴)轴2温度",
+                    "value": "33.6",
+                    "unit": "℃"
+                },
+                {
+                    "name": "塔底柜温度",
+                    "value": "398.7",
+                    "unit": "℃"
+                },
+                {
+                    "name": "低速轴温度",
+                    "value": "23.1",
+                    "unit": "℃"
+                },
+                {
+                    "name": "轮毂温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "轴A的轴箱温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "轴B的轴箱温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "轴C的轴箱温度",
+                    "value": "50.13",
+                    "unit": "℃"
+                }
+            ]
+        }
+    ],
+    "mainBotData": [
+        {
+            "name": "变桨",
+            "data": [
+                {
+                    "name": "浆距角给定值",
+                    "value": "50",
+                    "unit": ""
+                },
+                {
+                    "name": "浆距角1",
+                    "value": "49.99",
+                    "unit": "度"
+                },
+                {
+                    "name": "浆距角2",
+                    "value": "49.96",
+                    "unit": "度"
+                },
+                {
+                    "name": "浆距角3",
+                    "value": "49.99",
+                    "unit": "度"
+                },
+                {
+                    "name": "变桨速度1",
+                    "value": "0",
+                    "unit": "m/s"
+                },
+                {
+                    "name": "变桨速度2",
+                    "value": "0",
+                    "unit": "m/s"
+                },
+                {
+                    "name": "变桨速度3",
+                    "value": "0",
+                    "unit": "m/s"
+                },
+                {
+                    "name": "电机电流1",
+                    "value": "0",
+                    "unit": "A"
+                },
+                {
+                    "name": "电机电流2",
+                    "value": "29.3",
+                    "unit": "A"
+                },
+                {
+                    "name": "电机电流3",
+                    "value": "20.6",
+                    "unit": "A"
+                },
+                {
+                    "name": "LUST电池柜1温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "LUST电池柜2温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "LUST电池柜3温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "LUST马达1温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "LUST马达2温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "LUST马达3温度",
+                    "value": "0",
+                    "unit": "℃"
+                }
+            ]
+        },
+        {
+            "name": "机舱",
+            "data": [
+                {
+                    "name": "机舱震动X方向",
+                    "value": "0",
+                    "unit": ""
+                },
+                {
+                    "name": "机舱震动Y方向",
+                    "value": "0",
+                    "unit": ""
+                },
+                {
+                    "name": "机舱震动最大偏移值",
+                    "value": "0",
+                    "unit": ""
+                },
+                {
+                    "name": "机舱震动有效值",
+                    "value": "0",
+                    "unit": ""
+                },
+                {
+                    "name": "机舱外温度",
+                    "value": "29.3",
+                    "unit": "℃"
+                },
+                {
+                    "name": "机舱温度",
+                    "value": "20.6",
+                    "unit": "℃"
+                },
+                {
+                    "name": "机舱柜温度",
+                    "value": "0",
+                    "unit": "℃"
+                },
+                {
+                    "name": "对风角度",
+                    "value": "42.36",
+                    "unit": "度"
+                }
+            ]
+        }
+    ],
+    "nowWarnTreeData": [
+        {
+            "id": 0,
+            "name": "总故障",
+            "children": [
+                {
+                    "id": 0,
+                    "name": "变桨"
+                },
+                {
+                    "id": 1,
+                    "name": "变频器"
+                },
+                {
+                    "id": 2,
+                    "name": "发电机"
+                },
+                {
+                    "id": 3,
+                    "name": "偏航"
+                },
+                {
+                    "id": 4,
+                    "name": "液压"
+                },
+                {
+                    "id": 5,
+                    "name": "通讯"
+                },
+                {
+                    "id": 6,
+                    "name": "风速风向"
+                },
+                {
+                    "id": 7,
+                    "name": "齿轮箱"
+                },
+                {
+                    "id": 8,
+                    "name": "箱变"
+                },
+                {
+                    "id": 9,
+                    "name": "安全链"
+                },
+                {
+                    "id": 10,
+                    "name": "叶片"
+                },
+                {
+                    "id": 11,
+                    "name": "主轴"
+                },
+                {
+                    "id": 12,
+                    "name": "控制类"
+                },
+                {
+                    "id": 13,
+                    "name": "其他"
+                }
+            ]
+        }
+    ],
+    "nowWarnTableData": [
+        {
+            "id": 311,
+            "time": "2025/05/21 14:39:24",
+            "alertText": "塔底柜加热器保护开关跳闸故障",
+            "isOpened": 1
+        },
+        {
+            "id": 47,
+            "time": "2025/03/31 16:01:27",
+            "alertText": "屏蔽齿箱差压故障",
+            "isOpened": 1
+        },
+        {
+            "id": 311,
+            "time": "2024/07/24 22:05:53",
+            "alertText": "塔底柜加热器保护开关跳闸故障",
+            "isOpened": 1
+        },
+        {
+            "id": 804,
+            "time": "2025/05/18 14:29:06",
+            "alertText": "变桨桨叶2主电源故障",
+            "isOpened": 0
+        },
+        {
+            "id": 802,
+            "time": "2025/05/18 14:19:05",
+            "alertText": "变奖主电源故障",
+            "isOpened": 0
+        }
+    ],
+    "historyWarnTableData": [
+        {
+            "time": "2024/07/24 22:05:53",
+            "id": "风机_A01",
+            "alertText": "变桨桨叶2主电源故障",
+            "leavl": "A",
+            "warnType": "变频器故障",
+            "stopType": "变频器故障",
+            "isOpened": 1,
+            "isOpenedType": "变频器故障"
+        },
+        {
+            "time": "2024/07/24 22:05:53",
+            "id": "风机_A02",
+            "alertText": "变桨桨叶2主电源故障",
+            "leavl": "B",
+            "warnType": "变频器故障",
+            "stopType": "变频器故障",
+            "isOpened": 1,
+            "isOpenedType": "变频器故障"
+        },
+        {
+            "time": "2024/07/24 22:05:53",
+            "id": "风机_A03",
+            "alertText": "变桨桨叶2主电源故障",
+            "leavl": "A",
+            "warnType": "变频器故障",
+            "stopType": "变频器故障",
+            "isOpened": 0,
+            "isOpenedType": "变频器故障"
+        },
+        {
+            "time": "2024/07/24 22:05:53",
+            "id": "风机_A04",
+            "alertText": "变桨桨叶2主电源故障",
+            "leavl": "B",
+            "warnType": "变频器故障",
+            "stopType": "变频器故障",
+            "isOpened": 0,
+            "isOpenedType": "变频器故障"
+        },
+        {
+            "time": "2024/07/24 22:05:53",
+            "id": "风机_A05",
+            "alertText": "变桨桨叶2主电源故障",
+            "leavl": "A",
+            "warnType": "变频器故障",
+            "stopType": "变频器故障",
+            "isOpened": 0,
+            "isOpenedType": "变频器故障"
+        },
+        {
+            "time": "2024/07/24 22:05:53",
+            "id": "风机_A06",
+            "alertText": "变桨桨叶2主电源故障",
+            "leavl": "C",
+            "warnType": "变频器故障",
+            "stopType": "变频器故障",
+            "isOpened": 1,
+            "isOpenedType": "变频器故障"
+        }
+    ],
+    "measurePointDataL": [
+        {
+            "name": "右玉高家堡第34台风机日零欠发电量",
+            "value": 0
+        },
+        {
+            "name": "右玉高家堡第34台设备日一欠发电量",
+            "value": 0
+        },
+        {
+            "name": "右玉高家堡第34台风机日二欠发电量",
+            "value": 0
+        },
+        {
+            "name": "右玉高家堡第34台风机日三欠发电量",
+            "value": 1.46
+        },
+        {
+            "name": "右玉高家堡第34台风机日四欠发电量",
+            "value": 89.14
+        },
+        {
+            "name": "右玉高家堡第34台风机风机五种状态",
+            "value": 0
+        },
+        {
+            "name": "右玉高家堡第34台风机报警",
+            "value": 346
+        },
+        {
+            "name": "右玉高家堡第34台风机年保证发电量",
+            "value": 0
+        },
+        {
+            "name": "右玉高家堡第34台风机日保证发电量",
+            "value": 36.78
+        },
+        {
+            "name": "右玉高家堡第34台风机月保证发电量",
+            "value": 324060.62
+        }
+    ],
+    "measurePointDataR": [
+        {
+            "name": "变桨桨叶3主电源故障",
+            "value": 0
+        },
+        {
+            "name": "CHO通讯丢失",
+            "value": 0
+        },
+        {
+            "name": "CH1通讯故障",
+            "value": 0
+        },
+        {
+            "name": "ISU-INU之间通讯故障",
+            "value": 0
+        },
+        {
+            "name": "编码器故障",
+            "value": 0
+        },
+        {
+            "name": "NUIM板故障",
+            "value": 0
+        },
+        {
+            "name": "转子门极驱动故障",
+            "value": 0
+        },
+        {
+            "name": "系统故障",
+            "value": 0
+        },
+        {
+            "name": "CCU类故障",
+            "value": 0
+        },
+        {
+            "name": "为1时传动单元准备闭合",
+            "value": 0
+        }
     ]
 }