派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-04-12 8bb5942235c86ea771c4215a77c46b1245c30a93
Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

 Conflicts:
 src/components/BaseNav/PublicBounced/PublicBounced.vue
6个文件已修改
327 ■■■■ 已修改文件
src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/PublicBounced.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/WasteGas.js 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue
@@ -1,28 +1,23 @@
<!--  日数据  -->
<template>
    <div id="Tab">
    <div class="animation">
        <div class="infomation">
            <ul>
                <li></li>
            </ul>
            <el-row>
                <el-col :span="6"><div class="grid-content bg-purple">氮氧化物:29.93标准:100</div></el-col>
                <el-col :span="6"><div class="grid-content bg-purple">二氧化硫:17.34标准:50</div></el-col>
                <el-col :span="6"><div class="grid-content bg-purple">烟尘:6.93 标准:30</div></el-col>
                <el-col :span="6"><div class="grid-content bg-purple">废气流量:120343.18</div></el-col>
            </el-row>
        <span class="grid-content">氮氧化物 : 29.93 标准 : 100</span>
        <span class="grid-content">二氧化硫 : 17.34 标准 : 50</span>
        <span class="grid-content">烟尘 : 6.93 标准 : 30</span>
        <span class="grid-content">废气流量 : 120343.18</span>
      </div>
        </div>
        <div class="form-echrts">
            <div class="from-search">
                <el-row type="flex">
                    <el-col :span="14">
                        <div class="pickerMon">
                            <div class="pickerData">
                                <span> 开始时间:</span>
                                <span class="pickerTable"><el-date-picker
                                        type="datetime"
                                        v-model="value1">
                      </el-date-picker></span>
            <span class="pickerTable">
                          <el-date-picker  type="datetime"   v-model="value1">
                      </el-date-picker>
                      </span>
                            </div>
                            <div class="pickerData">
                                <span >结束时间:</span>
@@ -35,21 +30,24 @@
                      </span>
                            </div>
                        </div>
                    </el-col>
                    <el-col :span="5">
        <div>
                        采样点数:
                        <input list="source" id="ipt" class="echatsInput">
                        <datalist id="source">
          <input list="source" id="ipt" class="echatsInput" @change="datalistBtn">
          <datalist id="source" @click="datalistBtn">
                            <option value="0" />
                            <option value="25" />
                            <option value="50" />
                            <option value="75" />
                            <option value="100" />
                        </datalist>
                    </el-col>
                    <el-col class="detailbtn" :span="2" @click="onSubmit">查询</el-col>
                    <el-col :span="3">
        </div>
        <div class="detailbtn"  @click="onSubmit">查询</div>
                        <div class="detailbtn" @click="dialogVisible = true" >明细表</div>
      </div>
      <div style="width:5rem;height:2rem;" id="echarts" ref="main">
      </div>
    </div>
    <!-- 明细弹框 -->
                        <el-dialog :visible.sync="dialogVisible"
                                   :append-to-body="true"
                                   :title="this.$attrs.value==='feiqi'?this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName:this.$attrs.getWasteWaterMonitoringDetails[0].OnLineMonEmissPointName"
@@ -57,16 +55,10 @@
                                   center
                                   v-dialogDrag
                        >
                            <div class="el-dialog-div">
      <div class="el-dialog-div" style="height: 500px">
                                <public-detailed-list v-bind="$attrs"></public-detailed-list>
                            </div>
                        </el-dialog>
                    </el-col>
                </el-row>
            </div>
            <div style="width:5rem;height:2rem;" id="echarts" ref="main">
            </div>
        </div>
    </div>
</template>
@@ -282,12 +274,7 @@
          data: data[k]
        })
      }
      // --------------------------
      var arr = []
      for (var x = 0; x < dataWatch.length; x++) {
        arr.push(dataWatch[x].MonTimeStr)
      }
      console.log(arr)
      console.log(series)
      const opitons = this.initOptions(dateDate, series)
      this.myChart = this.$echarts.init(this.$refs.main)
      this.myChart.setOption(opitons)
@@ -297,6 +284,29 @@
</script>
<style scoped lang="less">
//.animation{
//  padding: 0 1rem;
//  overflow: hidden;
//  //width: 1rem;
//  .infomation{
//    display: flex;
//    //margin: 0 1rem;
//    overflow: hidden;
//    animation: move 1s linear 0s infinite;
//    @keyframes move {
//      0% {
//      }
//      100% {
//        transform: translateX(-10%);
//      }
//    }
//    /* 鼠标经过marquee 就停止动画 */
//    &:hover {
//      //z-index: 9999999;
//      animation-play-state: paused;
//    }
//  }
//}
    .grid-content{
        font-size: 8px!important;
        background-color:#2e4967;
@@ -304,39 +314,40 @@
        margin: 0 2px 4px 2px;
        border-radius: 2px;
    }
