From d0405cc50cab4c389d3203428408ecf15b5a0409 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 14 三月 2023 17:48:57 +0800
Subject: [PATCH] 数据发布页面添加

---
 src/views/datamanage/uploadmanage.vue   |  432 +++++++++++++++++++++++++++++++++++++++++++
 src/assets/lang/zh.js                   |    7 
 src/views/Synthesis/LeftMenu.vue        |  144 +++++++-------
 src/assets/lang/en.js                   |    6 
 src/views/datamanage/bankController.vue |   11 
 5 files changed, 525 insertions(+), 75 deletions(-)

diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 81291ac..6d1117c 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -116,8 +116,12 @@
       inspectionItems: "Inspection items",
       code: 'Code'
     },
-
     metadataManage: 'information management',
+    uploadManage: 'Release management',
+    uploadObj: {
+      dataRelease: 'Data release',
+      releaseList: 'Release list'
+    },
     dataLoading: 'dataLoading',
     SpatialData: 'SpatialData',
     versionManage: 'versionManage',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index c97c3b8..403ff86 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -118,6 +118,13 @@
       code: '缂栫爜'
     },
     metadataManage: '淇℃伅绠$悊',
+
+    uploadManage: '鍙戝竷绠$悊',
+    uploadObj: {
+      dataRelease: '鏁版嵁鍙戝竷',
+      releaseList: '鍙戝竷娓呭崟'
+    },
+
     dataLoading: '鏁版嵁鍏ュ簱',
     SpatialData: '绌洪棿鏁版嵁绠$悊',
     versionManage: '鐗堟湰绠$悊',
diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue
index bbde562..e5707d9 100644
--- a/src/views/Synthesis/LeftMenu.vue
+++ b/src/views/Synthesis/LeftMenu.vue
@@ -90,10 +90,11 @@
             >
 
               <el-form-item :label="$t('common.name')">
-                <el-input v-model="formInline.name"></el-input>
+                <!-- <el-input v-model="formInline.name"></el-input> -->
+                {{formInline.name}}
               </el-form-item>
               <el-form-item :label="$t('common.type')">
-                <el-select
+                <!-- <el-select
                   v-model="formInline.type"
                   style="width:100%"
                 >
@@ -104,13 +105,15 @@
                     :value="item.value"
                   >
                   </el-option>
-                </el-select>
+                </el-select> -->
+                {{formInline.type}}
               </el-form-item>
 
               <el-form-item :label="$t('common.bak')">
-                <el-input v-model="formInline.bak"></el-input>
+                <!-- <el-input v-model="formInline.bak"></el-input> -->
+                {{formInline.bak}}
               </el-form-item>
-              <el-form-item>
+              <!-- <el-form-item>
                 <el-button
                   v-show="isShowModel"
                   type="success"
@@ -119,14 +122,14 @@
                   @click="InsertData"
                 >{{$t('common.increase')}}</el-button>
                 <el-button
-                  v-show="!isShowModel"
+                  v-show=" isShowModel"
                   type="info"
                   plain
                   size="small"
                   @click="EditData"
                 >{{$t('common.update')}}</el-button>
-              </el-form-item>
-              </el-form-item>
+              </el-form-item> -->
+
             </el-form>
 
           </el-tab-pane>
@@ -134,6 +137,7 @@
             label="闄勪欢"
             name="second"
           >
+
             <el-table
               :data="tableData"
               ref="filterTable"
