From fcc5348307a44b2312b168e98e880c0e60f3c19e Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 27 三月 2023 16:07:53 +0800
Subject: [PATCH] 一张图底图切换优化;综合展示,图层管理模型添加透明度设置;目录管理添加目录下载功能;附件预览添添加图片设置

---
 src/views/Tools/setPellucidity.vue            |  130 ++++++++++
 src/views/Archive/index.vue                   |  193 ++++++++++++++
 src/store/index.js                            |    2 
 src/views/Synthesis/LeftMenu.vue              |   69 ++++
 src/views/Tools/ModelProperty.vue             |   31 ++
 src/components/MapView/mapMenuPop.vue         |   87 +-----
 src/components/mapsdk.vue                     |   32 ++
 src/views/datamanage/catalogueManage copy.vue |    1 
 src/components/Screen/mapsdk.vue              |   12 
 src/views/datamanage/SpatialData.vue          |   28 +
 src/components/Screen/bottom.vue              |    2 
 src/api/api.js                                |   11 
 src/assets/lang/zh.js                         |    1 
 src/views/Tools/LayerTree.vue                 |   42 +++
 src/components/MapView/mapMenuTop.vue         |   15 
 src/components/preview_map.vue                |   79 +++++
 src/views/datamanage/catalogueManage.vue      |   26 +
 src/assets/lang/en.js                         |    1 
 18 files changed, 643 insertions(+), 119 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index d1bb59f..4f080ae 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -739,6 +739,17 @@
 export function dataLib_selectDownloadFile(params) {
   return request.get('/dataLib/selectDownloadFile', { params: params });
 }
+
+//璧勬枡棣�=>鏌ヨDB涓孩鍑虹殑鍗曚綅ID
+export function dataLib_selectDbOverflowDep(params) {
+  return request.post('/dataLib/selectDbOverflowDep', params);
+}
+
+
+
+
+
+
 //璧勬枡棣�=>鍒嗛〉鏌ヨ
 export function dataQuery_selectDbOverflowDep(params) {
   return request.post('/dataLib/selectDbOverflowDep', params);
diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 308c192..87d566d 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -867,6 +867,7 @@
       label: "Please add the condition to query"
     },
     butten: {
+      directoryDownload: 'Directory Download',
       templateDownload: "Template download",
       uploadFile: "Upload File",
       NewPeer: "New Peer",
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 9c60be6..0da3466 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -882,6 +882,7 @@
       label: '璇锋坊鍔犺鏌ヨ鐨勬潯浠�'
     },
     butten: {
+      directoryDownload: '鐩綍涓嬭浇',
       templateDownload: "妯℃澘涓嬭浇",
       uploadFile: "涓婁紶鏂囦欢",
       NewPeer: "鏂板鍚岀骇",
diff --git a/src/components/MapView/mapMenuPop.vue b/src/components/MapView/mapMenuPop.vue
index 823de1a..f6754e1 100644
--- a/src/components/MapView/mapMenuPop.vue
+++ b/src/components/MapView/mapMenuPop.vue
@@ -124,74 +124,7 @@
         </el-form-item>
       </el-form>
     </el-dialog>
-    <el-dialog
-      title="鏁版嵁鐢宠"
-      :visible.sync="dialogInsertVisible"
-      width="30%"
-      top="35vh"
-      :modal="false"
-      :before-close="handleInsertClose"
-    >
-      <div style="width: 100%; max-height: 450px; overflow-y: auto">
-        <el-form
-          ref="form"
-          :model="ruleForm"
-          label-width="100px"
-        >
-          <el-form-item label="瀹℃牳鍗曚綅">
-            <div>
-              <ul>
-                <li v-for="item in ruleForm.depid">
-                  {{ item.name }}
-                </li>
-              </ul>
-            </div>
-          </el-form-item>
-          <el-form-item label="琛ㄥ悕">
-            <div>
-              <ul>
-                <li v-for="item in ruleForm.tabs">
-                  {{ item.tabDesc }}
-                </li>
-              </ul>
-            </div>
-          </el-form-item>
-          <el-form-item label="鏉′欢">
-            <el-input
-              :title="ruleForm.wkt"
-              v-model="ruleForm.wkt"
-              disabled
-            ></el-input>
-          </el-form-item>
-          <el-form-item label="鎻忚堪">
-            <el-input
-              type="textarea"
-              placeholder="璇疯緭鍏ュ唴瀹�"
-              v-model="ruleForm.descr"
-              maxlength="50"
-              show-word-limit
-            >
-            </el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button
-              class="primary"
-              size="small"
-              @click="getInsertDown"
-            >{{
-              $t("common.confirm")
-            }}</el-button>
-            <el-button
-              type="info"
-              size="small"
-              @click="closeInsertDown"
-            >{{
-              $t("common.cancel")
-            }}</el-button>
-          </el-form-item>
-        </el-form>
-      </div>
-    </el-dialog>
+
     <iframe
       id="Iframe1"
       src=""
@@ -297,9 +230,12 @@
     }
   },
   methods: {
-    getInsertDown() {
-      this.dialogInsertVisible = false
-      this.dialogVisible = true
+    getInsertDown(res) {
+
+      // this.dialogInsertVisible = false
+      // this.dialogVisible = true
+      this.codeForm = res;
+      this.download();
     },
     handleInsertClose() {
       this.$confirm("纭鍏抽棴锛�")
@@ -336,7 +272,8 @@
 
       if (data.result.length == 0 || data.result == null) {
         this.insertFlag = 1
-        this.dialogVisible = true
+        // this.dialogVisible = true
+        this.$bus.$emit("setDialogInsertVisible", true)
       } else {
         this.insertFlag = 2
         var std = []
@@ -359,7 +296,8 @@
         this.ruleForm.depname = std
         this.ruleForm.wkt = decr(this.listdata.wkt)
         this.ruleForm.tabs = this.option
-        this.dialogInsertVisible = true
+        // this.dialogInsertVisible = true
+        this.$bus.$emit("setDialogInsertVisible", this.ruleForm)
       }
     },
     async signGetPublicKey() {
@@ -892,6 +830,9 @@
         this.setTableAll()
       }
     })
