From f79ebb7dc06cf94667d512af41c2cc61f99c2493 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 27 二月 2023 18:44:32 +0800
Subject: [PATCH] 项目管理数据库管理新增

---
 src/components/mapol.vue                   |    2 
 src/views/Synthesis/LeftMenu.vue           |    2 
 src/components/mapsdk.vue                  |    2 
 src/views/maintenance/mochaitmo.vue        |   12 
 src/router/index.js                        |   23 ++
 src/views/datamanage/bankController.vue    |  257 +++++++++++++++++++++++++
 src/views/datamanage/SpatialData.vue       |    2 
 src/assets/lang/zh.js                      |    6 
 src/components/MapView/mapMenuTop.vue      |    2 
 src/views/datamanage/dataController.vue    |    6 
 src/assets/lang/en.js                      |    6 
 src/components/navMenu.vue                 |    8 
 src/views/datamanage/projectController.vue |  257 +++++++++++++++++++++++++
 13 files changed, 564 insertions(+), 21 deletions(-)

diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 8a80fd0..1ad0ef5 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -53,11 +53,11 @@
 
   dataManage: {
     dataManage: 'Data Manage',
-    catalogueManage: 'Directory management',
+    catalogueManage: 'project management',
     dataUpdata: 'dataUpdata',
     datawarehousing: 'Data warehousing',
     rangeManage: 'Range management',
-    dataRetrieval: 'data retrieval',
+    dataRetrieval: 'Data query',
     dataDownload: 'Data download',
     projectManage: 'Project information',
     dataStatistics: 'data Statistics',
@@ -110,7 +110,7 @@
       code: 'Code'
     },
 
-    metadataManage: 'Metadata management',
+    metadataManage: 'information management',
     dataLoading: 'dataLoading',
     SpatialData: 'SpatialData',
     versionManage: 'versionManage',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 2867bdb..9bf3144 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -52,11 +52,11 @@
   },
   dataManage: {
     dataManage: '鏁版嵁绠$悊',
-    catalogueManage: '鐩綍绠$悊',
+    catalogueManage: '椤圭洰绠$悊',
     dataUpdata: '鏁版嵁涓婁紶',
     datawarehousing: '鏁版嵁鍏ュ簱',
     rangeManage: '鍊煎煙绠$悊',
-    dataRetrieval: '鏁版嵁妫�绱�',
+    dataRetrieval: '鏁版嵁鏌ヨ',
     dataDownload: '鏁版嵁涓嬭浇',
     projectManage: '椤圭洰淇℃伅',
     dataStatistics: '鏁版嵁缁熻',
@@ -110,7 +110,7 @@
       inspectionItems: "妫�鏌ラ」",
       code: '缂栫爜'
     },
-    metadataManage: '鍏冩暟鎹鐞�',
+    metadataManage: '淇℃伅绠$悊',
     dataLoading: '鏁版嵁鍏ュ簱',
     SpatialData: '绌洪棿鏁版嵁绠$悊',
     versionManage: '鐗堟湰绠$悊',
