派生自 wuyushui/SewerAndRainNetwork

src/components/table/components/WasteWater.vue
@@ -1,162 +1,144 @@
<template>
   <div class="waste-water">
<!--       <el-row>-->
<!--           <el-col>-->
           <el-table
                   class="tableBox"
                   :data="tableData"
                   :header-cell-style="tableHeaderColor"
                   :cell-style="rowClass"
           >
               <el-table-column
                       width="30px"
                        label=""
               >
                   <template>
                       <i class="el-icon-caret-right"></i>
                       <span style="margin-left: 10px"></span>
           <el-table class="tableBox" :data="tableData" style="width: 100%" :cell-style="rowClass" @cell-click="handle">
               <el-table-column width="30px" label="">
                 <template slot-scope="{row,$index}">
<!--                   <i class="el-icon-caret-right" v-if="$index ===1"></i>-->
                 <el-popover placement="bottom" trigger="click" :disabled="!isShowIcon" popper-class="popovers">
                   <ChemicalWastewater v-show="$index ===2"></ChemicalWastewater>
                   <i class="el-icon-caret-right showBottomTableBtn" @click="showBottomTable" slot="reference"></i>
<!--                   <i class="el-icon-caret-bottom"   slot="reference" v-else @click="doIcon($index)"></i>-->
                 </el-popover>
                   </template>
               </el-table-column>
               <el-table-column
                       label="序号"
                       width="45px"
                       type="index">
               <el-table-column label="序号" width="45px" type="index"></el-table-column>
               <el-table-column prop="UserName" label="企业名称" >
                 <template slot-scope="{row}">
                   <u @click="searchNameToPosition" style="cursor: pointer">{{row.UserName}}</u>
                 </template>
               </el-table-column>
               <el-table-column
                       prop="UserName"
                       label="企业名称"
                       width="120px">
               <el-table-column prop="WasteWaters" width="80">
                   <div slot="header">
                      <span>外排废水量</span>
                       <div>(m³)</div>
                   </div>
               </el-table-column>
               <el-table-column
                       prop="WasteWaters"
                       label="外排废水量(m³)"
                       width="100px">
               <el-table-column label="COD  (产生量/t)">
                   <el-table-column prop="AddOutPut" label="累计" width="70"></el-table-column>
                   <el-table-column prop="MonthOutPut" label="当月" width="70"></el-table-column>
               </el-table-column>
               <el-table-column label="COD  (t)">
                   <el-table-column
                           prop="AddOutPut"
                           label="累计产生量"
                           width="70px">
                   </el-table-column>
                   <el-table-column
                               prop="MonthOutPut"
                               label="当月生产量"
                               width="70px">
                   </el-table-column>
               <el-table-column label="氨氮  (产生量/t)">
                   <el-table-column prop="NH4NPut" label="累计" width="70"></el-table-column>
                   <el-table-column prop="NH4NMonth" label="当月" width="70"></el-table-column>
               </el-table-column>
               <el-table-column label="氨氮  (t)">
                   <el-table-column
                           prop="NH4NPut"
                           label="累计产生量"
                           width="70px">
               <el-table-column label="排放口检测统计状态 (个)">
                   <el-table-column prop="normal" label="正常" width="60">
                     <template slot-scope="{row,$index}">
                       <u v-if="$index!=2" >{{row.normal}}</u>
                       <el-popover v-else placement="bottom-end" trigger="click" popper-class="popovers" title="监测点明细表">
                         <refinery></refinery>
                         <u slot="reference" style="color: #00ffff">{{row.normal}}</u>
                         <!--                       <i class="el-icon-caret-bottom" v-else-if="isShowIcon&&scope.row.index===1"></i>-->
                         <!--                       <i v-if="isShowIcon" class="el-icon-caret-bottom" slot="reference" @click="isbtn"></i>-->
                         <!--                   <i v-else class="el-icon-caret-right" slot="reference" @click="isbtn"></i>-->
                       </el-popover>
                     </template>
                   </el-table-column>
                   <el-table-column
                           prop="NH4NMonth"
                           label="当月生产量"
                           width="70px">
                   </el-table-column>
               </el-table-column>
               <el-table-column label="排放口检测统计状态">
                   <el-table-column
                           prop="normal"
                           label="正常"
                           width="60px">
                   </el-table-column>
                   <el-table-column
                           prop="overProof"
                           label="超标"
                           width="60px">
                   </el-table-column>
                   <el-table-column
                           prop="Abnormal"
                           label="异常"
                           width="60px">
                   </el-table-column>
                   <el-table-column
                           prop="StopProduction"
                           label="停产"
                           width="60px">
                   </el-table-column>
                   <el-table-column
                           prop="deficiency"
                           label="缺失"
                           width="60px">
                   <el-table-column prop="overProof" label="超标" width="60"></el-table-column>
                   <el-table-column prop="Abnormal" label="异常" width="60"></el-table-column>
                   <el-table-column prop="StopProduction" label="停产" width="60"></el-table-column>
                   <el-table-column prop="deficiency" label="缺失" width="60">
                     <template slot-scope="{row,$index}">
                       <u v-if="$index!=1" >{{row.deficiency}}</u>
                       <el-popover v-else placement="bottom-end" trigger="click" title="天津石化监测点缺失报警明细" popper-class="popovers">
                         <MissingAlarm></MissingAlarm>
                         <u slot="reference" style="color: #00ffff">{{row.deficiency}}</u>
                       </el-popover>
                     </template>
                   </el-table-column>
               </el-table-column>
           </el-table>
