page.vue 5.66 KB
Newer Older
caojm's avatar
caojm committed
1 2 3
<template>
  <div class="energy-page">
    <cardList cardListTitle="能耗数据分析">
co_dengxiongwen's avatar
co_dengxiongwen committed
4 5 6
      <div slot="right">
        <el-button size="mini" type="primary" @click="toPowerPage"
          >图形/列表</el-button
caojm's avatar
caojm committed
7
        >
co_dengxiongwen's avatar
co_dengxiongwen committed
8
      </div>
co_dengxiongwen's avatar
co_dengxiongwen committed
9
      <div slot="content" style="height: calc(100% - 70px)">
co_dengxiongwen's avatar
co_dengxiongwen committed
10
        <div>
co_dengxiongwen's avatar
co_dengxiongwen committed
11
          <el-tabs class="en-tabs" v-model="activetap" @tab-click="tabClick">
co_dengxiongwen's avatar
co_dengxiongwen committed
12 13 14 15 16 17 18 19 20 21
            <el-tab-pane
              :label="item.label"
              :name="item.value"
              v-for="(item, index) in energyTabList"
              :key="index"
            ></el-tab-pane>
          </el-tabs>
        </div>
        <div>
          <el-form :inline="true" size="mini" style="padding-top: 15px">
xiexingan's avatar
xiexingan committed
22
            <el-form-item label="时间范围:">
co_dengxiongwen's avatar
co_dengxiongwen committed
23 24 25 26
              <el-date-picker
                v-model="startTime"
                align="right"
                type="date"
co_dengxiongwen's avatar
co_dengxiongwen committed
27 28
                @change="startChangeHandle"
                :picker-options="startPickerOptions"
co_dengxiongwen's avatar
co_dengxiongwen committed
29 30 31 32 33 34 35 36 37
                value-format="yyyy-MM-dd"
                placeholder="选择日期"
              >
              </el-date-picker>
              <span style="padding: 0 10px"></span>
              <el-date-picker
                v-model="endTime"
                align="right"
                type="date"
co_dengxiongwen's avatar
co_dengxiongwen committed
38 39
                @change="endChangeHandle"
                :picker-options="endPickerOptions"
co_dengxiongwen's avatar
co_dengxiongwen committed
40 41
                value-format="yyyy-MM-dd"
                placeholder="选择日期"
xiexingan's avatar
xiexingan committed
42
              >
co_dengxiongwen's avatar
co_dengxiongwen committed
43 44 45 46 47 48 49 50 51 52
              </el-date-picker>
            </el-form-item>

            <el-button
              type="primary"
              size="mini"
              icon="el-icon-search"
              @click="getDataList()"
              >查询</el-button
            >
xiexingan's avatar
xiexingan committed
53
            <!-- <el-form-item label="时间范围:">
co_dengxiongwen's avatar
co_dengxiongwen committed
54 55 56 57 58 59 60 61 62 63
              <el-button
                size="mini"
                type="primary"
                @click="handleDate(item.id)"
                v-for="(item, index) in typeList"
                :key="index"
                :class="[item.id == currentActive ? 'isActive' : '']"
              >
                {{ item.name }}
              </el-button>
xiexingan's avatar
xiexingan committed
64
            </el-form-item> -->
co_dengxiongwen's avatar
co_dengxiongwen committed
65
          </el-form>
caojm's avatar
caojm committed
66
        </div>
co_dengxiongwen's avatar
co_dengxiongwen committed
67
        <div style="height: calc(100% - 70px)">
xiexingan's avatar
xiexingan committed
68
          <!-- <chart yAxisName='单位:kwh'></chart> -->
co_dengxiongwen's avatar
co_dengxiongwen committed
69
          <chart id="111" :data="data" :title="title" color="#21ACFC"></chart>
co_dengxiongwen's avatar
co_dengxiongwen committed
70
        </div>
caojm's avatar
caojm committed
71 72 73 74 75 76
      </div>
    </cardList>
  </div>
</template>

<script>
co_dengxiongwen's avatar
co_dengxiongwen committed
77 78
import cardList from '../../components/cardList'
import enTabs from '../../components/enTabs'
xiexingan's avatar
xiexingan committed
79 80
import chart from '@/pages/components/chart.vue'