+    this.$bus.$on("setInsertDown", res => {
+      this.getInsertDown(res)
+    })
   },
   destroyed() {
     this.$store.state.propertiesFlag = null
diff --git a/src/components/MapView/mapMenuTop.vue b/src/components/MapView/mapMenuTop.vue
index 03e939e..57d4a24 100644
--- a/src/components/MapView/mapMenuTop.vue
+++ b/src/components/MapView/mapMenuTop.vue
@@ -22,7 +22,6 @@
                 show-checkbox
                 node-key="id"
                 ref="tree"
-                accordion
                 highlight-current
                 :props="defaultProps"
               >
@@ -193,6 +192,7 @@
   components: { queryinfo },
   data() {
     return {
+      selectTree: "",
       menuTopFrom: {
         queryType: "",
         pipeline: "",
@@ -327,21 +327,30 @@
     },
     //鑾峰彇閫夋嫨鏍戠殑鑺傜偣
     getCheckedNodes() {
+
       var valTree = this.$refs.tree.getCheckedNodes()
       if (valTree.length == 0) return
-      this.menuTopFrom.queryLayer = valTree[0].tabDesc;
+
+      this.menuTopFrom.queryLayer = null;
+
       this.$store.state.propertiesName = valTree[0];
       for (var i = 0; i < valTree.length; i++) {
         if (valTree[i].entity) {
+          if (!this.menuTopFrom.queryLayer) {
+            this.menuTopFrom.queryLayer = valTree[i].tabDesc;
+          }
           this.treeChange.push(valTree[i])
         }
+
       }
     },
     //娓呯┖鏍戦�変腑鐨勮妭鐐�
     resetCheckedNodes() {
+
+      this.$refs.tree.setCheckedKeys([]);
       this.treeChange = []
       this.menuTopFrom.queryLayer = null
-      this.$refs.tree.setCheckedKeys([])
+
     },
     //瀵煎叆shp鏂囦欢
     async setMenuTopFile() {
diff --git a/src/components/Screen/bottom.vue b/src/components/Screen/bottom.vue
index 6bc6c64..aa111f0 100644
--- a/src/components/Screen/bottom.vue
+++ b/src/components/Screen/bottom.vue
@@ -271,7 +271,7 @@
 
           break
         case "褰卞儚鍥�":
-          Viewer.imageryLayers._layers[2].show = true
+          // Viewer.imageryLayers._layers[2].show = true
 
           break
         case "娉ㄨ鍥�":
diff --git a/src/components/Screen/mapsdk.vue b/src/components/Screen/mapsdk.vue
index 5817a9a..219af16 100644
--- a/src/components/Screen/mapsdk.vue
+++ b/src/components/Screen/mapsdk.vue
@@ -67,12 +67,12 @@
         })
       }, 1000);
 
