From 307aad8273b6419d4f339744908d51f4459ecce3 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 21 二月 2023 18:34:02 +0800
Subject: [PATCH] 数据统计页面下载,三维叠加wms地图服务修改,数据上传,源数据管理添加元数据查询功能及界面

---
 src/assets/img/synthesis/images/通视分析.png                    |    0 
 src/views/datamanage/metadataManage.vue                     |  195 ++++++++++++
 src/assets/img/synthesis/images/2.png                       |    0 
 src/assets/img/synthesis/images/z_03.png                    |    0 
 src/assets/img/synthesis/images/高程测量.png                    |    0 
 src/assets/img/synthesis/images/文字标注.png                    |    0 
 src/views/AuthorizationManagement/roleResAuthorization.vue  |    2 
 src/assets/css/configure.css                                |    6 
 src/views/AuthorizationManagement/roleMenuAuthorization.vue |    2 
 src/assets/img/synthesis/images/3d视域分析.png                  |    0 
 src/views/datamanage/dataUpdata.vue                         |  206 ++++++++++++
 src/api/api.js                                              |   30 +
 src/assets/img/synthesis/images/1.png                       |    0 
 src/assets/lang/zh.js                                       |    6 
 src/views/Tools/LayerTree.vue                               |   11 
 src/assets/img/synthesis/images/视域分析.png                    |    0 
 src/assets/css/config.css                                   |    6 
 src/assets/lang/en.js                                       |    6 
 src/views/datamanage/dataStatistics.vue                     |  455 +++++++++++++++++++--------
 19 files changed, 762 insertions(+), 163 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index 28856c3..c00c634 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -74,6 +74,11 @@
   //璇锋眰鍦板潃
   return request.get('/meta/selectVerByDirid', { params: params });
 }
+//鍏冩暟鎹�=>鏍规嵁鐖禝D鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟
+export function meta_selectPageAndCountByPid(params) {
+  //璇锋眰鍦板潃
+  return request.get('/meta/selectPageAndCountByPid', { params: params });
+}
 
 
 //缁勭粐鏈烘瀯鏍规嵁id鏌ヨ
@@ -588,6 +593,14 @@
 }
 
 
+//鏁版嵁涓婁紶=鏍规嵁鐖禝D鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟
+export function dataUpload_selectPageAndCountByPid(params) {
+  return request.get('/dataUpload/selectPageAndCountByPid', { params: params });
+}
+
+
+
+
 //鏁版嵁涓婁紶=鍒犻櫎鏁版嵁
 export function dataUpload_deleteMetas(params) {
   return request.get('/dataUpload/deleteMetas', { params: params });
@@ -820,9 +833,20 @@
   return request.get('/dataCount/selectCountOperates', { params: params });
 }
 
-
-
-
+//鏁版嵁缁熻=>鏌ヨ鏈嶅姟璋冪敤閲忕粺璁�
+export function dataCount_selectCountServices(params) {
+  return request.get('/dataCount/selectCountServices', { params: params });
+}
+//鏁版嵁缁熻=>鏌ヨ鏁版嵁閲忕粺璁�
+export function dataCount_selectCountSizes(params) {
+  return request.get('/dataCount/selectCountSizes', { params: params });
+}
+//鏁版嵁缁熻=>涓嬭浇鎶ュ憡
+export function dataCount_downloadReport(params) {
+  return request.get('/dataCount/downloadReport', { params: params });
+}
+ 
+ 
 
 
 //璇锋眰绔欏満鐐瑰唴瀹�
diff --git a/src/assets/css/config.css b/src/assets/css/config.css
index 949b4ea..9550d3b 100644
--- a/src/assets/css/config.css
+++ b/src/assets/css/config.css
@@ -396,15 +396,15 @@
 
 /* // 閫氳鍒嗘瀽銆佽鍩熷垎鏋� 棰勭暀 */
 .Black_theme .twoMenu_imge412 {
-    background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat center;
+    background: url("../../assets/img/synthesis/images/閫氳鍒嗘瀽.png") no-repeat center;
 }
 
 .Black_theme .twoMenu_imge413 {
-    background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat center;
+    background: url("../../assets/img/synthesis/images/瑙嗗煙鍒嗘瀽.png") no-repeat center;
 }
 
 .Black_theme .twoMenu_imge414 {
-    background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat center;
+    background: url("../../assets/img/synthesis/images/3d瑙嗗煙鍒嗘瀽.png") no-repeat center;
 }
 
 
diff --git a/src/assets/css/configure.css b/src/assets/css/configure.css
index af5c77c..4250793 100644
--- a/src/assets/css/configure.css
+++ b/src/assets/css/configure.css
@@ -228,15 +228,15 @@
 
 /* // 閫氳鍒嗘瀽銆佽鍩熷垎鏋� 棰勭暀 */
 .twoMenu_imge412 {
-    background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat center;
+    background: url("../../assets/img/synthesis/images/3鐧藉簳_159.png") no-repeat center;
 }
 
 .twoMenu_imge413 {
-    background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat center;
+    background: url("../../assets/img/synthesis/images/3鐧藉簳_164.png") no-repeat center;
 }
 
 .twoMenu_imge414 {
-    background: url("../../assets/img/synthesis/鐭╁舰 14 鎷疯礉 7.png") no-repeat center;
+    background: url("../../assets/img/synthesis/images/3鐧藉簳_162.png") no-repeat center;
 }
 
 