.animation {
  //width: 600px;
  //height: 0.06rem;
    .Infomation {
        margin-left: 10px;
    }
    .el-tag {
        height: 25px;
        width: 140px;
        line-height: 25px;
        margin-right: 10px;
        font-size: 10px;
        background-color: rgba(0, 255, 246, 0.14);
        color: #00d0f9;
        border: none;
        padding: 0 15px;
    }
    .form-echrts {
        width: 100%;
        border-top: 1px solid #396d83;
        //margin: 10px 10px 10px 10px;
        .from-search{
            margin-top: 6px;
          display: flex;
          padding:5px;
          >div{margin-left: 10px}
            .pickerMon{
                display: flex;
              >div:first-child {
                margin-right: 10px;
              }
                .pickerData{
                    flex: 1;
                    display: flex;
                      >span{line-height: 22px}
                    .pickerTable{
                        margin-left: 6px;
                        width: 40px;
                      /deep/.el-input{
                        font-size: 0px;
                        .el-input__prefix{
                          width: 100%;
                        }
                      }
                        /deep/.el-input__icon {
                            width: 0.9rem;
                          width: 100%;
                            font-size: 0;
                        }
                    }
@@ -351,7 +362,8 @@
                height: 0.125rem!important;
                background-color: #2e4967;
                color: #ffffff;
                font-size: 8px;
                font-size: 12px;
                height: 24px;
                padding: 0;
                //padding-left:20px ;
                //padding: 0!important;
@@ -361,7 +373,11 @@
                background-color: #2e4967;
                border: none;
                border-radius: 6px;
                width: 40px;
              width: 80px;
              height: 22px;
            }
          input::-webkit-calendar-picker-indicator {
            opacity: 100;
            }
            .detailbtn{
                background-color:#2e4967;
src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue
@@ -2,13 +2,12 @@
<template>
    <div id="Tab">
        <div class="infomation">
            <el-row>
            <el-col :span="6"><div class="grid-content bg-purple">氮氧化物:29.93标准:100</div></el-col>
            <el-col :span="6"><div class="grid-content bg-purple">二氧化硫:17.34标准:50</div></el-col>
            <el-col :span="6"><div class="grid-content bg-purple">烟尘:6.93 标准:30</div></el-col>
            <el-col :span="6"><div class="grid-content bg-purple">废气流量:120343.18</div></el-col>
            <!--            <el-col :span="6"><div class="grid-content bg-purple"></div></el-col>-->
            </el-row>
          <div>
            <span class="grid-content">氮氧化物 : 29.93 标准 : 100</span>
            <span class="grid-content">二氧化硫 : 17.34 标准 : 50</span>
            <span class="grid-content">烟尘 : 6.93 标准 : 30</span>
            <span class="grid-content">废气流量 : 120343.18</span>
          </div>
        </div>
        <div class="form-echrts">
            <div class="from-search">
@@ -33,7 +32,7 @@
                </div>
                <div>
                    采样点数:
                    <input list="source" id="ipt" class="echatsInput">
                    <input list="source" id="ipt" class="echatsInput" value="50">
                    <datalist id="source">
                        <option value="0" />
                        <option value="25" />
@@ -56,7 +55,7 @@
                   center
                   v-dialogDrag
        >
            <div class="el-dialog-div">
            <div class="el-dialog-div" style="height: 500px">
                <public-detailed-list v-bind="$attrs"></public-detailed-list>
            </div>
        </el-dialog>
@@ -102,12 +101,12 @@
        this.myChart.resize()
      }
    },
    initOptions: function (dataDate, series) {
    initOptions: function (dataDate, dataValue1, dataValue2, dataValue3) {
      var options = {
        title: {
          // text: '折线图堆叠'
        },
        color: ['#002fb3', '#8ce55e', '#ff0087'],
        color: ['#5470c6', '#91CC75', '#EE6666', '#FF0087'],
        tooltip: {
          trigger: 'axis',
          axisPointer: {
@@ -241,7 +240,29 @@
            }
          }
        }],
        series: series
        series: [
          {
            name: 'COD',
            type: 'line',
            stack: '总量',
            data: dataValue1,
            yAxisIndex: 0
          },
          {
            name: '氨氮',
            type: 'line',
            stack: '总量',
            data: dataValue2,
            yAxisIndex: 0
          },
          {
            name: '废水流量',
            type: 'line',
            stack: '总量',
            data: dataValue3,
            yAxisIndex: 1
          }
        ]
      }
      return options
    }
@@ -249,33 +270,25 @@
  mounted () {
    this.$nextTick(() => {
      this.drawChart()
      const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonHourData)).reverse()
      const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getQueryOnlineMonData)).reverse()
      console.log(dataWatch)
      var dateDate = []
      // {COD:[3,4,5]}
      var data = {}
      var dataValue1 = []
      var dataValue2 = []
      var dataValue3 = []
      var dataDate = []
      for (var i = 0; i < 24; i++) {
        dataDate.push(dataWatch[i].MonTimeStr.substring(9))
      }
      for (var n = 0; n < dataWatch.length; n++) {
        var d = dataWatch[n].MonTimeStr.substring(9)
        if (dateDate.indexOf(d) < 0) {
          dateDate.push(d)
        }
        if (data[dataWatch[n].PoltmtrlName]) {
          data[dataWatch[n].PoltmtrlName].push(dataWatch[n].MonQty)
        } else {
          data[dataWatch[n].PoltmtrlName] = [dataWatch[n].MonQty]
        if (dataWatch[n].PoltmtrlName === 'COD') {
          dataValue1.push(dataWatch[n].MonQty)
        } else if (dataWatch[n].PoltmtrlName === '氨氮') {
          dataValue2.push(dataWatch[n].MonQty)
        } else if (dataWatch[n].PoltmtrlName === '废水流量') {
          dataValue3.push(dataWatch[n].MonQty)
        }
      }
      var series = []
      for (var k in data) {
        series.push({
          name: k,
          type: 'line',
          yAxisIndex: k === '废水流量' ? 1 : 0,
          data: data[k]
        })
      }
      console.log(series)
      const opitons = this.initOptions(dateDate, series)
      const opitons = this.initOptions(dataDate, dataValue1, dataValue2, dataValue3)
      this.myChart = this.$echarts.init(this.$refs.main)
      this.myChart.setOption(opitons)
    })