-      // Viewer.imageryLayers.addImageryProvider(
-      //   new Cesium.UrlTemplateImageryProvider({
-      //     url: gaoDeBaseUrl[0].url,
-      //   })
-      // )
-      // Viewer.imageryLayers._layers[1].show = false
+      Viewer.imageryLayers.addImageryProvider(
+        new Cesium.UrlTemplateImageryProvider({
+          url: gaoDeBaseUrl[0].url,
+        })
+      )
+      Viewer.imageryLayers._layers[1].show = false
 
       // Viewer.imageryLayers.addImageryProvider(
       //   new Cesium.UrlTemplateImageryProvider({
diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue
index ab50685..999a8b7 100644
--- a/src/components/mapsdk.vue
+++ b/src/components/mapsdk.vue
@@ -493,6 +493,7 @@
 
       <div
         class="propertiesPop"
+        style="right:22%"
         v-if="$store.state.propertiesFlag == '2'"
       >
         <el-card class="box-card">
@@ -1504,7 +1505,21 @@
     //鏄惁鏄剧ず鏌ョ湅鎸夐挳
     showAttachDetailBtn(row) {
       var name = row.name;
-      if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+
+      if (
+        name.indexOf('.pdf') != -1
+        || name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.PDF') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1
+      ) {
         return true;
       }
       return false;
@@ -1520,13 +1535,24 @@
     showAttachDetail(row) {
       this.refreshAttatchDetail();
       var name = row.name;
-      if (name.indexOf('.pdf') != -1) {
+      if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) {
         this.dialog.dialogVisible = true;
         this.dialog.isPdf = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
         this.dialog.src = url
       }
-      else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      else if (
+        name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1
+      ) {
         this.dialog.dialogVisible = true;
         this.dialog.isJpg = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue
index f99013c..97bfd1b 100644
--- a/src/components/preview_map.vue
+++ b/src/components/preview_map.vue
@@ -512,12 +512,23 @@
     setAttatchDetail(index, row) {
       this.refreshAttatchDetail()
       var name = row.name;
-      if (name.indexOf('.pdf') != -1) {
+      if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) {
         this.dialog.dialogVisible = true;
         this.dialog.isPdf = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
         this.dialog.src = url
-      } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      } else if (
+        name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1
+      ) {
         this.dialog.dialogVisible = true;
         this.dialog.isJpg = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
@@ -590,7 +601,20 @@
     matchState(state = "", reg) {
       var row = state.row;
       var name = row.name;
-      if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      if (
+        name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1
+        || name.indexOf('.pdf') != -1
+        || name.indexOf('.PDF') != -1
+      ) {
         return true;
       }
 
@@ -1014,21 +1038,36 @@
       return Math.round(d * p) / p;
     },
     update() {
-      if (isNaN(this.modelForm.lon) || !this.modelForm.lon) {
+      if (!this.modelForm.lon || isNaN(this.modelForm.lon)) {
+        var args = this.getEditTilesetArgs();
+        this.modelForm.lon = args.lon;
         return
       }
-      if (isNaN(this.modelForm.lat) || !this.modelForm.lat) {
+      if (!this.modelForm.lat || isNaN(this.modelForm.lat)) {
+        var args = this.getEditTilesetArgs();
+        this.modelForm.lat = args.lat;
         return
       }
-      if (isNaN(this.modelForm.height) || !this.modelForm.height) {
+      if (!this.modelForm.height || isNaN(this.modelForm.height)) {
+        var args = this.getEditTilesetArgs();
+        this.modelForm.height = args.height;
         return
       }
-      if (isNaN(this.modelForm.alpha) || !this.modelForm.alpha) {
+      if (!this.modelForm.yaw || isNaN(this.modelForm.yaw)) {
+        this.modelForm.yaw = 0;
         return
       }
-      if (isNaN(this.modelForm.yaw) || !this.modelForm.yaw) {
-        return
-      }
+      // if (!this.modelForm.alpha || isNaN(this.modelForm.alpha)) {
+
+      //   if (this.app.under) {
+      //     
+      //     this.modelForm.alpha = sgworld._Analysis._UndergroundMode._alpha;
+      //   } else {
+      //     this.modelForm.alpha = 1
+      //   }
+      //   return
+
+      // }
       this.setTilesetArgs(this.modelForm);
       sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha)
     },
@@ -1125,6 +1164,7 @@
       var cm = this.app.tileset._root.transform;
       var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]);
       var carto = Cesium.Cartographic.fromCartesian(cartesian);
+
       if (carto) {
         this.modelForm.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7);
         this.modelForm.lat = Cesium.Math.toDegrees(carto.latitude).toFixed(7);
@@ -1132,6 +1172,25 @@
       }
       this.app.isBusy = false;
     },
+    getEditTilesetArgs() {
+      this.app.isBusy = true;
+      var cm = this.app.tileset._root.transform;
+      var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]);
+      var carto = Cesium.Cartographic.fromCartesian(cartesian);
+      var std = {
+        lon: null,
+        lat: null,
+        height: null,
+      }
+
+      if (carto) {
+        std.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7);
+        std.lat = Cesium.Math.toDegrees(carto.latitude).toFixed(7);
+        std.height = carto.height.toFixed(3);
+      }
+      this.app.isBusy = false;
+      return std
+    },
 
     async setShowModelLayer() {
       const data = await perms_selectLayers();
diff --git a/src/store/index.js b/src/store/index.js
index c7791ed..30f8663 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -72,6 +72,8 @@
     pickoption: null,
     previewLayer: null,
     histLenged: false,
+    setAlphaDity: null,
+    setAlphaList: [],
   },
   mutations: {
     //鑾峰彇鏉冮檺鍚堥泦
diff --git a/src/views/Archive/index.vue b/src/views/Archive/index.vue
index 22b68eb..63ee996 100644
--- a/src/views/Archive/index.vue
+++ b/src/views/Archive/index.vue
@@ -1078,7 +1078,125 @@
 
       </div>
     </el-dialog>
-
+    <el-dialog
+      title="鏁版嵁鐢宠"
+      :visible.sync="dialogInsertVisible"
+      width="30%"
+      top="35vh"
+      :modal="false"
+      :before-close="handleInsertClose"
+    >
+      <div style="width: 100%; max-height: 450px; overflow-y: auto">
+        <el-form
+          ref="form"
+          :model="ruleForm"
+          label-width="100px"
+        >
+          <el-form-item label="瀹℃牳鍗曚綅">
+            <div>
+              <ul>
+                <li v-for="item in ruleForm.depid">
+                  {{ item.name }}
+                </li>
+              </ul>
+            </div>
+          </el-form-item>
+          <el-form-item label="琛ㄥ悕">
+            <div>
+              <ul>
+                <li v-for="item in ruleForm.tabs">
+                  {{ item.tabDesc }}
+                </li>
+              </ul>
+            </div>
+          </el-form-item>
+          <el-form-item label="鏉′欢">
+            <el-input
+              :title="ruleForm.wkt"
+              v-model="ruleForm.wkt"
+              disabled
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="鎻忚堪">
+            <el-input
+              type="textarea"
+              placeholder="璇疯緭鍏ュ唴瀹�"
+              v-model="ruleForm.descr"
+              maxlength="50"
+              show-word-limit
+            >
+            </el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button
+              class="primary"
+              size="small"
+              @click="getInsertDown"
+            >{{
+              $t("common.confirm")
+            }}</el-button>
+            <el-button
+              type="info"
+              size="small"
+              @click="closeInsertDown"
+            >{{
+              $t("common.cancel")
+            }}</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+    </el-dialog>
+    <el-dialog
+      :title="$t('common.passworld')"
+      :visible.sync="dialogVisible1"
+      width="30%"
+      top="35vh"
+      :modal="false"
+      :before-close="handleCloseDown1"
+    >
+      <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="downloadx('codeForm')"
+          >{{ $t("common.confirm") }}</el-button>
+          <el-button
+            type="info"
+            size="small"
+            @click="closeDownx('codeForm')"
+          >{{
+            $t("common.cancel")
+          }}</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
     <iframe
       id="downFrame"
       src=""
@@ -1138,6 +1256,7 @@
       }
     };
     return {
+
       fromfile: { file: '' },
       fromSqlflag: false,
       filedsOption: [],
@@ -1242,6 +1361,16 @@
         src: ''
       },
       checkedDataType: [],
