From 2aba5be94bcbb03bb5ec13d121fe945c2f8dce38 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 13 六月 2023 14:01:32 +0800
Subject: [PATCH] 发布管理,数据统计

---
 src/views/datamanage/dataStatistics.vue |  301 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 228 insertions(+), 73 deletions(-)

diff --git a/src/views/datamanage/dataStatistics.vue b/src/views/datamanage/dataStatistics.vue
index bbf3498..852dc7b 100644
--- a/src/views/datamanage/dataStatistics.vue
+++ b/src/views/datamanage/dataStatistics.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="dataStatistics">
+  <div class="box_div dataStatistics">
     <My-bread :list="[
         `${$t('dataManage.dataManage')}`,
         `${$t('dataManage.dataStatistics')}`,
@@ -25,28 +25,66 @@
         style="border: 1px solid #dcdfe6;"
       >
         <div
-          class="iquery subpage_Div"
+          class=" subpage_Div iquery"
           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>
+
+            <el-form
+              :inline="true"
+              :model="tjlxData"
+              class="demo-form-inline"
+            >
+              <el-form-item
+                label="缁熻绫诲瀷"
+                v-show="!setCountFlag && tjlxData.flag"
+              >
+                <el-select
+                  v-model="tjlxData.region"
+                  size="small"
+                  @change="setTjlxDataChange"
+                >
+
+                  <el-option
+                    label="鏁版嵁瀛樺偍閲�"
+                    value="sjccl"
+                  >
+                  </el-option>
+                  <el-option
+                    label="鏁版嵁鏉℃暟"
+                    value="sjts"
+                  >
+
+                  </el-option>
+
+                </el-select>
+              </el-form-item>
+              <el-form-item>
+                <el-button
+                  icon="el-icon-c-scale-to-original"
+                  size="small"
+                  type="warning"
+                  @click="setCountFlagChange(1)"
+                >{{ $t("shuJuGuanLi.butten.Report") }}</el-button>
+              </el-form-item>
+              <el-form-item>
+                <el-button
+                  icon="el-icon-pie-chart"
+                  size="small"
+                  type="primary"
+                  @click="setCountFlagChange(2)"
+                >{{ $t("shuJuGuanLi.butten.Histogram") }}</el-button>
+              </el-form-item>
+              <el-form-item>
+                <el-button
+                  icon="el-icon-download"
+                  size="small"
+                  type="success"
+                  @click="setCountFlagChange(3)"
+                >{{ $t("shuJuGuanLi.butten.Download") }}</el-button>
+              </el-form-item>
+            </el-form>
+
           </div>
         </div>
         <div class="dividing-line"></div>
@@ -86,14 +124,21 @@
             </el-table-column>
             <el-table-column
               v-if="queryData.value == 'countSizes'"
-              prop="count"
+              prop="sizes"
               key="4"
               align="center"
               :label="$t('dataManage.dataStaticObj.type4')"
               :formatter="formatterColumn"
             >
             </el-table-column>
-
+            <el-table-column
+              v-if="queryData.value == 'countSizes'"
+              prop="count"
+              key="4"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type8')"
+            >
+            </el-table-column>
             <el-table-column
               v-if="queryData.value == 'countOperates'"
               prop="m1"
@@ -110,27 +155,59 @@
               :label="$t('dataManage.dataStaticObj.type7')"
             >
             </el-table-column>
-
-            <!-- <el-table-column
-              v-if="queryData.value == 'countOperates'"
-              prop="m2"
+            <el-table-column
+              v-if="queryData.value == 'countSizesByType'"
+              prop="m1"
+              key="3"
               align="center"
-              :label="$t('dataManage.dataStaticObj.type6')"
+              :label="$t('common.fileType')"
             >
-            </el-table-column> -->
+            </el-table-column>
+            <el-table-column
+              v-if="queryData.value == 'countSizesByType'"
+              prop="sizes"
+              key="4"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type4')"
+              :formatter="formatterColumn"
+            >
+            </el-table-column>
+            <el-table-column
+              v-if="queryData.value == 'countSizesByType'"
+              prop="count"
+              key="4"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type8')"
+            >
+            </el-table-column>
+
+            <el-table-column
+              v-if="queryData.value == 'countSizesByPrj'"
+              prop="m1"
+              key="3"
+              align="center"
+              :label="$t('dataManage.projectObj.projname')"
+            >
+            </el-table-column>
+            <el-table-column
+              v-if="queryData.value == 'countSizesByPrj'"
+              prop="sizes"
+              key="4"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type4')"
+              :formatter="formatterColumn"
+            >
+            </el-table-column>
+            <el-table-column
+              v-if="queryData.value == 'countSizesByPrj'"
+              prop="count"
+              key="4"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type8')"
+            >
+            </el-table-column>
           </el-table>
