From a55625f79b5bea88a04dc5cebf264a61cd594547 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 30 十二月 2022 18:02:18 +0800
Subject: [PATCH] 管道分析,IE判斷,上传Loading

---
 public/LfSKyline/js/index.js        |   16 
 src/store/index.js                  |    2 
 src/views/Synthesis/LeftMenu.vue    |   21 
 src/views/datamanage/dataLoader.vue |   21 
 src/views/Tools/queryinfo.vue       |   27 
 src/views/datamanage/dataUpdata.vue |  725 ++++++++++++----------
 src/views/Tools/pipeLineAnaly.vue   |  863 ++++++++++++++++++++++++++
 src/api/api.js                      |   16 
 src/views/Synthesis/index.vue       |   56 +
 public/config/config.js             |   23 
 public/LfSKyline/imgs/Edge设置.png    |    0 
 public/LfSKyline/js/detect.js       |   74 ++
 public/LfSKyline/index.html         |   28 
 13 files changed, 1,481 insertions(+), 391 deletions(-)

diff --git "a/public/LfSKyline/imgs/Edge\350\256\276\347\275\256.png" "b/public/LfSKyline/imgs/Edge\350\256\276\347\275\256.png"
new file mode 100644
index 0000000..d59b2ee
--- /dev/null
+++ "b/public/LfSKyline/imgs/Edge\350\256\276\347\275\256.png"
Binary files differ
diff --git a/public/LfSKyline/index.html b/public/LfSKyline/index.html
index ef64e78..2a144ec 100644
--- a/public/LfSKyline/index.html
+++ b/public/LfSKyline/index.html
@@ -21,12 +21,38 @@
         }
         document.writeln("<link href='./layui-v2.6.8/css/layui.css?" + new Date().getTime() + "' rel='stylesheet' \/>");
         document.writeln("<link href='./css/index.css?" + new Date().getTime() + "' rel='stylesheet' \/>");
+        document.writeln("<script src='./js/detect.js?" + new Date().getTime() + "'><\/script>");
         document.writeln("<script src='./js/index.js?" + new Date().getTime() + "'><\/script>");
     </script>
 </head>
 
 <body>
-    <div class="mapView">
+    <div id="download" style="display: none;">
+        <p>
+          <b style="font-size: 24px;">涓夌淮杞欢瀹夎浣跨敤璇存槑锛�</b>
+        </p>
+        <p>
+          璇存槑1锛氬鏋滄偍鏃犳硶姝g‘鍦扮湅鍒颁笁缁村湴鍥撅紝璇蜂笅杞�  <a href="http://192.168.20.39/LFData/soft/TEv7.4.zip" class="a">TE v7.4.zip</a> 瀹夎鍖呫��
+        </p>
+        <p>
+          璇存槑2锛氬畨瑁呮椂锛岃鍔″繀鍏抽棴娴忚鍣ㄥ悗鍐嶅畨瑁咃紒
+        </p>
+        <p>
+          璇存槑3锛氬綋鍓嶄粎鏀寔鍚湁 IE鏍稿績 鐨勬祻瑙堝櫒锛屽 IE銆�360銆丒dge 娴忚鍣ㄣ��
+        </p>
+        <p>
+          璇存槑4锛氫娇鐢� 360 娴忚鍣ㄦ椂锛岃鍒囨崲鑷冲吋瀹规ā寮忋��
+        </p>
+        <p>
+          璇存槑5锛氫娇鐢� Edge 娴忚鍣ㄦ椂锛岀偣鍑诲彸涓婅鐨� 鈥�...鈥� 閫夋嫨 鈥滆缃�濓紱<br />
+          <span style="visibility: hidden;">璇存槑5锛�</span>鍦ㄥ乏渚ф悳绱㈤噷闈㈣緭鍏ワ細Internet锛�<br />
+          <span style="visibility: hidden;">璇存槑5锛�</span>鐐瑰嚮 鈥淚nternet Explorer 妯″紡锛圛E 妯″紡锛夋寜閽�濓紝灏嗗紑鍏冲垏鎹㈣嚦钃濊壊锛�<br />
+          <span style="visibility: hidden;">璇存槑5锛�</span>閫夋嫨鈥滆 Internet Explorer 鍦� Microsoft Edge 涓墦寮�缃戠珯鈥濓紝鍒囨崲鑷� 鈥滃缁堬紙鎺ㄨ崘锛夆�濓紱<br />
+          <span style="visibility: hidden;">璇存槑5锛�</span>閫夋嫨鈥滃厑璁� Internet Explorer 妯″紡涓嬮噸鏂板姞杞界綉绔欙紙IE妯″紡锛夆�濓紝鍒囨崲鑷� 鈥滃厑璁糕�濄��<br />
+          <span style="visibility: hidden;">璇存槑5锛�</span><img src="./imgs/Edge璁剧疆.png" style="width: 630px; height: 480px;" title="Edge璁剧疆" alt="Edge璁剧疆" />
+        </p>
+      </div>
+    <div id="mapView" class="mapView">
         <div class="top">
             <div class="top_left">
                 <div class="Logo">
diff --git a/public/LfSKyline/js/detect.js b/public/LfSKyline/js/detect.js
new file mode 100644
index 0000000..a91470f
--- /dev/null
+++ b/public/LfSKyline/js/detect.js
@@ -0,0 +1,74 @@
+var Detect = {
+    ieVer: 9.0,
+
+    teVer: 7.4,
+
+    sgVer: "66",
+
+    detectIE: function () {
+        var isIE = !!window.ActiveXObject || "ActiveXObject" in window;
+        if (!isIE) {
+            alert("璇蜂娇鐢ㄥ惈鏈� IE鏍稿績 鐨勬祻瑙堝櫒锛�");
+            return false;
+        }
+
+        var ieVer = this.getIEVer();
+        if (ieVer < this.ieVer) {
+            alert("璇蜂娇鐢� IE " + this.ieVer + " 鎴� 鏇撮珮鐗堟湰锛�");
+            return false;
+        }
+
+        var flag = this.detectTE();
+        if (!flag) {
+            return false;
+        }
+
+        return true;
+    },
+
+    getIEVer: function () {
+        var agent = window.navigator.userAgent.toLowerCase();
+        var msie = agent.indexOf("msie ");
+        if (msie > -1) {
+            return parseFloat(agent.substring(msie + 5, agent.indexOf(";", msie)));
+        }
+
+        return 11;
+    },
+
+    detectTE: function () {
+        try {
+            var sg = this.getSG();
+            if (sg == null) {
+                return false;
+            }
+
+            //var test = new ActiveXObject("TEDetect.TETest"); if (!test || test.Type == "NA") return false;
+            var ver = parseFloat(sg.Version.Major + "." + sg.Version.Minor);
+            if (ver < this.teVer) {
+                alert("璇蜂娇鐢� Skyline Globe " + this.teVer + " 鎴� 鏇撮珮鐗堟湰锛�");
+                return false;
+            }
+
+            if (ver >= 7.4) {
+                this.sgVer = "74";
+            } else if (ver >= 7.1) {
+                this.sgVer = "71";
+            } else if (ver >= 7) {
+                this.sgVer = "70";
+            } else {
+                this.sgVer = "66";
+            }
+
+            return true;
+        } catch (e) {
+            console.error(e);
+        }
+
+        return false;
+    },
+
+    getSG: function () {
+        return TEWinEx.CreateInstance("TerraExplorerX.SGWorld" + this.sgVer);
+    }
+};
\ No newline at end of file
diff --git a/public/LfSKyline/js/index.js b/public/LfSKyline/js/index.js
index 62b06dd..573160c 100644
--- a/public/LfSKyline/js/index.js
+++ b/public/LfSKyline/js/index.js
@@ -4,7 +4,17 @@
     treePlay: 'PS\\鍏ㄥ浗绠$綉涓撻鍥惧睍绀�',
     objTypes: [19, 23, 26, 29, 34, 36, 38, 39, 40],
     init: function () {
+        var flag = Detect.detectIE();
+        if (!flag) {
+            this.showDownload();
+            return;
+        }
         this.initSG();
+    },
+    // 鏄剧ず涓嬭浇
+    showDownload: function () {
+        $("#mapView").hide();
+        $("#download").show();
     },
     initSG: function () {
         SG = TEWinEx.CreateInstance("TerraExplorerX.SGWorld74"); // SGWorld74,SGWorld71,SGWorld66
@@ -17,9 +27,9 @@
         Index.getLayers("", layers);
         Index.ininTrees("layers", layers);
         // Index.flyToStart();
-      
+
     },