+      ruleForm: {
+        depname: [],
+        tabs: [],
+        pwd: null,
+        repwd: null,
+        wkt: null,
+        descr: null,
+      },
+      dialogInsertVisible: false,
+      dialogVisible1: false,
     };
   },
 
@@ -1250,8 +1379,61 @@
     this.getCategorySelectData();
     this.getItemSelectData();
     this.signGetPublicKey();
+    this.$bus.$on("setDialogInsertVisible", (res) => {
+      if (res == true) {
+        this.dialogVisible1 = true;
+      } else {
+        this.setDialogInsertVisible(res);
+      }
+    })
   },
   methods: {
+    handleCloseDown1() {
+      this.$confirm("纭鍏抽棴锛�")
+        .then(_ => {
+          this.closeDownx();
+        })
+        .catch(_ => { })
+    },
+    downloadx() {
+      this.$bus.$emit("setInsertDown", this.codeForm)
+      this.closeDownx();
+    },
+    closeDownx() {
+      this.dialogVisible1 = false;
+      this.codeForm = {
+        password: '',
+        repassword: '',
+      }
+    },
+    getInsertDown() {
+      this.dialogInsertVisible = false;
+      this.dialogVisible1 = true;
+      // 
+    },
+
+    closeInsertDown() {
+      this.ruleForm = {
+        depname: [],
+        tabs: [],
+        pwd: null,
+        repwd: null,
+        wkt: null,
+        descr: null,
+      }
+      this.dialogInsertVisible = false
+    },
+    handleInsertClose() {
+      this.$confirm("纭鍏抽棴锛�")
+        .then(_ => {
+          this.closeInsertDown()
+        })
+        .catch(_ => { })
+    },
+    setDialogInsertVisible(res) {
+      this.ruleForm = res;
+      this.dialogInsertVisible = true;
+    },
     copyText(row, column, cell, event) {
       // 鍙屽嚮澶嶅埗
       let save = function (e) {
@@ -1487,10 +1669,13 @@
       this.metaDataTable1 = [data.result];
     },
     getSpaceMapVisibale() {
-      sgworld.Creator.SimpleGraphic.clear();
-      for (var i in this.$store.state.queryInfo) {
-        sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]);
+      if (window.sgworld) {
+        window.sgworld.Creator.SimpleGraphic.clear();
+        for (var i in this.$store.state.queryInfo) {
+          window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]);
+        }
       }