<!--       <ChemicalWastewater v-show="isShowIcon"></ChemicalWastewater>-->
<!--           </el-col>-->
<!--       </el-row>-->
   </div>
</template>
<script>
import ChemicalWastewater from './componented/ChemicalWastewater'
import Refinery from '@components/table/components/componented/refinery'
import MissingAlarm from '@components/table/components/componented/MissingAlarm'
import mapApi from '@/api/mapApi'
export default {
  name: 'WasteWater',
  components: {
    MissingAlarm,
    Refinery,
    ChemicalWastewater
  },
  data () {
    return {
      tableData: [{
        UserName: '集团名称',
        WasteWaters: '',
        AddOutPut: '',
        MonthOutPut: '',
        NH4NPut: '',
        NH4NMonth: '',
        normal: '',
        overProof: '',
        Abnormal: '',
        StopProduction: '',
        deficiency: ''
      }, {
        UserName: '天津石化',
        WasteWaters: '116.6',
        AddOutPut: '58.3',
        MonthOutPut: '13.1',
        NH4NPut: '58.3',
        NH4NMonth: '13.1',
        normal: '21',
        overProof: '2',
        Abnormal: '2',
        StopProduction: '2',
        deficiency: '2'
      }, {
        UserName: 'xxxx炼化3',
        WasteWaters: '116.6',
        MonthOutPut: '13.1',
        NH4NPut: '58.3',
        NH4NMonth: '13.1',
        normal: '21',
        overProof: '2',
        Abnormal: '2',
        StopProduction: '2',
        deficiency: '2'
      }, {
        UserName: 'xxxx4',
        WasteWaters: '116.6',
        AddOutPut: '58.3',
        MonthOutPut: '13.1',
        NH4NPut: '58.3',
        NH4NMonth: '13.1',
        normal: '21',
        overProof: '2',
        Abnormal: '2',
        StopProduction: '2',
        deficiency: '2'
      }]
      isActive: '',
      isShowIcon: false,
      tableData: null
    }
  },
  props: {
    searchNameToPosition: {
      type: Function
    }
  },
  async mounted () {
    this.tableData = await mapApi.getWasteWaterStatistics()
  },
  methods: {
    tableHeaderColor ({ row, column, owIndex, columnIndex }) {
      return 'background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;font-wight:500;font-size:12px;text-align:center;height:0px'
    //  return 'background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;font-wight:500;font-size:12px;text-align:center;height:0px'
    },
    // 表头样式设置
    rowClass  () {
      return 'text-align: center;background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;width:64px'
      return 'height:.3rem'
    },
    // 获取点击的表格
    handle (row, column, event, cell) {
      console.log(row.UserName)
    },
    showBottomTable (e) {
      if (e.path[0].classList.contains('go') === true) {
        e.path[0].classList.remove('go')
        e.path[0].classList.add('aa')
      } else {
        const newList = document.querySelectorAll('i.showBottomTableBtn')
        for (let i = 0; i < newList.length; i++) {
          newList[i].classList.remove('go')
        }
        e.path[0].classList.remove('aa')
        e.path[0].classList.add('go')
      }
    }
  }
}
</script>
<style scoped>
<style scoped lang="less">
/deep/ .el-tabs__item:focus.is-active.is-focus:not(:active) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.waste-water{
.el-icon-caret-right{
  position: absolute;
  top: .11rem;
  left: .04rem;
  font-size: .14rem;
  cursor: pointer;
}
}
.aa{
  transition: all .2s;
}
.go{
  transform:rotate(90deg);
  transition: all .2s;
}
</style>