管道基础大数据平台系统开发-【前端】-新系統界面
TreeWish
2023-02-22 aafecc42b340f4d27e715d639e5b92bb6d482354
Merge branch 'master' of http://103.85.165.99:8989/r/LFWEB_NEW
已添加9个文件
已修改14个文件
1213 ■■■■ 文件已修改
public/globle/globle.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/index.html 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/config.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/configure.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/1.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/2.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/3d视域分析.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/z_03.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/文字标注.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/视域分析.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/通视分析.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/img/synthesis/images/高程测量.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/en.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AuthorizationManagement/roleMenuAuthorization.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AuthorizationManagement/roleResAuthorization.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/LeftMenu.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Synthesis/index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Tools/LayerTree.vue 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataStatistics.vue 455 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/dataUpdata.vue 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/metadataManage.vue 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/globle/globle.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
window.PDelevationTool = null; //坡度分析
window.DXTerrainFlattening = null; //地形压平
window.TSExcavation = null; //通视分析
function ClearAlayse() {
  if (window.PDelevationTool != null) {
    window.PDelevationTool.type = "none";
    window.PDelevationTool.render();
    window.PDelevationTool = null;
  }
  if (window.DXTerrainFlattening != null) {
    DXTerrainFlattening.remove();
    DXTerrainFlattening = null;
  }
  if (window.TSExcavation != null) {
    window.TSExcavation.deleteObject();
    window.TSExcavation = null;
  }
}
public/index.html
@@ -25,6 +25,9 @@
  <script src="./config/config.js"></script>
  <script src="./config/rsa.min.js"></script>
  <script src="./config/rollups.js"></script>
  <script src="./globle/globle.js"></script>
  <style>
    .esriControlsBR {
src/api/api.js
@@ -74,6 +74,11 @@
  //请求地址
  return request.get('/meta/selectVerByDirid', { params: params });
}
//元数据=>根据父ID分页查询并返回记录数
export function meta_selectPageAndCountByPid(params) {
  //请求地址
  return request.get('/meta/selectPageAndCountByPid', { params: params });
}
//组织机构根据id查询
@@ -588,6 +593,14 @@
}
//数据上传=根据父ID分页查询并返回记录数
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 });
}
//请求站场点内容
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;
}
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;
}
src/assets/img/synthesis/images/1.png
src/assets/img/synthesis/images/2.png
src/assets/img/synthesis/images/3dÊÓÓò·ÖÎö.png
src/assets/img/synthesis/images/z_03.png
src/assets/img/synthesis/images/ÎÄ×Ö±ê×¢.png
src/assets/img/synthesis/images/ÊÓÓò·ÖÎö.png
src/assets/img/synthesis/images/ͨÊÓ·ÖÎö.png
src/assets/img/synthesis/images/¸ß³Ì²âÁ¿.png
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',
src/assets/lang/zh.js
@@ -58,6 +58,12 @@
    dataRetrieval: '数据检索',
    dataDownload: '数据下载',
    projectManage: '项目管理',
    dataStatistics:'数据统计',
    dataStaticObj:{
      type1:'一级模块',
      type2:'二级模块',
      type3:'统计数据',
    },
    projectObj: {
      projname: '项目名称',
      projtype: '项目类型',
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"
src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -125,7 +125,7 @@
        <el-table
          :data="usertableData"
          stripe
          style="width: 100%"
           height="calc(100% - 124px)"
          @selection-change="handleSelectionChange"
src/views/Synthesis/LeftMenu.vue
@@ -35,6 +35,7 @@
</template>
<script>
import { transform } from 'ol/proj';
import mapinfo from '../Tools/mapinfo.vue';
import maplayer from '../Tools/maplayer.vue';
@@ -410,7 +411,6 @@
  methods: {
    //二級菜单点击切换
    setChangeTwoMenu(res) {
      this.$store.state.mapMenuBoolean = false;
      this.$store.state.mapMenuBoxFlag = null;
      this.$store.state.mapPopBoolean = false;
@@ -446,6 +446,9 @@
      this.showTwoMenuFlag = res.id;
      switch (val) {
        case 'a': //图层管理
          this.setCoverage(res.id);
@@ -1110,12 +1113,14 @@
          break;
        case 'd2':
          that.isslopeFlag = !that.isslopeFlag;
          window.PDelevationTool= new SmartEarth.ElevationTool(sgworld);//全局变量
          if (that.isslopeFlag == true) {
            elevationTool.type = 'slope';
            PDelevationTool.type = 'slope';
            PDelevationTool.tf = this.checked;
          } else {
            elevationTool.type = 'none';
            PDelevationTool.type = 'none';
          }
          elevationTool.render();
          PDelevationTool.render();
          break;
        case 'd3':
          var value = {
@@ -1198,28 +1203,23 @@
          }
          break;
        case 'd10':
          if (window.TerrainFlattening) {
            window.TerrainFlattening.remove();
            window.TerrainFlattening = null;
          } else {
            sgworld.Creator.createSimpleGraphic(
              'polygon',
              {
                clampToGround: true,
              },
              function (entity) {
                var positions = entity.polygon.hierarchy.getValue().positions;
                sgworld.Creator.SimpleGraphic.remove(entity.id);
                window.TerrainFlattening =
                  sgworld.Creator.createTerrainModifier(
                    '地形压平',
                    positions,
                    10,
                    {}
                  );
              }
            );
          if(window.DXTerrainFlattening!=null){
            DXTerrainFlattening.remove();
          }
          sgworld.Creator.createSimpleGraphic(
                'polygon',
                {
                    clampToGround: true,
                },
                function (entity) {
                    let   positions = entity.polygon.hierarchy.getValue().positions;
                    console.log(positions);
                    sgworld.Creator.SimpleGraphic.remove(entity.id);
                    window.DXTerrainFlattening = sgworld.Creator.createTerrainModifier("地形压平", positions, 10, {});
                }
            );
          break;
        case 'd11':
@@ -1236,11 +1236,11 @@
          break;
        case "d12":
          if (window.Excavation) {
            window.Excavation.deleteObject()
            window.Excavation = null
          if (window.TSExcavation!=null) {
            window.TSExcavation.deleteObject()
            window.TSExcavation = null
          } else {
            window.Excavation = sgworld.Analysis.createSightLine({
            window.TSExcavation = sgworld.Analysis.createSightLine({
              type: "default",
            })
          }
src/views/Synthesis/index.vue
@@ -128,6 +128,9 @@
  methods: {
    //左侧菜单滑动显隐
    setMenuChange(res) {
      //清除分析模块的全局变量
      ClearAlayse();
      switch (res.id) {
        case 1:
src/views/Tools/LayerTree.vue
@@ -1,79 +1,61 @@
<template>
  <div class="lalala tree-container">
    <el-input
      placeholder="输入关键字进行过滤"
      v-model="filterText"
      class="search"
    >
    <el-input placeholder="输入关键字进行过滤"
              v-model="filterText"
              class="search">
    </el-input>
    <el-tree
      :data="treeData"
      node-key="id"
      default-expand-all
      show-checkbox
      @node-click="handleLeftclick"
      @node-contextmenu="rightClick"
      @check-change="handleCheckChange"
      :default-checked-keys="handleTreeCheck"
      ref="tree"
    >
      <span
        class="slot-t-node"
        slot-scope="{ node, data }"
        @dblclick="editNode(data)"
      >
    <el-tree :data="treeData"
             node-key="id"
             default-expand-all
             show-checkbox
             @node-click="handleLeftclick"
             @node-contextmenu="rightClick"
             @check-change="handleCheckChange"
             :default-checked-keys="handleTreeCheck"
             ref="tree">
      <span class="slot-t-node"
            slot-scope="{ node, data }"
            @dblclick="editNode(data)">
        <span v-show="!data.isEdit">
          <span :class="[data.id >= 99 ? 'slot-t-node--label' : '']">{{
            node.label
          }}</span>
        </span>
        <span v-show="data.isEdit">
          <el-input
            class="slot-t-input"
            size="mini"
            autofocus
            v-model="data.label"
            :ref="'slotTreeInput' + data.id"
            @blur.stop="NodeBlur(node, data)"
            @keydown.native.enter="NodeBlur(node, data)"
          ></el-input>
          <el-input class="slot-t-input"
                    size="mini"
                    autofocus
                    v-model="data.label"
                    :ref="'slotTreeInput' + data.id"
                    @blur.stop="NodeBlur(node, data)"
                    @keydown.native.enter="NodeBlur(node, data)"></el-input>
        </span>
      </span>
    </el-tree>
    <el-card
      class="box-card"
      ref="card"
      :style="{ ...rightClickMenuStyle }"
      v-show="menuVisible"
    >
    <el-card class="box-card"
             ref="card"
             :style="{ ...rightClickMenuStyle }"
             v-show="menuVisible">
      <div @click="addSameLevelNode()">
        <i class="el-icon-circle-plus-outline"></i>&nbsp;&nbsp;添加图层组
      </div>
      <div
        class="add"
        @click="addChildNode()"
        v-show="firstLevel"
      >
      <div class="add"
           @click="addChildNode()"
           v-show="firstLevel">
        <i class="el-icon-circle-plus-outline"></i>&nbsp;&nbsp;添加图层
      </div>
      <div
        class="delete"
        @click="deleteNode()"
      >
      <div class="delete"
           @click="deleteNode()">
        <i class="el-icon-remove-outline"></i>&nbsp;&nbsp;删除节点
      </div>
      <div
        class="edit"
        @click="editNode()"
      >
      <div class="edit"
           @click="editNode()">
        <i class="el-icon-edit"></i>&nbsp;&nbsp;修改节点
      </div>
      <div
        class="edit"
        @click="showLayerAttribute()"
      >
      <div class="edit"
           @click="showLayerAttribute()">
        <i class="el-icon-edit"></i>&nbsp;&nbsp;属性
      </div>
      <!-- <div
@@ -89,33 +71,25 @@
        <i class="el-icon-bottom"></i>&nbsp;&nbsp;下移
      </div> -->
    </el-card>
    <el-dialog
      :title="appendNodetitle"
      :visible.sync="dialogVisible"
      width="30%"
      top="20vh"
      :modal="false"
      :before-close="handleClose"
    >
      <el-form
        ref="form"
        :model="addFormServer"
        label-width="100px"
      >
    <el-dialog :title="appendNodetitle"
               :visible.sync="dialogVisible"
               width="30%"
               top="20vh"
               :modal="false"
               :before-close="handleClose">
      <el-form ref="form"
               :model="addFormServer"
               label-width="100px">
        <el-form-item label="服务类型">
          <!-- <el-input v-model="addFormServer.type"></el-input> -->
          <el-select
            style="width:100%"
            :popper-append-to-body="false"
            v-model="addFormServer.layerType"
            placeholder="请选择"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
          <el-select style="width:100%"
                     :popper-append-to-body="false"
                     v-model="addFormServer.layerType"
                     placeholder="请选择">
            <el-option v-for="item in options"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
@@ -133,17 +107,13 @@
          <el-slider v-model="addFormServer.opacity"></el-slider>
        </el-form-item>
      </el-form>
      <span
        slot="footer"
        class="dialog-footer"
      >
        <el-button
          type="primary"
          @click="setAddServer"
        >ç¡® å®š</el-button>
      <span slot="footer"
            class="dialog-footer">
        <el-button type="primary"
                   @click="setAddServer">ç¡® å®š</el-button>
      </span>
    </el-dialog>
     <queryinfo ref="queryinfo" />
    <queryinfo ref="queryinfo" />
  </div>
</template>
@@ -162,8 +132,8 @@
import { perms_selectLayers } from '../../api/api.js'
export default {
  name: 'tree',
    components: {  queryinfo },
  data() {
  components: { queryinfo },
  data () {
    return {
      eleId: '',
      isShow: false,
@@ -206,7 +176,7 @@
    };
  },
  methods: {
    NodeBlur(Node, data) {
    NodeBlur (Node, data) {
      if (data.label.length === 0) {
        this.$message.error('菜单名不可为空!');
        return false;
@@ -220,23 +190,23 @@
      }
    },
    // æŸ¥è¯¢
    filterNode(value, data) {
    filterNode (value, data) {
      if (!value) return true;
      return data.label.indexOf(value) !== -1;
    },
    allowDrop(draggingNode, dropNode, type) {
    allowDrop (draggingNode, dropNode, type) {
      if (dropNode.data.label === '二级 3-1') {
        return type !== 'inner';
      } else {
        return true;
      }
    },
    allowDrag(draggingNode) {
    allowDrag (draggingNode) {
      return draggingNode.data.label.indexOf('三级 3-2-2') === -1;
    },
    // é¼ æ ‡å³å‡»äº‹ä»¶
    rightClick(event, object, Node, element) {
    rightClick (event, object, Node, element) {
      this.currentData = object;
      this.currentNode = Node;
@@ -251,7 +221,7 @@
      this.$refs.card.$el.style.top = event.pageY + 'px';
    },
    // é¼ æ ‡å·¦å‡»äº‹ä»¶
    handleLeftclick(data, node) {
    handleLeftclick (data, node) {
      this.foo();
      if (node.checked == true) {
        for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) {
@@ -264,13 +234,13 @@
      }
    },
    //  å–消鼠标监听事件 èœå•栏
    foo() {
    foo () {
      this.menuVisible = false;
      //  è¦åŠæ—¶å…³æŽ‰ç›‘听,不关掉的是一个坑,不信你试试,虽然前台显示的时候没有啥毛病,加一个alert你就知道了
      document.removeEventListener('click', this.foo);
    },
    // å¢žåŠ åŒçº§èŠ‚ç‚¹äº‹ä»¶
    addSameLevelNode() {
    addSameLevelNode () {
      this.foo();
      if (this.currentNode.level == 2) {
@@ -283,7 +253,7 @@
      }
    },
    // å¢žåŠ å­çº§èŠ‚ç‚¹äº‹ä»¶
    addChildNode() {
    addChildNode () {
      this.foo();
      if (this.currentNode.level >= 2) {
        this.$message.error('最多只支两级!');
@@ -292,7 +262,7 @@
      this.appendNodetitle = this.currentData.label;
      this.dialogVisible = true;
    },
    handleClose() {
    handleClose () {
      this.dialogVisible = false;
      this.addFormServer = {
        opacity: 100,
@@ -300,7 +270,7 @@
        type: 2,
      };
    },
    setAddServer() {
    setAddServer () {
      var val = this.currentNode;
      if (this.currentNode.level == 2) {
        val = this.currentNode.parent;
@@ -311,7 +281,7 @@
      this.handleClose();
    },
    // åˆ é™¤èŠ‚ç‚¹
    deleteNode() {
    deleteNode () {
      this.foo();
      var label = this.currentNode.data.label;
@@ -341,7 +311,7 @@
      this.$refs.tree.remove(this.currentNode);
    },
    //属性显示
    showLayerAttribute(data) {
    showLayerAttribute (data) {
      this.foo();
      this.currentData = data ? data : this.currentData;
      var layer = this.currentData.layer.replaceAll('_', "");
@@ -364,7 +334,7 @@
      });
    },
    // ç¼–辑节点
    editNode(data) {
    editNode (data) {
      this.foo();
      this.currentData = data ? data : this.currentData;
@@ -379,7 +349,7 @@
    menuMoveF(type) {
    menuMoveF (type) {
      // å°†å˜åŠ¨ä¹‹å‰çš„node备份
      var node = this.currentNode;
      var data = this.currentData;
@@ -417,25 +387,25 @@
    },
    handleDragStart(node, ev) {
    handleDragStart (node, ev) {
      console.log('drag start', node);
    },
    handleDragEnter(draggingNode, dropNode, ev) {
    handleDragEnter (draggingNode, dropNode, ev) {
      console.log('tree drag enter: ', dropNode.label);
    },
    handleDragLeave(draggingNode, dropNode, ev) {
    handleDragLeave (draggingNode, dropNode, ev) {
      console.log('tree drag leave: ', dropNode.label);
    },
    handleDragOver(draggingNode, dropNode, ev) {
    handleDragOver (draggingNode, dropNode, ev) {
      console.log('tree drag over: ', dropNode.label);
    },
    handleDragEnd(draggingNode, dropNode, dropType, ev) {
    handleDragEnd (draggingNode, dropNode, dropType, ev) {
      console.log('tree drag end: ', dropNode && dropNode.label, dropType);
    },
    handleDrop(draggingNode, dropNode, dropType, ev) {
    handleDrop (draggingNode, dropNode, dropType, ev) {
      console.log('tree drop: ', dropNode.label, dropType);
    },
    handleCheckChange(data, checked, indeterminate) {
    handleCheckChange (data, checked, indeterminate) {
      if (data.type != 2) return;
      var std = [];
@@ -482,22 +452,28 @@
        }
      }
    },
    setAddLayers(res) {
    setAddLayers (res) {
      if (res.layerType == 'WMS') {
        var url = geoServerURl;
        if (res.url != null && res.url != undefined) {
          url = res.url
        }
        //var width = $("#mapdiv").width();
        //var height = $("#mapdiv").height();
        var imageryLayers = window.Viewer.scene.imageryLayers;
        let layerWMS = new Cesium.WebMapServiceImageryProvider({
          url: url,
          layers: res.resource,
          parameters: {
            transparent: true,
            format: 'image/png',
            format: "image/png",
            srs: "EPSG:4490",
            styles: "",
          },
          tileWidth: 512,
          tileHeight: 512
        });
        layerWMS.name = res.label;
        //透明度
@@ -510,7 +486,6 @@
          source: new ImageWMS({
            crossOrigin: 'anonymous',
            url: url,
            params: {
              FORMAT: 'image/png',
              VERSION: '1.1.1',
@@ -560,7 +535,7 @@
        window.map.addLayer(vectorLayer);
      }
    },
    async layersStart() {
    async layersStart () {
      const data = await perms_selectLayers();
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
@@ -621,7 +596,7 @@
      this.treeData = layer_groups;
      this.$refs.tree.setCheckedKeys(std);
    },
    async treelayersStart() {
    async treelayersStart () {
      const data = await perms_selectLayers();
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
@@ -684,12 +659,12 @@
    }
  },
  watch: {
    filterText(val) {
    filterText (val) {
      this.$refs.tree.filter(val);
    },
  },
  mounted() {
  mounted () {
    this.$bus.$on("treeDataCopy", (res) => {
      this.$store.state.treeData = this.treeData;
      this.$store.state.checkedKeys = this.$refs.tree.getCheckedKeys()
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>
</style>
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;
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(() => {