瀏覽代碼

全生命周期tab1完成

yangxiao 3 年之前
父節點
當前提交
eb5e87ee5e

+ 6 - 0
src/router/index.js

@@ -368,6 +368,12 @@ const routes = [{
     import('../views/Knowledge/Knowledge7.vue'),
 },
 {
+  path: '/allLifeManage', // 全生命周期管理
+  name: 'allLifeManage',
+  component: () =>
+    import('../views/allLifeManage/index.vue'),
+},
+{
   path: "/health/health8",
   name: "health8",
   component: () =>

+ 93 - 0
src/views/allLifeManage/index.vue

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

+ 384 - 0
src/views/allLifeManage/tab1.vue

@@ -0,0 +1,384 @@
+<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="getWtArray">
+              <el-option v-for="item in wpArray" :key="item.id" :value="item.id" :label="item.name" />
+            </el-select>
+          </div>
+        </div>
+        <div class="query-item">
+          <div class="lable">风机:</div>
+          <div class="search-input">
+            <el-select v-model="wtId" clearable placeholder="请选择" popper-class="select">
+              <el-option v-for="item in wtArray" :key="item.id" :value="item.id" :label="item.name" />
+            </el-select>
+          </div>
+        </div>
+      </div>
+      <div class="query-actions">
+        <button class="btn green" @click="search()">查询</button>
+      </div>
+    </div>
+    <div class="df-table">
+      <ComTable height="78vh" :data="tableData"></ComTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import ComTable from "@com/coms/table/table.vue";
+export default {
+  // 名称
+  name: "cutAnalyse",
+
+  // 使用组件
+  components: {
+    ComTable
+  },
+
+  // 数据
+  data () {
+    const that = this;
+    return {
+      wpArray: [],
+      wpId: "",
+      wtArray: [],
+      wtId: "",
+      tableData: {
+        column: [
+          {
+            name: "风机编号",
+            field: "wtnum",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "所属风电场",
+            field: "ownerwf",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "所属工程",
+            field: "ownerproject",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "所属线路",
+            field: "ownerline",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "编号",
+            field: "wtwfnum",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "编号",
+            field: "wtgridnum",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "供应商",
+            field: "vendor",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "型号",
+            field: "model",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "额定功率",
+            field: "ratedpower",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "额定风速",
+            field: "ratedwinspe",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "额定电压",
+            field: "ratedvoltage",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "额定转速",
+            field: "ratedrev",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "切入风速",
+            field: "cutinwinspe",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "切出风速",
+            field: "cutoutwinspe",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "生存风速",
+            field: "maxwinspe",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "最低温度",
+            field: "lowertemp",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "最高温度",
+            field: "hightemp",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "最低转速",
+            field: "lowerrev",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "最高转速",
+            field: "highrev",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "风轮直径",
+            field: "roterdiameter",
+            is_num: false,
+            is_light: false,
+          },
+          {
+            name: "月大风切入合格率",
+            field: "monthinputbigratio",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "轮毂高度",
+            field: "hubheight",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "出厂日期",
+            field: "releasedate",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "吊装日期",
+            field: "installdate",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "调试日期",
+            field: "testdate",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "投运日期",
+            field: "opdate",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "位置",
+            field: "location",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "风机位置",
+            field: "wflocation",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          },
+          {
+            name: "风机ID",
+            field: "wtid",
+            is_num: false,
+            is_light: false,
+            sortable: true
+          }
+        ],
+        data: [],
+      }
+    };
+  },
+
+  // 函数
+  methods: {
+    // 获取风场
+    getWpArray () {
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/windfarmAjax",
+        success (res) {
+          that.wpArray = res.data;
+          that.wpId = that.wpId || res.data[0].id;
+          that.getWtArray(that.wpId, true);
+        }
+      });
+    },
+
+    // 获取风机
+    getWtArray (wpId, keepRequest) {
+      let that = this;
+      if (wpId) {
+        that.API.requestData({
+          method: "GET",
+          subUrl: "powercompare/windturbineAjax",
+          data: {
+            wpId
+          },
+          success (res) {
+            that.wtArray = res.data;
+            const findRes = res.data.some(ele => {
+              return ele.id === that.wtId;
+            });
+            that.wtId = (findRes ? that.wtId : res.data[0].id);
+            that.getTableData();
+          }
+        });
+      } else {
+        that.wtArray = [];
+        that.wtId = "";
+      }
+    },
+
+    getTableData () {
+      let that = this;
+      if (!that.wpId || !that.wtId) {
+        that.BASE.showMsg({
+          msg: "场站与日期不可为空"
+        });
+      } else {
+        that.API.requestData({
+          method: "GET",
+          baseURL:"http://192.168.10.18:9988/",
+          subUrl: "windturbine/list",
+          data: {
+            wtId:that.wtId
+          },
+          success (res) {
+            res.data.forEach(ele => {
+              ele.installdate = new Date(ele.installdate).formatDate("yyyy-MM-dd hh:mm:ss");
+              ele.opdate = new Date(ele.opdate).formatDate("yyyy-MM-dd hh:mm:ss");
+              ele.releasedate = new Date(ele.releasedate).formatDate("yyyy-MM-dd hh:mm:ss");
+              ele.testdate = new Date(ele.testdate).formatDate("yyyy-MM-dd hh:mm:ss");
+            });
+            that.tableData.data = res.data;
+          }
+        });
+      }
+
+    },
+
+
+    search () {
+      this.getTableData();
+    }
+  },
+
+  created () {
+    this.getWpArray();
+  },
+
+  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>

+ 184 - 0
src/views/allLifeManage/tab2.vue

@@ -0,0 +1,184 @@
+<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-date-picker v-model="recorddate" type="date"
+							value-format="YYYY-MM-DD" placeholder="选择日期" popper-class="date-select">
+						</el-date-picker>
+					</div>
+				</div>
+      </div>
+      <div class="query-actions">
+        <button class="btn green" @click="search">搜索</button>
+      </div>
+    </div>
+    <NormalScatterChart height="650px" :data="chartData" :showLegend="true" />
+  </div>
+</template>
+
+<script>
+import NormalScatterChart from "@com/chart/scatter/normal-scatter-chart.vue";
+export default {
+  // 名称
+  name: "cutAnalyse",
+
+  // 使用组件
+  components: {
+    NormalScatterChart
+  },
+
+  // 数据
+  data () {
+    return {
+      isAsc: "asc",
+      wpArray: [],
+      projectArray: [],
+      wpId: "",
+      projectId:"",
+      wtId: "MG01_01",
+      recorddate:new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy-MM-dd"),
+      chartData: [{
+        title: "风资源分析",
+        value: []
+      }]
+    };
+  },
+
+  // 函数
+  methods: {
+    // 获取风场
+    getWp (reGetWp) {
+      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.getChartData();
+        }
+      });
+    },
+
+    // 获取图表数据
+    getChartData () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "scatter/scatterAjax",
+        data: {
+          wpId: that.wpId,
+          pjId: that.projectId,
+          lnId: "",
+          year: (that.recorddate ? new Date(that.recorddate).getFullYear() : ""),
+          month: (that.recorddate ? (new Date(that.recorddate).getMonth() + 1) : ""),
+        },
+        success (res) {
+          let chartData = [{
+            title: "风资源分析",
+            value: (res.data || [])
+          }];
+          that.$nextTick(()=>{
+            that.chartData = chartData;
+          });
+        }
+      });
+    },
+
+    search () {
+      if (!this.wpId || !this.projectId) {
+        this.BASE.showMsg({
+          msg: '场站与项目为必选项'
+        });
+      } else {
+        this.getChartData();
+      }
+    }
+  },
+
+  created () {
+    this.getWp();
+  },
+
+  mounted () { },
+
+  unmounted () { },
+};
+</script>
+
+<style lang="less" scoped>
+.draught-fan-list {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+
+  .btn-group-tabs {
+    display: flex;
+    flex-direction: row;
+
+    .photovoltaic {
+      margin-left: 1.481vh;
+    }
+  }
+
+  .df-table {
+    border: 0.093vh solid fade(@darkgray, 50%);
+    position: relative;
+    overflow: auto;
+    flex-grow: 1;
+    margin-top: 1.481vh;
+    height: 30vh;
+
+    &:before {
+      content: '';
+      width: 0.37vh;
+      height: 0.37vh;
+      background: @write;
+      position: absolute;
+      left: 0.278vh;
+      top: 0.278vh;
+    }
+
+    tbody {
+      height: calc(100vh - 166px);
+    }
+  }
+}
+</style>

