<template>
  <div class="app-container">

    <!-- 搜索工作栏 -->
    <search-bar
      :formConfigs="formConfig"
      ref="searchBarForm"
      @headBtnClick="buttonClick"
    />
    <!-- 列表 -->
    <base-table
      :page="queryParams.pageNo"
      :limit="queryParams.pageSize"
      :table-props="tableProps"
      :table-data="list"
      :max-height="tableH"
    />
    <pagination
      :page.sync="queryParams.pageNo"
      :limit.sync="queryParams.pageSize"
      :total="total"
      @pagination="getList"
    />
  </div>
</template>

<script>
import { getEnergyOverlimitLogPage } from "@/api/monitoring/energyOverlimitLog";
import { getEnergyTypeListAll } from "@/api/base/energyType";
import { publicFormatter } from '@/utils/dict'
const tableProps = [
  {
    prop: 'objName',
    label: '监控对象'
  },
  {
    prop: 'objCode',
    label: '对象编码'
  },
  {
    prop: 'energyType',
    label: '能源类型'
  },
  {
    prop: 'type',
    label: '监控模式'
  },
  {
    prop: 'paramName',
    label: '监控参数'
  },
  {
    prop: 'limitType',
    label: '指标类型',
    filter: publicFormatter('monitor_index_type')
  },
  {
    prop: 'realityValue',
    label: '实际值'
  },
  {
    prop: 'limitValue',
    label: '阈值'
  },
  {
    prop: 'overValue',
    label: '超出值'
  }
]
export default {
  name: "EnergyOverlimitLog",
  data() {
    return {
      formConfig: [
        {
          type: 'select',
          label: '能源类型',
          selectOptions: [],
          param: 'energyTypeId'
        },
        {
          type: 'select',
          label: '指标类型',
          selectOptions: this.getDictDatas(this.DICT_TYPE.MONITOR_INDEX_TYPE),
          labelField: 'label',
          valueField: 'value',
          param: 'indexType'
        },
        {
          type: 'button',
          btnName: '查询',
          name: 'search',
          color: 'primary'
        }
      ],
      tableProps,
      tableH: this.tableHeight(260),
      // 总条数
      total: 0,
      // 班次基础信息列表
      list: [],
      // 查询参数
      queryParams: {
        pageNo: 1,
        pageSize: 20,
        energyTypeId: '',
        indexType: ''
      },
      typeList: [
        {id: 1, name: '合并'},
        {id: 2, name: '详细'}
      ]
    };
  },
  created() {
    window.addEventListener('resize', () => {
      this.tableH = this.tableHeight(260)
    })
    this.getList();
    this.getTypeList()
  },
  methods: {
    buttonClick(val) {
      this.queryParams.pageNo = 1;
      this.queryParams.energyTypeId = val.energyTypeId
      this.queryParams.indexType = val.indexType
      this.getList()
    },
    /** 查询列表 */
    getList() {
      getEnergyOverlimitLogPage(this.queryParams).then(response => {
        let arr = response.data.list || [];
        arr&&arr.map((item) => {
          this.typeList.map((i) => {
            if (item.type === i.id) {
              item.type = i.name
            }
          })
          if (item.minValue && item.maxValue) {
            item.limitValue = item.minValue + '-' + item.maxValue
          } else if(item.minValue){
            item.limitValue = '最小值' + item.minValue
          }else if(item.maxValue){
            item.limitValue = '最大值' + item.maxValue
          } else {
            item.limitValue = ''
          }
        })
        this.list = arr
        this.total = response.data.total;
      });
    },
    getTypeList() {
      getEnergyTypeListAll().then((res) => {
        console.log(res)
        this.formConfig[0].selectOptions = res.data || []
      })
    }
  }
};
</script>
