派生自 wuyushui/SewerAndRainNetwork

zhangshuaibao
2021-04-13 22e5d744b28c0df0f115476b44a75d1d46cac228
echarts数据显示功能完善
1个文件已添加
4个文件已修改
617 ■■■■■ 已修改文件
src/components/BaseNav/PublicBounced/GasComponents/EChartsDateWasteWater.vue 225 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/EChartsHourWasteWater.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/EChartsRealWasteWater.vue 213 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/EChartsWasteWaterTable.vue 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/EChartsDateWasteWater.vue
@@ -3,10 +3,9 @@
  <div id="Tab">
    <div class="animation">
      <div class="infomation">
        <span class="grid-content">氮氧化物 :<i>29.93</i>  标准 : 100</span>
        <span class="grid-content">二氧化硫 : <i>17.34</i> 标准 : 50</span>
        <span class="grid-content">烟尘 : <i>6.93</i> 标准 : 30</span>
        <span class="grid-content">废气流量 : <i>120343.18</i></span>
        <span class="grid-content">COD :<i>8.115</i>  标准 : 100</span>
        <span class="grid-content">氨氮 : <i>0.31</i> 标准 : 50</span>
        <span class="grid-content">废水流量 : <i>5191.693848</i></span>
      </div>
    </div>
    <div class="form-echrts">
@@ -15,19 +14,21 @@
          <div class="pickerData">
            <span> 开始时间:</span>
            <span class="pickerTable">
              <el-date-picker  type="datetime"   v-model="value1"></el-date-picker>
             <el-date-picker  type="datetime"   v-model="formInline.timeStart">
             </el-date-picker>
            </span>
          </div>
          <div class="pickerData">
            <span >结束时间:</span>
            <span class="pickerTable">
              <el-date-picker type="datetime"  v-model="value2"></el-date-picker>
              <el-date-picker type="datetime" v-model="formInline.timeEnd">
              </el-date-picker>
            </span>
          </div>
        </div>
        <div>
          采样点数:
          <el-select v-model="formInline.region" placeholder="50">
          <el-select v-model="formInline.region">
            <el-option label="0" value="0"></el-option>
            <el-option label="25" value="25"></el-option>
            <el-option label="50" value="50"></el-option>
@@ -38,7 +39,10 @@
        <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 style="width:5rem;height:2rem;" id="popChart" ref="main">-->
      <div class="boxChart" style="height: 260px">
        <div style="width: 100%;height: 100%;" id="popChart" ref="main">
        </div>
      </div>
    </div>
    <!-- 明细弹框 -->
@@ -49,7 +53,7 @@
               center
               v-dialogDrag
    >
      <div class="el-dialog-div" style="height: 500px">
      <div class="el-dialog-div" style="height: 260px">
        <public-detailed-list v-bind="$attrs"></public-detailed-list>
      </div>
    </el-dialog>