-   
+
     getLayers: function (pid, layers) {
         var next = SG.ProjectTree.GetNextItem(pid, 11);
         while (next) {
@@ -79,7 +89,7 @@
                 SG.Command.Execute(1028, null)
                 break;
             case 2:
-                SG.Command.Execute(2314,0);
+                SG.Command.Execute(2314, 0);
                 break;
             case 3:
                 var model_ID = SG.ProjectTree.FindItem(this.treePlay);
diff --git a/public/config/config.js b/public/config/config.js
index f57baba..5d49f8d 100644
--- a/public/config/config.js
+++ b/public/config/config.js
@@ -1,14 +1,17 @@
-const BASE_URL = 'http://192.168.20.39:12316/server';
+var ipConfig = '192.168.20.39';
+
+const BASE_URL = 'http://"' + ipConfig + '":12316/server';
+
 //webSocket 鏈嶅姟鍦板潃
-var socketUrl = 'ws://192.168.20.39:12316/server/ws/select';
+var socketUrl = 'ws://' + ipConfig + ':12316/server/ws/select';
 //鏁版嵁搴撶洃鎺у湴鍧�
-var sql_Url = 'http://192.168.20.39:8081/admin/druid/sql.html';
+var sql_Url = 'http://' + ipConfig + ':8081/admin/druid/sql.html';
 //璺緞鍒嗘瀽鍦板潃
-var wnsUrl = 'http://192.168.20.39:9055/gisserver/wnsserver/beijingdaohang_wns';
+var wnsUrl = 'http://' + ipConfig + ':9055/gisserver/wnsserver/beijingdaohang_wns';
 //gisserver
-var gisServerUrl = 'http://192.168.20.39:9055/gisserver';
+var gisServerUrl = 'http://' + ipConfig + ':9055/gisserver';
 //geoServerUrl
-var geoserver = 'http://192.168.20.39:8088';
+var geoserver = 'http://' + ipConfig + ':8088';
 var geoServerURl = geoserver + '/geoserver/LF/wms';
 var geoserverWFS =
   geoserver +
@@ -17,17 +20,17 @@
   geoserver +
   '/geoserver/LF/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=LF%3Am_pipeline&maxFeatures=50&outputFormat=application%2Fjson&cql_filter=projname=';
 //妯″瀷鍔犺浇鍦板潃
-var modelUrl = 'http://192.168.20.39/LFData/tileset/SN/tileset.json';
+var modelUrl = 'http://' + ipConfig + '/LFData/tileset/SN/tileset.json';
 //DEM
-var demLayer = 'http://192.168.20.39/LFData/dem'
+var demLayer = 'http://' + ipConfig + '/LFData/dem'
 //缁煎悎灞曠ず
 window.sceneConfig = {
   // sdk璁稿彲
-  licenseServer: 'http://192.168.20.39/LFServer',
+  licenseServer: 'http://' + ipConfig + '/LFServer',
   // 鏈嶅姟鍦板潃
   baseURL: 'http://183.162.245.49:8888/',
   positionBtn: [],
- 
+
 };
 var gaoDeBaseUrl = [
   {
diff --git a/src/api/api.js b/src/api/api.js
index 2e7f5e2..69a498e 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -698,6 +698,22 @@
   return request.get('/apply/updateForResubmit', { params: params });
 }
 
+//绠¢亾鍒嗘瀽=銆嬫煡璇㈢娈�
+export function pipelines_selectSegNames(params) {
+  return request.get('/pipeline/selectSegNames', { params: params });
+}
+//绠¢亾鍒嗘瀽=銆嬫煡璇㈢娈�
+export function pipeline_selectPipeAnalysis(params) {
+  return request.post('/pipeline/selectPipeAnalysis', params);
+}
+//绠¢亾鍒嗘瀽=銆嬭姹傜閬撳垎鏋愮粨鏋滀笅杞�
+export function pipeline_downloadReq(params) {
+  return request.post('/pipeline/downloadReq', params);
+}
+
+
+
+
 //璇锋眰绔欏満鐐瑰唴瀹�
 export function querySitePoint(size, index, name) {
   return service.get(
diff --git a/src/store/index.js b/src/store/index.js
index e2eddaa..35398c1 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -47,6 +47,8 @@
     download: false,
     showAllLayers: true,
     primitLayer:null,
+    loading:false,
+    pipelineEntity:[],
   },
   mutations: {
     //鑾峰彇鏉冮檺鍚堥泦
diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue
index 1b87891..a21ad2a 100644
--- a/src/views/Synthesis/LeftMenu.vue
+++ b/src/views/Synthesis/LeftMenu.vue
@@ -14,6 +14,7 @@
     </div>
     <mapinfo ref="mapinfo" />
     <maplayer ref="maplayer" />
+    <queryinfo ref="queryinfo" />
     <input
       type="file"
       accept=".kml"
@@ -27,9 +28,9 @@
 import { transform } from 'ol/proj';
 import mapinfo from '../Tools/mapinfo.vue';
 import maplayer from '../Tools/maplayer.vue';
-
+import queryinfo from '../Tools/queryinfo.vue'
 export default {
-  components: { mapinfo, maplayer },
+  components: { mapinfo, maplayer, queryinfo },
   data() {
     return {
       showTwoMenuFlag: false,
@@ -364,7 +365,7 @@
           sgworld.Creator.SimpleGraphic.edit(true, { editProp: true });
           this.setPlot(res.id);
           break;
-       
+
       }
     },
     setPlot(res) {
@@ -760,6 +761,19 @@
             }
           );
           break;
+        case 'd9':
+          this.$store.state.mapPopBoxFlag = '3';
+          this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("绠¢亾绌洪棿鍒嗘瀽", null, {
+            close: () => {
+              if (this.$store.state.pipelineEntity.length != 0) {
+                for (var i in this.$store.state.pipelineEntity) {
+                  var item = this.$store.state.pipelineEntity[i]
+                  sgworld.Viewer.entities.remove(item);
+                }
+              }
+            }
+          });
+          break;
         case 'd8':
           if (this.isContrastFlag == false) {
             this.isContrastFlag = true;
@@ -793,6 +807,7 @@
             );
           }
           break;
+
         case 'd11':
           if (window.Excavation) {
             window.Excavation.clear();
diff --git a/src/views/Synthesis/index.vue b/src/views/Synthesis/index.vue
index c47b458..522141b 100644
--- a/src/views/Synthesis/index.vue
+++ b/src/views/Synthesis/index.vue
@@ -1,19 +1,34 @@
 <template>
-  <div class="synthesis">
+  <div
+    class="synthesis"
+    v-loading="$store.state.loading"
+    element-loading-spinner="el-icon-loading"
+    element-loading-background="rgba(0, 0, 0, 0.8)"
+  >
     <div class="lefIcon">
       <ul>
         <li
           v-for="item in showMenuList"
           :class="{ lefMenuActive: showMenuFlag == item.id }"
         >
-          <div class="menuDiv" :title="item.name" @click="setMenuChange(item)">
-            <div class="menuImage" :class="item.class"></div>
+          <div
+            class="menuDiv"
+            :title="item.name"
+            @click="setMenuChange(item)"
+          >
+            <div
+              class="menuImage"
+              :class="item.class"
+            ></div>
           </div>
         </li>
       </ul>
     </div>
     <div class="rightContent">
-      <div class="left_main" :class="{ left_main_show: !openStatus }">
+      <div
+        class="left_main"
+        :class="{ left_main_show: !openStatus }"
+      >
         <div class="right_Map">
           <left-menu></left-menu>
         </div>
@@ -109,7 +124,7 @@
     };
   },
   watch: {},
-  created() {},
+  created() { },
   methods: {
     //宸︿晶鑿滃崟婊戝姩鏄鹃殣
     setMenuChange(res) {
@@ -212,44 +227,44 @@
       }
 
       .menu_img1 {
-        background: url('../../assets/img/synthesis/绯荤粺鑿滃崟.png') no-repeat
+        background: url("../../assets/img/synthesis/绯荤粺鑿滃崟.png") no-repeat
           center;
       }
       .menu_img2 {
-        background: url('../../assets/img/synthesis/鐭╁舰 8 鎷疯礉 2.png')
+        background: url("../../assets/img/synthesis/鐭╁舰 8 鎷疯礉 2.png")
           no-repeat center;
       }
       .menu_img3 {
-        background: url('../../assets/img/synthesis/鍥惧眰 6 鎷疯礉.png') no-repeat
+        background: url("../../assets/img/synthesis/鍥惧眰 6 鎷疯礉.png") no-repeat
           center;
       }
       .menu_img4 {
-        background: url('../../assets/img/synthesis/鍥惧眰 8 鎷疯礉 2.png')
+        background: url("../../assets/img/synthesis/鍥惧眰 8 鎷疯礉 2.png")
           no-repeat center;
       }
       .menu_img5 {
-        background: url('../../assets/img/synthesis/鐭㈤噺鏅鸿兘瀵硅薄 鎷疯礉 3.png')
+        background: url("../../assets/img/synthesis/鐭㈤噺鏅鸿兘瀵硅薄 鎷疯礉 3.png")
           no-repeat center;
       }
       .menu_img6 {
-        background: url('../../assets/img/synthesis/鍥惧眰 9 鎷疯礉 4.png')
+        background: url("../../assets/img/synthesis/鍥惧眰 9 鎷疯礉 4.png")
           no-repeat center;
       }
       .menu_img7 {
-        background: url('../../assets/img/synthesis/鍥惧眰 7 鎷疯礉 5.png')
+        background: url("../../assets/img/synthesis/鍥惧眰 7 鎷疯礉 5.png")
           no-repeat center;
       }
       .menu_img8 {
-        background: url('../../assets/img/synthesis/鍥惧眰 5 鎷疯礉 6.png')
+        background: url("../../assets/img/synthesis/鍥惧眰 5 鎷疯礉 6.png")
           no-repeat center;
       }
       .menu_img9 {
-        background: url('../../assets/img/synthesis/鐭╁舰 8 鎷疯礉 11.png')
+        background: url("../../assets/img/synthesis/鐭╁舰 8 鎷疯礉 11.png")
           no-repeat center;
       }
-      .menu_img10{
-        background: url('../../assets/img/synthesis/鍦烘櫙鎵撳紑1.png')
-          no-repeat center;
+      .menu_img10 {
+        background: url("../../assets/img/synthesis/鍦烘櫙鎵撳紑1.png") no-repeat
+          center;
       }
     }
     // li {
@@ -307,7 +322,7 @@
     .active {
       width: 100%;
       height: 100%;
-      background: url('../../assets/img/Layer/imgLayer2.png') no-repeat center;
+      background: url("../../assets/img/Layer/imgLayer2.png") no-repeat center;
       position: absolute;
       background-size: 100% 100%;
       border-radius: 5px;
@@ -315,11 +330,14 @@
     .menuLayer {
       width: 100%;
       height: 100%;
-      background: url('../../assets/img/Layer/imgLayer1.png') no-repeat center;
+      background: url("../../assets/img/Layer/imgLayer1.png") no-repeat center;
       position: absolute;
       background-size: 100% 100%;
       border-radius: 5px;
     }
   }
+  /deep/.el-loading-spinner i{
+    color: #1890FF;
+  }
 }
 </style>
diff --git a/src/views/Tools/pipeLineAnaly.vue b/src/views/Tools/pipeLineAnaly.vue
new file mode 100644
index 0000000..29e4fb0
--- /dev/null
+++ b/src/views/Tools/pipeLineAnaly.vue
@@ -0,0 +1,863 @@
+<template>
+  <div class="pipeLineBox">
+    <div class="headerBox">
+      <div class="elFrom">
+        <el-form
+          ref="form"
+          :model="ruleFrom"
+          label-width="120px"
+        >
+          <el-form-item label="绠¢亾涓績绾�">
+            <el-select
+              @change="selectChange"
+              v-model="ruleFrom.value1"
+              placeholder="璇烽�夋嫨"
+            >
+              <el-option
+                v-for="item in options1"
+                :key="item.gid"
+                :label="item.pipeName"
+                :value="item.pipeName"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="閫夊彇绠¢亾">
+            <el-select
+              @change="selectChange1"
+              v-model="ruleFrom.value2"
+              placeholder="璇烽�夋嫨"
+            >
+              <el-option
+                v-for="item in options2"
+                :key="item.gid"
+                :label="item.segName"
+                :value="item.segName"
+                gid
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div style="display:flex">
+        <div class="transBox">
+          <label>鍩虹鏁版嵁鍥惧眰</label>
+          <div class="checkBox">
+            <ul>
+              <li
+                @click="checkLeft(item)"
+                :class="{checkhover:checkedLeftflag == item.id}"
+                v-for='(item,index) in cities'
+                :label="item.label"
+                :key="item.id"
+              >{{item.label}}</li>
+            </ul>
+          </div>
+        </div>
+        <div class="transInfo">
+          <div>
+            <el-link
+              @click="setTransRight"
+              :underline="false"
+            ><i
+                style="color:white"
+                class="el-icon-d-arrow-right"
+              ></i></el-link>
+            <br />
+            <el-link
+              @click="setTransLeft"
+              :underline="false"
+            ><i
+                style="color:white"
+                class="el-icon-d-arrow-left"
+              ></i></el-link>
+          </div>
+        </div>
+        <div class="transBox">
+          <label>鍒嗘瀽鍥惧眰</label>
+          <div class="checkBox">
+            <ul>
+              <li
+                @click="checkRight(item)"
+                :class="{checkhover:checkedRightflag == item.id}"
+                v-for='(item,index) in citiyData'
+                :label="item.label"
+                :key="item.id"
+              >{{item.label}}</li>
+            </ul>
+          </div>
+        </div>
+      </div>
+      <div class="sureButton">
+
+        <div class="suerBox">
+          <el-button
+            @click="setAnalysis"
+            size="small"
+          >鍒嗘瀽</el-button>
+          <el-button
+            @click="clearAnalysis"
+            size="small"
+          >鍙栨秷</el-button>
+        </div>
+
+      </div>
+    </div>
+    <div class="contentBox">
+      <div class="contentRight">
+        <ul>
+          <li
+            @click="setlistChange(item)"
+            :class="{checkhover:listflag == item.id}"
+            v-for="item in listData"
+          >{{item.label}}</li>
+        </ul>
+      </div>
+
+      <div class="contentLeft">
+        <div style="float:right;padding:2px">
+          <el-button
+            @click="showDialogVivable()"
+            size="mini"
+            type="info"
+          >涓嬭浇</el-button>
+          <!-- <el-button
+            size="mini"
+            type="info"
+          >鏁磋〃涓嬭浇</el-button> -->
+          <!-- <el-button
+            size="mini"
+            type="info"
+          >鍒犻櫎</el-button> -->
+        </div>
+        <el-table
+          :data="tableData"
+          style="width: 100%"
+          height="70%"
+        >
+          <el-table-column
+            align="center"
+            type="index"
+            :label="$t('operatManage.ELM.index')"
+            width="70px"
+          />
+          <el-table-column
+            label="瀹氫綅"
+            width="100"
+            align="center"
+          >
+            <template slot-scope="scope">
+              <el-button
+                icon="el-icon-map-location"
+                size="mini"
+                @click="spaceLocation(scope.$index, scope.row)"
+              ></el-button>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="acrossName"
+            label="琚┛瓒婂湴鐗╁悕绉�"
+            width="180"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="acrossLength"
+            label="绌胯秺闀垮害"
+            width="100"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="pipeName"
+            label="绠$嚎鍚嶇О"
+            width="180"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="segName"
+            label="绠℃鍚嶇О"
+            width="180"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="remarks"
+            label="澶囨敞"
+            width="100"
+          >
+          </el-table-column>
+        </el-table>
+        <div
+          class="pagination_box"
+          style="margin-top:10px"
+        >
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="pageData.pageIndex"
+            :page-sizes="[10, 20, 30, 40]"
+            :page-size="pageData.pageSize"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="pageData.pageCount"
+          >
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+
+    <el-dialog
+      :title="$t('common.passworld')"
+      :visible.sync="dialogVisible"
+      width="30%"
+      :before-close="handleClose"
+      :modal="false"
+      :show-close="false"
+    >
+      <el-form
+        :model="codeForm"
+        :rules="rules"
+        ref="codeForm"
+        label-width="100px"
+        class="codeForm"
+      >
+        <el-form-item
+          :label="$t('common.passworld')"
+          prop="password"
+        >
+          <el-input
+            type="password"
+            v-model="codeForm.password"
+            show-password
+          ></el-input>
+        </el-form-item>
+        <el-form-item
+          :label="$t('common.SPassword')"
+          prop="repassword"
+        >
+          <el-input
+            type="password"
+            v-model="codeForm.repassword"
+            show-password
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button
+            class="primary"
+            size="small"
+            @click="download "
+          >{{$t('common.confirm')}}</el-button>
+          <el-button
+            type="info"
+            size="small"
+            @click="closeDialog "
+          >{{$t('common.cancel')}}</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+    <iframe
+      id="Iframe1"
+      src=""
+      style="display: none; border: 0; padding: 0; height: 0; width: 0"
+    ></iframe>
+  </div>
+</template>
+
+<script>
+import WKT from 'terraformer-wkt-parser'
+import { getToken } from "@/utils/auth";
+import { pipelines_selectSegNames, pipeline_selectPipeAnalysis, sign_getPublicKey, pipeline_downloadReq } from '../../api/api.js';
+import $ from "jquery";
+export default {
+  data() {
+    var repasswordValidator = (rule, value, callback) => {
+      if (value === '') {
+        callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
+      } else if (value !== this.codeForm.password) {
+        callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
+      } else {
+        callback();
+      }
+    };
+    var passwordValidator = (rule, value, callback) => {
+      var passwordreg =
+        /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
+      if (!passwordreg.test(value)) {
+        callback(
+          new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�')
+        );
+      } else {
+        callback();
+      }
+    };
+    return {
+      rules: {
+        password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }],
+        repassword: [
+          { required: true, message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�', trigger: 'blur' },
+          { validator: repasswordValidator, trigger: 'blur' },
+        ],
+      },
+      dialogVisible: false,
+      codeForm: {
+        repassword: '', password: ''
+      },
+      ruleFrom: {
+        value1: '',
+        value2: ''
+      },
+      options1: [],
+      options2: [],
+      checkList: [],
+      checkData: [{
+        id: 1,
+        label: '閾佽矾(dlg_25w_lrrl)',
+        tabs: 'dlg_25w_lrrl',
+        tabdesc: '閾佽矾',
+        table: 'bd.dlg_25w_lrrl',
+        checked: false,
+      }, {
+        id: 2,
+        label: '鍏矾(dlg_25w_lrdl)',
+        tabs: 'dlg_25w_lrdl',
+        tabdesc: '鍏矾',
+        table: 'bd.dlg_25w_lrdl',
+        checked: false,
+      }, {
+        id: 3,
+        label: '姘寸郴绾�(dlg_25w_hydl)',
+        tabs: 'dlg_25w_hydl',
+        tabdesc: '姘寸郴绾�',
+        table: 'bd.dlg_25w_hydl',
+        checked: false,
+      }, {
+        id: 4,
+        label: '姘寸郴闈�(dlg_25w_hyda)',
+        tabs: 'dlg_25w_hyda',
+        tabdesc: '姘寸郴闈�',
+        table: 'bd.dlg_25w_hyda',
+        checked: false,
+      }],
+      citiyData: [],
+      cities: [],
+      checkedCities: [],
+      tableData: [],
+      leftChecked: null,
+      rightChecked: null,
+      checkedLeftflag: null,
+      checkedRightflag: null,
+      analyGid: null,
+      listData: [],
+      listflag: null,
+      featureData: [],
+      pageData: {
+        pageIndex: 1,
+        pageSize: 10,
+        pageCount: 0
+      },
+      multipleSelection: [],
+      featurTable: null,
+    }
+  },
+  methods: {
+    spaceLocation(index, row) {
+      // var wkt = row.wkt;
+      // var wkt = 'POINT(115.18478138905392 40.57482771162533)'
+      // var wkt = 'MULTIPOINT(115.93358953162945 40.479862914876286,115.92324938088053 40.47513850651151)'
+      //var wkt = 'LINESTRING(116.29963795744581 40.412471126263874,116.30084981880705 40.411513388032716)'
+      var wkt = 'MULTILINESTRING((115.87321225794265 40.452276576555455,115.87744445061348 40.45421026272125),(115.87918147829747 40.45500390957606,115.87983275512077 40.455301477546435))'
+      var geojson = WKT.parse(wkt);
+
+      this.claerAll();
+      switch (geojson.type) {
+        case 'Point':
+          this.setShowImagePoint(geojson.coordinates)
+          break;
+        case 'MultiPoint':
+          for (var i in geojson.coordinates) {
+            this.setShowImagePoint(geojson.coordinates[i])
+          }
+          break;
+        case 'LineString':
+          this.setShowImageLine(geojson.coordinates)
+          break;
+        case 'MultiLineString':
+          for (var i in geojson.coordinates) {
+            this.setShowImageLine(geojson.coordinates[i])
+          }
+
+          break;
+      }
+    },
+    setShowImagePoint(res) {
+      var obj = { X: res[0], Y: res[1], Altitude: 1000 }
+      var imageLabel = sgworld.Creator.CreateImageLabel(obj, SmartEarthRootUrl + "Workers/image/mark.png", {}, 0, "绠¢亾绌洪棿鍒嗘瀽");
+      this.$store.state.pipelineEntity.push(imageLabel.item)
+      sgworld.Navigate.flyToObj(imageLabel.item);
+    },
+    setShowImageLine(res) {
+      var obj = [];
+      for (var i in res) {
+        obj.push({ x: res[i][0], y: res[i][1], z: 1000 })
+      }
+      var line = sgworld.Creator.createPolyline(obj, "#ffff00", 1, 0, "绠¢亾绌洪棿鍒嗘瀽");
+      this.$store.state.pipelineEntity.push(line.item)
+      sgworld.Navigate.flyToObj(line.item);
+    },
+    claerAll() {
+      for (var i in this.$store.state.pipelineEntity) {
+        var item = this.$store.state.pipelineEntity[i]
+        sgworld.Viewer.entities.remove(item);
+      }
+      this.$store.state.pipelineEntity = [];
+    },
+    async signGetPublicKey() {
+      const res = await sign_getPublicKey();
+      if (res && res.code == 200) {
+        window.encrypt = new JSEncrypt();
+        encrypt.setPublicKey(res.result);
+      }
+    },
+    async download() {
+
+      var std = [];
+      for (var i in this.listData) {
+
+        std.push(this.listData[i].table)
+      }
+      var obj = {
+        pwd: encrypt.encrypt(this.codeForm.password),
+        gid: this.analyGid,
+        tabs: std
+      };
+      const data = await pipeline_downloadReq(obj);
+      if (data.code != 200) {
+
+        this.$message.error("涓嬭浇璇锋眰澶辫触");
+        this.closeDialog();
+
+        return;
+      }
+      this.closeDialog();
+
+      var token = getToken();
+      var url =
+        BASE_URL +
+        "/pipeline/downloadFile?token=" +
+        token +
+        "&guid=" +
+        data.result +
+        "&pwd=" +
+        encodeURIComponent(obj.pwd);
+
+      $("#Iframe1").attr("src", url).click();
+      //  this.$store.state.loading = false;
+    },
+    showDialogVivable() {
+      if (this.listData.length == 0) return
+      this.dialogVisible = true
+    },
+    handleClose() {
+      this.$confirm('纭鍏抽棴锛�')
+        .then(_ => {
+          this.closeDialog()
+        })
+        .catch(_ => { });
+    },
+    closeDialog() {
+      this.dialogVisible = false
+      this.codeForm = {
+        repassword: '', password: ''
+      }
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    setTransLeft() {
+      if (this.rightChecked == null) return
+      this.cities.push(this.rightChecked)
+      this.citiyData.forEach((value, index, array) => {
+        if (value.label == this.rightChecked.label) {
+          array.splice(index, 1)
+        }
+      });
+      this.checkedLeftflag = null;
+      this.rightChecked = null
+
+    },
+    setTransRight() {
+      if (this.leftChecked == null) return
+      this.citiyData.push(this.leftChecked)
+      this.cities.forEach((value, index, array) => {
+        if (value.label == this.leftChecked.label) {
+          array.splice(index, 1)
+        }
+      });
+      this.checkedRightflag = null;
+      this.leftChecked = null
+    },
+    checkLeft(res) {
+      this.checkedLeftflag = res.id;
+      this.leftChecked = res;
+    },
+    checkRight(res) {
+      this.checkedRightflag = res.id;
+      this.rightChecked = res;
+    },
+    selectChange(res) {
+      this.changeSelect2(res)
+    },
+    selectChange1(res) {
+      this.analyGid = res;
+    },
+    changeSelect2(res) {
+      this.options2 = [];
+      var value = this.options1;
+      for (var i in value) {
+        if (value[i].pipeName == res) {
+          this.options2.push(value[i])
+        }
+      }
+      this.ruleFrom.value2 = this.options2[0].segName;
+      this.analyGid = this.options2[0].gid;
+    },
+    clearAnalysis() {
+      this.tableData = [];
+      this.listData = [];
+
+      this.cities = [{
+        id: 1,
+        label: '閾佽矾(dlg_25w_lrrl)',
+        tabs: 'dlg_25w_lrrl',
+        tabdesc: '閾佽矾',
+        table: 'bd.dlg_25w_lrrl',
+        checked: false,
+      }, {
+        id: 2,
+        label: '鍏矾(dlg_25w_lrdl)',
+        tabs: 'dlg_25w_lrdl',
+        tabdesc: '鍏矾',
+        table: 'bd.dlg_25w_lrdl',
+        checked: false,
+      }, {
+        id: 3,
+        label: '姘寸郴绾�(dlg_25w_hydl)',
+        tabs: 'dlg_25w_hydl',
+        tabdesc: '姘寸郴绾�',
+        table: 'bd.dlg_25w_hydl',
+        checked: false,
+      }, {
+        id: 4,
+        label: '姘寸郴闈�(dlg_25w_hyda)',
+        tabs: 'dlg_25w_hyda',
+        tabdesc: '姘寸郴闈�',
+        table: 'bd.dlg_25w_hyda',
+        checked: false,
+      }];
+      this.citiyData = [];
+      this.getAllData();
+      this.listflag = null;
+      this.checkedRightflag = null;
+      this.checkedLeftflag = null;
+      this.pageData = {
+        pageIndex: 1,
+        pageSize: 10,
+        pageCount: 0
+      }
+    },
+
+    async setAnalysis() {
+      if (this.citiyData.length == 0) {
+        this.$message.error('璇烽�夋嫨瑕佸垎鏋愮殑鍥惧眰!');
+      }
+      var std = [];
+      var listTable = [];
+      for (var i in this.citiyData) {
+        std.push(this.citiyData[i].table)
+        listTable.push(this.citiyData[i])
+      }
+      this.listData = listTable;
+      this.listflag = this.listData[0].id
+      var obj = {
+        gid: this.analyGid,
+        tabs: std
+      }
+      const data = await pipeline_selectPipeAnalysis(obj);
+      if (data.code != 200) {
+        this.$message.error('鍒楄〃璋冪敤澶辫触');
+      }
+      this.featureData = data.result;
+      this.featurTable = this.featureData[this.listData[0].table]
+      this.pageData.pageCount = this.featurTable.length;
+      this.pageData.pageIndex = 1;
+      this.pageData.pageSize = 10;
+      this.changePageData();
+    },
+    setlistChange(res) {
+      this.listflag = res.id
+      this.featurTable = this.featureData[res.table]
+      this.pageData.pageCount = this.featurTable.length;
+      this.pageData.pageIndex = 1;
+      this.pageData.pageSize = 10;
+      this.changePageData();
+    },
+    changePageData() {
+      var start = (this.pageData.pageIndex) * this.pageData.pageSize;
+      var end = start + this.pageData.pageSize;
+      this.tableData = this.featurTable.slice(start, end);
+    },
+    handleSizeChange(val) {
+      this.pageData.pageIndex = 1;
+      this.pageData.pageSize = val;
+      this.changePageData();
+    },
+    handleCurrentChange(val) {
+      this.pageData.pageIndex = val;
+      this.changePageData();
+    },
+    async getAllData() {
+      const data = await pipelines_selectSegNames();
+      if (data.code != 200) {
+        this.$message.error('鍒楄〃璋冪敤澶辫触');
+      }
+      this.options1 = data.result;
+      this.ruleFrom.value1 = this.options1[0].pipeName;
+      this.changeSelect2(this.ruleFrom.value1)
+    },
+  },
+  mounted() {
+
+    this.cities = [{
+      id: 1,
+      label: '閾佽矾(dlg_25w_lrrl)',
+      tabs: 'dlg_25w_lrrl',
+      tabdesc: '閾佽矾',
+      table: 'bd.dlg_25w_lrrl',
+      checked: false,
+    }, {
+      id: 2,
+      label: '鍏矾(dlg_25w_lrdl)',
+      tabs: 'dlg_25w_lrdl',
+      tabdesc: '鍏矾',
+      table: 'bd.dlg_25w_lrdl',
+      checked: false,
+    }, {
+      id: 3,
+      label: '姘寸郴绾�(dlg_25w_hydl)',
+      tabs: 'dlg_25w_hydl',
+      tabdesc: '姘寸郴绾�',
+      table: 'bd.dlg_25w_hydl',
+      checked: false,
+    }, {
+      id: 4,
+      label: '姘寸郴闈�(dlg_25w_hyda)',
+      tabs: 'dlg_25w_hyda',
+      tabdesc: '姘寸郴闈�',
+      table: 'bd.dlg_25w_hyda',
+      checked: false,
+    }];
+    this.getAllData();
+    this.signGetPublicKey();
+  }
+}
+</script>
+
+<style scoped lang="less">
+.pipeLineBox {
+  width: 100%;
+  height: 100%;
+  overflow: hidden;
+  padding: 0;
+  margin: 0;
+  .headerBox {
+    width: 100%;
+    height: 130px;
+    display: flex;
+    justify-content: space-around;
+    .elFrom {
+      width: 300px;
+      height: 130%;
+    }
+    .transBox {
+      width: 200px;
+      height: 100%;
+      .checkBox {
+        width: 100%;
+        height: 90px;
+        border: 1px solid white;
+        border-radius: 5px;
+        overflow-y: auto;
+      }
+
+      label {
+        color: white;
+      }
+    }
+
+    .transInfo {
+      padding: 5px;
+      display: flex;
+      align-items: center;
+    }
+    .sureButton {
+      display: flex;
+      align-items: center;
+      height: 100%;
+      .suerBox {
+        width: 100%;
+        height: 40px;
+      }
+    }
+  }
+  .contentBox {
+    width: 100%;
+    height: 266px;
+
+    display: flex;
+    .contentRight {
+      width: 30%;
+      height: 100%;
+      border: 1px solid white;
+      overflow: auto;
+    }
+    .contentLeft {
+      width: 70%;
+      height: 100%;
+    }
+  }
+  .checkhover {
+    color: #409eff;
+  }
+  /deep/ .el-select .el-input__inner {
+    border-color: #fff !important;
+  }
+  /deep/.el-button {
+    background: #303030;
+    color: white;
+  }
+  /deep/.el-form-item__label {
+    color: white;
+  }
+  // 璁剧疆杈撳叆妗嗙殑鑳屾櫙鑹层�佸瓧浣撻鑹层�佽竟妗嗗睘鎬ц缃紱
+  /deep/.el-input__inner {
+    background-color: transparent !important ;
+    color: #fff;
+    border: 1px solid;
+  }
+  /deep/ .el-table {
+    background-color: transparent;
+    th,
+    td {
+      background-color: transparent;
+    }
+    .el-table__expanded-cell {
+      background-color: transparent !important;
+    }
+
+    // 琛ㄥご鑳屾櫙鑹�
+    th.el-table__cell {
+      background-color: #303030;
+      color: #fff;
+    }
+    tr > td {
+      background-color: #303030;
+      color: #fff;
+    }
+
+    // hover鏁堟灉
+    tr:hover > td {
+      background-color: rgba(255, 255, 255, 0.3) !important;
+    }
+
+    tbody tr:hover {
+      background-color: rgba(255, 255, 255, 0.3) !important;
+      // text-align: center;
+    }
+
+    // 婊氬姩鏉″楂�
+    .el-table__body-wrapper::-webkit-scrollbar {
+      width: 5px;
+      height: 5px;
+    }
+
+    .el-table__body-wrapper::-webkit-scrollbar {
+      width: 5px;
+      /*婊氬姩鏉″搴�*/
+      height: 10px;
+      /*婊氬姩鏉¢珮搴�*/
+    }
+    /*瀹氫箟婊氬姩鏉¤建閬� 鍐呴槾褰�+鍦嗚*/
+    .el-table__body-wrapper::-webkit-scrollbar-track {
+      box-shadow: 0px 1px 3px #216fe6 inset;
+      /*婊氬姩鏉$殑鑳屾櫙鍖哄煙鐨勫唴闃村奖*/
+      border-radius: 10px;
+    }
+
+    /*瀹氫箟婊戝潡 鍐呴槾褰�+鍦嗚*/
+    .el-table__body-wrapper::-webkit-scrollbar-thumb {
+      box-shadow: 0px 1px 3px #216fe6 inset;
+      border-radius: 6px;
+      background-color: #216fe6;
+    }
+  }
+  /deep/.el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #fff;
+  }
+  /deep/.el-checkbox__label {
+    float: right;
+  }
+  .country-group {
+    display: flex;
+    justify-content: center;
+
+    .country-group-item {
+      margin: 4px 0;
+    }
+  }
+  .pagination_box {
+    margin-top: 20px;
+    /deep/.el-input__inner {
+      background-color: transparent !important;
+      border: 1px solid;
+      color: white;
+    }
+    /deep/.el-pagination__total {
+      color: white;
+    }
+    /deep/.el-pagination__jump {
+      color: white;
+    }
+    /deep/.el-pager li.active {
+      color: #409eff;
+    }
+    /deep/.el-pager li {
+      color: white;
+      background: transparent;
+    }
+    /deep/.el-pager li {
+      color: white;
+    }
+    /deep/.btn-prev {
+      background: transparent;
+    }
+    /deep/.btn-next {
+      background: transparent;
+    }
+    /deep/.btn-next i {
+      color: white;
+    }
+    /deep/.btn-prev i {
+      color: white;
+    }
+  }
+  /deep/ .el-dialog {
+    background: #303030;
+  }
+  /deep/.el-range-editor.is-active,
+  .el-range-editor.is-active:hover,
+  .el-select .el-input.is-focus .el-input__inner {
+    border: 1px solid;
+  }
+  /deep/.el-dialog__title {
+    color: white;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/Tools/queryinfo.vue b/src/views/Tools/queryinfo.vue
index 26fb791..d29ea88 100644
--- a/src/views/Tools/queryinfo.vue
+++ b/src/views/Tools/queryinfo.vue
@@ -4,21 +4,20 @@
       ref="pop"
       v-for="(data, index) in PopupData"
       :key="data.id"
-       :title="data.title || '鎻愮ず'"
-       maxHeight="360px"
-    
+      :title="data.title || '鎻愮ず'"
+      maxHeight="400"
       @close="close(data.id)"
       left="calc(100% - 960px)"
-      top="calc(100% - 430px) "
+      top="calc(100% - 470px) "
     >
-   <div>
-    <div style="width:940px;height:358px;">
+      <div>
+        <div style="width:940px;height:400px;">
 
-
-  <map-menu-pop v-if="$store.state.mapPopBoxFlag == '1'" />
-        <map-space-pop v-if="$store.state.mapPopBoxFlag == '2'" />
-    </div>
-   </div>
+          <map-menu-pop v-if="$store.state.mapPopBoxFlag == '1'" />
+          <map-space-pop v-if="$store.state.mapPopBoxFlag == '2'" />
+          <pipe-line-analy v-if="$store.state.mapPopBoxFlag == '3'" />
+        </div>
+      </div>
     </Popup>
   </div>
 </template>
@@ -27,13 +26,15 @@
 import Popup from './Popup.vue';
 import mapMenuPop from '../../components/MapView/mapMenuPop.vue';
 import mapSpacePop from '../../components/MapView/mapSpacePop.vue';
+import pipeLineAnaly from './pipeLineAnaly.vue'
 export default {
   name: 'queryinfo',
 
   components: {
     Popup,
- mapMenuPop,
- mapSpacePop
+    mapMenuPop,
+    mapSpacePop,
+    pipeLineAnaly
   },
   data() {
     return {
diff --git a/src/views/datamanage/dataLoader.vue b/src/views/datamanage/dataLoader.vue
index 8384dfa..d590493 100644
--- a/src/views/datamanage/dataLoader.vue
+++ b/src/views/datamanage/dataLoader.vue
@@ -855,7 +855,7 @@
     },
     //鏂囦欢涓婁紶
     setFileUpload() {
-      this.handlerLoading(true);
+      this.fullscreenLoading = true;
       var token = getToken();
       var formData = new FormData();
 
@@ -874,22 +874,24 @@
         processData: false,
         contentType: false,
         success: (rs) => {
-
-          this.getFileLength();
-
-          this.$message({
+this.fullscreenLoading = false;
+   this.$message({
             message: '鏁版嵁涓婁紶鎴愬姛',
             type: 'success'
           });
+          this.getFileLength();
+
+       
       this.clearFileSelect();
         },
         error: (rs) => {
+          this.fullscreenLoading = false;
           this.$message.error('鏁版嵁涓婁紶澶辫触');
            this.clearFileSelect();
         }
       });
 
-      this.handlerLoading(false);
+ 
     },
     //鑾峰彇鏂囦欢涓婁紶鏁版嵁
     async getFileLength() {
@@ -977,7 +979,7 @@
 
     //Loading鏄鹃殣
     handlerLoading(res) {
-      this.fullscreenLoading = res;
+     
     },
     //鐩綍鍒囨崲
     catalogChange(value) {
@@ -1328,3 +1330,8 @@
   }
 }
 </style>
+<style>
+.el-loading-spinner i {
+  color: #1890ff !important;
+}
+</style>
diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue
index 70ce979..384da9c 100644
--- a/src/views/datamanage/dataUpdata.vue
+++ b/src/views/datamanage/dataUpdata.vue
@@ -1,46 +1,61 @@
 <template>
-  <div class="authorityManagement_box"    v-loading.fullscreen.lock="fullscreenLoading"
-                element-loading-spinner="el-icon-loading"
-                 element-loading-background="rgba(0, 0, 0, 0.8)">
-    <My-bread
-      :list="[
+  <div
+    class="authorityManagement_box"
+    v-loading.fullscreen.lock="fullscreenLoading"
+    element-loading-spinner="el-icon-loading"
+    element-loading-background="rgba(0, 0, 0, 0.8)"
+  >
+    <My-bread :list="[
         `${$t('dataManage.dataManage')}`,
         `${$t('dataManage.dataUpdata')}`,
-      ]"
-    ></My-bread>
+      ]"></My-bread>
     <el-divider />
     <div class="updateContent">
-               <el-tabs v-model="activeTabName" @tab-click="handleTabClick">
-    <el-tab-pane :label="$t('dataManage.dataUpObj.uploaddata')" name="first">
-            <div class="contentIquery">
-        <el-form :inline="true" :model="formInline" class="demo-form-inline">
-          <el-form-item :label="$t('dataManage.dataUpObj.catalogue')">
-            <el-cascader
-              v-model="formInline.dirid"
-              :options="catalogOption"
-              @change="catalogChange"
-              :props="cascader"
-            ></el-cascader>
-          </el-form-item>
-          <el-form-item :label="$t('dataManage.dataUpObj.company')">
-            <el-cascader
-              v-model="formInline.depid"
-              :options="companyOption"
-              @change="companyChange"
-              :props="cascader"
-            ></el-cascader>
-          </el-form-item>
-          <el-form-item :label="$t('dataManage.dataUpObj.versionNo')">
-              <el-select v-model="formInline.verid" :placeholder="$t('common.choose')">
-              <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 :label="$t('dataManage.dataUpObj.entryTime')">
+      <el-tabs
+        v-model="activeTabName"
+        @tab-click="handleTabClick"
+      >
+        <el-tab-pane
+          :label="$t('dataManage.dataUpObj.uploaddata')"
+          name="first"
+        >
+          <div class="contentIquery">
+            <el-form
+              :inline="true"
+              :model="formInline"
+              class="demo-form-inline"
+            >
+              <el-form-item :label="$t('dataManage.dataUpObj.catalogue')">
+                <el-cascader
+                  v-model="formInline.dirid"
+                  :options="catalogOption"
+                  @change="catalogChange"
+                  :props="cascader"
+                ></el-cascader>
+              </el-form-item>
+              <el-form-item :label="$t('dataManage.dataUpObj.company')">
+                <el-cascader
+                  v-model="formInline.depid"
+                  :options="companyOption"
+                  @change="companyChange"
+                  :props="cascader"
+                ></el-cascader>
+              </el-form-item>
+              <el-form-item :label="$t('dataManage.dataUpObj.versionNo')">
+                <el-select
+                  v-model="formInline.verid"
+                  :placeholder="$t('common.choose')"
+                >
+                  <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 :label="$t('dataManage.dataUpObj.entryTime')">
             <el-date-picker
               v-model.trim="formInline.gather"
               :picker-options="pickerOptions"
@@ -49,248 +64,279 @@
               value-format="yyyy-MM-dd HH:mm:ss"
             />
           </el-form-item> -->
-            <el-form-item  >
-            <el-input
-              <el-input
-              type="textarea"
-              v-model="formInline.fileName"
+              <el-form-item>
+                <el-input
+                  <el-input
+                  type="textarea"
+                  v-model="formInline.fileName"
+                  class="nm-skin-pretty"
+                  show-word-limit
+                  :rows="2"
+                  resize='none'
+                  style="width: 600px;"
+                ></el-input>
+                ></el-input>
+              </el-form-item>
+              <el-form-item>
+                <input
+                  id="uploadfile"
+                  @change="handleFileChange"
+                  type="file"
+                  name="file"
+                  multiple="multiple"
+                  style="display: none"
+                ></input>
 
-              class="nm-skin-pretty"
-              show-word-limit
-              :rows="2"  resize='none'
-              style="width: 600px;"
-            ></el-input>
-            ></el-input>
-          </el-form-item>
-          <el-form-item>
-            <input id="uploadfile" @change= "handleFileChange" type="file"  name="file" multiple="multiple"  style="display: none"></input>
-
-
-
-
-             <el-button v-if="formInline.fileName == '鏈�夋嫨鏂囦欢'"
-              type="info"
-                @click="fileSelect">
-                   閫夋嫨鏂囦欢
-             </el-button>
-             <el-button
-               v-else
-                type="info"
-                @click="clearFileSelect"
+                <el-button
+                  v-if="formInline.fileName == '鏈�夋嫨鏂囦欢'"
+                  type="info"
+                  @click="fileSelect"
                 >
-                    閲嶇疆
-             </el-button>
+                  閫夋嫨鏂囦欢
+                </el-button>
+                <el-button
+                  v-else
+                  type="info"
+                  @click="clearFileSelect"
+                >
+                  閲嶇疆
+                </el-button>
 
-          </el-form-item>
-          <br />
-          <el-form-item :label="$t('dataManage.dataUpObj.describe')">
-            <el-input
-              type="textarea"
-              v-model="formInline.descr"
-              maxlength="50"
-              class="nm-skin-pretty"
-              show-word-limit
-              :rows="2"  resize='none'
-              style="width: 460px"
-            ></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button icon="el-icon-upload" @click="setFileUpload"
-
-             type="success">{{
+              </el-form-item>
+              <br />
+              <el-form-item :label="$t('dataManage.dataUpObj.describe')">
+                <el-input
+                  type="textarea"
+                  v-model="formInline.descr"
+                  maxlength="50"
+                  class="nm-skin-pretty"
+                  show-word-limit
+                  :rows="2"
+                  resize='none'
+                  style="width: 460px"
+                ></el-input>
+              </el-form-item>
+              <el-form-item>
+                <el-button
+                  icon="el-icon-upload"
+                  @click="setFileUpload"
+                  type="success"
+                >{{
               $t('common.upload')
             }}</el-button>
 
-            <el-button
-              icon="el-icon-delete"
-              type="danger"
-              @click="setFileDelete"
+                <el-button
+                  icon="el-icon-delete"
+                  type="danger"
+                  @click="setFileDelete"
+                  :disabled="tableData.length == 0 ? true : false"
+                >{{ $t('common.delete') }}</el-button>
+                <el-button
+                  icon="el-icon-data-line"
+                  type="info"
+                  disabled
+                >{{ $t('common.quayTest') }}</el-button>
+                <el-button
+                  icon="el-icon-folder-add"
+                  type="warning"
+                  @click="setFileWare"
+                  :disabled="tableData.length == 0 ? true : false"
+                >{{ $t('common.Warehousin') }}</el-button>
+              </el-form-item>
+            </el-form>
+          </div>
+          <div class="contentTable">
 
-              :disabled="tableData.length == 0 ? true : false"
-              >{{ $t('common.delete') }}</el-button
+            <el-table
+              :data="tableData"
+              style="width: width:99%"
+              height="99%"
+              @selection-change="handleSelectionChange"
             >
-             <el-button
-              icon="el-icon-data-line"
-              type="info"
-               disabled
-              >{{ $t('common.quayTest') }}</el-button
-            >
-            <el-button
-              icon="el-icon-folder-add"
-              type="warning"
-                @click="setFileWare"
-              :disabled="tableData.length == 0 ? true : false"
-              >{{ $t('common.Warehousin') }}</el-button
-            >
-          </el-form-item>
-        </el-form>
-      </div>
-      <div class="contentTable">
-
-   <el-table
-        :data="tableData"
-        style="width: width:99%"
-        height="99%"
-        @selection-change="handleSelectionChange">
-       <el-table-column type="selection" width="55" />
-        <el-table-column
-          align="center"
-          type="index"
-          :label="$t('common.index')"
-          width="70px"
-          fixed
-        />
-          <el-table-column
-          align="center"
-          prop="name"
-          :label="$t('common.name')"
-          fixed
-        />
-         <el-table-column
-          align="center"
-          prop="sizes"
-          :label="$t('common.size')"
-          fixed
-         :formatter="changeSizeFile"
-        />
-         <!-- <el-table-column
+              <el-table-column
+                type="selection"
+                width="55"
+              />
+              <el-table-column
+                align="center"
+                type="index"
+                :label="$t('common.index')"
+                width="70px"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="name"
+                :label="$t('common.name')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="sizes"
+                :label="$t('common.size')"
+                fixed
+                :formatter="changeSizeFile"
+              />
+              <!-- <el-table-column
           align="center"
           prop="guid"
           :label="$t('common.md5')"
           fixed
         /> -->
-    </el-table>
-      </div>
+            </el-table>
+          </div>
 
-      </el-tab-pane>
-    <el-tab-pane :label="$t('dataManage.dataUpObj.receiptdata')" name="second">
-<div class="contentIquery" style="padding-bottom: 0% !important;">
-        <el-form :inline="true" :model="formWarehousing" class="demo-form-inline">
-          <el-form-item :label="$t('dataManage.dataUpObj.describe')">
-<el-input v-model="formWarehousing.name" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button icon="el-icon-upload" @click="setWarehouseSearch"
-           class="primary">{{
+        </el-tab-pane>
+        <el-tab-pane
+          :label="$t('dataManage.dataUpObj.receiptdata')"
+          name="second"
+        >
+          <div
+            class="contentIquery"
+            style="padding-bottom: 0% !important;"
+          >
+            <el-form
+              :inline="true"
+              :model="formWarehousing"
+              class="demo-form-inline"
+            >
+              <el-form-item :label="$t('dataManage.dataUpObj.describe')">
+                <el-input
+                  v-model="formWarehousing.name"
+                  placeholder="璇疯緭鍏ュ唴瀹�"
+                ></el-input>
+              </el-form-item>
+              <el-form-item>
+                <el-button
+                  icon="el-icon-upload"
+                  @click="setWarehouseSearch"
+                  class="primary"
+                >{{
               $t('common.iquery')
             }}</el-button>
-            <el-button @click="setWarehouseReset"
-              icon="el-icon-folder-add"
-              type="info"
-              >{{ $t('common.reset') }}</el-button
+                <el-button
+                  @click="setWarehouseReset"
+                  icon="el-icon-folder-add"
+                  type="info"
+                >{{ $t('common.reset') }}</el-button>
+                <el-button
+                  @click="setWarehouseDel"
+                  icon="el-icon-folder-delete"
+                  type="danger"
+                >{{ $t('common.delete') }}</el-button>
+              </el-form-item>
+            </el-form>
+          </div>
+          <div
+            class="contentTable"
+            style="height:500px"
+          >
+            <el-table
+              :data="waretableData"
+              @selection-change="handleDelteChange"
+              style="width:99%"
+              height="92%"
             >
-             <el-button @click="setWarehouseDel"
-              icon="el-icon-folder-delete"
-              type="danger"
-              >{{ $t('common.delete') }}</el-button
+              <el-table-column
+                type="selection"
+                width="55"
+              />
+              <el-table-column
+                align="center"
+                type="index"
+                :label="$t('common.index')"
+                width="70px"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="name"
+                :label="$t('common.name')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="dirName"
+                :label="$t('dataManage.dataUpObj.catalogue')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="depName"
+                :label="$t('dataManage.dataUpObj.company')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="verName"
+                :label="$t('dataManage.dataUpObj.versionNo')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="type"
+                :label="$t('common.type')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="sizes"
+                :label="$t('common.size')"
+                fixed
+                :formatter="changeSizeFile"
+              />
+              <el-table-column
+                align="center"
+                prop="tab"
+                :label="$t('dataManage.dataUpObj.tableName')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="rows"
+                :label="$t('common.lineNuber')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="desc"
+                :label="$t('dataManage.dataUpObj.describe')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="uname"
+                :label="$t('dataManage.vmobj.createonuser')"
+                fixed
+              />
+              <el-table-column
+                align="center"
+                prop="createTime"
+                :label="$t('dataManage.vmobj.createontime')"
+                fixed
+                :formatter="changetimeFile"
+              />
+            </el-table>
+
+            <div
+              style="margin-top: 10px"
+              class="pagination_box"
             >
-          </el-form-item>
-        </el-form>
-      </div>
-   <div class="contentTable" style="height:500px">
-   <el-table
-     :data="waretableData"
-   @selection-change="handleDelteChange"
-        style="width:99%"
-        height="92%"
- >
-    <el-table-column
-      type="selection"
-      width="55"/>
-        <el-table-column
-          align="center"
-          type="index"
-          :label="$t('common.index')"
-          width="70px"
-          fixed
-        />
-          <el-table-column
-          align="center"
-          prop="name"
-          :label="$t('common.name')"
-          fixed
-        />
-         <el-table-column
-          align="center"
-          prop="dirName"
-          :label="$t('dataManage.dataUpObj.catalogue')"
-          fixed
+              <el-pagination
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+                :current-page="listData.pageIndex"
+                :page-sizes="[10, 20, 30, 40]"
+                :page-size="listData.pageSize"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="count"
+              >
+              </el-pagination>
+            </div>
+          </div>
+        </el-tab-pane>
 
-        />
-         <el-table-column
-          align="center"
-          prop="depName"
-          :label="$t('dataManage.dataUpObj.company')"
-          fixed
-        />
-             <el-table-column
-          align="center"
-          prop="verName"
-          :label="$t('dataManage.dataUpObj.versionNo')"
-          fixed
-        />
-             <el-table-column
-          align="center"
-          prop="type"
-          :label="$t('common.type')"
-          fixed
-        />
-        <el-table-column
-          align="center"
-          prop="sizes"
-          :label="$t('common.size')"
-          fixed
-          :formatter="changeSizeFile"
-        />
-         <el-table-column
-          align="center"
-          prop="tab"
-          :label="$t('dataManage.dataUpObj.tableName')"
-          fixed
-        />
-         <el-table-column
-          align="center"
-          prop="rows"
-          :label="$t('common.lineNuber')"
-          fixed
-        />
-         <el-table-column
-          align="center"
-          prop="desc"
-          :label="$t('dataManage.dataUpObj.describe')"
-          fixed
-        />
-        <el-table-column
-          align="center"
-          prop="uname"
-          :label="$t('dataManage.vmobj.createonuser')"
-          fixed
-        />
-         <el-table-column
-          align="center"
-          prop="createTime"
-          :label="$t('dataManage.vmobj.createontime')"
-          fixed
-              :formatter="changetimeFile"
-        />
-    </el-table>
-
-      <div style="margin-top: 10px" class="pagination_box">
-    <el-pagination
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          :current-page="listData.pageIndex"
-          :page-sizes="[10, 20, 30, 40]"
-          :page-size="listData.pageSize"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total="count"
-        >
-        </el-pagination>
-      </div>
-      </div>
-    </el-tab-pane>
-
-  </el-tabs>
+      </el-tabs>
 
     </div>
   </div>
@@ -300,8 +346,10 @@
 import $ from 'jquery';
 import MyBread from '../../components/MyBread.vue';
 import { getToken } from '@/utils/auth';
-import { selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles,
-dataUpload_selectByPageForUpload,dataUpload_deleteMetas} from '../../api/api';
+import {
+  selectdirTab, queryDepTree, dataUploadSelectVerByDirid, dataUploadSelectPath, dataUploadSelectFiles, dataUploadDeleteFiles, dataUploadInsertFiles,
+  dataUpload_selectByPageForUpload, dataUpload_deleteMetas
+} from '../../api/api';
 export default {
   name: 'dataUpdata',
   components: {
@@ -315,22 +363,22 @@
       formInline: {
         verid: '',
         gather: '',
-        fileName:'鏈�夋嫨鏂囦欢'
+        fileName: '鏈�夋嫨鏂囦欢'
       },
       formWarehousing: {
-          name:''
+        name: ''
       },
       catalogOption: [],
       companyOption: [],
       tableData: [],
-      waretableData:[],
+      waretableData: [],
       listTable: [],
       multipleSelection: [],
       fullscreenLoading: false,
       listData: {
         pageIndex: 1,
         pageSize: 10,
-       name: null,
+        name: null,
       },
       pickerOptions: {
         disabledDate(time) {
@@ -383,37 +431,37 @@
       },
       deep: true,
       immediate: true,
-      multipleDelete:[]
+      multipleDelete: []
     },
   },
 
   methods: {
 
-  async setWarehouseDel(){
-          var std = [];
-          for (var i in this.multipleDelete) {
-            std.push(this.multipleDelete[i].id);
-          }
-          const res = await dataUpload_deleteMetas({ids: std.toString() })
-          if(res.code != 200){
-            this.$message.error('鍒犻櫎澶辫触');
-          }else{
-               this.$message({
+    async setWarehouseDel() {
+      var std = [];
+      for (var i in this.multipleDelete) {
+        std.push(this.multipleDelete[i].id);
+      }
+      const res = await dataUpload_deleteMetas({ ids: std.toString() })
+      if (res.code != 200) {
+        this.$message.error('鍒犻櫎澶辫触');
+      } else {
+        this.$message({
           message: '鍒犻櫎鎴愬姛',
           type: 'success'
         });
-        this.listData.pageIndex=1;
+        this.listData.pageIndex = 1;
         this.listData.pageSize = 10;
-           this.getAllWareTable();
-          }
+        this.getAllWareTable();
+      }
     },
-    handleDelteChange(val){
-    this.multipleDelete = val;
+    handleDelteChange(val) {
+      this.multipleDelete = val;
     },
 
-    changetimeFile(res){
+    changetimeFile(res) {
 
-//shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲
+      //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲
       var time = new Date(res.createTime);
       var y = time.getFullYear();
       var m = time.getMonth() + 1;
@@ -435,53 +483,53 @@
         s
       );
     },
-      //鏍煎紡鍖栨椂闂�
+    //鏍煎紡鍖栨椂闂�
     add0(m) {
       return m < 10 ? '0' + m : m;
     },
-    setWarehouseSearch(){
+    setWarehouseSearch() {
 
-   this.listData={
-              pageIndex:1,
-              pageSize:10,
-              name:this.formWarehousing.name,
-            }
-            this.getAllWareTable();
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        name: this.formWarehousing.name,
+      }
+      this.getAllWareTable();
     },
-    setWarehouseReset(){
-     this.formWarehousing.name='';
-   this.listData={
-              pageIndex:1,
-              pageSize:10,
-              name:null,
-            }
-            this.getAllWareTable();
+    setWarehouseReset() {
+      this.formWarehousing.name = '';
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        name: null,
+      }
+      this.getAllWareTable();
     },
     handleTabClick(tab, event) {
-        if(this.activeTabName =='second'){
-            this.setWarehouseReset();
-        }
+      if (this.activeTabName == 'second') {
+        this.setWarehouseReset();
+      }
     },
-    handleSizeChange(val){
-      this.listData.pageIndex= 1;
-      this.listData.pageSize =val;
-          this.getAllWareTable();
+    handleSizeChange(val) {
+      this.listData.pageIndex = 1;
+      this.listData.pageSize = val;
+      this.getAllWareTable();
     },
-handleCurrentChange(val){
-  this.listData.pageIndex= val;
-  this.getAllWareTable();
-},
+    handleCurrentChange(val) {
+      this.listData.pageIndex = val;
+      this.getAllWareTable();
+    },
     //鑾峰彇鍏ュ簱鏁版嵁鍒楄〃
-   async getAllWareTable(){
+    async getAllWareTable() {
 
-      const res = await  dataUpload_selectByPageForUpload(this.listData);
-        if (res.code != 200) {
+      const res = await dataUpload_selectByPageForUpload(this.listData);
+      if (res.code != 200) {
         this.$message.error('鍒楄〃鏁版嵁鑾峰彇澶辫触');
         return;
       }
 
       this.count = res.count;
- this.waretableData =res.result;
+      this.waretableData = res.result;
     },
     //澶у皬鍊兼敼璁�
     changeSizeFile(row, column, cellValue, index) {
@@ -494,7 +542,7 @@
     },
     //鏁版嵁鍒犻櫎
     async setFileDelete() {
-      this.handlerLoading(true);
+
       var data = JSON.stringify(this.multipleSelection);
       const res = await dataUploadDeleteFiles(data);
       if (res.code != 200) {
@@ -502,10 +550,6 @@
         return;
       }
       this.getFileLength();
-
-
-
-      this.handlerLoading(false);
     },
     //鏁版嵁鍏ュ簱
     async setFileWare() {
@@ -543,13 +587,13 @@
     },
     //鏂囦欢涓婁紶
     setFileUpload() {
-      this.handlerLoading(true);
+      this.fullscreenLoading = true;
       var token = getToken();
       var formData = new FormData();
 
       var fs = document.getElementById("uploadfile");
       if (fs.files.length == 0) {
-        this.handlerLoading(false);
+
         return this.$message.error('璇烽�夋嫨闇�瑕佷笂浼犵殑鏂囦欢');
       }
       for (var i = 0, c = fs.files.length; i < c; i++) {
@@ -565,20 +609,26 @@
         contentType: false,
         success: (rs) => {
           this.getFileLength();
-
+          this.fullscreenLoading = false;
           this.$message({
             message: '涓婁紶鎴愬姛',
             type: 'success'
           });
-this.clearFileSelect();
+          this.clearFileSelect();
         },
+
         error: (rs) => {
-          alert("涓婁紶鏂囦欢澶辫触锛�");
+          this.fullscreenLoading = false;
+            this.$message.error('鏁版嵁涓婁紶澶辫触');
           this.clearFileSelect();
         }
       });
 
-      this.handlerLoading(false);
+
+    },
+    progressHandle(e) {
+      var percent = (e.loaded / e.total * 100).toFixed(2);
+      console.log(percent)
     },
     //鑾峰彇鏂囦欢涓婁紶鏁版嵁
     async getFileLength() {
@@ -620,19 +670,19 @@
       $("#uploadfile").click();
     },
     handleFileChange(event) {
-      var std =[];
+      var std = [];
       var len = event.currentTarget.files.length;
-      for(var i = 0;i<len;i++){
-var f = event.currentTarget.files[i];
-std.push(f.name)
+      for (var i = 0; i < len; i++) {
+        var f = event.currentTarget.files[i];
+        std.push(f.name)
       }
 
-        this.formInline.fileName =std.toString() ;
+      this.formInline.fileName = std.toString();
 
     },
-    clearFileSelect(){
-   this.formInline.fileName="鏈�夋嫨鏂囦欢";
-    document.getElementById("uploadfile").value = "";
+    clearFileSelect() {
+      this.formInline.fileName = "鏈�夋嫨鏂囦欢";
+      document.getElementById("uploadfile").value = "";
     },
     //褰撳墠鏃堕棿鑾峰彇
     timeDefault() {
@@ -891,3 +941,8 @@
   }
 }
 </style>
+<style>
+.el-loading-spinner i {
+  color: #1890ff !important;
+}
+</style>

--
Gitblit v1.9.3