+ 184 - 0
src/views/allLifeManage/tab3.vue

@@ -0,0 +1,184 @@
+<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) => { getLine(); }">
+              <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="lineId" clearable placeholder="请选择" popper-class="select">
+              <el-option v-for="item in lineArray" :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-date-picker v-model="recorddate" type="date"
+							value-format="YYYY-MM-DD" placeholder="选择日期" popper-class="date-select">
+						</el-date-picker>
+					</div>
+				</div>
+      </div>
+      <div class="query-actions">
+        <button class="btn green" @click="search">搜索</button>
+      </div>
+    </div>
+    <NormalScatterChart height="650px" :data="chartData" :showLegend="true" />
+  </div>
+</template>
+
+<script>
+import NormalScatterChart from "@com/chart/scatter/normal-scatter-chart.vue";
+export default {
+  // 名称
+  name: "cutAnalyse",
+
+  // 使用组件
+  components: {
+    NormalScatterChart
+  },
+
+  // 数据
+  data () {
+    return {
+      isAsc: "asc",
+      wpArray: [],
+      lineArray: [],
+      wpId: "",
+      lineId:"",
+      wtId: "MG01_01",
+      recorddate:new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy-MM-dd"),
+      chartData: [{
+        title: "风资源分析",
+        value: []
+      }]
+    };
+  },
+
+  // 函数
+  methods: {
+    // 获取风场
+    getWp (reGetWp) {
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/windfarmAjax",
+        success (res) {
+          that.wpArray = res.data;
+          that.wpId = res.data[0].id;
+          that.getLine();
+        }
+      });
+    },
+
+    // 获取线路
+    getLine(){
+      let that = this;
+      that.API.requestData({
+        method: "GET",
+        subUrl: "powercompare/lineWpIdAjax",
+        data:{
+          wpId: that.wpId
+        },
+        success (res) {
+          that.lineArray = res.data;
+          that.lineId = res.data[0].id;
+          that.getChartData();
+        }
+      });
+    },
+
+    // 获取图表数据
+    getChartData () {
+      let that = this;
+      that.API.requestData({
+        method: "POST",
+        subUrl: "scatter/scatterAjax",
+        data: {
+          wpId: that.wpId,
+          pjId: "",
+          lnId: that.lineId,
+          year: (that.recorddate ? new Date(that.recorddate).getFullYear() : ""),
+          month: (that.recorddate ? (new Date(that.recorddate).getMonth() + 1) : ""),
+        },
+        success (res) {
+          let chartData = [{
+            title: "风资源分析",
+            value: (res.data || [])
+          }];
+          that.$nextTick(()=>{
+            that.chartData = chartData;
+          });
+        }
+      });
+    },
+
+    search () {
+      if (!this.wpId || !this.lineId) {
+        this.BASE.showMsg({
+          msg: '场站与线路为必选项'
+        });
+      } else {
+        this.getChartData();
+      }
+    }
+  },
+
+  created () {
+    this.getWp();
+  },
+
+  mounted () { },
+
+  unmounted () { },
+};
+</script>
+
+<style lang="less" scoped>
+.draught-fan-list {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+
+  .btn-group-tabs {
+    display: flex;
+    flex-direction: row;
+
+    .photovoltaic {
+      margin-left: 1.481vh;
+    }
+  }
+
+  .df-table {
+    border: 0.093vh solid fade(@darkgray, 50%);
+    position: relative;
+    overflow: auto;
+    flex-grow: 1;
+    margin-top: 1.481vh;
+    height: 30vh;
+
+    &:before {
+      content: '';
+      width: 0.37vh;
+      height: 0.37vh;
+      background: @write;
+      position: absolute;
+      left: 0.278vh;
+      top: 0.278vh;
+    }
+
+    tbody {
+      height: calc(100vh - 166px);
+    }
+  }
+}
+</style>

+ 293 - 0
src/views/warn/tjsj.vue

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

+ 234 - 0
src/views/warn/xdgl.vue

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