@@ -654,28 +658,28 @@
       activeName: "first",
       isShowModel: false,
       options: [
-          {
-        value: '鍊炬枩妯″瀷',
-        label: '鍊炬枩妯″瀷'
-      }, {
-        value: 'BIM妯″瀷',
-        label: 'BIM妯″瀷'
-      }, {
-        value: '鐐逛簯妯″瀷',
-        label: '鐐逛簯妯″瀷'
-      }, {
-        value: '鍦拌川璁捐妯″瀷',
-        label: '鍦拌川璁捐妯″瀷'
-      }, {
-        value: '浜哄伐妯″瀷',
-        label: '浜哄伐妯″瀷'
-      }, {
-        value: '鍏朵粬妯″瀷',
-        label: '鍏朵粬妯″瀷'
-      }],
-      modelClip:false,
-      clippingPlanes:null,
-      showPickUp:false,
+        {
+          value: '鍊炬枩妯″瀷',
+          label: '鍊炬枩妯″瀷'
+        }, {
+          value: 'BIM妯″瀷',
+          label: 'BIM妯″瀷'
+        }, {
+          value: '鐐逛簯妯″瀷',
+          label: '鐐逛簯妯″瀷'
+        }, {
+          value: '鍦拌川璁捐妯″瀷',
+          label: '鍦拌川璁捐妯″瀷'
+        }, {
+          value: '浜哄伐妯″瀷',
+          label: '浜哄伐妯″瀷'
+        }, {
+          value: '鍏朵粬妯″瀷',
+          label: '鍏朵粬妯″瀷'
+        }],
+      modelClip: false,
+      clippingPlanes: null,
+      showPickUp: false,
     };
   },
   methods: {
@@ -1400,18 +1404,18 @@
           this.$store.state.mapMenuBoolean = !this.$store.state.mapMenuBoolean;
           this.$store.state.mapMenuBoxFlag = "2";
           break;
-          //鎷惧彇鍔熻兘
+        //鎷惧彇鍔熻兘
         case "e3":
           this.$store.state.mapMenuBoolean = false;
           this.showPickUp = !this.showPickUp;
-          if (this.showPickUp){
+          if (this.showPickUp) {
             let that = this;
             Viewer.screenSpaceEventHandler.setInputAction(function (event) {
               let p = sgworld.Navigate.getMouseDegrees(event);
               console.log(p);
               that.getPickUpData(p);
             }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
-          }else {
+          } else {
             this.$refs.queryinfo.closeAll();
             Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
           }
@@ -1546,20 +1550,20 @@
           // } else {
           var that = this;
           that.modelClip = !that.modelClip;
-          if (that.modelClip){
-            if (window.model){
+          if (that.modelClip) {
+            if (window.model) {
               that.modelClipping();
             }
             else {
               var tileset = Viewer.scene.primitives.add(
-                  new Cesium.Cesium3DTileset({
-                    name: res.cnName,
-                    url: modelUrl+ "/tileset/m/SN/tileset.json",
-                    maximumScreenSpaceError: 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16
-                    maximumMemoryUsage: 768, // 鏈�澶у唴瀛橈細512
-                    dynamicScreenSpaceError: true, // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse
-                    skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false
-                  })
+                new Cesium.Cesium3DTileset({
+                  name: res.cnName,
+                  url: modelUrl + "/tileset/m/SN/tileset.json",
+                  maximumScreenSpaceError: 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16
+                  maximumMemoryUsage: 768, // 鏈�澶у唴瀛橈細512
+                  dynamicScreenSpaceError: true, // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse
+                  skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false
+                })
               );
               tileset.readyPromise.then((tileset) => {
                 tileset.id = res.cnName;
@@ -1754,11 +1758,11 @@
       let clippingPlanes = new Cesium.ClippingPlaneCollection({
         planes: [ // ClippingPlane瀵硅薄鏁扮粍闆嗗悎
           new Cesium.ClippingPlane( // 瑁佸垏闈�
-              new Cesium.Cartesian3(0.0, 0.0, -1.0), // 娉曠嚎鏂瑰悜
-              0// 鍘熺偣鍒板钩闈㈢殑鏈�鐭窛绂伙紝璁剧疆0灏卞ソ
+            new Cesium.Cartesian3(0.0, 0.0, -1.0), // 娉曠嚎鏂瑰悜
+            0// 鍘熺偣鍒板钩闈㈢殑鏈�鐭窛绂伙紝璁剧疆0灏卞ソ
           ),
         ],
-        enabled:true,
+        enabled: true,
         edgeWidth: 1.0, // 妯″瀷琚鍒囬儴鍒嗙殑鎴潰绾垮
       });
       let boundingSphere = window.model.boundingSphere;
@@ -1769,14 +1773,14 @@
           position: boundingSphere.center,
           plane: {
             dimensions: new Cesium.Cartesian2(
-                boundingSphere.radius * 1.5,
-                boundingSphere.radius * 1.5
+              boundingSphere.radius * 1.5,
+              boundingSphere.radius * 1.5
             ),
             material: Cesium.Color.WHITE.withAlpha(0.1),
             plane: new Cesium.CallbackProperty(
-                // 娣诲姞缁戝畾浜嬩欢锛屼笉鏂皟鐢�
-                createPlaneUpdateFunction(plane),
-                false
+              // 娣诲姞缁戝畾浜嬩欢锛屼笉鏂皟鐢�
+              createPlaneUpdateFunction(plane),
+              false
             ),
             outline: true,
             outlineColor: Cesium.Color.WHITE,
@@ -1790,13 +1794,13 @@
       // Select plane when mouse down
       // 缁戝畾涓婄Щ鍔ㄤ簨浠�
       const downHandler = new Cesium.ScreenSpaceEventHandler(
-          Viewer.scene.canvas
+        Viewer.scene.canvas
       );
       downHandler.setInputAction(function (movement) {
         const pickedObject = scene.pick(movement.position);
         if (
-            Cesium.defined(pickedObject) &&
-            Cesium.defined(pickedObject.id.plane)
+          Cesium.defined(pickedObject) &&
+          Cesium.defined(pickedObject.id.plane)
         ) {
           selectedPlane = pickedObject.id.plane;
           selectedPlane.material = Cesium.Color.WHITE.withAlpha(0.05);
@@ -1808,7 +1812,7 @@
       // Release plane on mouse up
       // 缁戝畾涓嬬Щ鍔ㄤ簨浠�
       const upHandler = new Cesium.ScreenSpaceEventHandler(
-          Viewer.scene.canvas
+        Viewer.scene.canvas
       );
       upHandler.setInputAction(function () {
         if (Cesium.defined(selectedPlane)) {
@@ -1820,7 +1824,7 @@
       }, Cesium.ScreenSpaceEventType.LEFT_UP);
       // Update plane on mouse move
       const moveHandler = new Cesium.ScreenSpaceEventHandler(
-          Viewer.scene.canvas
+        Viewer.scene.canvas
       );
       moveHandler.setInputAction(function (movement) {
         if (Cesium.defined(selectedPlane)) {
@@ -1837,10 +1841,10 @@
     },
 
     //鍏抽棴绠¢亾淇℃伅寮圭獥
-    closePipelinePop(){
+    closePipelinePop() {
       this.$refs &&
-      this.$refs.queryinfo &&
-      this.$refs.queryinfo.close("queryinfo");
+        this.$refs.queryinfo &&
+        this.$refs.queryinfo.close("queryinfo");
     },
     setclippingModel() {
       if (window.model) {
@@ -2421,30 +2425,30 @@
       this.attacgSelection = val;
     },
     //鎷惧彇鏁版嵁鑾峰彇
-    async getPickUpData(info){
+    async getPickUpData(info) {
       let checkedLayers = JSON.parse(sessionStorage.getItem("checkedLayers"));
       let showPop = false;
       for (const item of checkedLayers) {
-        let name = item.url.replaceAll("LF:","");
-        name = name.replaceAll("_","");
+        let name = item.url.replaceAll("LF:", "");
+        name = name.replaceAll("_", "");
         let params = {
-          buffer:10,
-          limit:20,
-          name:name,
-          wkt:`POINT (${info.lon} ${info.lat})`,
+          buffer: 10,
+          limit: 20,
+          name: name,
+          wkt: `POINT (${info.lon} ${info.lat})`,
         }
         const res = await selectByBuffer(params);
-        if (res.result && res.result.length > 0){
+        if (res.result && res.result.length > 0) {
           this.$store.state.mapPopBoxFlag = "4";
           this.$store.state.pickUpPointInfo = info;
           this.$refs &&
-          this.$refs.queryinfo &&
-          this.$refs.queryinfo.open("鎷惧彇鍒嗘瀽", null,);
+            this.$refs.queryinfo &&
+            this.$refs.queryinfo.open("鎷惧彇鍒嗘瀽", null,);
           showPop = true;
           break;
         }
       }
-      if (!showPop){
+      if (!showPop) {
         this.$message.warning("鏆傛棤鏁版嵁!");
       }
     }
diff --git a/src/views/datamanage/bankController.vue b/src/views/datamanage/bankController.vue
index f9d2fc9..5f87439 100644
--- a/src/views/datamanage/bankController.vue
+++ b/src/views/datamanage/bankController.vue
@@ -22,17 +22,18 @@
       </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>
+        <uploadmanage v-if="setMenuFlag == 'uploadmanage'"></uploadmanage>
       </div>
     </div>
 
@@ -55,7 +56,8 @@
 import downLoader from '@/views/datamanage/downLoader.vue'; //鏁版嵁绠$悊-鏁版嵁涓嬭浇
 import projectManage from '@/views/datamanage/projectManage.vue'; //椤圭洰绠$悊
 import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻
-
+import uploadmanage from '@/views/datamanage/uploadmanage.vue'; //涓婁紶绠$悊
+import Uploadmanage from './uploadmanage.vue';
 export default {
   components: {
     customElMenu,
@@ -71,6 +73,7 @@
     downLoader,
     projectManage,
     dataStatistics,
+    uploadmanage,
 
   },
   data() {
diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue
new file mode 100644
index 0000000..e5f6012
--- /dev/null
+++ b/src/views/datamanage/uploadmanage.vue
@@ -0,0 +1,432 @@
+<template>
+  <div class="uploads_box">
+    <My-bread :list="[
+        `${$t('dataManage.dataManage')}`,
+        `${$t('dataManage.uploadManage')}`,
+      ]"></My-bread>
+    <el-divider />
+    <!-- tabs鍒囨崲 -->
+    <div class="tabs_box">
+      <div
+        class="tabs_pane"
+        @click="setTabsChange()"
+      >
+        <div :class="{ changetabs : active == 'first'}">
+          {{$t('dataManage.uploadObj.dataRelease')}}
+        </div>
+      </div>
+      <div
+        class="tabs_pane"
+        @click="setTabsChange()"
+      >
+        <div :class="{ changetabs : active == 'second'}">
+          {{$t('dataManage.uploadObj.releaseList')}}
+        </div>
+      </div>
+    </div>
+    <div class="content_box">
+      <el-form
+        :inline="true"
+        :model="formInline"
+        class="demo-form-inline"
+      >
+        <!-- 鍗曚綅 -->
+        <el-form-item>
+          <el-select
+            size="small"
+            v-model="formInline.depid"
+          >
+            <el-option
+              :value="formInline.depid"
+              :label="formInline.depName"
+              style="height: auto"
+            >
+              <el-tree
+                ref="tree"
+                :data="depOption"
+                node-key="id"
+                :props="defaultProps"
+                @node-click="handleDepChange"
+              />
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!-- 鐩綍 -->
+        <el-form-item>
+          <el-select
+            size="small"
+            v-model="formInline.dirid"
+          >
+            <el-option
+              :value="formInline.dirid"
+              :label="formInline.dirName"
+              style="height: auto"
+            >
+              <el-tree
+                ref="tree"
+                :data="dirOption"
+                node-key="id"
+                :props="defaultProps"
+                @node-click="handleDirChange"
+              />
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!-- 鐗堟湰 -->
+        <el-form-item>
+          <el-select
+            size="small"
+            v-model="formInline.verid"
+            @change="handleVerChange"
+          > <el-option
+              v-for="item in verOption"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!-- 绫诲瀷 -->
+        <el-form-item>
+          <el-select
+            size="small"
+            v-model="formInline.type"
+            @change="handleTypeChange"
+          >
+            <el-option
+              v-for="item in typeOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-input
+            size="small"
+            :title="$t('dataManage.vmobj.keyword')"
+          > <i
+              @click="getTableData"
+              :title="$t('common.iquery')"
+              slot="suffix"
+              class="el-icon-search"
+              style="padding-right: 8px"
+            ></i></el-input>
+        </el-form-item>
+        <el-form-item style="float:right">
+          <el-button
+            type="info"
+            size="small"
+            @click="setPageStart"
+            icon="el-icon-refresh"
+          >{{$t('common.reset')}}</el-button>
+        </el-form-item>
+      </el-form>
+
+      <div class="dividing-line"></div>
+      <div class="table_box content_Table">
+        <el-table
+          :data="tableData"
+          style="width: 100%"
+          border
+          @selection-change="handleSelectionChange"
+          height="calc(100% - 1px)"
+        >
+          <el-table-column
+            type="selection"
+            width="55"
+          />
+          <el-table-column
+            :label="$t('dataManage.dictionaryManageObj.number')"
+            type="index"
+            width="50"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="type"
+            :label="$t('dataManage.vmobj.name')"
+            align="center"
+          />
+          <el-table-column
+            prop="type"
+            :label="$t('dataManage.vmobj.format')"
+            align="center"
+          />
+          <el-table-column
+            prop="sizes"
+            :label="$t('dataManage.vmobj.size')"
+            :formatter="stateFormatSizes"
+            align="center"
+          />
+          <el-table-column
+            prop="depName"
+            :label="$t('dataManage.vmobj.depName')"
+            align="center"
+          />
+          <el-table-column
+            prop="dirName"
+            :label="$t('dataManage.vmobj.dirName')"
+            width="200"
+            align="center"
+          />
+          <el-table-column
+            prop="verName"
+            :label="$t('dataManage.vmobj.versionNumber')"
+            align="center"
+          />
+          <el-table-column
+            prop="uname"
+            :label="$t('dataManage.vmobj.createonuser')"
+            align="center"
+          />
+          <el-table-column
+            prop="createTime"
+            :label="$t('dataManage.vmobj.createontime')"
+            :formatter="formatData"
+            align="center"
+          />
+        </el-table>
+      </div>
+      <div
+        class="pagination_box"
+        style="margin-top: 10px"
+      >
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="listData.pageIndex"
+          :page-sizes="[10, 20, 50, 100]"
+          :page-size="listData.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listData.count"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+
+import MyBread from "../../components/MyBread.vue"
+import { selectdepTab, selectdirTab, meta_selectVerByDirid } from '../../api/api.js'
+export default {
+  components: { MyBread },
+  data() {
+    return {
+      active: 'first',
+      formInline: {
+        dirid: null,
+        dirName: null,
+        depid: null,
+        verid: null,
+        depName: null,
+        name: "",
+        type: ""
+      },
+      listData: {
+        pageIndex: 1,
+        pageSize: 10,
+        count: 0
+      },
+      depOption: [],
+      dirOption: [],
+      verOption: [],
+      typeOption: [{
+        value: 't1',
+        label: '鍏ㄩ儴'
+      }, {
+        value: 't2',
+        label: '褰卞儚鏁版嵁(.tif, .img)'
+      }, {
+        value: 't3',
+        label: '鍦烘櫙鏁版嵁(.mpt)'
+      }, {
+        value: 't4',
+        label: '涓夌淮妯″瀷(.3dml)'
+      }, {
+        value: 't5',
+        label: '涓夌淮妯″瀷(.fbx, .ifc, .rvt)'
+      }],
+      defaultProps: {
+        label: "name",
+        value: "id",
+        children: "children",
+        checkStrictly: true,
+        emitPath: false,
+      },
+    }
+  },
+  methods: {
+    //鍒嗛〉鍒囨崲
+    handleCurrentChange(val) {
+      this.listData.pageIndex = val;
+      this.getTableData();
+    },
+    //姣忛〉鏄剧ず鏁伴噺
+    handleSizeChange(val) {
+      this.listData.pageSize = val;
+      this.listData.pageIndex = 1;
+      this.getTableData();
+    },
+    //tabs鍒囨彌
+    setTabsChange() {
+      switch (this.active) {
+        case 'first':
+          this.active = 'second';
+          this.setPageStart();
+          break;
+        case 'second':
+          this.active = 'first';
+          this.setPageStart();
+          break;
+
+      }
+    },
+    //椤甸潰鍒濆鍖�
+    setPageStart() {
+      this.formInline = {
+        dirid: null,
+        dirName: null,
+        depid: null,
+        verid: null,
+        depName: null,
+        name: "",
+        type: ""
+      }
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        count: 0
+      }
+      this.formInline.type = this.typeOption[0].value;
+      this.getDepTreeList();
+      this.getDirTreeList();
+    },
+    //鑾峰彇鐩綍鍒楄〃
+    async getDirTreeList() {
+      const data = await selectdirTab();
+      if (data.code != 200) {
+        this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触")
+        return
+      }
+      this.dirOption = this.treeData(data.result);
+      this.formInline.dirid = this.dirOption[0].id;
+      this.formInline.dirName = this.dirOption[0].name;
+      this.getVerList()
+    },
+    //鑾峰彇鐗堟湰鍒楄〃
+    async getVerList() {
+      const data = await meta_selectVerByDirid({ dirid: this.formInline.dirid })
+      if (data.code != 200) {
+        this.$message.error("鐗堟湰鍒楄〃鑾峰彇澶辫触")
+        return
+      }
+      this.verOption = data.result
+      this.formInline.verid = data.result[0].id;
+      this.getTableData();
+    },
+    //鐗堟湰鍒楄〃鍒囨崲
+    handleVerChange(value) {
+      this.formInline.verid = value;
+      this.getTableData();
+    },
+    //鏈嶅姟绫诲瀷鍒楄〃鍒囨崲
+    handleTypeChange(value) {
+      this.formInline.type = value;
+      this.getTableData();
+    },
+    //鍗曚綅鍒楄〃鍒囨崲
+    handleDepChange(data, node, nodeData) {
+      this.formInline.depid = data.id
+      this.formInline.depName = data.name
+      this.getTableData();
+    },
+    //鍗曚綅鍒楄〃鍒囨崲
+    handleDirChange(data, node, nodeData) {
+      this.formInline.dirid = data.id
+      this.formInline.dirName = data.name
+      this.getVerList()
+    },
+    //鑾峰彇Table琛ㄦ牸鏁版嵁
+    getTableData() {
+
+    },
+    //鑾峰彇鍗曚綅鍒楄〃
+    async getDepTreeList() {
+      const data = await selectdepTab();
+      if (data.code != 200) {
+        this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触")
+        return
+      }
+      this.depOption = this.treeData(data.result);
+      this.formInline.depid = this.depOption[0].id
+      this.formInline.depName = this.depOption[0].name
+    },
+    //鏍戝垪琛ㄧ敓鎴�
+    treeData(source) {
+      let cloneData = JSON.parse(JSON.stringify(source)) // 瀵规簮鏁版嵁娣卞害鍏嬮殕
+      return cloneData.filter(father => {
+        // 寰幆鎵�鏈夐」
+        let branchArr = cloneData.filter(child => father.id == child.pid) // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
+        branchArr.length > 0 ? (father.children = branchArr) : "" // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+        return father.pid == 0 // 杩斿洖涓�绾ц彍鍗�
+      })
+    },
+  },
+  mounted() {
+    this.active = 'first';
+    this.setPageStart();
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.uploads_box {
+  width: calc(100% - 20px);
+  height: calc(100% - 20px);
+  padding: 10px;
+  .tabs_box {
+    width: 100%;
+    border-bottom: 2px solid #e4e7ed;
+    margin-bottom: 10px;
+  }
+  .tabs_pane {
+    padding: 0 10px;
+    height: 40px;
+    box-sizing: border-box;
+    line-height: 40px;
+    display: inline-block;
+    list-style: none;
+    font-size: 14px;
+    font-weight: 500;
+    color: #303133;
+  }
+  .tabs_pane:hover {
+    color: #409eff;
+  }
+  .changetabs {
+    color: #409eff;
+
+    border-bottom: 2px solid #409eff;
+  }
+  .tabs_nav {
+    width: 100%;
+    height: 2px;
+    background: #e4e7ed;
+  }
+  .content_box {
+    width: 100%;
+    height: calc(100% - 90px);
+    /deep/.el-form-item {
+      margin-bottom: 15px;
+    }
+    .content_Table {
+      height: calc(100% - 110px);
+    }
+  }
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3