diff --git a/src/assets/img/synthesis/images/1.png b/src/assets/img/synthesis/images/1.png
new file mode 100644
index 0000000..19c8884
--- /dev/null
+++ b/src/assets/img/synthesis/images/1.png
Binary files differ
diff --git a/src/assets/img/synthesis/images/2.png b/src/assets/img/synthesis/images/2.png
new file mode 100644
index 0000000..1481662
--- /dev/null
+++ b/src/assets/img/synthesis/images/2.png
Binary files differ
diff --git "a/src/assets/img/synthesis/images/3d\350\247\206\345\237\237\345\210\206\346\236\220.png" "b/src/assets/img/synthesis/images/3d\350\247\206\345\237\237\345\210\206\346\236\220.png"
new file mode 100644
index 0000000..a73eb91
--- /dev/null
+++ "b/src/assets/img/synthesis/images/3d\350\247\206\345\237\237\345\210\206\346\236\220.png"
Binary files differ
diff --git a/src/assets/img/synthesis/images/z_03.png b/src/assets/img/synthesis/images/z_03.png
new file mode 100644
index 0000000..e517f7a
--- /dev/null
+++ b/src/assets/img/synthesis/images/z_03.png
Binary files differ
diff --git "a/src/assets/img/synthesis/images/\346\226\207\345\255\227\346\240\207\346\263\250.png" "b/src/assets/img/synthesis/images/\346\226\207\345\255\227\346\240\207\346\263\250.png"
new file mode 100644
index 0000000..544ddf2
--- /dev/null
+++ "b/src/assets/img/synthesis/images/\346\226\207\345\255\227\346\240\207\346\263\250.png"
Binary files differ
diff --git "a/src/assets/img/synthesis/images/\350\247\206\345\237\237\345\210\206\346\236\220.png" "b/src/assets/img/synthesis/images/\350\247\206\345\237\237\345\210\206\346\236\220.png"
new file mode 100644
index 0000000..ffd86b4
--- /dev/null
+++ "b/src/assets/img/synthesis/images/\350\247\206\345\237\237\345\210\206\346\236\220.png"
Binary files differ
diff --git "a/src/assets/img/synthesis/images/\351\200\232\350\247\206\345\210\206\346\236\220.png" "b/src/assets/img/synthesis/images/\351\200\232\350\247\206\345\210\206\346\236\220.png"
new file mode 100644
index 0000000..0dd8ed4
--- /dev/null
+++ "b/src/assets/img/synthesis/images/\351\200\232\350\247\206\345\210\206\346\236\220.png"
Binary files differ
diff --git "a/src/assets/img/synthesis/images/\351\253\230\347\250\213\346\265\213\351\207\217.png" "b/src/assets/img/synthesis/images/\351\253\230\347\250\213\346\265\213\351\207\217.png"
new file mode 100644
index 0000000..f770a7c
--- /dev/null
+++ "b/src/assets/img/synthesis/images/\351\253\230\347\250\213\346\265\213\351\207\217.png"
Binary files differ
diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 228e3d1..b97f009 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -59,6 +59,12 @@
     dataRetrieval: 'data retrieval',
     dataDownload: 'Data download',
     projectManage: 'project management',