@@ -60,7 +64,7 @@
import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList'
export default {
  name: 'ECharts',
  name: 'EChartsDateWasteWater',
  components: {
    PublicDetailedList
  },
@@ -74,7 +78,9 @@
      value: '',
      formInline: {
        user: '',
        region: ''
        region: '',
        timeStart: '2021-03-14 00:00:00',
        timeEnd: '2021-04-12 00:00:00'
      },
      JsonDateWater: {
        datatype: 1,
@@ -175,7 +181,7 @@
                },
                lineStyle: { // 折线的颜色
                  color: ydatas[i].zxcolor,
                  width: 5
                  width: 4
                },
                borderColor: 'black', // 折点边框的颜色
                label: { // 显示值
@@ -230,7 +236,7 @@
                },
                lineStyle: { // 折线的颜色
                  color: ydatas[i].zxcolor,
                  width: 5
                  width: 4
                },
                borderColor: 'black', // 折点边框的颜色
                label: { // 显示值
@@ -297,7 +303,8 @@
            },
            grid: { // 网格
              top: '20%',
              left: '5%'
              left: '7%',
              bottom: '10%'
            },
            legend: {
              data: legend
@@ -323,11 +330,15 @@
            xAxis: { // x 轴设置
              type: 'category',
              boundaryGap: false,
              nameTextStyle: {
                fontSize: 10
              },
              axisLabel: { // x轴全部显示
                rotate: 20,
                interval: 0,
                textStyle: {
                  color: '#fff'
                  color: '#fff',
                  fontSize: 10
                }
              },
              splitLine: { // 网格垂直线为 虚线
@@ -587,99 +598,99 @@
//    }
//  }
//}
  .grid-content {
    font-size: 8px;
    background-color: #2e4967;
    text-align: center;
    border-radius: 2px;
    margin-right: 10px;
    padding:0 10px
.grid-content{
  font-size: 8px;
  background-color: #2e4967;
  text-align: center;
  border-radius: 2px;
  margin-right: 10px;
  padding:0 10px
}
.infomation {
  padding: 5px 10px;
}
.form-echrts {
  width: 100%;
  border-top: 1px solid #396d83;
  //margin: 10px 10px 10px 10px;
  .from-search{
    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: 3px;
        }
      }
    }
    /deep/.el-date-editor--datetime{
      width: 100%;
    }
    /deep/.el-input__inner{
      position: relative;
      width:140px;
      background-color: #2e4967;
      color: #ffffff;
      font-size: 12px;
      height: 24px;
      padding: 0;
      border-color:#00fff6;
      text-align: center;
      //padding-left:20px ;
      //padding: 0!important;
    }
    /deep/.el-input__icon{
      display: block;
      width: 140px;
      height: 22px;
      line-height: 22px;
      cursor: pointer;
      font-size: 0;
    }
    .echatsInput{
      color: #00ffff;
      background-color: #2e4967;
      border: none;
      border-radius: 6px;
      width: 80px;
      height: 22px;
      text-align: center;
    }
    input::-webkit-calendar-picker-indicator {
      opacity: 100;
    }
    .detailbtn{
      background-color:#2e4967;
      text-align: center;
      padding: 0 7px;
      line-height: 24px;
      border-radius: 4px;
      margin-right: 6px;
    }
    .detailbtn:hover{
      box-shadow: 0 0 0.03rem #fff700 !important;
      color:#fff700 !important;
      cursor: pointer;
    }
  }
.animation {
  //width: 600px;
  //height: 0.06rem;
  .infomation {
    padding: 5px 10px;
  .el-dialog-div {
    //height: 50vh!important;
    overflow: auto;
    //overflow: hidden;
  }
  #popChart {
    margin: 0;
    padding: 0;
  }
}
    .form-echrts {
        width: 100%;
        border-top: 1px solid #396d83;
        //margin: 10px 10px 10px 10px;
        .from-search{
          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: 3px;
                    }
                }
            }
            /deep/.el-date-editor--datetime{
                width: 100%;
            }
            /deep/.el-input__inner{
                position: relative;
                width:140px;
                background-color: #2e4967;
                color: #fff;
                font-size: 12px;
                height: 24px;
                padding: 0;
                border-color:#00fff6;
              text-align: center;
                //padding-left:20px ;
                //padding: 0!important;
            }
          /deep/.el-input__icon{
            display: block;
            width: 140px;
            height: 22px;
            line-height: 22px;
            cursor: pointer;
            font-size: 0;
          }
            .echatsInput{
              color: #00ffff;
              background-color: #2e4967;
              border: none;
              border-radius: 6px;
              width: 80px;
              height: 22px;
            }
          input::-webkit-calendar-picker-indicator {
            opacity: 100;
          }
            .detailbtn{
                background-color:#2e4967;
                text-align: center;
                padding: 0 7px;
                line-height: 20px;
                border-radius: 4px;
                margin-right: 6px;
            }
        }
        .el-dialog-div {
            //height: 50vh!important;
            overflow: auto;
            //overflow: hidden;
        }
        #echarts {
            margin: 0;
            padding: 0;
            //height: 3rem;
            //border: 1px solid #396d83;
            //margin: 10px 10px 10px 10px;
        }
    }
</style>
src/components/BaseNav/PublicBounced/GasComponents/EChartsHourWasteWater.vue
@@ -14,17 +14,14 @@
                    <div class="pickerData">
                        <span> 开始时间:</span>
                        <span class="pickerTable">
                          <el-date-picker  type="datetime"   v-model="formInline.timeStart">
                          <el-date-picker type="datetime" v-model="formInline.timeStart">
                      </el-date-picker>
                      </span>
                    </div>
                    <div class="pickerData">
                        <span >结束时间:</span>
                        <span class="pickerTable">
                        <el-date-picker
                                type="datetime"
                                v-model="formInline.timeEnd"
                        >
                        <el-date-picker type="datetime" v-model="formInline.timeEnd">
                      </el-date-picker>
                      </span>
                    </div>