diff --git a/src/components/MapView/mapMenuTop.vue b/src/components/MapView/mapMenuTop.vue
index a57a862..797f823 100644
--- a/src/components/MapView/mapMenuTop.vue
+++ b/src/components/MapView/mapMenuTop.vue
@@ -223,7 +223,7 @@
       this.menuTopFrom.queryLayer = valTree[0].tabDesc;
       for (var i = 0; i < valTree.length; i++) {
         if (valTree[i].entity) {
-          debugger
+
           this.treeChange.push(valTree[i]);
         }
 
diff --git a/src/components/mapol.vue b/src/components/mapol.vue
index 0642c2a..cdc191d 100644
--- a/src/components/mapol.vue
+++ b/src/components/mapol.vue
@@ -132,7 +132,7 @@
 
     //浜岀淮/涓夌淮鍦板浘鍒囨崲
     changeMapType() {
-      // debugger
+      // 
       this.show2DMap = !this.show2DMap;
       //浜岀淮
       if (this.show2DMap) {
diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue
index 791b4ae..e44b360 100644
--- a/src/components/mapsdk.vue
+++ b/src/components/mapsdk.vue
@@ -1031,7 +1031,7 @@
     },
     //浜岀淮/涓夌淮鍦板浘鍒囨崲
     changeMapType() {
-      // debugger
+      // 
       this.show2DMap = !this.show2DMap;
       //浜岀淮
       if (this.show2DMap) {
diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue
index 1cec320..d8a7ab3 100644
--- a/src/components/navMenu.vue
+++ b/src/components/navMenu.vue
@@ -216,7 +216,8 @@
     },
     //榧犳爣绉诲叆鑿滃崟浜嬩欢
     setMenuMove(index, item) {
-      if (item.perms != null) {
+
+      if (item.perms != null && item.perms != "") {
         this.$router.push(item.url);
         if (this.showFlag != null) {
 
@@ -317,16 +318,19 @@
       for (var i in res) {
         res[i].checkClass = res[i].css + '1';
         res[i].show = false; //鎺у埗鏄鹃殣
-        if (res[i].perms == null) {
+
+        if (res[i].perms == null || res[i].perms == "") {
           const result = await selectMenuRecursive({ id: res[i].id });
 
           if (result.code == 200) {
+
             res[i].children = result.result.filter((value) => {
               return value.isShow == 1;
             })
               .filter((value) => {
                 return value.pid == res[i].id;
               });
+
           }
           this.listMenu.push(res[i]);
           // this.changeSelectStyle = this.listMenu.length - 1;
diff --git a/src/router/index.js b/src/router/index.js
index 472e956..add4cf0 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -48,6 +48,11 @@
 import roleResAuthorization from '@/views/AuthorizationManagement/roleResAuthorization.vue'; //绯荤粺绠$悊-瑙掕壊璧勬簮鎺堟潈
 import roleMenuAuthorization from '@/views/AuthorizationManagement/roleMenuAuthorization.vue'; //绯荤粺绠$悊-瑙掕壊鑿滃崟鎺堟潈
 
+import bankController from '../views/datamanage/bankController.vue';//鏁版嵁搴撶鐞�
+import projectController from '../views/datamanage/projectController.vue';//椤圭洰绠$悊
+
+
+
 //鍖呬簩
 import WareInspection from '@/views/PackageTwo/WareInspection.vue'; //鏁版嵁璐ㄦ-鍏ュ簱璐ㄦ
 import QualityInspection from '@/views/PackageTwo/index.vue'; //鏁版嵁璐ㄦ-鍏ュ簱璐ㄦ
@@ -114,6 +119,24 @@
         },
       },
       {
+        path: '/bankController',
+        component: bankController,
+        name: 'bankController',
+        meta: {
+          title: '鏁版嵁搴撶鐞�',
+          requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰�
+        },
+      },
+      {
+        path: '/projectController',
+        component: projectController,
+        name: 'projectController',
+        meta: {
+          title: '椤圭洰绠$悊',
+          requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰�
+        },
+      },
+      {
         path: '/dataController',
         component: dataController,
         name: 'dataController',
diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue
index e5058a4..29729e9 100644
--- a/src/views/Synthesis/LeftMenu.vue
+++ b/src/views/Synthesis/LeftMenu.vue
@@ -1185,7 +1185,7 @@
             PDelevationTool.type = "none";
           }
           PDelevationTool.render();
-debugger
+
           break;
         case "d3": //璺緞鍒嗘瀽
 
diff --git a/src/views/datamanage/SpatialData.vue b/src/views/datamanage/SpatialData.vue
index 027a684..c3e9d29 100644
--- a/src/views/datamanage/SpatialData.vue
+++ b/src/views/datamanage/SpatialData.vue
@@ -792,7 +792,7 @@
       var std = [];
       for (var i in data1) {
         if (data1[i].type != 'geometry' && data1[i].type) {
-          debugger
+
           this.filedsOption.push(data1[i]);
         }
         if (data1[i].showtype == 1) {
diff --git a/src/views/datamanage/bankController.vue b/src/views/datamanage/bankController.vue
new file mode 100644
index 0000000..81cea84
--- /dev/null
+++ b/src/views/datamanage/bankController.vue
@@ -0,0 +1,257 @@
+<template>
+  <div class="contentBox">
+
+    <div
+      class="box"
+      ref="box"
+    >
+      <div class="left box_div">
+        <el-menu
+          :default-active="activeIndex"
+          background-color="transparent"
+          @select="handleselect"
+        >
+          <customElMenu :menuData="menuList"></customElMenu>
+        </el-menu>
+      </div>
+      <div
+        class="resize"
+        title="鏀剁缉渚ц竟鏍�"
+      >
+        鈰�
+      </div>
+      <div class="mid box_div">
+        <data-updata v-if="setMenuFlag == 'dataUpdata'"></data-updata>
+        <catalogue-manage v-if="setMenuFlag == 'catalogueManage'"></catalogue-manage>
+        <spatial-data v-if="setMenuFlag == 'SpatialData'"></spatial-data>
+        <version-manage v-if="setMenuFlag == 'versionManage'"></version-manage>
+        <domain-manage v-if="setMenuFlag == 'domainManage'"></domain-manage>
+        <dictionary-manage v-if="setMenuFlag == 'dictionaryManage'"></dictionary-manage>
+        <metadata-manage v-if="setMenuFlag == 'metadataManage'"></metadata-manage>
+        <style-manage v-if="setMenuFlag == 'styleManage'"></style-manage>
+        <data-loader v-if="setMenuFlag == 'dataLoader'"></data-loader>
+        <down-loader v-if="setMenuFlag == 'downLoader'"></down-loader>
+        <project-manage v-if="setMenuFlag == 'projectManage'"></project-manage>
+        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
+      </div>
+    </div>
+
+  </div>
+
+</template>
+
+<script>
+import { selectMenuRecursive, queryMenuTree, sign_insertOpLog } from '../../api/api';
+import customElMenu from '../../components/customElMenu.vue';
+import dataUpdata from '@/views/datamanage/dataUpdata.vue'; //鏁版嵁绠$悊-鏁版嵁涓婁紶
+import catalogueManage from '@/views/datamanage/catalogueManage.vue'; //鏁版嵁绠$悊-鐩綍绠$悊
+import SpatialData from '@/views/datamanage/SpatialData.vue'; //鏁版嵁绠$悊-鏁版嵁妫�绱�
+import versionManage from '@/views/datamanage/versionManage.vue'; //鏁版嵁绠$悊-鐗堟湰绠$悊
+import domainManage from '@/views/datamanage/domainManage.vue'; //鏁版嵁绠$悊-鍊煎煙绠$悊
+import dictionaryManage from '@/views/datamanage/dictionaryManage.vue'; //鏁版嵁绠$悊-瀛楀吀绠$悊
+import metadataManage from '@/views/datamanage/metadataManage.vue'; //鏁版嵁绠$悊-鍏冩暟鎹鐞�
+import styleManage from '@/views/datamanage/styleManage.vue'; //鏁版嵁绠$悊-鏍峰紡绠$悊
+import dataLoader from '@/views/datamanage/dataLoader.vue'; //鏁版嵁绠$悊-鏁版嵁鍏ュ簱
+import downLoader from '@/views/datamanage/downLoader.vue'; //鏁版嵁绠$悊-鏁版嵁涓嬭浇
+import projectManage from '@/views/datamanage/projectManage.vue'; //椤圭洰绠$悊
+import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻
+
+export default {
+  components: {
+    customElMenu,
+    dataUpdata,
+    catalogueManage,
+    SpatialData,
+    versionManage,
+    domainManage,
+    dictionaryManage,
+    metadataManage,
+    styleManage,
+    dataLoader,
+    downLoader,
+    projectManage,
+    dataStatistics,
+
+  },
+  data() {
+    return {
+      setMenuFlag: ' ',
+      activeIndex: ' ',
+      oriData: [], //鍘熷鏍戞暟鎹�
+      dirData: [], //el鏍戞暟鎹�
+      newData: [], //鎷栧姩鍚庢暟鎹�
+      lang: 'zh',
+
+      menuList: [],
+      editTitle: '',
+      showPopover: false,
+      showEditInfoWrapper: false,
+      showEdit: false,
+      editMenu: false,
+      editCatalogue: false,
+      editUnit: false,
+      itemdetail: {},
+      formLabelWidth: '70px',
+    };
+  },
+  created() { },
+  mounted() {
+    this.getTreeData();
+    //宸﹀彸鎷栧嫊
+    this.dragControllerDiv();
+  },
+  methods: {
+    //宸﹀彸鎷栧嫊
+    dragControllerDiv: function () {
+      var resize = document.getElementsByClassName('resize');
+      var left = document.getElementsByClassName('left');
+      var mid = document.getElementsByClassName('mid');
+      var box = document.getElementsByClassName('box');
+      for (let i = 0; i < resize.length; i++) {
+        // 榧犳爣鎸変笅浜嬩欢
+        resize[i].onmousedown = function (e) {
+          //棰滆壊鏀瑰彉鎻愰啋
+          resize[i].style.background = '#818181';
+          var startX = e.clientX;
+          resize[i].left = resize[i].offsetLeft;
+          // 榧犳爣鎷栧姩浜嬩欢
+          document.onmousemove = function (e) {
+            var endX = e.clientX;
+            var moveLen = resize[i].left + (endX - startX); // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害
+            var maxT = box[i].clientWidth - resize[i].offsetWidth; // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴�
+
+            if (moveLen < 205) moveLen = 205; // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px
+            if (moveLen > maxT - 300) moveLen = maxT - 300; //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px
+
+            resize[i].style.left = moveLen; // 璁剧疆宸︿晶鍖哄煙鐨勫搴�
+
+            for (let j = 0; j < left.length; j++) {
+              left[j].style.width = moveLen + 'px';
+              mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px';
+            }
+          };
+          // 榧犳爣鏉惧紑浜嬩欢
+          document.onmouseup = function (evt) {
+            //棰滆壊鎭㈠
+            resize[i].style.background = '#d6d6d6';
+            document.onmousemove = null;
+            document.onmouseup = null;
+            resize[i].releaseCapture && resize[i].releaseCapture(); //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺�
+          };
+          resize[i].setCapture && resize[i].setCapture(); //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏
+          return false;
+        };
+      }
+    },
+
+
+
+    //鑾峰彇鏍�
+    async getTreeData() {
+      const data = await queryMenuTree();
+
+      let menuLists = data.result.filter((value) => {
+        return value.url == '/bankController';
+      });
+
+      const res = await selectMenuRecursive({ id: menuLists[0].id });
+
+      if (res.code == 200) {
+        if (res.result.length != 0) {
+          let menuList = res.result.filter((value) => {
+            return value.type == 1;
+          });
+
+          this.menuList = this.treeData(menuList);
+          this.m1 = this.menuList[0].cnName;
+          this.setViewController(this.menuList[0]);
+
+          const hanleselectindex = sessionStorage.getItem('hanleselectindex')
+          if (hanleselectindex) {
+            this.$nextTick(function () {
+              this.handleselecttwo(JSON.parse(hanleselectindex).url, JSON.parse(hanleselectindex))
+              this.setViewController(JSON.parse(hanleselectindex))
+            })
+          }
+        } else {
+
+          this.$message.error('鏆傛棤鑿滃崟鏍忔暟鎹�');
+        }
+      } else {
+        this.$message.error('鎺ュ彛鎶ラ敊');
+      }
+
+      // this.treeList = this.treeData(data.result);
+    },
+    setViewController(res) {
+      if (res.children != null) {
+        this.setViewController(res.children[0]);
+      } else {
+        this.signInsertOpLog(this.m1, res.cnName)
+        this.$store.state.currentPerms = res.perms;
+        this.setMenuFlag = res.url;
+        this.activeIndex = res.url;
+      }
+    },
+    async signInsertOpLog(m1, m2) {
+      var obj = {
+        m1: m1,
+        m2: m2,
+      }
+      const data = await sign_insertOpLog(obj);
+    },
+    treeData(source) {
+      let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
+      // console.log(cloneData);
+      if (cloneData.length != 0) {
+        return cloneData.filter((father) => {
+          // 寰幆鎵�鏈夐」
+          let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
+          branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+          // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛�
+          // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
+          return father.pid == 86; // 杩斿洖涓�绾ц彍鍗�
+        });
+      } else {
+
+        this.$message.error('鏆傛棤鑿滃崟鏍忔暟鎹�');
+      }
+    },
+
+    handleselect(index, indexPath, e) {
+      const a = JSON.stringify(e.$attrs.perms)
+      this.signInsertOpLog(this.m1, e.$attrs.perms.cnName)
+      sessionStorage.setItem('hanleselectindex', a)
+      var data = e.$attrs.perms;
+      this.$store.state.currentPerms = data.perms;
+      var index = data.url;
+
+      if (index != null) {
+        if (index.indexOf('http') != -1) {
+          this.$store.commit('getIframe', data.url);
+          index = 'dataIfream';
+        }
+      }
+      this.setMenuFlag = index;
+    },
+
+    handleselecttwo(index, e) {
+      const a = JSON.stringify(e)
+      sessionStorage.setItem('hanleselectindex', a)
+      var data = e;
+      this.$store.state.currentPerms = data.perms;
+      var index = data.url;
+
+      if (index != null) {
+        if (index.indexOf('http') != -1) {
+          this.$store.commit('getIframe', data.url);
+          index = 'dataIfream';
+        }
+      }
+      this.setMenuFlag = index;
+    },
+  },
+};
+</script>
+
+ 
\ No newline at end of file
diff --git a/src/views/datamanage/dataController.vue b/src/views/datamanage/dataController.vue
index 7f1191b..752f4a9 100644
--- a/src/views/datamanage/dataController.vue
+++ b/src/views/datamanage/dataController.vue
@@ -54,8 +54,8 @@
 import dataLoader from '@/views/datamanage/dataLoader.vue'; //鏁版嵁绠$悊-鏁版嵁鍏ュ簱
 import downLoader from '@/views/datamanage/downLoader.vue'; //鏁版嵁绠$悊-鏁版嵁涓嬭浇
 import projectManage from '@/views/datamanage/projectManage.vue'; //椤圭洰绠$悊
-import dataStatistics from  '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻
- 
+import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻
+
 export default {
   components: {
     customElMenu,
@@ -71,7 +71,7 @@
     downLoader,
     projectManage,
     dataStatistics,
- 
+
   },
   data() {
     return {
diff --git a/src/views/datamanage/projectController.vue b/src/views/datamanage/projectController.vue
new file mode 100644
index 0000000..3d9c2fd
--- /dev/null
+++ b/src/views/datamanage/projectController.vue
@@ -0,0 +1,257 @@
+<template>
+  <div class="contentBox">
+
+    <div
+      class="box"
+      ref="box"
+    >
+      <div class="left box_div">
+        <el-menu
+          :default-active="activeIndex"
+          background-color="transparent"
+          @select="handleselect"
+        >
+          <customElMenu :menuData="menuList"></customElMenu>
+        </el-menu>
+      </div>
+      <div
+        class="resize"
+        title="鏀剁缉渚ц竟鏍�"
+      >
+        鈰�
+      </div>
+      <div class="mid box_div">
+        <data-updata v-if="setMenuFlag == 'dataUpdata'"></data-updata>
+        <catalogue-manage v-if="setMenuFlag == 'catalogueManage'"></catalogue-manage>
+        <spatial-data v-if="setMenuFlag == 'SpatialData'"></spatial-data>
+        <version-manage v-if="setMenuFlag == 'versionManage'"></version-manage>
+        <domain-manage v-if="setMenuFlag == 'domainManage'"></domain-manage>
+        <dictionary-manage v-if="setMenuFlag == 'dictionaryManage'"></dictionary-manage>
+        <metadata-manage v-if="setMenuFlag == 'metadataManage'"></metadata-manage>
+        <style-manage v-if="setMenuFlag == 'styleManage'"></style-manage>
+        <data-loader v-if="setMenuFlag == 'dataLoader'"></data-loader>
+        <down-loader v-if="setMenuFlag == 'downLoader'"></down-loader>
+        <project-manage v-if="setMenuFlag == 'projectManage'"></project-manage>
+        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
+      </div>
+    </div>
+
+  </div>
+
+</template>
+
+<script>
+import { selectMenuRecursive, queryMenuTree, sign_insertOpLog } from '../../api/api';
+import customElMenu from '../../components/customElMenu.vue';
+import dataUpdata from '@/views/datamanage/dataUpdata.vue'; //鏁版嵁绠$悊-鏁版嵁涓婁紶
+import catalogueManage from '@/views/datamanage/catalogueManage.vue'; //鏁版嵁绠$悊-鐩綍绠$悊
+import SpatialData from '@/views/datamanage/SpatialData.vue'; //鏁版嵁绠$悊-鏁版嵁妫�绱�
+import versionManage from '@/views/datamanage/versionManage.vue'; //鏁版嵁绠$悊-鐗堟湰绠$悊
+import domainManage from '@/views/datamanage/domainManage.vue'; //鏁版嵁绠$悊-鍊煎煙绠$悊
+import dictionaryManage from '@/views/datamanage/dictionaryManage.vue'; //鏁版嵁绠$悊-瀛楀吀绠$悊
+import metadataManage from '@/views/datamanage/metadataManage.vue'; //鏁版嵁绠$悊-鍏冩暟鎹鐞�
+import styleManage from '@/views/datamanage/styleManage.vue'; //鏁版嵁绠$悊-鏍峰紡绠$悊
+import dataLoader from '@/views/datamanage/dataLoader.vue'; //鏁版嵁绠$悊-鏁版嵁鍏ュ簱
+import downLoader from '@/views/datamanage/downLoader.vue'; //鏁版嵁绠$悊-鏁版嵁涓嬭浇
+import projectManage from '@/views/datamanage/projectManage.vue'; //椤圭洰绠$悊
+import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻
+
+export default {
+  components: {
+    customElMenu,
+    dataUpdata,
+    catalogueManage,
+    SpatialData,
+    versionManage,
+    domainManage,
+    dictionaryManage,
+    metadataManage,
+    styleManage,
+    dataLoader,
+    downLoader,
+    projectManage,
+    dataStatistics,
+
+  },
+  data() {
+    return {
+      setMenuFlag: ' ',
+      activeIndex: ' ',
+      oriData: [], //鍘熷鏍戞暟鎹�
+      dirData: [], //el鏍戞暟鎹�
+      newData: [], //鎷栧姩鍚庢暟鎹�
+      lang: 'zh',
+
+      menuList: [],
+      editTitle: '',
+      showPopover: false,
+      showEditInfoWrapper: false,
+      showEdit: false,
+      editMenu: false,
+      editCatalogue: false,
+      editUnit: false,
+      itemdetail: {},
+      formLabelWidth: '70px',
+    };
+  },
+  created() { },
+  mounted() {
+    this.getTreeData();
+    //宸﹀彸鎷栧嫊
+    this.dragControllerDiv();
+  },
+  methods: {
+    //宸﹀彸鎷栧嫊
+    dragControllerDiv: function () {
+      var resize = document.getElementsByClassName('resize');
+      var left = document.getElementsByClassName('left');
+      var mid = document.getElementsByClassName('mid');
+      var box = document.getElementsByClassName('box');
+      for (let i = 0; i < resize.length; i++) {
+        // 榧犳爣鎸変笅浜嬩欢
+        resize[i].onmousedown = function (e) {
+          //棰滆壊鏀瑰彉鎻愰啋
+          resize[i].style.background = '#818181';
+          var startX = e.clientX;
+          resize[i].left = resize[i].offsetLeft;
+          // 榧犳爣鎷栧姩浜嬩欢
+          document.onmousemove = function (e) {
+            var endX = e.clientX;
+            var moveLen = resize[i].left + (endX - startX); // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害
+            var maxT = box[i].clientWidth - resize[i].offsetWidth; // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴�
+
+            if (moveLen < 205) moveLen = 205; // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px
+            if (moveLen > maxT - 300) moveLen = maxT - 300; //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px
+
+            resize[i].style.left = moveLen; // 璁剧疆宸︿晶鍖哄煙鐨勫搴�
+
+            for (let j = 0; j < left.length; j++) {
+              left[j].style.width = moveLen + 'px';
+              mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px';
+            }
+          };
+          // 榧犳爣鏉惧紑浜嬩欢
+          document.onmouseup = function (evt) {
+            //棰滆壊鎭㈠
+            resize[i].style.background = '#d6d6d6';
+            document.onmousemove = null;
+            document.onmouseup = null;
+            resize[i].releaseCapture && resize[i].releaseCapture(); //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺�
+          };
+          resize[i].setCapture && resize[i].setCapture(); //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏
+          return false;
+        };
+      }
+    },
+
+
+
+    //鑾峰彇鏍�
+    async getTreeData() {
+      const data = await queryMenuTree();
+
+      let menuLists = data.result.filter((value) => {
+        return value.url == '/projectController';
+      });
+
+      const res = await selectMenuRecursive({ id: menuLists[0].id });
+
+      if (res.code == 200) {
+        if (res.result.length != 0) {
+          let menuList = res.result.filter((value) => {
+            return value.type == 1;
+          });
+          this.menuList = this.treeData(menuList);
+
+          this.m1 = this.menuList[0].cnName;
+          this.setViewController(this.menuList[0]);
+
+          const hanleselectindex = sessionStorage.getItem('hanleselectindex')
+          if (hanleselectindex) {
+            this.$nextTick(function () {
+              this.handleselecttwo(JSON.parse(hanleselectindex).url, JSON.parse(hanleselectindex))
+              this.setViewController(JSON.parse(hanleselectindex))
+            })
+          }
+        } else {
+
+          this.$message.error('鏆傛棤鑿滃崟鏍忔暟鎹�');
+        }
+      } else {
+        this.$message.error('鎺ュ彛鎶ラ敊');
+      }
+
+      // this.treeList = this.treeData(data.result);
+    },
+    setViewController(res) {
+      if (res.children != null) {
+        this.setViewController(res.children[0]);
+      } else {
+        this.signInsertOpLog(this.m1, res.cnName)
+        this.$store.state.currentPerms = res.perms;
+        this.setMenuFlag = res.url;
+        this.activeIndex = res.url;
+      }
+    },
+    async signInsertOpLog(m1, m2) {
+      var obj = {
+        m1: m1,
+        m2: m2,
+      }
+      const data = await sign_insertOpLog(obj);
+    },
+    treeData(source) {
+      let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
+      // console.log(cloneData);
+      if (cloneData.length != 0) {
+        return cloneData.filter((father) => {
+          // 寰幆鎵�鏈夐」
+          let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
+          branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+          // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛�
+          // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
+          return father.pid == 85; // 杩斿洖涓�绾ц彍鍗�
+        });
+      } else {
+
+        this.$message.error('鏆傛棤鑿滃崟鏍忔暟鎹�');
+      }
+    },
+
+    handleselect(index, indexPath, e) {
+      const a = JSON.stringify(e.$attrs.perms)
+      this.signInsertOpLog(this.m1, e.$attrs.perms.cnName)
+      sessionStorage.setItem('hanleselectindex', a)
+      var data = e.$attrs.perms;
+      this.$store.state.currentPerms = data.perms;
+      var index = data.url;
+
+      if (index != null) {
+        if (index.indexOf('http') != -1) {
+          this.$store.commit('getIframe', data.url);
+          index = 'dataIfream';
+        }
+      }
+      this.setMenuFlag = index;
+    },
+
+    handleselecttwo(index, e) {
+      const a = JSON.stringify(e)
+      sessionStorage.setItem('hanleselectindex', a)
+      var data = e;
+      this.$store.state.currentPerms = data.perms;
+      var index = data.url;
+
+      if (index != null) {
+        if (index.indexOf('http') != -1) {
+          this.$store.commit('getIframe', data.url);
+          index = 'dataIfream';
+        }
+      }
+      this.setMenuFlag = index;
+    },
+  },
+};
+</script>
+
+ 
\ No newline at end of file
diff --git a/src/views/maintenance/mochaitmo.vue b/src/views/maintenance/mochaitmo.vue
index b02d358..c691baf 100644
--- a/src/views/maintenance/mochaitmo.vue
+++ b/src/views/maintenance/mochaitmo.vue
@@ -42,6 +42,7 @@
         <parameter-configuration v-if="setMenuFlag == 'parameterConfiguration'"></parameter-configuration>
         <downlog v-if="setMenuFlag == 'downlog'"></downlog>
         <template-manage v-if="setMenuFlag == 'templateManage'"></template-manage>
+        <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics>
       </div>
     </div>
 
@@ -72,6 +73,7 @@
 import templateManage from '@/views/userManage/templateManage.vue'//妯℃澘绠$悊
 import { selectMenuRecursive, queryMenuTree, getPerms, sign_insertOpLog } from '../../api/api';
 import customElMenu from '../../components/customElMenu.vue';
+import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻
 
 export default {
   components: {
@@ -96,7 +98,7 @@
     customElMenu,
     downlog,
     templateManage,
-
+    dataStatistics
   },
   data() {
     return {
@@ -208,9 +210,9 @@
           let menuList = res.result.filter((value) => {
             return value.type == 1;
           })
-          .filter(value => {
-            return value.isShow == 1;
-          });
+            .filter(value => {
+              return value.isShow == 1;
+            });
           this.menuList = this.treeData(menuList);
           this.getCookies();
           const hanleselectmochaitmo = sessionStorage.getItem('hanleselectmochaitmo')
@@ -275,7 +277,7 @@
 
     handleselect(index, indexPath, e) {
       this.getTimeCookies();
-      
+
       this.signInsertOpLog(this.m1, e.$attrs.perms.cnName)
       const a = JSON.stringify(e.$attrs.perms)
       sessionStorage.setItem('hanleselectmochaitmo', a)

--
Gitblit v1.9.3