+    dataStatistics:'data Statistics',
+    dataStaticObj:{
+      type1:'Primary module',
+      type2:'Secondary module',
+      type3:'Statistical data',
+    },
     projectObj: {
       projname: 'Project Name',
       projtype: 'Project Type',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 44bc28f..9f4b326 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -58,6 +58,12 @@
     dataRetrieval: '鏁版嵁妫�绱�',
     dataDownload: '鏁版嵁涓嬭浇',
     projectManage: '椤圭洰绠$悊',
+    dataStatistics:'鏁版嵁缁熻',
+    dataStaticObj:{
+      type1:'涓�绾фā鍧�',
+      type2:'浜岀骇妯″潡',
+      type3:'缁熻鏁版嵁',
+    },
     projectObj: {
       projname: '椤圭洰鍚嶇О',
       projtype: '椤圭洰绫诲瀷',
diff --git a/src/views/AuthorizationManagement/roleMenuAuthorization.vue b/src/views/AuthorizationManagement/roleMenuAuthorization.vue
index 1221f5a..68141db 100644
--- a/src/views/AuthorizationManagement/roleMenuAuthorization.vue
+++ b/src/views/AuthorizationManagement/roleMenuAuthorization.vue
@@ -148,7 +148,7 @@
         <el-divider class="divider" />
         <el-table
           :data="menuTableData"
-          stripe
+        
           style="width: 100%"
           height="calc(100% - 124px)"
           @selection-change="handleSelectionChange"
diff --git a/src/views/AuthorizationManagement/roleResAuthorization.vue b/src/views/AuthorizationManagement/roleResAuthorization.vue
index 6a75c3b..db58563 100644
--- a/src/views/AuthorizationManagement/roleResAuthorization.vue
+++ b/src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -125,7 +125,7 @@
 
         <el-table
           :data="usertableData"
-          stripe
+  
           style="width: 100%"
            height="calc(100% - 124px)"
           @selection-change="handleSelectionChange"
diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index c924ce0..0f0db2b 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -490,14 +490,21 @@
         if (res.url != null && res.url != undefined) {
           url = res.url
         }
+        var width = $("#mapdiv").width() +5 ;
+        var height = $("#mapdiv").height()+5  ;
+     
         var imageryLayers = window.Viewer.scene.imageryLayers;
         let layerWMS = new Cesium.WebMapServiceImageryProvider({
           url: url,
           layers: res.resource,
           parameters: {
-            transparent: true,
-            format: 'image/png',
+        transparent: true,
+                format: "image/png",
+                srs: "EPSG:4490",
+                styles: "",
           },
+          tileWidth: width,
+            tileHeight: height
         });
         layerWMS.name = res.label;
         //閫忔槑搴�
diff --git a/src/views/datamanage/dataStatistics.vue b/src/views/datamanage/dataStatistics.vue
index 92e16ae..e1df49b 100644
--- a/src/views/datamanage/dataStatistics.vue
+++ b/src/views/datamanage/dataStatistics.vue
@@ -1,11 +1,13 @@
 <template>
   <div class="dataStatistics">
-    <My-bread :list="[
+    <My-bread
+      :list="[
         `${$t('dataManage.dataManage')}`,
-        `${$t('dataManage.projectManage')}`,
-      ]"></My-bread>
+        `${$t('dataManage.dataStatistics')}`,
+      ]"
+    ></My-bread>
     <el-divider />
-    <div class="contentBox ">
+    <div class="contentBox">
       <div class="content_Left subpage_Div">
         <el-tree
           :data="treeData"
@@ -27,12 +29,13 @@
             icon="el-icon-pie-chart"
             @click="setCountFlagChange(2)"
           ></el-button>
+          <el-button
+            icon="el-icon-download"
+            @click="setCountFlagChange(3)"
+          ></el-button>
           <el-divider />
         </div>
-        <div
-          class="contentTable"
-           v-show="setCountFlag"
-        >
+        <div class="contentTable" v-show="setCountFlag">
           <el-table
             :data="tableData"
             style="width: 100%"
@@ -40,17 +43,20 @@
           >
             <el-table-column
               prop="m1"
-              label="涓�绾фā鍧�"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type1')"
             >
             </el-table-column>
             <el-table-column
               prop="m2"
-              label="浜岀骇妯″潡"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type2')"
             >
             </el-table-column>
             <el-table-column
               prop="count"
-              label="缁熻鏁伴噺"
+              align="center"
+              :label="$t('dataManage.dataStaticObj.type3')"
             >
             </el-table-column>
           </el-table>
@@ -67,157 +73,156 @@
             </el-pagination>
           </div> -->
         </div>
-        <div
-      
-          class="contentTable"
-          v-show="!setCountFlag"
-        >
-      <div id="countEchart" style = "width:100%;height:100%; ">
-
-      </div>
-        
-        
-        
+        <div id="contentEchart" class="contentTable" v-show="!setCountFlag">
+          <div id="chart_11"></div>
         </div>
-
       </div>
-
     </div>
+    <el-dialog
+      title="妯℃澘"
+      :visible.sync="showDownLoadFlag"
+      width="50%"
+      :before-close="handleClose"
+    >
+      <div style="height: 50vh">
+        <el-table
+          ref="singleTable"
+          :data="modelData"
+          height="calc(100% - 10px)"
+          style="width: 100%"
+        >
+          <el-table-column
+            type="index"
+            :label="$t('common.index')"
+            align="center"
+            width="70"
+          >
+          </el-table-column>
+          <el-table-column
+            align="center"
+            property="fname"
+            :label="$t('common.fileNme')"
+          >
+          </el-table-column>
+          <el-table-column
+            property="type"
+            :label="$t('common.format')"
+            align="center"
+            :formatter="showFormat"
+          >
+          </el-table-column>
+          <el-table-column width="120" :label="$t('common.operate')">
+            <template slot-scope="scope">
+              <el-button @click="setDownLoadRow(scope.row)" size="small">
+                {{ $t("common.download") }}
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </el-dialog>
+    <iframe
+      id="Iframe1"
+      src=""
+      style="display: none; border: 0; padding: 0; height: 0; width: 0"
+    ></iframe>
   </div>
 </template>
 
 <script>
-import * as echarts from 'echarts';
+import $ from "jquery";
+import * as echarts from "echarts";
 import MyBread from "../../components/MyBread.vue";