@@ -293,18 +306,6 @@
}
.Infomation {
  margin-left: 10px;
}
.el-tag {
  height: 25px;
    width: 140px;
  line-height: 25px;
  margin-right: 10px;
  font-size: 10px;
  background-color: rgba(0, 255, 246, 0.14);
  color: #00d0f9;
  border: none;
  padding: 0 15px;
}
.form-echrts {
@@ -326,10 +327,14 @@
          >span{line-height: 22px}
        .pickerTable{
          margin-left: 6px;
            /deep/.el-input__prefix{
            /deep/.el-input{
              font-size: 0px;
              .el-input__prefix{
                width: 100%;
              }
            }
          /deep/.el-input__icon {
             font-size: 0;
             //font-size: 0;
              width: 100%;
          }
        }
@@ -340,6 +345,8 @@
    }
    /deep/.el-input__inner{
      position: relative;
      width: 0.9rem!important;
      height: 0.125rem!important;
      background-color: #2e4967;
      color: #ffffff;
      font-size: 12px;
@@ -356,6 +363,9 @@
      width: 80px;
        height: 22px;
    }
    input::-webkit-calendar-picker-indicator {
      opacity: 100;
    }
    .detailbtn{
      background-color:#2e4967;
      text-align: center;
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -9,7 +9,6 @@
            <li @click='tabTaggle("EChartsHour")'>小时数据</li>
            <li @click='tabTaggle("EChartsDate")'>日数据</li>
            <li @click='tabTaggle("ECharts")'>人工数据</li>
        </ul>
        <div id="title" >
            <span><strong> &nbsp; </strong></span>
            <span >正常</span>
@@ -19,6 +18,7 @@
            <span >超标</span>
            <span ></span>
        </div>
        </ul>
        <component :is="currentTab" v-bind="$attrs"></component>
    </div>
</template>
src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
@@ -1,53 +1,31 @@
<template>
  <div class="PublicDetailedList">
    <el-table :data="tableData" max-height="600px" border  >
    <el-table :data="tableData" max-height="500px" border>
      <el-scrollbar style="height: 50vh">
      <el-table-column prop="OnLineMonEmissPointName" label="排放点"></el-table-column>
          <el-table-column prop="MonTimeStr" label="监测时间"></el-table-column>
          <el-table-column  label="氮氧化物">
              <el-table-column prop="MonQty"  width="70">
                <template slot="header">浓度 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="OrglQty"  width="70">
                <template slot="header">折算值 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="ConvertQty"  width="70">
                <template slot="header">标准值 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="EmissQty"  width="70">
                <template slot="header">排放量 <i>(kg/h)</i></template>
              </el-table-column>
        <el-table-column prop="MonQty" label="浓度(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="OrglQty" label="折算值(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="ConvertQty" label="标准值(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="EmissQty" label="排放量(kg/h)" width="60"></el-table-column>
          </el-table-column>
          <el-table-column label="二氧化硫">
              <el-table-column prop="MonQty"  width="60">
                <template slot="header">浓度 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="OrglQty"  width="60">
                <template slot="header">折算值 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="ConvertQty"  width="60">
                <template slot="header">标准值 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="EmissQty"  width="60">
                <template slot="header">排放量 <i>(kg/h)</i></template>
              </el-table-column>
        <el-table-column prop="MonQty" label="浓度(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="OrglQty" label="折算值(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="ConvertQty" label="标准值(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="EmissQty" label="排放量(kg/h)" width="60"></el-table-column>
          </el-table-column>
          <el-table-column  label="烟尘">
              <el-table-column prop="MonQty"  width="60">
                <template slot="header">浓度 <i>(mg/m³)</i></template>
        <el-table-column prop="MonQty" label="浓度(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="OrglQty" label="折算值(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="ConvertQty" label="标准值(mg/m³)" width="60"></el-table-column>
        <el-table-column prop="EmissQty" label="排放量(kg/h)" width="60"></el-table-column>
              </el-table-column>
              <el-table-column prop="OrglQty"  width="60">
                <template slot="header">折算值 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="ConvertQty"  width="60">
                <template slot="header">标准值 <i>(mg/m³)</i></template>
              </el-table-column>
              <el-table-column prop="EmissQty" label="排放量" width="60">
                <template slot="header">排放量 <i>(kg/h)</i></template>
              </el-table-column>
          </el-table-column>
          <el-table-column  label="废气流量" width="100">
      <el-table-column  label="废气流量">
              <el-table-column prop="StdValue" label="气量"></el-table-column>
          </el-table-column>
          <el-table-column prop="OnLineMonEmissPointName" label="排放点"></el-table-column>
      </el-scrollbar>
    </el-table>
  </div>
</template>
@@ -77,7 +55,5 @@
<style scoped>
.PublicDetailedList{
  /*height: 100%*/
  .gutter{display: none !important;width: 0 !important}
}
</style>
src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -56,8 +56,8 @@
      value: '',
      getWasteGasDetails: [],
      getWasteWaterMonitoringDetails: [],
      getQueryOnlineMonHourData: [],
      getQueryOnlineMonDateData: []
      getQueryOnlineMonData: []
      // getGasQueryOnlineMonData: []
    }
  },
  methods: {
@@ -75,10 +75,11 @@
      this.flag = true
      this.value = value
    },
    setGasData (data, dataDetails, value) {
    setGasData (data, dataDetails, GasHourData, value) {
      this.setWasteGasdata = data
      this.getWasteGasDetails = dataDetails
      // console.log(dataDetails)
      this.getQueryOnlineMonData = GasHourData
      console.log(this.getQueryOnlineMonData)
      this.displayContentTitle = data.Name
      this.flag = true
      this.value = value
@@ -86,12 +87,9 @@
    setWaterData (dataWater, dataDetail, hourData, dateData, value) {
      this.setWasteWaterdata = dataWater
      // console.log(data)
      this.getWasteWaterMonitoringDetails = dataDetail // 明细表数据
      // console.log(dataDetail)
      this.getQueryOnlineMonHourData = hourData // 小时数据
      this.getQueryOnlineMonData = hourData
      // console.log(drawData)
      this.getQueryOnlineMonDateData = dateData // 日数据
      // console.log(dateData)
      this.getWasteWaterMonitoringDetails = dataDetail
      this.displayContentTitle = dataWater.Name
      this.flag = true
      this.value = value
src/components/LayerController/logic/WasteGas.js
@@ -59,21 +59,20 @@
    const dataValue = {
      StoragePlaceId: e.layer.options.test.StoragePlaceId
    }
    // const GasOnlinedata = {
    //   onLineMonEmissPointId: 23,
    //   monItemId: 28,
    //   emissTypeld: 2,
    //   beginTime: 2020/0o4/0o6 15:13:20,
    //   endTime=2020/0o4/0o7;15:13:20,
    //   dataType:1
    // }
    // const Mondata = await mapApi.getWasteGasMonData(GasOnlinedata)
    // console.log(Mondata)
    const GasOnlinedata = {
      onLineMonEmissPointId: '23',
      monItemId: '28,31',
      beginTime: '2020-04-06 15:13:20',
      endTime: '2020-04-07 15:13:20',
      dataType: '1'
    }
    const Mondata = await mapApi.getWasteGasMonData(GasOnlinedata)
    console.log(Mondata)
    const result = await mapApi.getWasteGasDetails(dataValue)
    // console.log(result.Result.DataInfo)
    const PublicBounced = window.Vue.extend(publicBounced)
    const instance = new PublicBounced()
    instance.setGasData(e.layer.options.test, result.Result.DataInfo, 'feiqi')
    instance.setGasData(e.layer.options.test, result.Result.DataInfo, Mondata.Result.DataInfo, 'feiqi')
    // console.log(e.layer.options.test)
    instance.$mount()
    document.body.appendChild(instance.$el)