@@ -53,7 +50,7 @@
                   center
                   v-dialogDrag
        >
            <div class="el-dialog-div" style="height: 500px">
            <div class="el-dialog-div" style="height: 260px">
                <public-detailed-list v-bind="$attrs"></public-detailed-list>
            </div>
        </el-dialog>
@@ -78,8 +75,8 @@
      value: '',
      formInline: {
        region: '',
        timeStart: '',
        timeEnd: ''
        timeStart: '2021-04-12 17:00:00',
        timeEnd: '2021-04-13 16:00:00'
      },
      myChart: null,
      JsonHourWater: {
@@ -178,7 +175,7 @@
                },
                lineStyle: { // 折线的颜色
                  color: ydatas[i].zxcolor,
                  width: 5
                  width: 4
                },
                borderColor: 'black', // 折点边框的颜色
                label: { // 显示值
@@ -233,7 +230,7 @@
                },
                lineStyle: { // 折线的颜色
                  color: ydatas[i].zxcolor,
                  width: 5
                  width: 4
                },
                borderColor: 'black', // 折点边框的颜色
                label: { // 显示值
@@ -299,10 +296,14 @@
      },
      grid: { // 网格
        top: '20%',
        left: '5%'
        left: '7%',
        bottom: '10%'
      },
      legend: {
        data: legend
        data: legend,
        textStyle: {
          color: '#fff'
        }
      },
      dataZoom: [{
        type: 'inside',
@@ -329,7 +330,8 @@
          rotate: 20,
          interval: 0,
          textStyle: {
            color: '#fff'
            color: '#fff',
            fontSize: 10
          }
        },
        splitLine: { // 网格垂直线为 虚线
src/components/BaseNav/PublicBounced/GasComponents/EChartsRealWasteWater.vue
@@ -3,10 +3,10 @@
  <div id="Tab">
    <div class="animation">
      <div class="infomation">
        <span class="grid-content">氮氧化物 :<i>29.93</i>  标准 : 100</span>
        <span class="grid-content">二氧化硫 : <i>17.34</i> 标准 : 50</span>
        <span class="grid-content">烟尘 : <i>6.93</i> 标准 : 30</span>
        <span class="grid-content">废气流量 : <i>120343.18</i></span>
        <span class="grid-content">COD : <i>11.24385</i> 标准 : 100</span>
        <span class="grid-content">氮氧 :<i>0.1889014</i>  标准 : 50</span>
        <span class="grid-content">总磷 : <i>0.03812287</i> 标准 : 30</span>
        <span class="grid-content">废水流量 : <i>32.16287</i></span>
      </div>
    </div>
    <div class="form-echrts">
@@ -15,19 +15,21 @@
          <div class="pickerData">
            <span> 开始时间:</span>
            <span class="pickerTable">
              <el-date-picker  type="datetime"   v-model="value1"></el-date-picker>
              <el-date-picker type="datetime" v-model="formInline.timeStart">
              </el-date-picker>
            </span>
          </div>
          <div class="pickerData">
            <span >结束时间:</span>
            <span class="pickerTable">
              <el-date-picker type="datetime"  v-model="value2"></el-date-picker>
              <el-date-picker type="datetime" v-model="formInline.timeEnd">
              </el-date-picker>
            </span>
          </div>
        </div>
        <div>
          采样点数:
          <el-select v-model="formInline.region" placeholder="50">
          <el-select v-model="formInline.region" placeholder="25">
            <el-option label="0" value="0"></el-option>
            <el-option label="25" value="25"></el-option>
            <el-option label="50" value="50"></el-option>
@@ -38,7 +40,8 @@
        <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 class="el-dialog-div" style="height: 260px">
        <public-detailed-list v-bind="$attrs"></public-detailed-list>
      </div>
    </div>
    <!-- 明细弹框 -->
@@ -77,8 +80,9 @@
      value: '',
      days: dayjs(new Date()).format('YYYYMMDDHHmmss'),
      formInline: {
        user: '',
        region: ''
        region: '',
        timeStart: '2021-04-13 12:47:18',
        timeEnd: '2021-04-13 12:52:18'
      },
      JsonRealWasteWater: {
        id: 'mycharteff_second ',
@@ -271,7 +275,7 @@
      this.DrawRealTimeDateChart(this.JsonRealWasteWater.id, this.JsonRealWasteWater.title, this.JsonRealWasteWater.legend, this.JsonRealWasteWater.ydatas, this.JsonRealWasteWater.yname)
    },
    DrawRealTimeDateChart (id, title, legend, ydatas, yname) {
      this.RealTimeChart = this.$echarts.init(this.$refs.echarts)
      this.RealTimeChart = this.$echarts.init(this.$refs.main)
      var serLists = []
      for (var i = 0; i < ydatas.length; i++) {
        // var zdcbcolor = ydatas[i].zdcbcolor
@@ -439,6 +443,9 @@
        xAxis: { // x 轴设置
          type: 'time',
          boundaryGap: false,
          nameTextStyle: {
            fontSize: 15
          },
          axisLabel: { // x轴全部显示
            // rotate: 30,
            margin: 6,
@@ -632,99 +639,99 @@
//    }
//  }
//}
  .grid-content {
    font-size: 8px;
    background-color: #2e4967;
    text-align: center;
    border-radius: 2px;
    margin-right: 10px;
    padding:0 10px
.grid-content{
  font-size: 8px;
  background-color: #2e4967;
  text-align: center;
  border-radius: 2px;
  margin-right: 10px;
  padding:0 10px
}
.infomation {
  padding: 5px 10px;
}
.form-echrts {
  width: 100%;
  border-top: 1px solid #396d83;
  //margin: 10px 10px 10px 10px;
  .from-search{
    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: 3px;
        }
      }
    }
    /deep/.el-date-editor--datetime{
      width: 100%;
    }
    /deep/.el-input__inner{
      position: relative;
      width:140px;
      background-color: #2e4967;
      color: #ffffff;
      font-size: 12px;
      height: 24px;
      padding: 0;
      border-color:#00fff6;
      text-align: center;
      //padding-left:20px ;
      //padding: 0!important;
    }
    /deep/.el-input__icon{
      display: block;
      width: 140px;
      height: 22px;
      line-height: 22px;
      cursor: pointer;
      font-size: 0;
    }
    .echatsInput{
      color: #00ffff;
      background-color: #2e4967;
      border: none;
      border-radius: 6px;
      width: 80px;
      height: 22px;
      text-align: center;
    }
    input::-webkit-calendar-picker-indicator {
      opacity: 100;
    }
    .detailbtn{
      background-color:#2e4967;
      text-align: center;
      padding: 0 7px;
      line-height: 24px;
      border-radius: 4px;
      margin-right: 6px;
    }
    .detailbtn:hover{
      box-shadow: 0 0 0.03rem #fff700 !important;
      color:#fff700 !important;
      cursor: pointer;
    }
  }
.animation {
  //width: 600px;
  //height: 0.06rem;
  .infomation {
    padding: 5px 10px;
  .el-dialog-div {
    //height: 50vh!important;
    overflow: auto;
    //overflow: hidden;
  }
  #echarts {
    margin: 0;
    padding: 0;
  }
}
    .form-echrts {
        width: 100%;
        border-top: 1px solid #396d83;
        //margin: 10px 10px 10px 10px;
        .from-search{
          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: 3px;
                    }
                }
            }
            /deep/.el-date-editor--datetime{
                width: 100%;
            }
            /deep/.el-input__inner{
                position: relative;
                width:140px;
                background-color: #2e4967;
                color: #fff;
                font-size: 12px;
                height: 24px;
                padding: 0;
                border-color:#00fff6;
              text-align: center;
                //padding-left:20px ;
                //padding: 0!important;
            }
          /deep/.el-input__icon{
            display: block;
            width: 140px;
            height: 22px;
            line-height: 22px;
            cursor: pointer;
            font-size: 0;
          }
            .echatsInput{
              color: #00ffff;
              background-color: #2e4967;
              border: none;
              border-radius: 6px;
              width: 80px;
              height: 22px;
            }
          input::-webkit-calendar-picker-indicator {
            opacity: 100;
          }
            .detailbtn{
                background-color:#2e4967;
                text-align: center;
                padding: 0 7px;
                line-height: 20px;
                border-radius: 4px;
                margin-right: 6px;
            }
        }
        .el-dialog-div {
            //height: 50vh!important;
            overflow: auto;
            //overflow: hidden;
        }
        #echarts {
            margin: 0;
            padding: 0;
            //height: 3rem;
            //border: 1px solid #396d83;
            //margin: 10px 10px 10px 10px;
        }
    }
</style>
src/components/BaseNav/PublicBounced/GasComponents/EChartsWasteWaterTable.vue
New file
@@ -0,0 +1,140 @@
<template>
<!--  <el-table :data="tableData" style="width:730px" height="200px">-->
<!--    <el-table-column v-for="(item, index) in tableLabel" :key="index" :prop="item.prop"-->
<!--                     :label="item.label">-->
<!--       <el-table-column v-for="(item1, index1) in item.label" :key="index1" :prop="item1.prop" :label="item1.label">-->
<!--      </el-table-column>-->
<!--    </el-table-column>-->
<!--  </el-table>-->
  <el-table
      :data="tableData"
      style="width: 100%;height: 100%">
    <el-table-column
        prop="tableData.LabMonTime"
        label="检测时间">
    </el-table-column>
    <el-table-column
        label="COD">
      <el-table-column
          prop="tableData.MonItemId"
          label="监测值">
      </el-table-column>
      <el-table-column
          prop="tableData.LabMonTime"
          label="标准值">
      </el-table-column>
    </el-table-column>
    <el-table-column
        label="PH">
      <el-table-column
          prop="tableData.MonItemId"
          label="监测值">
      </el-table-column>
      <el-table-column
          prop="tableData.LabMonTime"
          label="标准值">
      </el-table-column>
    </el-table-column>
    <el-table-column
        label="BOD5">
      <el-table-column
          prop="tableData.MonItemId"
          label="监测值">
      </el-table-column>
      <el-table-column
          prop="tableData.LabMonTime"
          label="标准值">
      </el-table-column>
    </el-table-column>
    <el-table-column
        label="氨氮">
      <el-table-column
          prop="tableData.MonItemId"
          label="监测值">
      </el-table-column>
      <el-table-column
          prop="tableData.LabMonTime"
          label="标准值">
      </el-table-column>
    </el-table-column>
  </el-table>
</template>
<script>
export default {
  name: 'EChartsTable',
  data () {
    return {
      // tableLabel: [
      //   {
      //     label: '检测时间',
      //     prop: 'StoragePlaceId'
      //   },
      //   {
      //     label: '二氧化硫',
      //     prop: [
      //       {
      //         label: '监测值',
      //         NOMonitor: ''
      //       },
      //       {
      //         label: '标准值',
      //         NOtandard: ''
      //       }]
      //   },
      //   {
      //     label: '氮氧化物',
      //     prop: [
      //       {
      //         label: '监测值',
      //         NOMonitor: ''
      //       },
      //       {
      //         label: '标准值',
      //         NOtandard: ''
      //       }]
      //   },
      //   {
      //     label: '烟尘',
      //     prop: [
      //       {
      //         label: '监测值',
      //         NOMonitor: ''
      //       },
      //       {
      //         label: '标准值',
      //         NOtandard: ''
      //       }]
      //   },
      //   {
      //     label: '黑度',
      //     prop: [
      //       {
      //         label: '监测值',
      //         NOMonitor: ''
      //       },
      //       {
      //         label: '标准值',
      //         NOtandard: ''
      //       }]
      //   }
      // ],
      tableData: []
    }
  },
  created () {
    this.$nextTick(() => {
      this.$attrs.ManualData.forEach(item => {
        this.tableData = [...item]
      })
      this.tableData.LabMonTime = 100
      console.log(this.tableData)
    })
  }
}
</script>
<style scoped>
</style>
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -14,7 +14,7 @@
            <li @click='tabTaggle("EChartsRealWasteWater")'>实时数据</li>
            <li @click='tabTaggle("EChartsHourWasteWater")'>小时数据</li>
            <li @click='tabTaggle("EChartsDateWasteWater")'>日数据</li>
            <li @click='tabTaggle("")'>人工数据</li>
            <li @click='tabTaggle("EChartsWasteWaterTable")'>人工数据</li>
        </ul>
        <div class="legend" >
            <span >正常</span>
@@ -29,14 +29,15 @@
</template>
<script>
  import ECharts from './Echarts'
import ECharts from './Echarts'
import EChartsHour from './EChartsHour'
import EChartsDate from './EChartsDate'
import EChartsTable from '@components/BaseNav/PublicBounced/GasComponents/EChartsTable'
import EChartsTable from './EChartsTable'
import EChartsRealWasteWater from './EChartsRealWasteWater'
import EChartsHourWasteWater from './EChartsHourWasteWater'
import EChartsDateWasteWater from './EChartsDateWasteWater'
import EChartsWasteWaterTable from './EChartsWasteWaterTable'
export default {
  name: 'PublicChart',
@@ -47,8 +48,8 @@
    EChartsTable,
    EChartsHourWasteWater,
    EChartsDateWasteWater,
    EChartsRealWasteWater
    EChartsRealWasteWater,
    EChartsWasteWaterTable
  },
  data () {
    return {