-import { dataCount_selectByPageAndCount, dataCount_selectCountOperates } from '../../api/api.js'
+import { getToken } from "@/utils/auth";
+import {
+  dataCount_selectByPageAndCount,
+  dataCount_selectCountOperates,
+  dataCount_selectCountServices,
+  dataCount_selectCountSizes,
+  dataCount_downloadReport,
+} from "../../api/api.js";
 export default {
   name: "DataStatistics",
   components: { MyBread },
   data() {
     return {
-      treeData: [{
-        id: 1,
-        label: '鏈嶅姟璋冪敤閲忕粺璁�',
-        value: 'countServices',
-        children: []
-      }, {
-        id: 2,
-        label: '鏁版嵁閲忕粺璁�',
-        value: 'countSizes',
-        children: []
-      }, {
-        id: 3,
-        label: '鐢ㄦ埛娴侀噺缁熻',
-        value: 'countOperates',
-        children: []
-      }],
+      treeData: [
+        {
+          id: 1,
+          label: "鏈嶅姟璋冪敤閲忕粺璁�",
+          value: "countServices",
+          children: [],
+        },
+        {
+          id: 2,
+          label: "鏁版嵁閲忕粺璁�",
+          value: "countSizes",
+          children: [],
+        },
+        {
+          id: 3,
+          label: "鐢ㄦ埛娴侀噺缁熻",
+          value: "countOperates",
+          children: [],
+        },
+      ],
 
       defaultProps: {
-        children: 'children',
-        label: 'label'
+        children: "children",
+        label: "label",
       },
       listData: {
         pageIndex: 1,
         pageSize: 10,
-        code: '',
-        name: '',
+        code: "",
+        name: "",
         count: 0,
       },
       tableData: [],
+      modelData: [],
       queryData: null,
       setCountFlag: true,
-
-    }
+      option: null,
+      showDownLoadFlag: false,
+    };
   },
   mounted() {
     this.setStartDataCount();
   },
   methods: {
-    //Echart鍥捐〃鏄剧ず
-    showCountEchart(){
-  
-      var chartDom = document.getElementById('countEchart');
-var myChart = echarts.init(chartDom);
-var option;
-      var dataAxis=[];
-      var data=[];
-      var yMax =0;
-      let dataShadow = [];
-      for(var i  in this.tableData){
-        if( this.tableData[i].count >yMax){
-          yMax=  this.tableData[i].count
-        }
-        data.push(this.tableData[i].count)
-      }
-      yMax = yMax+100;
-for (let i = 0; i < data.length; i++) {
-  dataShadow.push(yMax);
-}
-option = {
- 
-  xAxis: {
-    data: dataAxis,
-    axisLabel: {
-      color: '#000000'
-    },
- 
-    axisLine: {
-      show: true
-    },
-    z: 10
-  },
-  yAxis: {
-    axisLine: {
-      show: false
-    },
-    axisTick: {
-      show: false
-    },
-    axisLabel: {
-      color: '#999'
-    }
-  },
-  dataZoom: [
-    {
-      type: 'inside'
-    }
-  ],
-  series: [
-    {
-      type: 'bar',
-      showBackground: true,
-      itemStyle: {
-        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-          { offset: 0, color: '#83bff6' },
-          { offset: 0.5, color: '#188df0' },
-          { offset: 1, color: '#188df0' }
-        ])
-      },
-      emphasis: {
-        itemStyle: {
-          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-            { offset: 0, color: '#2378f7' },
-            { offset: 0.7, color: '#2378f7' },
-            { offset: 1, color: '#83bff6' }
-          ])
-        }
-      },
-      data: data
-    }
-  ]
-};
-// Enable data zoom when user click bar.
-const zoomSize = 6;
-myChart.on('click', function (params) {
-  
-  myChart.dispatchAction({
-    type: 'dataZoom',
-    startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)],
-    endValue:
-      dataAxis[Math.min(params.dataIndex + zoomSize / 2, data.length - 1)]
-  });
-});
+    setDownLoadRow(rows) {
+      var url =
+        BASE_URL +
+        "/dataCount/downloadReport?token=" +
+        getToken() +
+        "&id=" +
+        rows.id;
 
+      $("#Iframe1").attr("src", url).click();
+    },
+    showFormat(row, column, cellValue, index) {
+      if (cellValue) {
+        switch (cellValue) {
+          case "1":
+            return "World";
+            break;
+          case "2":
+            return "Excel";
+            break;
+        }
+      }
+      return " ";
+    },
+    handleClose() {
+      this.$confirm("纭鍏抽棴锛�")
+        .then((_) => {
+          this.closeDownLoadFlag();
+          done();
+        })
+        .catch((_) => {});
+    },
+    closeDownLoadFlag() {
+      this.showDownLoadFlag = false;
     },
     //缁熻鍒囨崲
     setCountFlagChange(res) {
@@ -228,14 +233,167 @@
         case 2:
           this.setCountFlag = false;
           this.showCountEchart();
-            break;
+          break;
+        case 3:
+          this.showDownLoadFlag = true;
+          this.getQueryDownloadData();
+          break;
       }
     },