+
       this.$store.state.queryInfo = [];
       if (this.$store.state.primitLayer != null) {
         sgworld.Viewer.entities.remove(this.$store.state.primitLayer);
diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue
index 9a392a5..3949311 100644
--- a/src/views/Synthesis/LeftMenu.vue
+++ b/src/views/Synthesis/LeftMenu.vue
@@ -18,6 +18,7 @@
     <terrainDig ref="terrainDig" />
     <modelAttach ref="modelAttach" />
     <undergroundModel ref="undergroundModel" />
+    <setPellucidity ref="setPellucidity" />
     <input
       type="file"
       accept=".kml"
@@ -201,7 +202,8 @@
 import queryinfo from "../Tools/queryinfo.vue";
 import terrainDig from "../Tools/terrainDig.vue";
 import modelAttach from "../Tools/ModelAttach.vue";
-import undergroundModel from "../Tools/undergroundModel";
+import undergroundModel from "../Tools/undergroundModel.vue";
+import setPellucidity from "../Tools/setPellucidity.vue";
 import $ from "jquery";
 import { getToken } from "@/utils/auth";
 import ImageWMS from "ol/source/ImageWMS";
@@ -233,7 +235,7 @@
 import { geometry } from "@turf/turf";
 
 export default {
-  components: { mapinfo, maplayer, queryinfo, terrainDig, modelAttach, undergroundModel },
+  components: { mapinfo, maplayer, queryinfo, terrainDig, modelAttach, undergroundModel, setPellucidity },
   data() {
     return {
       showTwoMenuFlag: false,
@@ -1589,10 +1591,33 @@
           this.closePipelinePop();
           if (this.isContrastFlag == false) {
             this.isContrastFlag = true;
-            sgworld.Analysis.createCurtainContrast(2, 1);
+            var localUrl = 'http://{host}/LFData/2d/tiles/img/{z}/{x}/{y}.png'
+            localUrl = localUrl.replace("{host}", iisHost)
+            window.contRastLayer = Viewer.imageryLayers.addImageryProvider(
+              new Cesium.UrlTemplateImageryProvider({
+                url: localUrl,
+                maximumLevel: 22,
+              })
+            );
+            Viewer.imageryLayers.lowerToBottom(window.contRastLayer);//灏嗗浘灞傜Щ鍒版渶搴曞眰
+
+            Viewer.imageryLayers.raise(window.contRastLayer);//灏嗗浘灞備笂绉讳竴灞�
+            if (window.BaseMapLayer) {
+              Viewer.imageryLayers.raise(window.contRastLayer);//灏嗗浘灞備笂绉讳竴灞�
+              sgworld.Analysis.createCurtainContrast(1, 2);
+            } else {
+              sgworld.Analysis.createCurtainContrast(0, 1);
+            }
+
           } else {
             this.isContrastFlag = false;
             sgworld.Analysis.clearCurtainContrast();
+            if (window.contRastLayer) {
+              window.Viewer.imageryLayers.remove(
+                window.contRastLayer
+              );
+              window.contRastLayer = null;
+            }
           }
           break;
         case "d10": //鍦伴潰鏁村钩
@@ -2597,7 +2622,18 @@
     matchState(state = "", reg) {
       var row = state.row;
       var name = row.name;
-      if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      if (name.indexOf('.pdf') != -1
+        || name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.PDF') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1) {
         return true;
       }
 
@@ -2613,12 +2649,23 @@
     setAttatchDetail(index, row) {
       this.refreshAttatchDetail()
       var name = row.name;
-      if (name.indexOf('.pdf') != -1) {
+      if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) {
         this.dialog.dialogVisible = true;
         this.dialog.isPdf = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
         this.dialog.src = url
-      } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      } else if (
+        name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1
+      ) {
         this.dialog.dialogVisible = true;
         this.dialog.isJpg = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
@@ -2697,7 +2744,10 @@
             },
           });
       }
-    }
+    },
+    setPellucidity() {
+      this.$refs && this.$refs.setPellucidity && this.$refs.setPellucidity.open();
+    },
   },
   mounted() {
     this.measureData = new Map();
@@ -2706,7 +2756,7 @@
       polyline: Cesium.Color.fromCssColorString("#ffff00").withAlpha(0.6),
       polygon: Cesium.Color.fromCssColorString("#ffff00").withAlpha(0.6),
     };