caojm's avatar
caojm committed
81
export default {
co_dengxiongwen's avatar
co_dengxiongwen committed
82
  name: 'energypage',
caojm's avatar
caojm committed
83 84 85
  components: {
    cardList,
    enTabs,
xiexingan's avatar
xiexingan committed
86
    chart
caojm's avatar
caojm committed
87 88 89
  },
  data() {
    return {
co_dengxiongwen's avatar
co_dengxiongwen committed
90 91
      startPickerOptions: {},
      endPickerOptions: {},
xiexingan's avatar
xiexingan committed
92 93
      startTime: '',
      endTime: '',
co_dengxiongwen's avatar
co_dengxiongwen committed
94
      activetap: '1',
xiexingan's avatar
xiexingan committed
95
      typeList: [
co_dengxiongwen's avatar
co_dengxiongwen committed
96 97 98 99
        { name: '当日', id: 1 },
        { name: '本周', id: 2 },
        { name: '当月', id: 3 },
        { name: '今年', id: 4 }
caojm's avatar
caojm committed
100
      ],
co_dengxiongwen's avatar
co_dengxiongwen committed
101
      currentActive: 1,
co_dengxiongwen's avatar
co_dengxiongwen committed
102 103
      // title: '今日能耗数据(kwh)',
      title: '能耗数据(kwh)',
co_dengxiongwen's avatar
co_dengxiongwen committed
104
      data: [],
xiexingan's avatar
xiexingan committed
105 106
      energyTabList: [
        {
co_dengxiongwen's avatar
co_dengxiongwen committed
107
          value: '1',
co_dengxiongwen's avatar
co_dengxiongwen committed
108
          label: '全部'
caojm's avatar
caojm committed
109 110
        },
        {
co_dengxiongwen's avatar
co_dengxiongwen committed
111
          value: 'b6af764f2a6e454490a6b1b3c9057e57',
co_dengxiongwen's avatar
co_dengxiongwen committed
112
          label: '排风机'
caojm's avatar
caojm committed
113 114
        },
        {
co_dengxiongwen's avatar
co_dengxiongwen committed
115
          value: 'ece0b8b2db27411886254e81134988a3',
co_dengxiongwen's avatar
co_dengxiongwen committed
116
          label: '机房空调'
caojm's avatar
caojm committed
117
        },
co_dengxiongwen's avatar
co_dengxiongwen committed
118
        {
co_dengxiongwen's avatar
co_dengxiongwen committed
119
          value: 'b45827c068254695864ee3c1d42573cb',
co_dengxiongwen's avatar
co_dengxiongwen committed
120 121 122
          label: '风冷热泵机组'
        },
        {
co_dengxiongwen's avatar
co_dengxiongwen committed
123
          value: '303310efddb34a2e9bf269bdff8a7dc5',
co_dengxiongwen's avatar
co_dengxiongwen committed
124 125 126
          label: '室内机风柜'
        },
        {
co_dengxiongwen's avatar
co_dengxiongwen committed
127
          value: '173466a2cf9a42a6a17b2bdfbeae36d5',
co_dengxiongwen's avatar
co_dengxiongwen committed
128 129 130 131
          label: '多联室外机'
        }
      ]
    }
caojm's avatar
caojm committed
132
  },
co_dengxiongwen's avatar
co_dengxiongwen committed
133 134 135
  mounted() {
    this.getDataList()
  },
xiexingan's avatar
xiexingan committed
136
  methods: {
co_dengxiongwen's avatar
co_dengxiongwen committed
137 138 139 140 141 142
    tabClick(tab, event) {
      // console.log(tab, event)
      this.startTime = ''
      this.endTime = ''
      this.getDataList()
    },
co_dengxiongwen's avatar
co_dengxiongwen committed
143 144 145 146 147 148
    getDataList() {
      this.$http({
        url: this.$http.adornUrl('/analysis/getEnergyFx'),
        method: 'get',
        params: this.$http.adornParams({
          resourceType: this.activetap, //资源点类型
co_dengxiongwen's avatar
co_dengxiongwen committed
149 150
          startTime: this.startTime,
          endTime: this.endTime
co_dengxiongwen's avatar
co_dengxiongwen committed
151 152 153 154 155 156 157
        })
      }).then((data) => {
        if (data && data.code === 0) {
          // console.log('数据', data)
          this.data = data.list
        }
      })
xiexingan's avatar
xiexingan committed
158
    },
co_dengxiongwen's avatar
co_dengxiongwen committed
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
    // 开始时间change事件
    startChangeHandle(val) {
      if (val) {
        this.endPickerOptions = {
          disabledDate(time) {
            return time.getTime() <= new Date(val) - 8.64e7
          }
        }
      } else {
        this.endPickerOptions = {}
      }
    },
    // 结束时间change事件
    endChangeHandle(val) {
      if (val) {
        this.startPickerOptions = {
          disabledDate(time) {
            return new Date(val) <= time.getTime()
          }
        }
      } else {
        this.startPickerOptions = {}
      }
    },
co_dengxiongwen's avatar
co_dengxiongwen committed
183
    // 当日 ,本周
xiexingan's avatar
xiexingan committed
184 185
    handleDate(i) {
      this.currentActive = i
co_dengxiongwen's avatar
co_dengxiongwen committed
186 187 188 189 190 191 192 193 194 195 196 197 198 199
      // switch (i) {
      //   case 1:
      //     this.title = '今日能耗数据(kwh)'
      //     break
      //   case 2:
      //     this.title = '本周能耗数据(kwh)'
      //     break
      //   case 3:
      //     this.title = '当月能耗数据(kwh)'
      //     break
      //   case 4:
      //     this.title = '今年能耗数据(kwh)'
      //     break
      // }
co_dengxiongwen's avatar
co_dengxiongwen committed
200
      this.getDataList()
caojm's avatar
caojm committed
201
    },
co_dengxiongwen's avatar
co_dengxiongwen committed
202
    toPowerPage() {
xiexingan's avatar
xiexingan committed
203
      this.$router.push({
co_dengxiongwen's avatar
co_dengxiongwen committed
204 205 206 207 208
        path: '/kb/power'
      })
    }
  }
}
caojm's avatar
caojm committed
209 210 211
</script>

<style lang="scss">
xiexingan's avatar
xiexingan committed
212 213
.energy-page {
  height: 100%;
xiexingan's avatar
xiexingan committed
214 215 216 217 218
}
// 选中
.isActive {
  background: #4cb527 !important;
  border: transparent 1px solid;
xiexingan's avatar
xiexingan committed
219
}
caojm's avatar
caojm committed
220
</style>