管道基础大数据平台系统开发-【前端】-新系統界面
src/views/datamanage/dataStatistics.vue
@@ -1,14 +1,15 @@
<template>
  <div class="dataStatistics">
    <My-bread
      :list="[
    <My-bread :list="[
        `${$t('dataManage.dataManage')}`,
        `${$t('dataManage.dataStatistics')}`,
      ]"
    ></My-bread>
      ]"></My-bread>
    <el-divider />
    <div class="contentBox">
      <div class="content_Left subpage_Div">
      <div
        class="content_Left subpage_Div"
        style="border: 1px solid #dcdfe6;"
      >
        <el-tree
          :data="treeData"
          @node-click="handleNodeClick"
@@ -19,46 +20,104 @@
        >
        </el-tree>
      </div>
      <div class="content_Right subpage_Div">
        <div>
          <el-button
            icon="el-icon-c-scale-to-original"
            @click="setCountFlagChange(1)"
          ></el-button>
          <el-button
            icon="el-icon-pie-chart"
            @click="setCountFlagChange(2)"
          ></el-button>
          <el-button
            icon="el-icon-download"
            @click="setCountFlagChange(3)"
          ></el-button>
          <el-divider />
      <div
        class="content_Right subpage_Div"
        style="border: 1px solid #dcdfe6;"
      >
        <div
          class="iquery subpage_Div"
          style="padding-bottom: 14px"
        >
          <div>
            <el-button
              icon="el-icon-c-scale-to-original"
              size="small"
              type="warning"
              @click="setCountFlagChange(1)"
            >{{ $t("shuJuGuanLi.butten.Report") }}</el-button>
            <el-button
              icon="el-icon-pie-chart"
              size="small"
              type="primary"
              @click="setCountFlagChange(2)"
            >{{ $t("shuJuGuanLi.butten.Histogram") }}</el-button>
            <el-button
              icon="el-icon-download"
              size="small"
              type="success"
              @click="setCountFlagChange(3)"
            >{{ $t("shuJuGuanLi.butten.Download") }}</el-button>
          </div>
        </div>
        <div class="contentTable" v-show="setCountFlag">
        <div class="dividing-line"></div>
        <div
          class="contentTable subpage_Div"
          v-show="setCountFlag"
        >
          <el-table
            :data="tableData"
            style="width: 100%"
            height="calc(100% - 50px)"
            height="calc(100% - 1px)"
            ref="table"
          >
            <el-table-column
              v-if="queryData.value == 'countServices'"
              prop="m1"
              key="1"
              align="center"
              :label="$t('dataManage.dataStaticObj.type1')"
            >
            </el-table-column>
            <el-table-column
              prop="m2"
              v-if="queryData.value == 'countServices'"
              prop="count"
              key="2"
              align="center"
              :label="$t('dataManage.dataStaticObj.type2')"
            >
            </el-table-column>
            <el-table-column
              prop="count"
              v-if="queryData.value == 'countSizes'"
              prop="m1"
              key="3"
              align="center"
              :label="$t('dataManage.dataStaticObj.type3')"
            >
            </el-table-column>
            <el-table-column
              v-if="queryData.value == 'countSizes'"
              prop="count"
              key="4"
              align="center"
              :label="$t('dataManage.dataStaticObj.type4')"
              :formatter="formatterColumn"
            >
            </el-table-column>
            <el-table-column
              v-if="queryData.value == 'countOperates'"
              prop="m1"
              key="5"
              align="center"
              :label="$t('dataManage.dataStaticObj.type5')"
            >
            </el-table-column>
            <el-table-column
              v-if="queryData.value == 'countOperates'"
              prop="count"
              key="6"
              align="center"
              :label="$t('dataManage.dataStaticObj.type7')"
            >
            </el-table-column>
            <!-- <el-table-column
              v-if="queryData.value == 'countOperates'"
              prop="m2"
              align="center"
              :label="$t('dataManage.dataStaticObj.type6')"
            >
            </el-table-column> -->
          </el-table>
          <!-- <div class="pagination_box">
            <el-pagination