-          <!-- <div class="pagination_box">
-            <el-pagination
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
-              :current-page="listData.pageIndex"
-              :page-sizes="[10, 20, 50, 100]"
-              :page-size="listData.pageSize"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="listData.count"
-            >
-            </el-pagination>
-          </div> -->
+
         </div>
         <div
           id="contentEchart subpage_Div"
@@ -209,6 +286,8 @@
   dataCount_selectCountServices,
   dataCount_selectCountSizes,
   dataCount_downloadReport,
+  dataCount_countSizesByType,
+  dataCount_countSizesByPrj
 } from "../../api/api.js";
 export default {
   name: "DataStatistics",
@@ -217,15 +296,19 @@
     return {
       treeData: [
         {
-          id: 1,
-          label: "鏈嶅姟璋冪敤閲忕粺璁�",
-          value: "countServices",
+          id: 5,
+          label: "椤圭洰缁熻鏁版嵁",
+          value: "countSizesByPrj",
           children: [],
-        },
-        {
+        }, {
           id: 2,
-          label: "鏁版嵁閲忕粺璁�",
+          label: "鍗曚綅鏁版嵁缁熻",
           value: "countSizes",
+          children: [],
+        }, {
+          id: 4,
+          label: "鏁版嵁鏍煎紡缁熻",
+          value: "countSizesByType",
           children: [],
         },
         {
@@ -233,9 +316,18 @@
           label: "鐢ㄦ埛娴侀噺缁熻",
           value: "countOperates",
           children: [],
+        }, {
+          id: 1,
+          label: "鏈嶅姟璋冪敤閲忕粺璁�",
+          value: "countServices",
+          children: [],
         },
-      ],
 
+      ],
+      tjlxData: {
+        region: 'sjccl',
+        flag: false,
+      },
       defaultProps: {
         children: "children",
         label: "label",
@@ -250,17 +342,22 @@
       tableData: [],
       modelData: [],
       queryData: null,
-      setCountFlag: true,
+      setCountFlag: false,
       option: null,
       showDownLoadFlag: false,
+
     };
   },
   mounted() {
     this.setStartDataCount();
   },
   methods: {
+    setTjlxDataChange() {
+      this.showCountEchart()
+    },
     formatterColumn(row, column, cellValue, index) {
-      return row.count + "MB";
+
+      return (row.sizes / 1024).toFixed(6) + "GB"
     },
     setDownLoadRow(rows) {
       var url =
@@ -336,8 +433,8 @@
         dom.removeAttribute("_echarts_instance_"); // 绉婚櫎瀹瑰櫒涓婄殑 _echarts_instance
       }
       var resizeMainContainer = function () {
-        dom.style.width = window.innerWidth * 0.65 + "px";
-        dom.style.height = window.innerHeight * 0.6 + "px";
+        dom.style.width = window.innerWidth * 0.75 + "px";
+        dom.style.height = window.innerHeight * 0.75 + "px";
       };
       //璁剧疆div瀹瑰櫒楂樺
       resizeMainContainer();
@@ -348,24 +445,41 @@
 
       var app = {};
       let dataAxis = [];
+      let yMax = 0;
+      this.option = {}
 
       let data = [];
-      let yMax = 0;
-      for (var i in this.tableData) {
-        if (this.tableData[i].count > yMax) {
-          yMax = this.tableData[i].count;
+      window.sjName = this.queryData.value
+      window.sjType = this.tjlxData.region
+      if (sjName == 'countServices' || sjName == 'countOperates') {
+        for (var i in this.tableData) {
+          if (this.tableData[i].count > yMax) {
+            yMax = this.tableData[i].count;
+          }
+          data.push(this.tableData[i].count);
+          var m1 = this.tableData[i].m1;
+          dataAxis.push(m1);
         }
+        debugger
+      } else {
+        for (var i in this.tableData) {
+          if (this.tableData[i].count > yMax) {
+            yMax = this.tableData[i].count;
+          }
+          if (sjType == 'sjts') {
+            data.push(this.tableData[i].count);
+          } else if (sjType == 'sjccl') {
+            data.push((this.tableData[i].sizes / 1024).toFixed(6));
 
-        data.push(this.tableData[i].count);
-        var m1 = this.tableData[i].m1;
-        if (this.tableData[i].m2 != null) {
-          m1 += "_" + this.tableData[i].m2;
+          }
+          var m1 = this.tableData[i].m1;
+          dataAxis.push(m1);
         }
-        dataAxis.push(m1);
       }
 
       yMax = yMax + 10;
       let dataShadow = [];
+
       for (let i = 0; i < data.length; i++) {
         dataShadow.push(yMax);
       }
@@ -385,7 +499,21 @@
             type: "line", // 榛樿涓虹洿绾匡紝鍙�変负锛�'line' | 'shadow'
           },
 
-          formatter: " {b} : <br/>缁熻閲� :  {c}",
+          formatter: function (params) {
+            var p_name = params[0].axisValue;
+            var p_val;
+            if (sjName == 'countServices' || sjName == 'countOperates') {
+              p_val = p_name + '<br/>璁块棶娆℃暟  锛�' + params[0].data + '娆�'
+
+            } else {
+              if (sjType == 'sjts') {
+                p_val = p_name + '<br/>鏁版嵁鏉℃暟:' + params[0].data + '鏉�'
+              } else {
+                p_val = p_name + '<br/>鏁版嵁瀛樺偍閲�:' + params[0].data + 'GB'
+              }
+            }
+            return p_val;
+          },
         },
         xAxis: {
           data: dataAxis,
@@ -402,6 +530,7 @@
           z: 10,
         },
         yAxis: {
+          name: name,
           axisLine: {
             show: false,
           },
@@ -441,6 +570,9 @@
           },
         ],
       };