-
+    this.$store.state.setAlphaList = []
     this.$bus.$on("setChangeTwoMenu", (res) => {
       if (res == 8) {
         this.setLayerScene();
@@ -2718,6 +2768,9 @@
 
       this.setAddLayers(res);
     }));
+    this.$bus.$on("showPellucidity", res => {
+      this.setPellucidity();
+    });
     this.$store.state.showAllLayers = true;
     this.$store.state.layerMnage = false;
     this.$store.state.treeData = null;
diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index 46d721d..2458979 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -90,6 +90,13 @@
       </div>
       <div
         class="edit"
+        @click="pellucidity()"
+        v-if="showlocal"
+      >
+        <i class="el-icon-tickets"></i>&nbsp;&nbsp;閫忔槑搴�
+      </div>
+      <div
+        class="edit"
         @click="histogram()"
         v-show="shwoHistogram"
       >
@@ -397,6 +404,13 @@
             );
           }
         }
+        var list = this.$store.state.setAlphaList;
+        for (var i = 0; i < list.length; i++) {
+          if (list[i].name == label) {
+            list.splice(i, 1)
+          }
+        }
+
       }
       var layers_ol = window.map.getAllLayers();
       for (var i in layers_ol) {
@@ -420,6 +434,20 @@
 
 
     },
+    //妯″瀷璁剧疆閫忔槑搴�
+    pellucidity() {
+      var tile = this.currentData
+      for (var j in Viewer.scene.primitives._primitives) {
+        if (Viewer.scene.primitives._primitives[j].id == tile.cnName) {
+          this.$store.state.setAlphaDity = this.currentData;
+          this.$bus.$emit("showPellucidity", true);
+          break;
+        }
+      }
+    },
+
+
+
     //妯″瀷瀹氫綅
     positioning() {
       this.menuVisible = false
@@ -661,6 +689,12 @@
               Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j])
             }
           }
+          var list = this.$store.state.setAlphaList;
+          for (var i = 0; i < list.length; i++) {
+            if (list[i].name == tile.cnName) {
+              list.splice(i, 1)
+            }
+          }
         }
       }
 
@@ -835,13 +869,18 @@
         );
 
         tileset.readyPromise.then((tileset) => {
+
           tileset.id = res.cnName;
           tileset.layerId = res.id;
           tileset.pubid = res.pubid;
           this.getTilesetArgs(tileset, res);
-          // 
+
 
         });
+        this.$store.state.setAlphaList.push({
+          name: res.cnName,
+          alpha: 1
+        })
         window.model = tileset
       } else if (res.serveType == "TMS") {
         var url = res.url;
@@ -873,7 +912,6 @@
           url: url[0],
           layers: url[1]
         }, "0", undefined, true, "");
