瀏覽代碼

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

mw_666 3 年之前
父節點
當前提交
ac8bc9d536

+ 1 - 0
.gitignore

@@ -1,5 +1,6 @@
 node_modules
 dist
+dist.rar
 webpack.config.js
 .vscode
 .vscode/

+ 0 - 4
public/index.html

@@ -5,10 +5,6 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <script src="./static/js/videoPlayer/adapter.js"></script>
-    <script src="./static/js/videoPlayer/platform.js"></script>
-    <script src="./static/js/videoPlayer/h5splayer.js"></script>
-    <script src="./static/js/videoPlayer/h5splayerhelper.js"></script>
     <title><%= htmlWebpackPlugin.options.title %></title>
   </head>
   <body>

+ 2 - 2
src/assets/styles/el-override/el-table.less

@@ -1,6 +1,6 @@
 // el-table
-.main-body {
-  .custom-table.el-table {
+.main-body,.df-table {
+  .el-table,.custom-table.el-table {
     background: transparent;
     border: 0px;
 

+ 25 - 3
src/components/coms/table/table2.vue

@@ -1,5 +1,12 @@
 <template>
-  <el-table class="custom-table" stripe :data="data.data" :height="height" style="width: 100%" @cell-click="onClick">
+  <el-table
+    class="custom-table"
+    stripe
+    :data="data.data"
+    :height="height"
+    style="width: 100%"
+    @cell-click="onClick"
+  >
     <el-table-column
       v-for="col in data.column"
       :key="col"
@@ -14,11 +21,26 @@
       :header-align="'center'"
     >
       <template v-if="col.slot == true" #default="item">
-        <slot :name="col.field" :column="col" :row="item.row" :all="item" :data="item.row[col.field]"></slot>
+        <slot
+          :name="col.field"
+          :column="col"
+          :row="item.row"
+          :all="item"
+          :data="item.row[col.field]"
+        ></slot>
       </template>
     </el-table-column>
   </el-table>
-  <el-pagination class="mg-t-8" v-if="pageable" @current-change="handleCurrentChange" :current-page="currentPage" :page-size="pageSize" :total="data.total" v-bind="elPaggingProps"> </el-pagination>
+  <el-pagination
+    class="mg-t-8"
+    v-if="pageable"
+    @current-change="handleCurrentChange"
+    :current-page="currentPage"
+    :page-size="pageSize"
+    :total="data.total"
+    v-bind="elPaggingProps"
+  >
+  </el-pagination>
 </template>
 
 <script>

+ 43 - 31
src/router/index.js

@@ -393,7 +393,7 @@ const routes = [{
 		import( /* webpackChunkName: "health8" */ "../views/HealthControl/Health8.vue"),
 },
 {
-	path: "/monitor/sandtable",
+	path: "/monitor/sandtable", // 沙盘
 	name: "sandtable",
 	component: () =>
 		import( /* webpackChunkName: "sandtable" */ "../views/SandTable/SandTable.vue"),
@@ -642,143 +642,155 @@ const routes = [{
 	path: "/powerCurve", // 功率曲线拟合
 	name: "powerCurve",
 	component: () => import(/* webpackChunkName: "powerCurve" */ "../views/powerCurve/index.vue"),
-},{
+}, {
 	path: "/tjfx",
 	name: "tjfx",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/tjfx.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/tjfx.vue"),
 },
 {
 	path: "/bdzcx",
 	name: "bdzcx",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/bdzcx.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/bdzcx.vue"),
 },
 {
 	path: "/oafd",
 	name: "oafd",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/oafd.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/oafd.vue"),
 },
 {
 	path: "/oagf",
 	name: "oagf",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/oagf.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/oagf.vue"),
 },
 {
 	path: "/missfdrb",
 	name: "missfdrb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/missfdrb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/missfdrb.vue"),
 },
 {
 	path: "/missgfrb",
 	name: "missgfrb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/missgfrb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/missgfrb.vue"),
 },
 {
 	path: "/xnyfdscyb",
 	name: "xnyfdscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/xnyfdscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xnyfdscyb.vue"),
 },
 {
 	path: "/mhsscyb",
 	name: "mhsscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/mhsscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/mhsscyb.vue"),
 },
 {
 	path: "/nssscyb",
 	name: "nssscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/nssscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/nssscyb.vue"),
 },
 {
 	path: "/qsscyb",
 	name: "qsscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/qsscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/qsscyb.vue"),
 },
 {
 	path: "/sbqscyb",
 	name: "sbqscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/sbqscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/sbqscyb.vue"),
 },
 {
 	path: "/xsscyb",
 	name: "xsscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/xsscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xsscyb.vue"),
 },
 {
 	path: "/xnygfscyb",
 	name: "xnygfscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/xnygfscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xnygfscyb.vue"),
 },
 {
 	path: "/dwkscyb",
 	name: "dwkscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/dwkscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/dwkscyb.vue"),
 },
 {
 	path: "/plscyb",
 	name: "plscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/plscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/plscyb.vue"),
 },
 {
 	path: "/xhscyb",
 	name: "xhscyb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/xhscyb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xhscyb.vue"),
 },
 {
 	path: "/fdczzdy",
 	name: "fdczzdy",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/fdczzdy.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/fdczzdy.vue"),
 },
 {
 	path: "/fdxmzdy",
 	name: "fdxmzdy",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/fdxmzdy.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/fdxmzdy.vue"),
 },
 {
 	path: "/gfczzdy",
 	name: "gfczzdy",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/gfczzdy.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/gfczzdy.vue"),
 },
 {
 	path: "/gfxmzdy",
 	name: "gfxmzdy",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/gfxmzdy.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/gfxmzdy.vue"),
 },
 {
 	path: "/xnyrb",
 	name: "xnyrb",
 	component: () =>
-			import ( /* webpackChunkName: "historysearch" */ "../views/report/xnyrb.vue"),
+		import( /* webpackChunkName: "historysearch" */ "../views/report/xnyrb.vue"),
 },
 {
-		path: "/warnStatistics", // 预警评判分析
-		name: "warnStatistics",
-		component: () =>
-				import ( /* webpackChunkName: "warnStatistics" */ "../views/warnStatistics/index.vue"),
+	path: "/warnStatistics", // 预警评判分析
+	name: "warnStatistics",
+	component: () =>
+		import( /* webpackChunkName: "warnStatistics" */ "../views/warnStatistics/index.vue"),
 },
 {
-		path: "/malfunctionStatistics", // 故障评判分析
-		name: "malfunctionStatistics",
-		component: () =>
-				import ( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionStatistics/index.vue"),
+	path: "/malfunctionStatistics", // 故障评判分析
+	name: "malfunctionStatistics",
+	component: () =>
+		import( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionStatistics/index.vue"),
+},
+{
+	path: "/malfunctionRecall", // 故障回溯
+	name: "malfunctionRecall",
+	component: () =>
+		import( /* webpackChunkName: "malfunctionStatistics" */ "../views/malfunctionRecall/index.vue"),
+},
+{
+	path: "/globalMonitor", // 全局监视
+	name: "globalMonitor",
+	component: () =>
+		import( /* webpackChunkName: "malfunctionStatistics" */ "../views/globalMonitor/index.vue"),
 },
 ]
 const router = createRouter({

+ 0 - 1
src/views/HealthControl/HealthTab4.vue

@@ -253,7 +253,6 @@ export default {
           rid: row.rid,
         },
         success(res) {
-          console.log(123123, res);
           if (res.code == 200) {
             that.trackDate = res.data;
             that.dialogVisible = true;

+ 106 - 17
src/views/HealthControl/assess/assessconfig.vue

@@ -11,61 +11,81 @@
           </div>
         </div>
         <div class="query-actions">
-          <button class="btn green mg-l-30" @click="onClickAdd">新增</button>
+          <button class="btn green mg-l-30" @click="onClickSearch">搜索</button>
+          <button class="btn green mg-l-30" @click="onClickCreate">新增</button>
         </div>
       </div>
     </div>
-
     <div class="assess-bottom">
       <ComTable :data="tableData" height="85vh"></ComTable>
     </div>
+    <div>
+      <el-dialog
+        title="新增模型"
+        v-model="isvisiable"
+        width="45%"
+        top="15vh"
+        custom-class="modal"
+        :close-on-click-modal="false"
+        :before-close="onClickDialogClose"
+      >
+        <popup-create
+          :data="editform"
+          :station="stations"
+          @onClick="onClickComplete"
+        />
+      </el-dialog>
+    </div>
   </div>
 </template>
 
 <script>
 import ComTable from "@/components/coms/table/table-unpage.vue";
+import PopupCreate from "./compoenets/popupcreate.vue";
 
 export default {
-  components: { ComTable },
+  components: { ComTable, PopupCreate },
   data() {
     const that = this;
     return {
       content: "",
+      stations: [],
+      editform: {},
+      isvisiable: false,
       tableData: {
         column: [
           {
             name: "名称",
-            field: "targetname",
+            field: "name",
             is_light: false,
           },
           {
             name: "时间",
-            field: "safecontent",
+            field: "createdate",
             is_light: false,
           },
           {
             name: "场站",
-            field: "describe",
+            field: "wpids",
             is_num: false,
             is_light: false,
           },
           {
             name: "是否启用",
-            field: "principal",
+            field: "isenable",
             is_num: false,
             is_light: false,
           },
           {
             name: "操作",
-            field: "addtime",
             is_num: false,
             is_light: false,
-            width: 10,
+            width: 100,
             template: () => {
               return (
-                "<el-button type='text' style='cursor: pointer;' value='xq'>编辑</el-button>&nbsp" +
-                "<el-button type='text' style='cursor: pointer;' value='ls'>删除</el-button>&nbsp" +
-                "<el-button type='text' style='cursor: pointer;' value='ls'>配置</el-button>&nbsp"
+                "<el-button type='text' style='cursor: pointer;' value='edit'>编辑</el-button>&nbsp" +
+                "<el-button type='text' style='cursor: pointer;' value='delete'>删除</el-button>&nbsp" +
+                "<el-button type='text' style='cursor: pointer;' value='config'>配置</el-button>&nbsp"
               );
             },
             click(e, row) {
@@ -79,21 +99,90 @@ export default {
   },
   created() {
     this.requestList();
+    this.requestStations();
   },
   methods: {
     // 新增按钮
-    onClickAdd() {},
-    // 获取按错内容
+    onClickCreate() {
+      this.isvisiable = true;
+    },
+    // 搜索按钮
+    onClickSearch() {
+      this.requestList();
+    },
+    // 弹窗右上角关闭按钮
+    onClickDialogClose() {
+      this.isvisiable = false;
+      this.editform = {};
+    },
+    // 操作按钮
+    onClickOption(e, row) {
+      let that = this;
+      if ("delete" == e.target.getAttribute("value")) {
+        that
+          .$confirm("确认删除?")
+          .then((_) => {
+            that.requestDelete(row);
+          })
+          .catch((_) => {});
+      }
+      if ("edit" == e.target.getAttribute("value")) {
+        that.isvisiable = true;
+        that.editform = row;
+      }
+    },
+    onClickComplete(value) {
+      this.isvisiable = false;
+      this.requestList();
+    },
+    // 获取模型数据列表
     requestList() {
       let that = this;
-      this.API.requestData({
+      that.API.requestData({
         method: "GET",
         baseURL: "http://10.155.32.4:8034/",
         subUrl: "/evaluation/modelMainList",
         data: {
-          name: "sdf",
+          name: that.content,
+        },
+        success(res) {
+          if (res.code == 200) that.tableData.data = res.data;
+          for (var i in that.tableData.data) {
+            that.tableData.data[i].createdate = new Date(
+              res.data[i].createdate
+            ).formatDate("yyyy-MM-dd");
+            that.tableData.data[i].isenable =
+              res.data[i].isenable == 1 ? "是" : "否";
+          }
+        },
+      });
+    },
+    requestStations() {
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/windfarmAllAjax",
+        success(res) {
+          let array = [];
+          res.data.forEach((item) => {
+            if (item.id.indexOf("FDC") !== -1) {
+              array.push(item);
+            }
+          });
+          that.stations = array;
+        },
+      });
+    },
+    // 删除
+    requestDelete(row) {
+      let that = this;
+      that.API.requestData({
+        method: "DELETE",
+        baseURL: "http://10.155.32.4:8034/",
+        subUrl: "/evaluation/delModelMain/" + row.id,
+        success(res) {
+          if (res.code == 200) that.requestList();
         },
-        success(res) {},
       });
     },
   },

+ 195 - 0
src/views/HealthControl/assess/compoenets/popupcreate.vue

@@ -0,0 +1,195 @@
+<template>
+  <div class="assess-create">
+    <div class="top">
+      <div class="query mg-b-8">
+        <div class="query-items flex-column">
+          <div class="query-item flex-row">
+            <div class="lable item-name">模块:</div>
+            <div class="search-input item-content">
+              <el-input v-model="form.name" placeholder="请填写"></el-input>
+            </div>
+          </div>
+          <div class="query-item flex-row">
+            <div class="lable item-name">场站:</div>
+            <div class="search-input item-content">
+              <el-select
+                v-model="form.wpids"
+                multiple
+                collapse-tags
+                popper-class="select"
+              >
+                <el-option
+                  v-for="item in stations"
+                  :key="item.label"
+                  :value="item.id"
+                  :label="item.name"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="query-item flex-row">
+            <div class="lable item-name">日期:</div>
+            <div class="search-input item-content">
+              <el-select
+                v-model="form.timetypes"
+                multiple
+                popper-class="select"
+              >
+                <el-option
+                  v-for="item in dates"
+                  :key="item.label"
+                  :value="item.label"
+                  :label="item.label"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="query-item flex-row">
+            <div class="lable item-name">是否启用:</div>
+            <div class="search-input item-content">
+              <el-select v-model="form.isenable" popper-class="select">
+                <el-option
+                  v-for="item in enables"
+                  :key="item.value"
+                  :value="item.value"
+                  :label="item.label"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="bottom">
+      <button class="btn green mg-l-30" @click="onClickClear">清空</button>
+      <button class="btn green mg-l-30" @click="onClickSave">保存</button>
+    </div>
+  </div>
+</template>
+
+<script>
+import axios from "axios";
+
+export default {
+  name: "popup-create",
+  props: {
+    data: Object,
+    station: Array,
+  },
+  data() {
+    return {
+      form: {},
+      dates: [{ label: "日" }, { label: "月" }, { label: "年" }],
+      stations: [],
+      enables: [
+        { value: "0", label: "否" },
+        { value: "1", label: "是" },
+      ],
+    };
+  },
+  // 自定义事件
+  emits: {
+    onClick: null,
+  },
+  created() {
+    this.stations = this.station;
+    this.form = this.convertArray(this.data);
+  },
+  methods: {
+    onClickClear() {
+      this.form = {};
+    },
+    onClickSave() {
+      this.requestSave();
+    },
+    requestSave() {
+      if (this.form.name == undefined) return;
+      let params = {
+        name: this.form.name,
+        wpids: this.form.wpids.toString(),
+        timetypes: this.form.timetypes.toString(),
+        isenable: this.form.isenable,
+      };
+      if (this.form.id) {
+        params.id = this.form.id;
+      }
+
+      axios({
+        method: "post",
+        url: "http://10.155.32.4:8034/evaluation/saveModelMain/",
+        data: params,
+        header: {
+          "Content-Type": "application/json",
+        },
+      }).then((res) => {
+        if (res.data.success) {
+          this.form = {};
+          this.$emit("onClick", true);
+        }
+      });
+    },
+    convertArray(form) {
+      if (form.wpids != undefined && form.timetypes != undefined) {
+        form.wpids = form.wpids.split(",");
+        form.timetypes = form.timetypes.split(",");
+        form.isenable = form.isenable == "是" ? 1 : 0;
+      }
+      return form;
+    },
+  },
+  watch: {
+    data(value) {
+      this.form = this.convertArray(value);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.assess-create {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+
+  .top {
+    width: 60%;
+    margin-top: 50px;
+    display: flex;
+    flex-direction: column;
+    align-self: center;
+
+    .flex-row {
+      margin-bottom: 20px;
+      display: flex;
+      flex-direction: row;
+    }
+
+    .flex-column {
+      display: flex;
+      flex-direction: column;
+    }
+
+    .item-name {
+      width: 100px;
+      text-align: end;
+    }
+    .item-content {
+      width: 300px;
+    }
+  }
+
+  .bottom {
+    margin: 50px 0;
+    display: flex;
+    flex-direction: row;
+    justify-content: center;
+
+    .mg-l-30 {
+      margin-left: 30px;
+    }
+  }
+}
+</style>

+ 13 - 68
src/views/HealthControl/infotrack2.vue

@@ -354,15 +354,14 @@
       height="800px"
       custom-class="modal"
       :close-on-click-modal="true"
+      :destroy-on-close="true"
     >
-      <video
-        class="videoPlayer"
-        id="videoPlayer"
-        muted
-        autoplay
-        webkit-playsinline
-        playsinline
-      ></video>
+      <iframe
+        class="videoBoxiframe"
+        width="100%"
+        height="600px"
+        src="http://localhost:8081?token=stream-1"
+      ></iframe>
     </el-dialog>
     <el-dialog
       title="GIS地貌"
@@ -673,71 +672,12 @@ export default {
         },
       });
       this.tableData.data = data.data;
-      console.log(123123,data)
     },
+
     showVideoBox() {
       this.videoBoxShow = true;
-      this.$nextTick(() => {
-        this.listenEvent();
-        this.resetVideo();
-      });
-    },
-    // 销毁播放实例
-    cancelPlay() {
-      $(".videoPlayer").attr("poster", "").attr("src", "");
-      this.videoPlayer &&
-        this.videoPlayer.disconnect() &&
-        (this.videoPlayer = null);
-    },
-
-    // 监听视频被暂停和被播放
-    listenEvent() {
-      let that = this;
-
-      //判断设备
-      if (H5siOS() === true || H5sSafariBrowser() === true) {
-        $(".videoPlayer").prop("controls", true);
-      }
-
-      //如果是暂停状态,就让它开始;如果是开始就让他暂停。每次开始之前都先清空参数
-      $(".videoPlayer").on("click", function () {
-        if ($(this).get(0).paused) {
-          that.resetVideo();
-        } else {
-          that.videoPlayer.disconnect();
-          $(this).get(0).pause();
-          this.BASE.showMsg({
-            type: "success",
-            msg: "暂停播放",
-          });
-        }
-      });
     },
 
-    // 重置视频播放状态
-    resetVideo() {
-      this.$nextTick(() => {
-        let videoConfig = {
-          videoid: "videoPlayer", //跟上面video标签的id一致
-          protocol: "http:", //'http:' or 'https:'
-          host: this.videoConfigHost, //'localhost:8080'自己内部的网址
-          rootpath: "/", // '/' or window.location.pathname
-          token: this.videoConfigToken, //可变参数
-          // streamprofile: this.videoConfigStreamprofile, // {string} - stream profile, main/sub or other predefine transcoding profile
-          hlsver: "v1", //v1 is for ts, v2 is for fmp4
-          session: "e312287e-d809-4b4b-a5d6-336e5006199f", //session got from login可变参数
-        };
-
-        this.cancelPlay();
-        this.videoPlayer = new H5sPlayerRTC(videoConfig);
-        this.videoPlayer.connect();
-
-        this.BASE.showMsg({
-          type: "success",
-          msg: "播放组件初始化中...请稍后...",
-        });
-      });
-    },
     selectTab: function (tab, index) {
       this.activeTab = index;
       if (index === 0) {
@@ -993,4 +933,9 @@ export default {
     height: 800px;
   }
 }
+
+.videoBoxiframe {
+  border: none;
+  overflow: hidden;
+}
 </style>

File diff suppressed because it is too large
+ 902 - 592
src/views/Home/Home.vue


+ 63 - 39
src/views/WindSite/pages/Tower.vue

@@ -1,35 +1,47 @@
 <template>
-    <div class="tower">
-        <Wave></Wave>
-        <Windmill class="windmill-1"></Windmill>
-        <Windmill class="windmill-2"></Windmill>
-        <Windmill class="windmill-3"></Windmill>
-        <Windmill class="windmill-4"></Windmill>
-        <Windmill class="windmill-5"></Windmill>
-        <WindTower :data="cftmap"></WindTower>
-        <dash-pie-chart class="pie-left" title="空气密度" :value="cftmap.KQMD || 0" height="9.722vh" width="9.722vh" />
-        <dash-pie-chart class="pie-right" title="压强" :value="cftmap.FCCFTYQ || 0" height="9.722vh" width="9.722vh" />
-        <Panel class="panel-top" title="日资源玫瑰图" :bgBlur="true">
-            <div class="direction-chart">
-                <DirectionRadarChart width="100%" height="23vh" :value="rmgtmap" />
-                <div class="legend">
-                    <span class="dot bg-purple"></span>
-                    <span>{{ rmgtTitle || "" }}</span>
-                </div>
-            </div>
-        </Panel>
-        <Panel class="panel-bottom" title="月资源玫瑰图" :bgBlur="true">
-            <div class="direction-chart">
-                <DirectionRadarChart width="100%" height="23vh" :value="ymgtmap" />
-                <div class="legend">
-                    <span class="dot bg-purple"></span>
-                    <span>{{ ymgtTitle || "" }}</span>
-                </div>
-            </div>
-        </Panel>
-      <toolbar-panel class="rose-chart" title="功率曲线">
-            <template v-slot:tools>
-                <!--<div class="tools">
+  <div class="tower">
+    <Wave></Wave>
+    <Windmill class="windmill-1"></Windmill>
+    <Windmill class="windmill-2"></Windmill>
+    <Windmill class="windmill-3"></Windmill>
+    <Windmill class="windmill-4"></Windmill>
+    <Windmill class="windmill-5"></Windmill>
+    <WindTower :data="cftmap"></WindTower>
+    <dash-pie-chart
+      class="pie-left"
+      title="空气密度"
+      :value="cftmap.KQMD || 0"
+      height="9.722vh"
+      width="9.722vh"
+    />
+    <dash-pie-chart
+      class="pie-right"
+      title="压强"
+      :value="cftmap.FCCFTYQ || 0"
+      height="9.722vh"
+      width="9.722vh"
+    />
+    <Panel class="panel-top" title="日资源玫瑰图" :bgBlur="true">
+      <div class="direction-chart">
+        <DirectionRadarChart width="100%" height="23vh" :value="rmgtmap" />
+        <div class="legend">
+          <span class="dot bg-purple"></span>
+          <span>{{ rmgtTitle || "" }}</span>
+        </div>
+      </div>
+    </Panel>
+    <Panel class="panel-bottom" title="月资源玫瑰图" :bgBlur="true">
+      <div class="direction-chart">
+        <DirectionRadarChart width="100%" height="23vh" :value="ymgtmap" />
+        <div class="legend">
+          <span class="dot bg-purple"></span>
+          <span>{{ ymgtTitle || "" }}</span>
+        </div>
+      </div>
+    </Panel>
+    <toolbar-panel class="rose-chart" title="功率曲线">
+      <template v-slot:tools>
+        <!--<div class="tools">
                     <div class="tool-block">
                         <div class="legend bg-green"></div>
                         <div class="legend-text">应发功率</div>
@@ -55,13 +67,18 @@
                         <div class="legend-text">风速</div>
                     </div>
                 </div>-->
-            </template> 
-            <template v-slot:default>
-                <!-- 日发电量 -->
-                <multiple-line-chart :list="Powertrend.value" :units="Powertrend.units" height="28vh" :showLegend="true" />
-            </template>
-        </toolbar-panel>
-    </div>
+      </template>
+      <template v-slot:default>
+        <!-- 日发电量 -->
+        <multiple-line-chart
+          :list="Powertrend.value"
+          :units="Powertrend.units"
+          height="28vh"
+          :showLegend="true"
+        />
+      </template>
+    </toolbar-panel>
+  </div>
 </template>
 
 <script>
@@ -181,7 +198,14 @@ export default {
           that.ymgtTitle = res.data.ymgtmap.jfpl;
 
           let units = ["(万kw)", "(米/s)"];
-          let keyArray = ["value1", "value2", "value3", "value4", "value5", "value6"];
+          let keyArray = [
+            "value1",
+            "value2",
+            "value3",
+            "value4",
+            "value5",
+            "value6",
+          ];
 
           let Powertrend = {
             units,

+ 38 - 0
src/views/globalMonitor/index.vue

@@ -0,0 +1,38 @@
+<template>
+  <div style="width: 100%; height: 100%">
+    <iframe
+      class="videoBoxiframe"
+      width="100%"
+      height="100%"
+      src="http://10.155.32.4:8070/monitor/index.html"
+    ></iframe>
+  </div>
+</template>
+
+<script>
+export default {
+  // 名称
+  name: "globalMonitor",
+
+  // 数据
+  data() {
+    return {};
+  },
+
+  // 函数
+  methods: {},
+
+  created() {},
+
+  mounted() {},
+
+  unmounted() {},
+};
+</script>
+
+<style lang="less" scoped>
+.videoBoxiframe {
+  border: none;
+  overflow: hidden;
+}
+</style>

+ 225 - 282
src/views/layout/Menu.vue

@@ -88,13 +88,79 @@ export default {
           ],
         },
         {
+          id: "realSearch",
+          text: "数据管理",
+          data: [
+            {
+              text: "原始数据查询",
+              icon: "svg-wind-site",
+              path: "/yssjcx",
+              children: [
+                {
+                  text: "测点数据查询",
+                  icon: "svg-wind-site",
+                  path: "/realSearch",
+                },
+                {
+                  text: "测点历史数据查询",
+                  icon: "svg-wind-site",
+                  path: "/historySearch",
+                },
+              ],
+            },
+            {
+              text: "预警记录",
+              icon: "svg-wind-site",
+              path: "/new",
+              children: [
+                {
+                  text: "预警管理",
+                  icon: "svg-wind-site",
+                  path: "/new/alarmcenter",
+                },
+
+                {
+                  text: "停机事件管理",
+                  icon: "svg-wind-site",
+                  path: "/new/tjsj",
+                },
+                {
+                  text: "限电管理",
+                  icon: "svg-wind-site",
+                  path: "/new/xdgl",
+                },
+                {
+                  text: "升压站报警",
+                  icon: "svg-wind-site",
+                  path: "/alarmCenter/boosterAlarm",
+                },
+                {
+                  text: "SCADA报警",
+                  icon: "svg-wind-site",
+                  path: "/alarmCenter/scadaAlarm",
+                },
+                {
+                  text: "自定义报警",
+                  icon: "svg-wind-site",
+                  path: "/alarmCenter/customAlarm",
+                },
+                {
+                  text: "自定义报警统计",
+                  icon: "svg-wind-site",
+                  path: "/alarmCenter/customStatistics",
+                },
+              ],
+            },
+          ],
+        },
+        {
           id: "performanceAnalysis",
-          text: "增发分析",
+          text: "统计分析",
           data: [
             {
               text: "能效分析",
               icon: "svg-wind-site",
-              path: "/powerCurve",
+              path: "/nxfx",
               children: [
                 {
                   text: "功率曲线拟合",
@@ -136,7 +202,7 @@ export default {
             {
               text: "可靠性分析",
               icon: "svg-wind-site",
-              path: "/new/alarmcenter1",
+              path: "/kxkfx",
               children: [
                                 {
                   text: "预警分析",
@@ -163,7 +229,7 @@ export default {
             {
               text: "风光资源分析",
               icon: "svg-wind-site",
-              path: "/windAnalysis",
+              path: "/fgzyfx",
               children: [
                 {
                   text: "风资源散点",
@@ -175,41 +241,11 @@ export default {
                   path: "/windAnalysis/fx",
                 },
               ],
-            }
-            // {
-            //   text: "单机分析",
-            //   icon: "svg-wind-site",
-            //   path: "/fgzyfx",
-            //   children: [
-            //     {
-            //       text: "单机分析详细",
-            //       icon: "svg-wind-site",
-            //       path: "/new/dj1",
-            //     },
-            //     {
-            //       text: "电量预测",
-            //       icon: "svg-wind-site",
-            //       path: "/new/pf1",
-            //     },
-            //     {
-            //       text: "气象预测",
-            //       icon: "svg-wind-site",
-            //       path: "/new/fs",
-            //     }
-            //   ]
-            // }
-          ],
-        },
-        ,
-        {
-          id: "ztfx",
-          text: "降损分析",
-          data: [
-           
+            },
             {
               text: "专题分析",
               icon: "svg-wind-site",
-              path: "/new/ztfx",
+              path: "/fgzyfx",
               children: [
                 {
                   text: "综合分析",
@@ -282,85 +318,6 @@ export default {
                   path: "/new/zzhcydl",
                 },
               ]
-            }, {
-              text: "对标管理",
-              icon: "svg-matrix",
-              path: "/decision1",
-              children: [
-              
-                {
-                  text: "风机绩效榜",
-                  icon: "svg-wind-site",
-                  path: "/decision1",
-                },
-                {
-                  text: "五项损失率",
-                  icon: "svg-wind-site",
-                  path: "/decision2",
-                },
-                {
-                  text: "场内对标",
-                  icon: "svg-wind-site",
-                  path: "/decision2Cndb",
-                },
-                {
-                  text: "场际对标",
-                  icon: "svg-wind-site",
-                  path: "/decision2Cjdb",
-                },
-                {
-                  text: "项目对标",
-                  icon: "svg-wind-site",
-                  path: "/decision2Xmdb",
-                },
-                {
-                  text: "线路对标",
-                  icon: "svg-wind-site",
-                  path: "/decision2Xldb",
-                },
-                {
-                  text: "性能对标",
-                  icon: "svg-wind-site",
-                  path: "/decision3",
-                },
-                {
-                  text: "值际对标",
-                  icon: "svg-wind-site",
-                  path: "/decision4",
-                },
-                {
-                  text: "单机横向对比",
-                  icon: "svg-matrix",
-                  path: "/decision3db",
-                },{
-                  text: "操作指令统计",
-                  icon: "svg-matrix",
-                  path: "/decision4czzl",
-                },
-                
-              ],
-            }, // 三率管理
-            {
-              text: "三率管理",
-              icon: "svg-matrix",
-              path: "/fwjsl",
-              children: [
-                {
-                  text: "复位及时率",
-                  icon: "svg-wind-site",
-                  path: "/fwjsl",
-                },
-                {
-                  text: "状态转换率",
-                  icon: "svg-wind-site",
-                  path: "/ztzhl",
-                },
-                {
-                  text: "消缺及时率",
-                  icon: "svg-wind-site",
-                  path: "/xqjsl",
-                },
-              ],
             },
             // {
             //   text: "单机分析",
@@ -387,122 +344,25 @@ export default {
           ],
         },
         {
-          id: "realSearch",
-          text: "数据管理",
+          id: "health",
+          text: "健康管理",
           data: [
             {
-              text: "原始数据查询",
-              icon: "svg-wind-site",
-              path: "/realSearch",
-              children: [
-                {
-                  text: "测点数据查询",
-                  icon: "svg-wind-site",
-                  path: "/realSearch",
-                },
-                {
-                  text: "测点历史数据查询",
-                  icon: "svg-wind-site",
-                  path: "/historySearch",
-                },
-              ],
-            },
-            {
-              text: "预警记录",
+              text: "等级评估",
               icon: "svg-wind-site",
-              path: "/new/alarmcenter",
+              path: "/assess",
               children: [
                 {
-                  text: "预警管理",
-                  icon: "svg-wind-site",
-                  path: "/new/alarmcenter",
-                },
-
-                {
-                  text: "停机事件管理",
-                  icon: "svg-wind-site",
-                  path: "/new/tjsj",
-                },
-                {
-                  text: "限电管理",
-                  icon: "svg-wind-site",
-                  path: "/new/xdgl",
-                },
-                {
-                  text: "升压站报警",
-                  icon: "svg-wind-site",
-                  path: "/alarmCenter/boosterAlarm",
-                },
-                {
-                  text: "SCADA报警",
-                  icon: "svg-wind-site",
-                  path: "/alarmCenter/scadaAlarm",
-                },
-                {
-                  text: "自定义报警",
+                  text: "等级评估",
                   icon: "svg-wind-site",
-                  path: "/alarmCenter/customAlarm",
+                  path: "/assess/index",
                 },
                 {
-                  text: "自定义报警统计",
+                   text: "评估配置",
                   icon: "svg-wind-site",
-                  path: "/alarmCenter/customStatistics",
+                  path: "/assess/config",
                 },
-              ],
-            },
-            {
-              text: "专家知识",
-              icon: "svg-wind-site",
-              path: "/knowledge",
-              children: [
-                 {
-              text: "故障知识列表",
-              icon: "svg-matrix",
-              path: "/knowledge",
-            },
-            {
-              text: "安全措施知识",
-              icon: "svg-matrix",
-              path: "/knowledge2",
-            },
-            {
-              text: "排查检修方案",
-              icon: "svg-matrix",
-              path: "/knowledge6",
-            },
-            {
-              text: "预警知识",
-              icon: "svg-matrix",
-              path: "/knowledge7",
-            },
-            {
-              text: "特征参数",
-              icon: "svg-matrix",
-              path: "/knowledge5",
-            },
-            {
-              text: "风险辨识知识",
-              icon: "svg-matrix",
-              path: "/knowledge3",
-            },
-            {
-              text: "作业指导知识",
-              icon: "svg-matrix",
-              path: "/knowledge4",
-            },
-              ],
-            },
-          ],
-        },
-        {
-          id: "health",
-          text: "健康管理",
-          data: [
-            {
-              text: "等级评估",
-              icon: "svg-wind-site",
-              path: "/djpg",
-              
+              ]
             },{
               text: "健康管理",
               icon: "svg-wind-site",
@@ -549,109 +409,192 @@ export default {
           ],
         },
         {
-          id: "personnel",
-          text: "安措管控",
+          id: "decision",
+          text: "决策支持",
           data: [
-           
+            {
+              text: "对标管理",
+              icon: "svg-matrix",
+              path: "/decision/decision1",
+              children: [
+              
+                {
+                  text: "风机绩效榜",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision1",
+                },
+                {
+                  text: "五项损失率",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision2",
+                },
+                {
+                  text: "场内对标",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision2Cndb",
+                },
+                {
+                  text: "场际对标",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision2Cjdb",
+                },
+                {
+                  text: "项目对标",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision2Xmdb",
+                },
+                {
+                  text: "线路对标",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision2Xldb",
+                },
+                {
+                  text: "性能对标",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision3",
+                },
+                {
+                  text: "值际对标",
+                  icon: "svg-wind-site",
+                  path: "/decision/decision4",
+                },
+                {
+                  text: "单机横向对比",
+                  icon: "svg-matrix",
+                  path: "/decision/decision3db",
+                },{
+                  text: "操作指令统计",
+                  icon: "svg-matrix",
+                  path: "/decision/decision4czzl",
+                },
+                
+              ],
+            }
             // ,
             // {
             //   text: "五项损失率",
             //   icon: "svg-matrix",
-            //   path: "/decision2",
+            //   path: "/decision/decision2",
             // },
             // {
             //   text: "场内对标",
             //   icon: "svg-matrix",
-            //   path: "/decision2Cndb",
+            //   path: "/decision/decision2Cndb",
             // },
             // {
             //   text: "场际对标",
             //   icon: "svg-matrix",
-            //   path: "/decision2Cjdb",
+            //   path: "/decision/decision2Cjdb",
             // },
             // {
             //   text: "项目对标",
             //   icon: "svg-matrix",
-            //   path: "/decision2Xmdb",
+            //   path: "/decision/decision2Xmdb",
             // },
             // {
             //   text: "线路对标",
             //   icon: "svg-matrix",
-            //   path: "/decision2Xldb",
+            //   path: "/decision/decision2Xldb",
             // },
             // {
             //   text: "性能对标",
             //   icon: "svg-matrix",
-            //   path: "/decision3",
+            //   path: "/decision/decision3",
             // },
             // {
             //   text: "值际对标",
             //   icon: "svg-matrix",
-            //   path: "/decision4",
+            //   path: "/decision/decision4",
             // }
-            
+            ,
             {
-              text: "安全管控",
+              text: "排行榜",
               icon: "svg-matrix",
-              path: "/new/personnel",
+              path: "/phb",
               children: [
                 {
-                  text: "人员矩阵",
+                  text: "发电效率排行",
                   icon: "svg-wind-site",
-                  path: "/new/personnel",
+                  path: "/powerRank",
                 },
                 {
-                  text: "全局监视",
+                  text: "总发电效率排行",
                   icon: "svg-wind-site",
-                  path: "/new/personnel",
+                  path: "/totalPowerRank",
+                },
+                {
+                  text: "报警排行",
+                  icon: "svg-wind-site",
+                  path: "/warningRank",
                 },
-
               ],
             },
-           
+            // 三率管理
+            {
+              text: "三率管理",
+              icon: "svg-matrix",
+              path: "/slgl",
+              children: [
+                {
+                  text: "复位及时率",
+                  icon: "svg-wind-site",
+                  path: "/fwjsl",
+                },
+                {
+                  text: "状态转换率",
+                  icon: "svg-wind-site",
+                  path: "/ztzhl",
+                },
+                {
+                  text: "消缺及时率",
+                  icon: "svg-wind-site",
+                  path: "/xqjsl",
+                },
+              ],
+            },
+          ],
+        },
+        {
+          id: "knowledge",
+          text: "知识管理",
+          data: [
+            {
+              text: "故障知识列表",
+              icon: "svg-matrix",
+              path: "/knowledge",
+            },
+            {
+              text: "安全措施知识",
+              icon: "svg-matrix",
+              path: "/knowledge2",
+            },
+            {
+              text: "排查检修方案",
+              icon: "svg-matrix",
+              path: "/knowledge6",
+            },
+            {
+              text: "预警知识",
+              icon: "svg-matrix",
+              path: "/knowledge7",
+            },
+            {
+              text: "特征参数",
+              icon: "svg-matrix",
+              path: "/knowledge5",
+            },
+            {
+              text: "风险辨识知识",
+              icon: "svg-matrix",
+              path: "/knowledge3",
+            },
+            {
+              text: "作业指导知识",
+              icon: "svg-matrix",
+              path: "/knowledge4",
+            },
           ],
         },
-        // {
-        //   id: "knowledge",
-        //   text: "知识管理",
-        //   data: [
-        //     {
-        //       text: "故障知识列表",
-        //       icon: "svg-matrix",
-        //       path: "/knowledge",
-        //     },
-        //     {
-        //       text: "安全措施知识",
-        //       icon: "svg-matrix",
-        //       path: "/knowledge2",
-        //     },
-        //     {
-        //       text: "排查检修方案",
-        //       icon: "svg-matrix",
-        //       path: "/knowledge6",
-        //     },
-        //     {
-        //       text: "预警知识",
-        //       icon: "svg-matrix",
-        //       path: "/knowledge7",
-        //     },
-        //     {
-        //       text: "特征参数",
-        //       icon: "svg-matrix",
-        //       path: "/knowledge5",
-        //     },
-        //     {
-        //       text: "风险辨识知识",
-        //       icon: "svg-matrix",
-        //       path: "/knowledge3",
-        //     },
-        //     {
-        //       text: "作业指导知识",
-        //       icon: "svg-matrix",
-        //       path: "/knowledge4",
-        //     },
-        //   ],
-        // },
         {
           id: "bdzcx",
           text: "智能报表",
@@ -660,7 +603,7 @@ export default {
             {
               text: "统计分析",
               icon: "svg-matrix",
-              path: "/tjfx",
+              path: "/bdzcx",
               children: [
                 {
                   text: "统计分析",

+ 28 - 4
src/views/malfunctionDiagnose/index.vue

@@ -88,15 +88,20 @@
       <ComTable height="78vh" :data="tableData"></ComTable>
     </div>
     <el-dialog
-      title="切入切出风速整合历史"
+      title="批量诊断"
       v-model="dialogShow"
       width="85%"
       top="10vh"
       custom-class="modal"
       :close-on-click-modal="true"
-      @closed="dialogType = ''"
     >
-      <ComTable height="100vh" :data="tableHistoryData"></ComTable>
+      <el-tree
+        style="height: 600px; overflow-y: scroll"
+        node-key="activeId"
+        :data="treeData"
+        :default-expanded-keys="['0']"
+        :props="{ children: 'children', label: 'name' }"
+      ></el-tree>
     </el-dialog>
   </div>
 </template>
@@ -180,7 +185,7 @@ export default {
               return "<el-button type='text' style='cursor: pointer;'>详情</el-button>";
             },
             click(e, row) {
-              console.log(123123, row);
+              that.getTree(row);
             },
           },
         ],
@@ -249,6 +254,25 @@ export default {
       }
     },
 
+    // 获取故障诊断树
+    getTree(item) {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "stopanalysis/stopAnalysisTree",
+        data: {
+          mainId: item.id,
+          wtId: item.wtid,
+          values: item.judegvulue,
+        },
+        success(res) {
+          res.data[0].activeId = "0";
+          that.treeData = res.data;
+          that.dialogShow = true;
+        },
+      });
+    },
+
     search() {
       this.getTableData();
     },

+ 3 - 3
src/views/malfunctionRecall/index.vue

@@ -43,7 +43,7 @@
             </el-select>
           </div>
         </div>
-        <div class="query-item">
+        <!-- <div class="query-item">
           <div class="lable">类型:</div>
           <div class="search-input">
             <el-select
@@ -60,7 +60,7 @@
               />
             </el-select>
           </div>
-        </div>
+        </div> -->
         <div class="query-item">
           <div class="query-item">
             <div class="lable">开始日期:</div>
@@ -118,7 +118,7 @@ export default {
       wpArray: [],
       wpName: "",
       wtId: "",
-      type: 2,
+      type: "2",
       tableData: {
         column: [
           {

+ 1 - 1
src/views/malfunctionStatistics/index.vue

@@ -24,7 +24,7 @@
     </div>
     <div class="df-table curTable">
       <el-table :data="tableData.data" height="78vh" max-height="78vh" stripe style="width: 100%" :border="true">
-        <el-table-column :show-overflow-tooltip="true" prop="wtname" label="风机"></el-table-column>
+        <el-table-column :show-overflow-tooltip="true" prop="wtname" width="150px" label="风机"></el-table-column>
         <el-table-column :show-overflow-tooltip="true" :label="tableTitle">
           <el-table-column :show-overflow-tooltip="true" label="近一天">
             <el-table-column :show-overflow-tooltip="true" label="1">