+    async getQueryDownloadData() {
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        code: this.queryData.value,
+        name: "",
+        count: 0,
+      };
+      const data = await dataCount_selectByPageAndCount(this.listData);
+      if (data.code != 200) {
+        return;
+      }
+
+      this.modelData = data.result;
+      this.listData.count = data.count;
+    },
+    //Echart鍥捐〃鏄剧ず
+    showCountEchart() {
+      var dom = document.getElementById("chart_11");
+      if (this.option != null) {
+        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";
+      };
+      //璁剧疆div瀹瑰櫒楂樺
+      resizeMainContainer();
+      var myChart = echarts.init(dom, null, {
+        renderer: "canvas",
+        useDirtyRect: false,
+      });
+
+      var app = {};
+      let dataAxis = [];
+
+      let data = [];
+      let yMax = 0;
+      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;
+        if (this.tableData[i].m2 != null) {
+          m1 += "_" + this.tableData[i].m2;
+        }
+        dataAxis.push(m1);
+      }
+
+      yMax = yMax + 10;
+      let dataShadow = [];
+      for (let i = 0; i < data.length; i++) {
+        dataShadow.push(yMax);
+      }
+      this.option = {
+        grid: {
+          left: "5%",
+          right: "5%",
+          bottom: "5%",
+          top: "10px",
+        },
+        tooltip: {
+          //鎻愮ず妗嗙粍浠�
+          trigger: "axis", //鍧愭爣杞磋Е鍙戯紝涓昏鍦ㄦ煴鐘跺浘锛屾姌绾垮浘绛変細浣跨敤绫荤洰杞寸殑鍥捐〃涓娇鐢�
+          axisPointer: { animation: false },
+          axisPointer: {
+            // 鍧愭爣杞存寚绀哄櫒锛屽潗鏍囪酱瑙﹀彂鏈夋晥
+            type: "line", // 榛樿涓虹洿绾匡紝鍙�変负锛�'line' | 'shadow'
+          },
+
+          formatter: " {b} : <br/>缁熻閲� :  {c}",
+        },
+        xAxis: {
+          data: dataAxis,
+          axisLabel: {
+            inside: false,
+            color: "#999",
+          },
+          axisTick: {
+            show: false,
+          },
+          axisLine: {
+            show: false,
+          },
+          z: 10,
+        },
+        yAxis: {
+          axisLine: {
+            show: false,
+          },
+          axisTick: {
+            show: false,
+          },
+          axisLabel: {
+            color: "#999",
+          },
+        },
+        dataZoom: [
+          {
+            type: "inside",
+          },
+        ],
+        series: [
+          {
+            type: "bar",
+            showBackground: true,
+            itemStyle: {
+              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                { offset: 0, color: "#83bff6" },
+                { offset: 0.5, color: "#188df0" },
+                { offset: 1, color: "#188df0" },
+              ]),
+            },
+            emphasis: {
+              itemStyle: {
+                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                  { offset: 0, color: "#2378f7" },
+                  { offset: 0.7, color: "#2378f7" },
+                  { offset: 1, color: "#83bff6" },
+                ]),
+              },
+            },
+            data: data,
+          },
+        ],
+      };
+      // Enable data zoom when user click bar.
+      const zoomSize = 6;
+      myChart.on("click", function (params) {
+        console.log(dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)]);
+        myChart.dispatchAction({
+          type: "dataZoom",
+          startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)],
+          endValue:
+            dataAxis[
+              Math.min(params.dataIndex + zoomSize / 2, data.length - 1)
+            ],
+        });
+      });
+
+      if (this.option && typeof this.option === "object") {
+        myChart.setOption(this.option);
+      }
+
+      window.addEventListener("resize", myChart.resize);
+    },
+
     //绯荤粺鍒濆鍖�
     setStartDataCount() {
       this.queryData = this.treeData[0];
       this.$nextTick(() => {
-        this.$refs.tree.setCurrentKey(this.queryData.id) // 榛樿閫変腑鑺傜偣绗竴涓�
+        this.$refs.tree.setCurrentKey(this.queryData.id); // 榛樿閫変腑鑺傜偣绗竴涓�
       });
       this.listData.code = this.queryData.value;
       this.setQueryCountData();
@@ -251,17 +409,28 @@
     },
     //鏌ヨ缁熻淇℃伅
     async setQueryCountData() {
-      const data = await dataCount_selectCountOperates();
+      var data;
+      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") {
+        data = await dataCount_selectCountOperates();
+      }
       if (data.code != 200) {
-        return
+        return;
+      }
+
+      if (this.queryData.value == "countSizes") {
+        for (var i in data.result) {
+          data.result[i].count = data.result[i].sizes;
+        }
       }
       this.tableData = data.result;