+
+
+
       // Enable data zoom when user click bar.
       const zoomSize = 6;
       myChart.on("click", function (params) {
@@ -470,18 +602,23 @@
       });
       this.listData.code = this.queryData.value;
       this.setQueryCountData();
+
     },
     //鏍戠偣鍑讳簨浠�
     handleNodeClick(data, node, prop) {
-      this.setCountFlag = true;
+      this.setCountFlag = false;
       this.queryData = data;
       this.listData.code = data.value;
       this.listData.pageIndex = 1;
       this.listData.pageSize = 10;
       this.setQueryCountData();
     },
+    handleIsopenSelect() {
+      this.$forceUpdate()
+    },
     //鏌ヨ缁熻淇℃伅
     async setQueryCountData() {
+      this.tjlxData.region = 'sjccl';
       var data, val;
       if (this.queryData.value == "countServices") {
         data = await dataCount_selectCountServices();
@@ -490,16 +627,29 @@
         data = await dataCount_selectCountSizes();
       } else if (this.queryData.value == "countOperates") {
         data = await dataCount_selectCountOperates();
+      } else if (this.queryData.value == "countSizesByType") {
+        data = await dataCount_countSizesByType();
+      } else if (this.queryData.value == "countSizesByPrj") {
+        data = await dataCount_countSizesByPrj();
       }
+
+      if (this.queryData.value == 'countServices' || this.queryData.value == 'countOperates') {
+        this.tjlxData.flag = false;
+        debugger
+      } else {
+        this.tjlxData.flag = true;
+      }
+
+
       if (data.code != 200) {
         return;
       }
 
-      if (this.queryData.value == "countSizes") {
-        for (var i in data.result) {
-          data.result[i].count = data.result[i].sizes;
-        }
-      }
+      // if (this.queryData.value == "countSizes") {
+      //   // for (var i in data.result) {
+      //   //   data.result[i].count = data.result[i].sizes;
+      //   // }
+      // }
 
       if (this.queryData.value == "countOperates") {
         for (var i in data.result) {
@@ -511,6 +661,7 @@
       }
 
       this.tableData = data.result;
+      this.showCountEchart();
       this.$nextTick(() => {
         this.$refs.table.doLayout();
       });
@@ -522,23 +673,26 @@
 
 <style lang="less" scoped>
 .dataStatistics {
-  height: 98%;
-  width: 98%;
-  padding: 1%;
+  width: calc(100% - 20px);
+  height: calc(100% - 20px);
+  padding: 10px;
+  position: relative;
+  overflow: hidden;
   .contentBox {
     padding-top: 10px;
-    height: calc(98% - 63px);
+
+    height: calc(100% - 50px);
     width: 100%;
     display: flex;
     justify-content: space-around;
     .content_Left {
-      width: 18%;
+      width: 15%;
       height: calc(95% - 2px);
       border-radius: 5px;
       padding: 1%;
     }
     .content_Right {
-      width: 77%;
+      width: 80%;
       height: calc(95% - 2px);
       border-radius: 5px;
       padding: 1%;
@@ -547,6 +701,7 @@
         border-radius: 5px;
         display: flex;
         justify-content: flex-end;
+        padding: 0px !important;
       }
       .contentTable {
         width: 98%;

--
Gitblit v1.9.3