-
         this.mptLayer.push(layer)
         setTimeout(() => {
           this.setChangeWMS();
diff --git a/src/views/Tools/ModelProperty.vue b/src/views/Tools/ModelProperty.vue
index d071ad3..3a2d9ba 100644
--- a/src/views/Tools/ModelProperty.vue
+++ b/src/views/Tools/ModelProperty.vue
@@ -21,9 +21,7 @@
           :model="formInline"
           label-width="80px"
         >
-
           <el-form-item :label="$t('common.name')">
-
             {{formInline.name}}
           </el-form-item>
           <el-form-item :label="$t('common.type')">
@@ -214,7 +212,20 @@
     matchState(state = "", reg) {
       var row = state.row;
       var name = row.name;
-      if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      if (
+        name.indexOf('.pdf') != -1
+        || name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.PDF') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1
+      ) {
         return true;
       }
       return false;
@@ -243,12 +254,22 @@
     setAttatchDetail(index, row) {
       this.refreshAttatchDetail()
       var name = row.name;
-      if (name.indexOf('.pdf') != -1) {
+      if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) {
         this.dialog.dialogVisible = true;
         this.dialog.isPdf = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
         this.dialog.src = url
-      } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      } else if (
+        name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1) {
         this.dialog.dialogVisible = true;
         this.dialog.isJpg = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
diff --git a/src/views/Tools/setPellucidity.vue b/src/views/Tools/setPellucidity.vue
new file mode 100644
index 0000000..d1e1b32
--- /dev/null
+++ b/src/views/Tools/setPellucidity.vue
@@ -0,0 +1,130 @@
+<template>
+  <Popup
+    ref="pop"
+    :title="title"
+    @close="close(true)"
+    width="400px"
+    @cancel="close(false)"
+  >
+    <el-input
+      size="small"
+      v-model="modelForm.alpha"
+      @input="update"
+    ></el-input>
+    <el-slider
+      v-model="modelForm.alpha"
+      @input="update"
+      :min="0"
+      :step="0.01"
+      :max="1"
+    ></el-slider>
+    </el-form>
+  </Popup>
+</template>
+
+<script>
+import Popup from "./Popup";
+
+
+export default {
+  name: "AddOnlineMap",
+  components: {
+    Popup,
+  },
+  mixins: [],
+  data() {
+    return {
+      title: "閫忔槑搴�",
+      modelForm: {
+        alpha: 1
+      },
+      titleset: null,
+      index: null,
+    };
+  },
+  computed: {
+
+  },
+  methods: {
+
+    // 鍏抽棴寮圭獥
+    close(isCloseBtn, removeLayer = true) {
+      //   removeLayer && this.removeImageLayer();
+      if (this.index != null) {
+        this.$store.state.setAlphaList[this.index].alpha = this.modelForm.alpha;
+
+      }
+      this.index = null;
+      // 閲嶇疆data鍊�
+      Object.assign(this.$data, this.$options.data());
+      !isCloseBtn && this.$refs.pop.close();
+
+
+    },
+    // 鎵撳紑寮圭獥
+    open() {
+      this.close(true);
+      this.$refs.pop.open();
+      this.showTileSet();
+    },
+    changeToken(token) {
+      this.mapCollection.tokne = token;
+    },
+    update() {
+
+
+
+      this.titleset.style = new Cesium.Cesium3DTileStyle({
+        color: "color('rgba(255,255,255," + this.modelForm.alpha + ")')",
+      });
+    },
+    showTileSet() {
+      this.index = null;
+      var tile = this.$store.state.setAlphaDity
+      for (var j in Viewer.scene.primitives._primitives) {
+        if (Viewer.scene.primitives._primitives[j].id == tile.cnName) {
+          this.titleset = Viewer.scene.primitives._primitives[j]
+        }
+      }
+
+
+      var list = this.$store.state.setAlphaList;
+
+      for (var i = 0; i < list.length; i++) {
+        if (list[i].name == tile.cnName) {
+          this.index = i;
+        }
+      }
+
+      if (this.index != null) {
+        this.modelForm.alpha = list[this.index].alpha;
+
+      } else {
+
+        this.modelForm.alpha = 1;
+      }
+    },
+
+  },
+};
+</script>
+
+<style scoped lang="less">
+/deep/.el-card__body {
+  padding: 0px !important;
+}
+.map {
+  display: inline-block;
+  cursor: pointer;
+  margin: 5px;
+  text-align: center;
+
+  .el-image {
+    border: 2px solid #fff;
+    border-radius: 4px;
+  }
+}
+.boxCard {
+  margin-bottom: 5px;
+}
+</style>
diff --git a/src/views/datamanage/SpatialData.vue b/src/views/datamanage/SpatialData.vue
index 99d4f70..9203b2f 100644
--- a/src/views/datamanage/SpatialData.vue
+++ b/src/views/datamanage/SpatialData.vue
@@ -816,12 +816,23 @@
 
       this.refreshAttatchDetail()
       var name = row.name;
-      if (name.indexOf('.pdf') != -1) {
+      if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) {
         this.dialog.dialogVisible = true;
         this.dialog.isPdf = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
         this.dialog.src = url
-      } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+      } else if (
+        name.indexOf('.jpg') != -1
+        || name.indexOf('.gif') != -1
+        || name.indexOf('.png') != -1
+        || name.indexOf('.jpeg') != -1
+        || name.indexOf('.JPG') != -1
+        || name.indexOf('.GIF') != -1
+        || name.indexOf('.PNG') != -1
+        || name.indexOf('.JPEG') != -1
+        || name.indexOf('.BMP') != -1
+        || name.indexOf('.bmp') != -1
+      ) {
         this.dialog.dialogVisible = true;
         this.dialog.isJpg = true;
         var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken();
@@ -834,7 +845,18 @@
       var name = row.name;
 
       if (name) {
-        if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) {
+        if (name.indexOf('.pdf') != -1
+          || name.indexOf('.jpg') != -1
+          || name.indexOf('.gif') != -1
+          || name.indexOf('.png') != -1
+          || name.indexOf('.jpeg') != -1
+          || name.indexOf('.PDF') != -1
+          || name.indexOf('.JPG') != -1
+          || name.indexOf('.GIF') != -1
+          || name.indexOf('.PNG') != -1
+          || name.indexOf('.JPEG') != -1
+          || name.indexOf('.BMP') != -1
+          || name.indexOf('.bmp') != -1) {
           return true;
         }
       }
diff --git a/src/views/datamanage/catalogueManage copy.vue b/src/views/datamanage/catalogueManage copy.vue
index 2773e0d..5e8249d 100644
--- a/src/views/datamanage/catalogueManage copy.vue
+++ b/src/views/datamanage/catalogueManage copy.vue
@@ -454,6 +454,7 @@
     },
     handleNodeClick(data) {
       // console.log(data);
+
       this.backUpData = JSON.stringify(data);
       this.itemdetail = JSON.parse(JSON.stringify(data));
     },
diff --git a/src/views/datamanage/catalogueManage.vue b/src/views/datamanage/catalogueManage.vue
index 2bf0266..2c28a0f 100644
--- a/src/views/datamanage/catalogueManage.vue
+++ b/src/views/datamanage/catalogueManage.vue
@@ -48,6 +48,16 @@
                 <el-form-item>
 
                   <el-button
+                    v-show="directoryFlag"
+                    icon="el-icon-download"
+                    type="info"
+                    size="small"
+                    @click="setDirectoryDownload"
+                  >{{ $t("shuJuGuanLi.butten.directoryDownload") }}</el-button>
+                </el-form-item>
+                <el-form-item>
+
+                  <el-button
                     icon="el-icon-download"
                     type="info"
                     size="small"
@@ -379,6 +389,7 @@
 import MyBread from "../../components/MyBread.vue";
 import clone from "@turf/clone";
 import $ from 'jquery'
+import { getToken } from '../../utils/auth';
 export default {
   name: "catalogueManage",
   components: {
@@ -393,6 +404,8 @@
       }
     };
     return {
+      directoryData: null,
+      directoryFlag: false,
       menuStatus: {
         delete: false,
         insert: false,
@@ -951,9 +964,20 @@
           this.$message.error("淇敼澶辫触锛岃閲嶈瘯锛�");
         });
     },
+
+    setDirectoryDownload() {
+      var url = BASE_URL + '/dir/downloadDir?token=' + getToken() + '&id=' + this.directoryData.id
+      console.log(url)
+      $("#Iframe1").attr("src", url).click()
+    },
     handleNodeClick(data, node) {
       // console.log(data);
-
+      if (data.pid == 0) {
+        this.directoryData = data;
+        this.directoryFlag = true;
+      } else {
+        this.directoryFlag = false;
+      }
       this.newNode = node;
       this.backUpData = JSON.stringify(data);
       this.itemdetail = JSON.parse(JSON.stringify(data));

--
Gitblit v1.9.3