-      this.listData.count = data.count
-
+      // this.listData.count = data.count;
     },
-
-  }
-}
+  },
+};
 </script>
 
 <style lang="less" scoped>
@@ -287,9 +456,9 @@
       padding: 1%;
       .contentTable {
         width: 100%;
-        height: 88%;
+        height: 84%;
       }
     }
   }
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue
index 58e7da8..6f683da 100644
--- a/src/views/datamanage/dataUpdata.vue
+++ b/src/views/datamanage/dataUpdata.vue
@@ -462,10 +462,19 @@
                 ></el-table-column>
                 <el-table-column
                   align="center"
-                  prop="name"
+    
                   :label="$t('common.name')"
-                  width="100"
-                />
+          
+                  width="120"
+                 >
+                      <template slot-scope="scope">
+                                  <span v-if="scope.row.ismeta > 0 ">
+                     <el-link  title="鍏冩暟鎹煡璇�" @click="setQueryMetaData(scope.row)"   target="_blank">{{ scope.row.name }}</el-link>
+           
+            </span>
+            <span v-else>{{ scope.row.name }}</span>
+                    </template>
+                 </el-table-column>
                 <el-table-column
                   align="center"
                   prop="dirName"
@@ -1056,6 +1065,117 @@
         >缁х画</el-button>
       </span>
     </el-dialog>
+   <el-dialog
+      :title="fromQueryMeta.title"
+      :visible.sync="queryMetaFlag"
+      width="70%" 
+      
+    >
+    <div style="height:65vh;width:100%; ">
+    <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline">
+  <el-form-item  >
+    <el-input size="small" v-model="fromQueryMeta.name" ></el-input>
+  </el-form-item>
+  
+  <el-form-item>
+    <el-button type="primary" size="small"  @click="setSearchMetaData()">鏌ヨ</el-button>
+      <el-button type="info" size="small"  @click="setRestMetaData()" >閲嶇疆</el-button>
+  </el-form-item>
+</el-form>
+    <el-table
+                ref="filterTable"
+                :data="metaDataTable"
+                style="width: 100%"
+                height="calc(100% - 100px)"
+                
+              >
+             
+                <el-table-column
+                  align="center"
+                  type="index"
+                  :label="$t('common.index')"
+                  width="70px"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+       prop="name"
+                  :label="$t('common.name')"
+          
+                  width="120"
+                 >
+                   
+                   
+                 </el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="dirName"
+                  :label="$t('dataManage.dataUpObj.catalogue')"
+                  width="300"
+                />
+                <el-table-column
+                  align="center"
+                  prop="depName"
+                  :label="$t('dataManage.dataUpObj.company')"
+                  width="200"
+                />
+                <el-table-column
+                  align="center"
+                  prop="verName"
+                  :label="$t('dataManage.dataUpObj.versionNo')"
+                />
+                <el-table-column
+                  align="center"
+                  prop="type"
+                  :label="$t('common.type')"
+                />
+                <el-table-column
+                  align="center"
+                  prop="sizes"
+                  :label="$t('common.size')"
+                  :formatter="changeSizeFile"
+                />
+                <el-table-column
+                  align="center"
+                  :label="$t('dataManage.dataUpObj.tableName')"
+                >
+                  <template slot-scope="scope">
+                    <a
+                      class="scopeRowColor"
+                      @click="detail(scope.row)"
+                    >{{ scope.row.tab }}</a>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="rows"
+                  :label="$t('common.lineNuber')"
+                />
+                <el-table-column
+                  align="center"
+                  prop="desc"
+                  :label="$t('dataManage.dataUpObj.describe')"
+                />
+               
+               
+              </el-table>
+ <div
+         
+          class="pagination_box"
+        >
+          <el-pagination
+            @size-change="handleMetaSizeChange"
+            @current-change="handMetaCurrentChange"
+            :current-page="listMetaData.pageIndex"
+            :page-sizes="[10, 20, 50, 100]"
+            :page-size="listMetaData.pageSize"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listMetaData.count"
+          >
+          </el-pagination>
+        </div>
+    </div>
+     
+    </el-dialog>
     <input
       name="file1"
       :accept="'.zip'"
@@ -1089,6 +1209,7 @@
   dataUpload_insertFiles,
   dataUpload_selectFields,
   dataUpload_selectDbData,
+ dataUpload_selectPageAndCountByPid
 } from "../../api/api";
 export default {
   name: "dataUpdata",
@@ -1277,6 +1398,20 @@
       styleVar1: {
         height: "calc(100% - 109px)",
       },
+      metaFileData:[],
+      listMetaData:{
+        metaid:0,
+        name:'',
+        pageIndex:1,
+        pageSize:10,
+        count:0,
+      },
+      queryMetaFlag:false,
+      fromQueryMeta:{
+        title:'',
+        name:''
+      },
+      metaDataTable:[],
     };
   },
 