@@ -73,7 +132,11 @@
            </el-pagination>
          </div> -->
        </div>
        <div id="contentEchart" class="contentTable" v-show="!setCountFlag">
        <div
          id="contentEchart subpage_Div"
          class="contentTable"
          v-show="!setCountFlag"
        >
          <div id="chart_11"></div>
        </div>
      </div>
@@ -111,9 +174,15 @@
            :formatter="showFormat"
          >
          </el-table-column>
          <el-table-column width="120" :label="$t('common.operate')">
          <el-table-column
            width="120"
            :label="$t('common.operate')"
          >
            <template slot-scope="scope">
              <el-button @click="setDownLoadRow(scope.row)" size="small">
              <el-button
                @click="setDownLoadRow(scope.row)"
                size="small"
              >
                {{ $t("common.download") }}
              </el-button>
            </template>
@@ -190,6 +259,9 @@
    this.setStartDataCount();
  },
  methods: {
    formatterColumn(row, column, cellValue, index) {
      return row.count + "MB";
    },
    setDownLoadRow(rows) {
      var url =
        BASE_URL +
@@ -219,7 +291,7 @@
          this.closeDownLoadFlag();
          done();
        })
        .catch((_) => {});
        .catch((_) => { });
    },
    closeDownLoadFlag() {
      this.showDownLoadFlag = false;
@@ -241,6 +313,7 @@
      }
    },
    async getQueryDownloadData() {
      this.modelData = [];
      this.listData = {
        pageIndex: 1,
        pageSize: 10,
@@ -306,7 +379,7 @@
        tooltip: {
          //提示框组件
          trigger: "axis", //坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用
          axisPointer: { animation: false },
          // axisPointer: { animation: false },
          axisPointer: {
            // 坐标轴指示器,坐标轴触发有效
            type: "line", // 默认为直线,可选为:'line' | 'shadow'
@@ -377,7 +450,7 @@
          startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)],
          endValue:
            dataAxis[
              Math.min(params.dataIndex + zoomSize / 2, data.length - 1)
            Math.min(params.dataIndex + zoomSize / 2, data.length - 1)
            ],
        });
      });
@@ -409,9 +482,10 @@
    },
    //查询统计信息
    async setQueryCountData() {
      var data;
      var data, val;
      if (this.queryData.value == "countServices") {
        data = await dataCount_selectCountServices();
      } else if (this.queryData.value == "countSizes") {
        data = await dataCount_selectCountSizes();
      } else if (this.queryData.value == "countOperates") {
@@ -426,7 +500,20 @@
          data.result[i].count = data.result[i].sizes;
        }
      }
      if (this.queryData.value == "countOperates") {
        for (var i in data.result) {
          if (data.result[i].m2) {
            data.result[i].m1 = data.result[i].m1 + '\\' + data.result[i].m2
          }
        }
      }
      this.tableData = data.result;
      this.$nextTick(() => {
        this.$refs.table.doLayout();
      });
      // this.listData.count = data.count;
    },
  },
@@ -439,6 +526,7 @@
  width: 98%;
  padding: 1%;
  .contentBox {
    padding-top: 10px;
    height: calc(98% - 63px);
    width: 100%;
    display: flex;
@@ -454,9 +542,26 @@
      height: calc(95% - 2px);
      border-radius: 5px;
      padding: 1%;
      .iquery {
        //padding: 1%;
        border-radius: 5px;
        display: flex;
        justify-content: flex-end;
      }
      .contentTable {
        width: 100%;
        height: 84%;
        width: 98%;
        height: 82%;
        padding: 1%;
        border-radius: 5px;
        //margin-top: 1%;
        .el-table,
        .el-table /deep/ .el-table__expanded-cell {
          background-color: transparent !important;
        }
        .el-table /deep/ th,
        .el-table /deep/ tr {
          background-color: transparent !important;
        }
      }
    }
  }