Переглянути джерело

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

shilin 3 роки тому
батько
коміт
67c9c26f1c

+ 4 - 4
src/App.vue

@@ -223,10 +223,10 @@ export default {
             method: "POST", // 请求方式,默认为 GET ,可缺省
             subUrl: "admin/usermenu", // 请求接口地址,必传项
             success() {
-              that.BASE.showMsg({
-                msg: "登陆成功",
-                type: "success",
-              });
+              // that.BASE.showMsg({
+              //   msg: "登陆成功",
+              //   type: "success",
+              // });
               // that.$router.push('/'); // 跳转到首页
             },
           });

+ 14 - 14
src/components/arcgis/arcgis.vue

@@ -75,37 +75,37 @@
             return {
                 fanStateImgMapping: [{
                         name: "待机",
-                        code: "dj",
+                        code: "0",
                         img: require("@assets/map/fan/green.png")
                     },
                     {
                         name: "运行",
-                        code: "yx",
+                        code: "1",
                         img: require("@assets/map/fan/blue.png")
                     },
                     {
-                        name: "限电",
-                        code: "xd",
-                        img: require("@assets/map/fan/purple.png")
-                    },
-                    {
                         name: "故障",
-                        code: "gz",
+                        code: "2",
                         img: require("@assets/map/fan/red.png")
                     },
                     {
+                        name: "离线",
+                        code: "3",
+                        img: require("@assets/map/fan/black.png")
+                    },               
+                    {
                         name: "检修",
-                        code: "jx",
+                        code: "4",
                         img: require("@assets/map/fan/orange.png")
                     },
                     {
-                        name: "离线",
-                        code: "lx",
-                        img: require("@assets/map/fan/black.png")
+                        name: "限电",
+                        code: "5",
+                        img: require("@assets/map/fan/purple.png")
                     },
                     {
-                        name: "受累",
-                        code: "sl",
+                        name: "限停",
+                        code: "6",
                         img: require("@assets/map/fan/white.png")
                     },
                 ],

+ 13 - 3
src/router/index.js

@@ -553,9 +553,14 @@ const routes = [{
 },
 // 等级评估(单机等级评估管理-量化评级)
 {
-	path: '/djpg',
-	name: 'djpg',
-	component: () => import('../views/HealthControl/gradeassessment.vue')
+	path: '/assess/index',
+	name: 'assessindex',
+	component: () => import('../views/HealthControl/assess/assessindex.vue')
+},
+{
+	path: '/assess/config',
+	name: 'assessconfig',
+	component: () => import('../views/HealthControl/assess/assessconfig.vue')
 },
 {
 	path: "/new/powerforecast2",
@@ -614,6 +619,11 @@ const routes = [{
 	component: () => import("../views/alarmCenter/customStatistics.vue")
 },
 {
+	path: "/malfunctionDiagnose", // 故障诊断
+	name: "customStatistics",
+	component: () => import("../views/malfunctionDiagnose/index.vue")
+},
+{
 	path: "/new/pb",
 	name: "pb",
 	component: () => import(/* webpackChunkName: "powerbenchmarking" */ "../views/NewPages/power-benchmarking.vue"),

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

@@ -248,10 +248,12 @@ export default {
       that.API.requestData({
         method: "POST",
         subUrl: "recommen/findMainTrack",
+        timeout: 30000,
         data: {
           rid: row.rid,
         },
         success(res) {
+          console.log(123123, res);
           if (res.code == 200) {
             that.trackDate = res.data;
             that.dialogVisible = true;

+ 125 - 0
src/views/HealthControl/assess/assessconfig.vue

@@ -0,0 +1,125 @@
+<template>
+  <div class="assess-config">
+    <div class="assess-header">
+      <div class="query mg-b-8">
+        <div class="query-items">
+          <div class="query-item">
+            <div class="lable">模型:</div>
+            <div class="search-input">
+              <el-input v-model="content"></el-input>
+            </div>
+          </div>
+        </div>
+        <div class="query-actions">
+          <button class="btn green mg-l-30" @click="onClickAdd">新增</button>
+        </div>
+      </div>
+    </div>
+
+    <div class="assess-bottom">
+      <ComTable :data="tableData" height="85vh"></ComTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import ComTable from "@/components/coms/table/table-unpage.vue";
+
+export default {
+  components: { ComTable },
+  data() {
+    const that = this;
+    return {
+      content: "",
+      tableData: {
+        column: [
+          {
+            name: "名称",
+            field: "targetname",
+            is_light: false,
+          },
+          {
+            name: "时间",
+            field: "safecontent",
+            is_light: false,
+          },
+          {
+            name: "场站",
+            field: "describe",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "是否启用",
+            field: "principal",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "操作",
+            field: "addtime",
+            is_num: false,
+            is_light: false,
+            width: 10,
+            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"
+              );
+            },
+            click(e, row) {
+              that.onClickOption(e, row);
+            },
+          },
+        ],
+        data: [],
+      },
+    };
+  },
+  created() {
+    this.requestList();
+  },
+  methods: {
+    // 新增按钮
+    onClickAdd() {},
+    // 获取按错内容
+    requestList() {
+      let that = this;
+      this.API.requestData({
+        method: "GET",
+        baseURL: "http://10.155.32.4:8034/",
+        subUrl: "/evaluation/modelMainList",
+        data: {
+          name: "sdf",
+        },
+        success(res) {},
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scope>
+.assess-config {
+  display: flex;
+  flex-direction: column;
+
+  .el-select {
+    width: 200px;
+  }
+  .el-input {
+    width: 200px;
+  }
+
+  .mg-l-30 {
+    margin-left: 30px;
+  }
+
+  .assess-header {
+    display: flex;
+    flex-direction: row;
+    justify-content: flex-start;
+  }
+}
+</style>

+ 2 - 2
src/views/HealthControl/gradeassessment.vue

@@ -91,8 +91,8 @@
 </template>
 <script>
 import ComTable from "@/components/coms/table/table-unpage.vue";
-import Dayinfo from "./dayinfo.vue";
-import GradeHistory from "./gradeHistory.vue";
+import Dayinfo from "../dayinfo.vue";
+import GradeHistory from "../gradeHistory.vue";
 
 export default {
   name: "gradeassessment",

+ 136 - 66
src/views/Home/components/map.vue

@@ -4,26 +4,37 @@
     <div class="security-days">
       <div class="text">安全天数:</div>
       <div class="num">
-        <span class="font-num">{{safeDay}}</span>
+        <span class="font-num">{{ safeDay }}</span>
         <span class="unit">天</span>
       </div>
     </div>
     <div class="tab-box" v-if="currentMode == 'NX'">
-      <div class="tab-item" v-for="(tab, index) of tabs" :key="index" :class="{ active: activeTab == index }" @click.stop="selectTab(index, tab.show)">
-        <span class="svg-icon svg-icon-sm" :class="activeTab == index ? 'svg-icon-green' : 'svg-icon-write'">
+      <div
+        class="tab-item"
+        v-for="(tab, index) of tabs"
+        :key="index"
+        :class="{ active: activeTab == index }"
+        @click.stop="selectTab(index, tab.show)"
+      >
+        <span
+          class="svg-icon svg-icon-sm"
+          :class="activeTab == index ? 'svg-icon-green' : 'svg-icon-write'"
+        >
           <SvgIcon :svgid="tab.icon"></SvgIcon>
         </span>
         <span>{{ tab.text }}</span>
       </div>
     </div>
     <div class="name-box" v-if="currentMode != 'NX'">
-      <div class="name-box-title">{{currentTitle}}</div>
+      <div class="name-box-title">{{ currentTitle }}</div>
       <div class="name-box-period" v-show="currentPeriod != 'ZERO'">
         <span class="name-box-period-label">期次:</span>
-        <span class="name-box-period-value" >{{currentName}}{{currentPeriod}}</span>
+        <span class="name-box-period-value"
+          >{{ currentName }}{{ currentPeriod }}</span
+        >
       </div>
     </div>
-    <div class="return" @click="backMap" v-show="mapIndex != -1">
+    <div class="return" @click="backMap('0', '全部')" v-show="mapIndex != -1">
       <span class="svg-icon svg-icon-sm">
         <svg-icon :svgid="'svg-arrow-dpwn-1'" />
       </span>
@@ -31,7 +42,18 @@
     </div>
     <!-- 指南针 -->
     <div class="compass">
-      <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px" viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve">
+      <svg
+        version="1.1"
+        xmlns="http://www.w3.org/2000/svg"
+        xmlns:xlink="http://www.w3.org/1999/xlink"
+        x="0px"
+        y="0px"
+        width="200px"
+        height="200px"
+        viewBox="0 0 200 200"
+        enable-background="new 0 0 200 200"
+        xml:space="preserve"
+      >
         <g id="渐变">
           <path
             fill-rule="evenodd"
@@ -81,22 +103,63 @@
           </g>
         </g>
         <g id="图层_1">
-          <polyline fill="#606769" points="59.177,142.682 113.678,116.092 84.673,87.663" />
+          <polyline
+            fill="#606769"
+            points="59.177,142.682 113.678,116.092 84.673,87.663"
+          />
         </g>
         <g id="图层_7">
-          <polygon fill="#BD3338" points="139.496,60.156 114.004,115.172 85.004,86.745" />
+          <polygon
+            fill="#BD3338"
+            points="139.496,60.156 114.004,115.172 85.004,86.745"
+          />
         </g>
       </svg>
     </div>
     <div class="map-img">
       <!-- 宁夏地图总览 -->
-      <SvgMapNX v-if="mapName === 'nx'" :show="showType" :data="sourceMap" :xtData="xtMap" @clickLabel="clickLabel"></SvgMapNX>
+      <SvgMapNX
+        v-if="mapName === 'nx'"
+        :show="showType"
+        :data="sourceMap"
+        :xtData="xtMap"
+        @clickLabel="clickLabel"
+      ></SvgMapNX>
       <!-- 麻黄山风电场 -->
-      <MHSFDC v-if="mapName === 'MHS_FDC'" :data="sourceMap" @clickFj="clickFj" @changePeriod="changePeriod"></MHSFDC>
-      <SvgMapXS v-if="mapName === 'XS_FDC'" @changePeriod="changePeriod"></SvgMapXS>
-      <SvgMapNSS v-if="mapName === 'NSS_FDC'" @changePeriod="changePeriod"></SvgMapNSS>
-      <SvgMapQS v-if="mapName === 'QS_FDC'" @changePeriod="changePeriod"></SvgMapQS>
-      <SvgMapSBQ v-if="mapName === 'SBQ_FDC'" @changePeriod="changePeriod"></SvgMapSBQ>
+      <MHSFDC
+        v-if="mapName === 'MHS_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></MHSFDC>
+      <!-- 香山风电场 -->
+      <XSFDC
+        v-if="mapName === 'XS_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></XSFDC>
+      <!-- 牛首山风电场 -->
+      <NSSFDC
+        v-if="mapName === 'NSS_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></NSSFDC>
+      <!-- 青山风电场 -->
+      <QSFDC
+        v-if="mapName === 'QS_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></QSFDC>
+      <!-- 石板泉风电场 -->
+      <SBQFDC
+        v-if="mapName === 'SBQ_FDC'"
+        :data="sourceMap"
+        @clickFj="clickFj"
+        @changePeriod="changePeriod"
+      ></SBQFDC>
     </div>
   </div>
 </template>
@@ -104,13 +167,17 @@
 <script>
 // 宁夏地图总览
 import SvgMapNX from "./map/svg-map-nx.vue";
-import SvgMapXS from "./map/svg-map-xs.vue";
-import SvgMapNSS from "./map/svg-map-nss.vue";
-import SvgMapQS from "./map/svg-map-qs.vue";
-import SvgMapSBQ from "./map/svg-map-sbq.vue";
 
 // 麻黄山风电场
 import MHSFDC from "./map/MHS_FDC.vue";
+// 香山风电场
+import XSFDC from "./map/XS_FDC.vue";
+// 牛首山风电场
+import NSSFDC from "./map/NSS_FDC.vue";
+// 青山风电场
+import QSFDC from "./map/QS_FDC.vue";
+// 石板泉风电场
+import SBQFDC from "./map/SBQ_FDC.vue";
 
 import SvgIcon from "../../../components/coms/icon/svg-icon.vue";
 import compassIcon from "@/assets/icon/svg_fill/compass.svg";
@@ -120,33 +187,33 @@ export default {
   // 使用组件
   components: {
     SvgMapNX,
-    SvgMapXS,
-    SvgMapNSS,
-    SvgMapQS,
-    SvgMapSBQ,
+    XSFDC,
+    NSSFDC,
+    QSFDC,
+    SBQFDC,
     MHSFDC,
     SvgIcon,
   },
-  props:{
-    wpId:{
-      type:String,
-      default:"0"
+  props: {
+    wpId: {
+      type: String,
+      default: "0",
     },
-    day:{
-      type:String,
-      default:"---"
+    day: {
+      type: String,
+      default: "---",
     },
-    data:{
-      type:Object,
-      default:() => {}
+    data: {
+      type: Object,
+      default: () => {},
+    },
+    xtData: {
+      type: Object,
+      default: () => {},
     },
-    xtData:{
-      type:Object,
-      default:() => {}
-    }
   },
 
-  mounted(){
+  mounted() {
     this.fcId = this.wpId;
     this.safeDay = this.day;
     this.sourceMap = this.data;
@@ -155,25 +222,26 @@ export default {
   // 数据
   data() {
     return {
-      fcId:"",
-      safeDay:"",
+      fcId: "",
+      safeDay: "",
       showType: "all",
-      sourceMap:{},
+      sourceMap: {},
+      mapIndex: -1,
       tabs: [
         {
           icon: "svg-all",
           text: "全部",
-          show: "all"
+          show: "all",
         },
         {
           icon: "svg-wind-site",
           text: "风场",
-          show: "fc"
+          show: "fc",
         },
         {
           icon: "svg-photovoltaic",
           text: "电站",
-          show: "gf"
+          show: "gf",
         },
       ],
       compassIcon: compassIcon,
@@ -182,10 +250,10 @@ export default {
       nxSvgFile: require("@assets/map/map-nx.svg"),
       nxmap: true,
       mapName: "nx",
-      currentMode: 'NX',
-      currentTitle: '青山风电场',
-      currentName: '麻黄山',
-      currentPeriod: '一期',
+      currentMode: "NX",
+      currentTitle: "青山风电场",
+      currentName: "麻黄山",
+      currentPeriod: "一期",
     };
   },
   emits: {
@@ -197,22 +265,24 @@ export default {
     selectTab(index, showType) {
       this.activeTab = index;
       this.showType = showType;
-      let wpId = (showType === "all" ? "0" : showType === "fc" ? "-1" : "-2");
+      let wpId = showType === "all" ? "0" : showType === "fc" ? "-1" : "-2";
       this.safeDay = "---";
       this.mapName = "nx";
       this.$emit("mapClick", wpId, this.tabs[index].text);
     },
-    backMap() {
+    backMap(wpId, planBtnName) {
       this.currentMode = "NX";
-      this.mapName = "nx";      
-      this.$emit("mapClick", wpId);
+      this.mapName = "nx";
+      this.mapIndex = -1;
+      this.$emit("mapClick", wpId, planBtnName);
     },
     clickLabel(wpId, planBtnName) {
       this.mapName = wpId;
       this.currentTitle = planBtnName;
+      this.mapIndex = 1;
       this.$emit("mapClick", wpId, planBtnName);
     },
-    clickFj(wpId, planBtnName){
+    clickFj(wpId, planBtnName) {
       this.$emit("mapClick", wpId, planBtnName);
     },
     changePeriod: function (name, period) {
@@ -221,20 +291,20 @@ export default {
       this.currentMode = "SUB";
     },
   },
-  watch:{
-    wpId(res){
+  watch: {
+    wpId(res) {
       this.fcId = res;
     },
-    day(res){
+    day(res) {
       this.safeDay = res;
     },
-    data(res){
+    data(res) {
       this.sourceMap = res;
     },
-    xtData(res){
+    xtData(res) {
       this.xtMap = res;
-    }
-  }
+    },
+  },
 };
 </script>
 
@@ -285,13 +355,13 @@ export default {
     .name-box-title {
       font-size: 2.222vh;
       font-weight: 400;
-      color: #FFFFFF;
+      color: #ffffff;
       line-height: 1;
     }
 
     .name-box-period {
       margin-top: 2.222vh;
-      .name-box-period-label, 
+      .name-box-period-label,
       .name-box-period-value {
         font-size: 1.481vh;
         font-weight: 400;
@@ -299,11 +369,11 @@ export default {
       }
 
       .name-box-period-label {
-        color: #FEFEFE;
+        color: #fefefe;
       }
 
       .name-box-period-value {
-        color: #05BB4C;
+        color: #05bb4c;
       }
     }
   }
@@ -366,12 +436,12 @@ export default {
       svg {
         transform: rotate(90deg);
         use {
-          transition: all .3s;
+          transition: all 0.3s;
         }
       }
     }
 
-    transition: all .3s;
+    transition: all 0.3s;
 
     &:hover {
       color: @green;

Різницю між файлами не показано, бо вона завелика
+ 485 - 445
src/views/Home/components/map/MHS_FDC.vue


Різницю між файлами не показано, бо вона завелика
+ 671 - 0
src/views/Home/components/map/NSS_FDC.vue


Різницю між файлами не показано, бо вона завелика
+ 638 - 0
src/views/Home/components/map/QS_FDC.vue


src/views/Home/components/map/svg-map-sbq.vue → src/views/Home/components/map/SBQ_FDC.vue


Різницю між файлами не показано, бо вона завелика
+ 531 - 0
src/views/Home/components/map/XS_FDC.vue


Різницю між файлами не показано, бо вона завелика
+ 0 - 551
src/views/Home/components/map/svg-map-nss.vue


Різницю між файлами не показано, бо вона завелика
+ 0 - 526
src/views/Home/components/map/svg-map-qs.vue


Різницю між файлами не показано, бо вона завелика
+ 0 - 457
src/views/Home/components/map/svg-map-xs.vue


Різницю між файлами не показано, бо вона завелика
+ 435 - 436
src/views/Home/components/map/svg-map.vue


+ 4 - 0
src/views/WindSite/WindSite.vue

@@ -89,6 +89,10 @@ export default {
           icon: "svg-matrix",
           path: "/monitor/windsite/boosterstation",
         },
+        {
+          icon: "svg-matrix",
+          path: "/monitor/windsite/map",
+        },
       ],
     };
   },

+ 37 - 45
src/views/WindSite/pages/Map.vue

@@ -294,6 +294,7 @@ export default {
       wpId: undefined,
       wpnumMap: {}, //风机监视数量
       wpInfoMap: {}, //风机详情
+      fjmap: [],   // 风机名
       selectIndex: 0,
       rowIndex: 0,
       btnGroups: [
@@ -321,15 +322,13 @@ export default {
       mapToolIndex: 0,
       fans: [],
       colors: {
-        dj: ["#05bb4c", "#4ad476", "#9fedb2"],
-        yx: ["#4b55ae", "#959dc7", "#d3d6e0"],
-        xd: ["#c531c7", "#e080dc", "#fadef7"],
-        xdStop: ["#c531c7", "#e080dc", "#fadef7"],
-        gz: ["#BA3237", "#d4807d", "#eddad8"],
-
-        jx: ["#e17e23", "#fabf78", "#ffebcc"],
-        lx: ["#606769", "#757575", "#AFAFAF"],
-        sl: ["#ffffff", "#D8D8D8", "#D8D8D8"],
+        "0": ["#05bb4c", "#4ad476", "#9fedb2"],
+        "1": ["#4b55ae", "#959dc7", "#d3d6e0"],
+        "2": ["#BA3237", "#d4807d", "#eddad8"],
+        "3": ["#606769", "#757575", "#AFAFAF"],
+        "4": ["#e17e23", "#fabf78", "#ffebcc"],
+        "5": ["#c531c7", "#e080dc", "#fadef7"],
+        "6": ["#c531c7", "#e080dc", "#fadef7"],
       },
       syzImg: require("@assets/png/booster-station.png"),
     };
@@ -340,7 +339,6 @@ export default {
     that.$nextTick(() => {
       that.getWp();
       that.requestData();
-      that.requestInfo();
     });
   },
   // 函数
@@ -399,24 +397,11 @@ export default {
           if (res.code == 200) {
             that.wpnumMap = res.data.fczbmap.jczbmap;
             that.wpInfoMap = res.data.wxssmap;
+            that.fjmap = res.data.fjmap[0];
           }
         },
       });
     },
-    // 风机详情
-    requestInfo() {
-      let that = this;
-      that.API.requestData({
-        method: "POST",
-        subUrl: "monitor/findGeneralAppearance",
-        data: {
-          wpId: that.wpId,
-        },
-        success(res) {
-          if (res.code == 200) that.wpnumMap = res.data.fczbmap.jczbmap;
-        },
-      });
-    },
     renderBtnActiveIndex() {
       this.btnGroups.forEach((pEle, pIndex) => {
         pEle.btns.forEach((cEle, cIndex) => {
@@ -429,39 +414,46 @@ export default {
     },
     when: function () {
       let jsonObj = dataService.get("arcgis-nx-fc1");
-      let data = [
-        { id: "MG13", state: "yx" },
-        { id: "MG12", state: "xd" },
-        { id: "MG20", state: "xdStop" },
-        { id: "MG34", state: "gz" },
-        { id: "MG39", state: "jx" },
-        { id: "MG02", state: "lx" },
-        { id: "MG19", state: "sl" },
-      ];
       this.fans = jsonObj;
       jsonObj.forEach((item) => {
-        let obj = data.find((t) => t.id == item.attributes.code);
+        let obj = this.fjmap.find((t) => {
+          let wtid = t.wtId.replace("01_","");
+          if (wtid == item.attributes.code) return t
+        });
         if (obj) {
-          item.attributes.state = obj.state;
+          item.attributes.state = String(obj.fjzt);
         } else {
-          item.attributes.state = "dj";
+          item.attributes.state = "4";
         }
         switch (item.attributes.state) {
-          case "yx":
+          case "0":  //待机
+            item.attributes.rotate = false; // 转
+            item.attributes.dur = 8; // 转一圈时间
+            break;
+          case "1":  //运行
             item.attributes.rotate = true; // 转
-            item.attributes.dur = 4; // 转一圈时间
+            item.attributes.dur = 2; // 转一圈时间
             break;
-
-          case "xd":
-            item.attributes.rotate = true;
+          case "2":  //故障
+            item.attributes.rotate = false; // 不转
             item.attributes.dur = 8;
             break;
-
-          case "xdStop":
+          case "3":  //中断
             item.attributes.rotate = false; // 不转
             item.attributes.dur = 8;
-            break;
-
+            break;  
+          case "4":  //维护
+            item.attributes.rotate = false; // 不转
+            item.attributes.dur = 8;
+            break;  
+          case "5":  //限电
+            item.attributes.rotate = true; // 转
+            item.attributes.dur = 6;
+            break; 
+          case "6":  //停机
+            item.attributes.rotate = false; // 不转
+            item.attributes.dur = 8;
+            break;      
           default:
             item.attributes.rotate = false;
             item.attributes.dur = 8;

+ 305 - 0
src/views/malfunctionDiagnose/index.vue

@@ -0,0 +1,305 @@
+<template>
+  <div class="draught-fan-list">
+    <div class="query mg-b-8">
+      <div class="query-items">
+        <div class="query-item">
+          <div class="lable">场站:</div>
+          <div class="search-input">
+            <el-select
+              v-model="wpId"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+              @change="
+                (wpId) => {
+                  getProject();
+                }
+              "
+            >
+              <el-option
+                v-for="item in wpArray"
+                :key="item.id"
+                :value="item.id"
+                :label="item.name"
+              />
+            </el-select>
+          </div>
+        </div>
+        <!-- <div class="query-item">
+          <div class="lable">项目:</div>
+          <div class="search-input">
+            <el-select
+              v-model="projectId"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+            >
+              <el-option
+                v-for="item in projectArray"
+                :key="item.id"
+                :value="item.id"
+                :label="item.name"
+              />
+            </el-select>
+          </div>
+        </div> -->
+        <div class="query-item">
+          <div class="lable">模型:</div>
+          <div class="search-input">
+            <el-select
+              v-model="modelId"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+            >
+              <el-option
+                v-for="item in modelArray"
+                :key="item.id"
+                :value="item.id"
+                :label="item.name"
+              />
+            </el-select>
+          </div>
+        </div>
+        <div class="query-item">
+          <div class="lable">时间类型:</div>
+          <div class="search-input">
+            <el-select
+              v-model="typeId"
+              clearable
+              placeholder="请选择"
+              popper-class="select"
+            >
+              <el-option
+                v-for="item in typeArray"
+                :key="item.id"
+                :value="item.id"
+                :label="item.name"
+              />
+            </el-select>
+          </div>
+        </div>
+      </div>
+      <div class="query-actions">
+        <button class="btn green" @click="search()">查询</button>
+      </div>
+    </div>
+    <div class="df-table">
+      <ComTable height="78vh" :data="tableData"></ComTable>
+    </div>
+    <el-dialog
+      title="切入切出风速整合历史"
+      v-model="dialogShow"
+      width="85%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="true"
+      @closed="dialogType = ''"
+    >
+      <ComTable height="100vh" :data="tableHistoryData"></ComTable>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import ComTable from "@com/coms/table/table.vue";
+export default {
+  // 名称
+  name: "cutAnalyse",
+
+  // 使用组件
+  components: {
+    ComTable,
+  },
+
+  // 数据
+  data() {
+    const that = this;
+    return {
+      isAsc: "asc",
+      wpArray: [],
+      wpId: "",
+      projectId: "",
+      projectArray: [],
+      modelId: "2",
+      modelArray: [
+        {
+          id: "2",
+          value: "2",
+          name: "极限学习机",
+        },
+        {
+          id: "1",
+          value: "1",
+          name: "决策树分类法",
+        },
+      ],
+      typeId: "1",
+      typeArray: [
+        {
+          id: "1",
+          value: "1",
+          name: "顺时",
+        },
+        {
+          id: "2",
+          value: "2",
+          name: "趋势",
+        },
+      ],
+      dialogShow: false,
+      tableData: {
+        column: [
+          {
+            name: "风机",
+            field: "wtid",
+            is_num: false,
+            is_light: false,
+            sortable: true,
+          },
+          {
+            name: "型号",
+            field: "modelid",
+            is_num: false,
+            is_light: false,
+            sortable: true,
+          },
+          {
+            name: "评分",
+            field: "judegvulue",
+            is_num: false,
+            is_light: false,
+            sortable: true,
+          },
+          {
+            name: "操作",
+            field: "",
+            is_num: false,
+            is_light: false,
+            template() {
+              return "<el-button type='text' style='cursor: pointer;'>详情</el-button>";
+            },
+            click(e, row) {
+              console.log(123123, row);
+            },
+          },
+        ],
+        data: [],
+      },
+    };
+  },
+
+  // 函数
+  methods: {
+    // 请求服务
+    requestData() {
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/windfarmAjax",
+        success(res) {
+          that.wpArray = res.data;
+          that.wpId = res.data[0].id;
+          that.getProject();
+        },
+      });
+    },
+
+    // 获取期数
+    getProject() {
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/projectAjax",
+        data: {
+          wpIds: that.wpId,
+        },
+        success(res) {
+          that.projectArray = res.data;
+          that.projectId = res.data[0].id;
+          that.getTableData();
+        },
+      });
+    },
+
+    getTableData() {
+      let that = this;
+      if (!that.wpId || !that.projectId) {
+        that.BASE.showMsg({
+          msg: "场站与期数不可为空",
+        });
+      } else if (!that.modelId || !that.typeId) {
+        that.BASE.showMsg({
+          msg: "模型与时间类型不可为空",
+        });
+      } else {
+        that.API.requestData({
+          method: "POST",
+          subUrl: "stopanalysis/stopAnalysisList",
+          data: {
+            wpId: that.wpId,
+            isAsc: that.isAsc,
+            modelId: that.modelId,
+            typeId: that.typeId,
+          },
+          success(res) {
+            that.tableData.data = res.data;
+          },
+        });
+      }
+    },
+
+    search() {
+      this.getTableData();
+    },
+  },
+
+  created() {
+    this.requestData();
+  },
+
+  mounted() {},
+
+  unmounted() {},
+};
+</script>
+
+<style lang="less" scoped>
+.draught-fan-list {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+
+  .btn-group-tabs {
+    display: flex;
+    flex-direction: row;
+
+    .photovoltaic {
+      margin-left: 1.481vh;
+    }
+  }
+
+  .df-table {
+    border: 0.093vh solid fade(@darkgray, 50%);
+    position: relative;
+    overflow: auto;
+    flex-grow: 1;
+    margin-top: 1.481vh;
+
+    &:before {
+      content: "";
+      width: 0.37vh;
+      height: 0.37vh;
+      background: @write;
+      position: absolute;
+      left: 0.278vh;
+      top: 0.278vh;
+    }
+
+    tbody {
+      height: calc(100vh - 166px);
+    }
+  }
+}
+</style>

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

@@ -28,71 +28,71 @@
         <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">
-              <el-table-column :show-overflow-tooltip="true" prop="day1top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day1top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day1top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day1top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day1top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day1top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="day1top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day1top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day1top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>
           <el-table-column :show-overflow-tooltip="true" label="近三天">
             <el-table-column :show-overflow-tooltip="true" label="1">
-              <el-table-column :show-overflow-tooltip="true" prop="day3top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day3top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day3top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day3top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day3top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day3top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="day3top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day3top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day3top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>
           <el-table-column :show-overflow-tooltip="true" label="近七天">
             <el-table-column :show-overflow-tooltip="true" label="1">
-              <el-table-column :show-overflow-tooltip="true" prop="day7top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day7top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day7top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day7top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day7top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day7top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="day7top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day7top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day7top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>
           <el-table-column :show-overflow-tooltip="true" label="近十五天">
             <el-table-column :show-overflow-tooltip="true" label="1">
-              <el-table-column :show-overflow-tooltip="true" prop="day15top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day15top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day15top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day15top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day15top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day15top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="day15top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day15top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day15top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>
           <el-table-column :show-overflow-tooltip="true" label="近一个月">
             <el-table-column :show-overflow-tooltip="true" label="1">
-              <el-table-column :show-overflow-tooltip="true" prop="month1top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="month1top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="month1top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="month1top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="month1top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="month1top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="month1top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="month1top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="month1top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>

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

@@ -326,7 +326,7 @@ export default {
         method:"GET",
         data:{
           tableid:that.tableid,
-          pointId:that.pointId,
+          pointId:that.form.pointId,
           pointName:that.form.pointName || "",
           pageNum:that.currentPage,
           pageSize:that.pagesizereal,

+ 13 - 13
src/views/warnStatistics/index.vue

@@ -28,11 +28,11 @@
         <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">
-              <el-table-column :show-overflow-tooltip="true" prop="day1top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day1top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day1top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day1top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day1top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day1top2" label="频次" :sortable="true"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
@@ -46,53 +46,53 @@
               <el-table-column :show-overflow-tooltip="true" prop="day3top1" label="频次" :sortable="true"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day3top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day3top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day3top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="day3top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day3top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day3top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>
           <el-table-column :show-overflow-tooltip="true" label="近七天">
             <el-table-column :show-overflow-tooltip="true" label="1">
-              <el-table-column :show-overflow-tooltip="true" prop="day7top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day7top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day7top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day7top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day7top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day7top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="day7top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day7top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day7top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>
           <el-table-column :show-overflow-tooltip="true" label="近十五天">
             <el-table-column :show-overflow-tooltip="true" label="1">
-              <el-table-column :show-overflow-tooltip="true" prop="day15top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day15top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day15top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="day15top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day15top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day15top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="day15top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="day15top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="day15top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>
           <el-table-column :show-overflow-tooltip="true" label="近一个月">
             <el-table-column :show-overflow-tooltip="true" label="1">
-              <el-table-column :show-overflow-tooltip="true" prop="month1top1name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="month1top1name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="month1top1" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="2">
-              <el-table-column :show-overflow-tooltip="true" prop="month1top2name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="month1top2name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="month1top2" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="true" label="3">
-              <el-table-column :show-overflow-tooltip="true" prop="month1top3name" label="故障" width="150px"></el-table-column>
+              <el-table-column :show-overflow-tooltip="true" prop="month1top3name" label="故障" width="200px"></el-table-column>
               <el-table-column :show-overflow-tooltip="true" prop="month1top3" label="频次" :sortable="true" width="150px"></el-table-column>
             </el-table-column>
           </el-table-column>