@@ -1300,6 +1435,54 @@
   },
   watch: {},
   methods: {
+ setRestMetaData(){
+ this.fromQueryMeta.name="";
+       this.listMetaData.name =this.fromQueryMeta.name; 
+          this.listMetaData.pageIndex = 1
+             this.listMetaData.pageSize = 10
+         
+      this.startQueryMetaData();
+    },
+    setSearchMetaData(){
+       this.listMetaData.name =this.fromQueryMeta.name; 
+          this.listMetaData.pageIndex = 1
+             this.listMetaData.pageSize = 10
+         
+      this.startQueryMetaData();
+    },
+    //鍏冩暟鎹〉闈㈠垏鎹�
+    handleMetaSizeChange(val){
+      this.listMetaData.pageIndex = 1;
+     this.listMetaData.pageSize = val;
+     this.startQueryMetaData();
+    },
+     //鍏冩暟鎹〉闈㈠垏鎹�
+    handMetaCurrentChange(val){
+      this.listMetaData.pageIndex = val;
+      this.startQueryMetaData();
+    },
+  //鍏冩暟鎹煡璇�
+ setQueryMetaData(row){
+  this.fromQueryMeta.title = row.name
+  this.listMetaData = {
+        metaid:row.id,
+        name:'',
+        pageIndex:1,
+        pageSize:10,
+         count:0,
+      }
+this.startQueryMetaData();
+this.queryMetaFlag=true;
+},
+async startQueryMetaData(){
+const data = await dataUpload_selectPageAndCountByPid(this.listMetaData);
+ if(data.code != 200){
+  return;
+ }
+ this.metaDataTable= data.result;
+ this.listMetaData.count = data.count;
+},
+
     onResize() {
       this.timer && clearTimeout(this.timer);
       this.timer = setTimeout(() => {
@@ -1310,8 +1493,7 @@
       this.$nextTick(() => {
         const rect = this.$refs.container.getBoundingClientRect();
         const rect1 = this.$refs.container1.getBoundingClientRect();
-         console.log(rect)
-        console.log(rect1)
+ 
         this.tableHeight = `${rect.height + 40}px`;
         this.styleVar["height"] = `calc(100% - ${rect.height + 40}px)`;
         this.styleVar1["height"] = `calc(100% - ${rect1.height + 40}px)`;
@@ -1543,7 +1725,14 @@
           }
         }
       }
-
+      for(var i in this.metaFileData){
+        this.insertWareList.filter((res)=>{
+          if(res.name == this.metaFileData[i]){
+              res.isMeta = true;
+          }
+        })
+      }
+ 
       this.loading = true;
       const res = await dataUpload_insertFiles(
         JSON.stringify(this.insertWareList)
@@ -1695,6 +1884,7 @@
           }
         }
       }
+ 
       var obj = {
         dirid: this.formInline.dirid,
         epsgCode: this.formInline.coordinateId,
@@ -2397,6 +2587,7 @@
         std.push(f.name);
       }
       this.formInline.metaData = std.toString();
+      this.metaFileData= std;
     },
 
     //From琛ㄥ崟鍒濆鍖�
@@ -2567,6 +2758,9 @@
       overflow: auto;
     }
   }
+  /deeep/.el-loading-mask{
+    z-index:9999
+  }
 }
 .inquire {
   padding: 8px;
diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue
index ff7d664..9c4f250 100644
--- a/src/views/datamanage/metadataManage.vue
+++ b/src/views/datamanage/metadataManage.vue
@@ -200,7 +200,15 @@
             width="50"
           >
           </el-table-column>
-          <el-table-column prop="name" :label="$t('dataManage.vmobj.name')" />
+          <el-table-column  :label="$t('dataManage.vmobj.name')"  >      
+            <template slot-scope="scope">
+              <span v-if="scope.row.ismeta > 0 ">
+                  <el-link  title="鍏冩暟鎹煡璇�" @click="setQueryMetaData(scope.row)"   target="_blank">{{ scope.row.name }}</el-link>
+              </span>
+              <span v-else>{{ scope.row.name }}</span>
+            </template>
+          </el-table-column>
+
           <el-table-column prop="type" :label="$t('dataManage.vmobj.format')" />
           <el-table-column
             prop="sizes"
@@ -538,7 +546,117 @@
         </el-form-item>
       </el-form>
     </div>
+   <el-dialog
+      :title="fromQueryMeta.title"
+      :visible.sync="queryMetaFlag"
+      width="70%" 
+      
+    >
+    <div style="height:65vh;width:100%; ">
+    <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline">
+  <el-form-item  >
+    <el-input size="small" v-model="fromQueryMeta.name" ></el-input>
+  </el-form-item>
   
+  <el-form-item>
+    <el-button type="primary" size="small"  @click="setSearchMetaData()">鏌ヨ</el-button>
+      <el-button type="info" size="small"  @click="setRestMetaData()" >閲嶇疆</el-button>
+  </el-form-item>
+</el-form>
+    <el-table
+                ref="filterTable"
+                :data="metaDataTable"
+                style="width: 100%"
+                height="calc(100% - 100px)"
+                
+              >
+             
+                <el-table-column
+                  align="center"
+                  type="index"
+                  :label="$t('common.index')"
+                  width="70px"
+                ></el-table-column>
+                <el-table-column
+                  align="center"
+       prop="name"
+                  :label="$t('common.name')"
+          
+                  width="120"
+                 >
+                   
+                   
+                 </el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="dirName"
+                  :label="$t('dataManage.dataUpObj.catalogue')"
+                  width="300"
+                />
+                <el-table-column
+                  align="center"
+                  prop="depName"
+                  :label="$t('dataManage.dataUpObj.company')"
+                  width="200"
+                />
+                <el-table-column
+                  align="center"
+                  prop="verName"
+                  :label="$t('dataManage.dataUpObj.versionNo')"
+                />
+                <el-table-column
+                  align="center"
+                  prop="type"
+                  :label="$t('common.type')"
+                />
+                <el-table-column
+                  align="center"
+                  prop="sizes"
+                  :label="$t('common.size')"
+                  :formatter="changeSizeFile"
+                />
+                <el-table-column
+                  align="center"
+                  :label="$t('dataManage.dataUpObj.tableName')"
+                >
+                  <template slot-scope="scope">
+                    <a
+                      class="scopeRowColor"
+                      @click="detail(scope.row)"
+                    >{{ scope.row.tab }}</a>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  align="center"
+                  prop="rows"
+                  :label="$t('common.lineNuber')"
+                />
+                <el-table-column
+                  align="center"
+                  prop="desc"
+                  :label="$t('dataManage.dataUpObj.describe')"
+                />
+               
+               
+              </el-table>
+ <div
+         
+          class="pagination_box"
+        >
+          <el-pagination
+            @size-change="handleMetaSizeChange"
+            @current-change="handMetaCurrentChange"
+            :current-page="listMetaData.pageIndex"
+            :page-sizes="[10, 20, 50, 100]"
+            :page-size="listMetaData.pageSize"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listMetaData.count"
+          >
+          </el-pagination>
+        </div>
+    </div>
+     
+    </el-dialog>
     <iframe
       id="downFrame"
       src=""
@@ -565,6 +683,7 @@
   meta_selectFields,
   meta_selectByPageForUpload,
   meta_selectVerByDirid,
+  meta_selectPageAndCountByPid
 } from "../../api/api";
 
 import MyBread from "../../components/MyBread.vue";
@@ -673,6 +792,19 @@
       styleVar: {
         height: "calc(100% - 109px)",
       },
+        listMetaData:{
+        metaid:0,
+        name:'',
+        pageIndex:1,
+        pageSize:10,
+        count:0,
+      },
+      queryMetaFlag:false,
+      fromQueryMeta:{
+        title:'',
+        name:''
+      },
+      metaDataTable:[],
     };
   },
   created() {
@@ -691,6 +823,67 @@
     this.calHeight();
   },
   methods: {
+     //澶у皬鍊兼敼鍙�
+    changeSizeFile(row, column, cellValue, index) {
+      if (cellValue >= 1024) {
+        return parseFloat(cellValue / 1204).toFixed(3) + "GB";
+      } else {
+        return cellValue + "MB";
+      }
+    },
+setRestMetaData(){
+ this.fromQueryMeta.name="";
+       this.listMetaData.name =this.fromQueryMeta.name; 
+          this.listMetaData.pageIndex = 1
+             this.listMetaData.pageSize = 10
+         
+      this.startQueryMetaData();
+    },
+    setSearchMetaData(){
+       this.listMetaData.name =this.fromQueryMeta.name; 
+          this.listMetaData.pageIndex = 1
+             this.listMetaData.pageSize = 10
+         
+      this.startQueryMetaData();
+    },
+    //鍏冩暟鎹〉闈㈠垏鎹�
+    handleMetaSizeChange(val){
+      this.listMetaData.pageIndex = 1;
+     this.listMetaData.pageSize = val;
+     this.startQueryMetaData();
+    },
+     //鍏冩暟鎹〉闈㈠垏鎹�
+    handMetaCurrentChange(val){
+      this.listMetaData.pageIndex = val;
+      this.startQueryMetaData();
+    },
+  //鍏冩暟鎹煡璇�
+ setQueryMetaData(row){
+  this.fromQueryMeta.title = row.name
+  this.listMetaData = {
+        metaid:row.id,
+        name:'',
+        pageIndex:1,
+        pageSize:10,
+         count:0,
+      }
+this.startQueryMetaData();
+this.queryMetaFlag=true;
+},
+async startQueryMetaData(){
+const data = await meta_selectPageAndCountByPid(this.listMetaData);
+ if(data.code != 200){
+  return;
+ }
+ this.metaDataTable= data.result;
+ this.listMetaData.count = data.count;
+},
+
+
+
+
+
+
     onResize() {
       this.timer && clearTimeout(this.timer);
       this.timer = setTimeout(() => {

--
Gitblit v1.9.3