From 17411ae609d8c9a21be20bbffe2cf52c6efd9b80 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期四, 07 九月 2023 14:29:58 +0800
Subject: [PATCH] 发布管理页面修改,接口调试

---
 src/views/datamanage/uploadmanage.vue |  483 +++++++++++++++++++++++++++--------------------------
 1 files changed, 245 insertions(+), 238 deletions(-)

diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue
index c65f8b0..9ffd19a 100644
--- a/src/views/datamanage/uploadmanage.vue
+++ b/src/views/datamanage/uploadmanage.vue
@@ -30,17 +30,7 @@
           <span> {{$t('dataManage.uploadObj.releaseList')}}</span>
         </div>
       </div>
-      <div
-        class="tabs_pane"
-        @click="setTabsChange(3)"
-      >
-        <div
-          class="tabsSpan"
-          :class="{ changetabs : active == 'third'}"
-        >
-          <span> {{$t('dataManage.uploadObj.modelAttachMount')}}</span>
-        </div>
-      </div>
+
     </div>
     <div
       v-if="active != 'third'"
@@ -51,39 +41,22 @@
         :model="formInline"
         class="demo-form-inline"
       >
-        <!-- 鍗曚綅 -->
-        <el-form-item v-if="active == 'first'">
-          <el-select
-            size="small"
-            v-model="formInline.depid"
-          >
-            <el-option
-              :value="formInline.depid"
-              :label="formInline.depName"
-              style="height: auto"
-            >
-              <el-tree
-                ref="tree"
-                :data="depOption"
-                node-key="id"
-                :props="defaultProps"
-                @node-click="handleDepChange"
-              />
-            </el-option>
-          </el-select>
-        </el-form-item>
         <!-- 鐩綍 -->
-        <el-form-item v-if="active == 'first'">
+        <el-form-item>
+
           <el-select
+            ref="tree"
             size="small"
+            :popper-append-to-body="false"
             v-model="formInline.dirid"
           >
             <el-option
               :value="formInline.dirid"
               :label="formInline.dirName"
-              style="height: auto"
+              style=" height:auto"
             >
               <el-tree
+                class="elTreeData"
                 ref="tree"
                 :data="dirOption"
                 node-key="id"
@@ -104,6 +77,22 @@
               :key="item.id"
               :label="item.name"
               :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!-- 绫诲瀷 -->
+        <el-form-item>
+          <el-select
+            size="small"
+            v-model="formInline.serType"
+            @change="handleTypeChange"
+          >
+            <el-option
+              v-for="item in serverOption"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
             >
             </el-option>
           </el-select>
@@ -208,12 +197,7 @@
             align="center"
             key="5"
           />
-          <el-table-column
-            prop="depName"
-            :label="$t('dataManage.vmobj.depName')"
-            align="center"
-            key="6"
-          />
+
           <el-table-column
             prop="dirName"
             :label="$t('dataManage.vmobj.dirName')"
@@ -327,12 +311,7 @@
         </el-pagination>
       </div>
     </div>
-    <div
-      v-if="active == 'third'"
-      class="content_box"
-    >
-      <mapview v-if="active == 'third'"></mapview>
-    </div>
+
     <!-- 鍦板潃棰勮 -->
     <el-dialog
       :title="$t('common.preview')"
@@ -357,23 +336,7 @@
         <mapview v-if="showMapView"></mapview>
       </div>
     </el-dialog>
-    <!-- <el-dialog
-      :title="$t('common.preview')"
-      :visible.sync="dialogVisible"
-      width="70%"
-      :before-close="handleClose"
-      top="13vh"
-      :lock-scroll="false"
-      :close-on-press-escape="false"
-      :close-on-click-modal="false"
-      v-el-drag-dialog
-    >
-      <div
-        id="MapDiv"
-        style="background:red;widht:100%;height:calc(100% - 10px)"
-      ></div>
-     
-    </el-dialog> -->
+
     <!-- 淇敼鏁版嵁 -->
     <el-dialog
       :title="$t('common.update')"
@@ -382,43 +345,86 @@
       :show-close="false"
       :close-on-click-modal="false"
     >
-      <div style="width:100%;height:50vh">
+      <div style="width:100%; ">
         <el-form
           ref="form"
           :model="editLayer"
           label-width="150px"
         >
+          <!-- 鍚嶇О -->
           <el-form-item :label="$t('dataManage.vmobj.name')">
-            <el-input v-model="editLayer.name"></el-input>
-          </el-form-item>
-          <el-form-item :label="$t('dataManage.vmobj.format')">
             <el-input
-              disabled
-              v-model="editLayer.type"
+              v-model="editLayer.name"
+              :placeholder="$t('dataManage.vmobj.name')"
             ></el-input>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.vmobj.depName')">
-            <el-input
-              disabled
-              v-model="editLayer.depName"
-            ></el-input>
-          </el-form-item>
+          <!-- 鎷変几鏂瑰紡 -->
+          <el-form-item :label="$t('dataManage.vmobj.labe15')">
+            <el-select
+              size="small"
+              :disabled="true"
+              v-model="editLayer.enhanceType"
+              style="width: 100%;"
+            >
+              <el-option
+                v-for="item in enhanceOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
 
-          <el-form-item :label="$t('dataManage.vmobj.dirName')">
+          </el-form-item>
+          <!-- 鍧愭爣绯� -->
+          <!-- <el-form-item
+            v-show="editLayer.showFactor"
+            :label="$t('dataManage.vmobj.labe17')"
+          >
+           
             <el-input
-              disabled
-              v-model="editLayer.dirName"
-            ></el-input>
+              style="width: 100%;"
+              v-model="editLayer.url"
+              :disabled='true'
+              size="small"
+            >
+
+            </el-input>
+          </el-form-item> -->
+          <!-- 鍧愭爣绯� -->
+          <el-form-item :label="$t('dataManage.vmobj.labe16')">
+            <el-select
+              size="small"
+              v-model="editLayer.epsg"
+              style="width: 100%;"
+              :disabled="true"
+            >
+              <el-option
+                v-for="item in epsgOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.vmobj.versionNumber')">
-            <el-input
-              disabled
-              v-model="editLayer.verName"
-            ></el-input>
-          </el-form-item>
-          <el-form-item :label="$t('common.publishAddress')">
-            <el-input v-model="editLayer.url"></el-input>
-          </el-form-item>
+          <!-- 鍘婚櫎鏃犳晥鍊� -->
+          <!-- <el-form-item :label="$t('dataManage.vmobj.labe14')">
+            <el-select
+              size="small"
+              v-model="editLayer.nodata"
+              style="width: 100%;"
+              :disabled="true"
+            >
+              <el-option
+                v-for="item in noDataOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item> -->
           <el-form-item>
             <el-button
               size="small"
@@ -431,6 +437,7 @@
               @click="setEditLayerCancle"
             >{{$t('common.cancel')}}</el-button>
           </el-form-item>
+
         </el-form>
       </div>
     </el-dialog>
@@ -441,7 +448,7 @@
       width="50%"
       :close-on-click-modal="false"
     >
-      <div style="width:100%;height:50vh">
+      <div style="width:100%;height:50vh;color: white;">
         <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p>
         <el-divider></el-divider>
         <p>{{ $t("dataManage.vmobj.format") }}锛歿{ itemdetail.type }}</p>
@@ -478,51 +485,54 @@
           :model="insertLayer"
           label-width="150px"
         >
+          <!-- 鍚嶇О -->
           <el-form-item :label="$t('dataManage.vmobj.name')">
             <el-input
               v-model="insertLayer.name"
               :placeholder="$t('dataManage.vmobj.name')"
             ></el-input>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.vmobj.numberFiles')">
-            <el-input
-              disabled
-              v-model="insertLayer.number"
-            ></el-input>
-          </el-form-item>
-          <el-form-item
-            :label="$t('dataManage.vmobj.labe14')"
-            v-show="formInline.type =='DOM'"
-          >
+          <!-- 鎷変几鏂瑰紡 -->
+          <el-form-item :label="$t('dataManage.vmobj.labe15')">
             <el-select
-              style="width:100%"
-              v-model="insertLayer.noData"
+              size="small"
+              v-model="insertLayer.enhanceType"
+              style="width: 100%;"
+              @change="setEnhanceTypeChange()"
             >
               <el-option
-                label="榛戣壊"
-                value="0"
-              ></el-option>
-              <el-option
-                label="鐧借壊"
-                value="255"
-              ></el-option>
+                v-for="item in enhanceOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
             </el-select>
+
           </el-form-item>
+          <!-- 鍧愭爣绯� -->
           <el-form-item
-            v-show="formInline.type !='DEM'"
-            :label="$t('dataManage.vmobj.minLevel')"
+            v-show="insertLayer.showFactor"
+            :label="$t('dataManage.vmobj.labe17')"
           >
-            <!-- <el-input
-              v-model="insertLayer.min"
-              :placeholder="$t('dataManage.vmobj.labe11')"
-            ></el-input> -->
+            <el-input-number
+              v-model="insertLayer.enhanceFactor"
+              controls-position="right"
+              :min="insertLayer.min"
+              :step="insertLayer.step"
+              :max="insertLayer.max"
+              style="width: 100%;"
+            ></el-input-number>
+          </el-form-item>
+          <!-- 鍧愭爣绯� -->
+          <el-form-item :label="$t('dataManage.vmobj.labe16')">
             <el-select
-              style="width:100%"
-              v-model="insertLayer.min"
-              :placeholder="$t('dataManage.vmobj.labe11')"
+              size="small"
+              v-model="insertLayer.epsg"
+              style="width: 100%;"
             >
               <el-option
-                v-for="item in options"
+                v-for="item in epsgOption"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -530,21 +540,15 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item
-            :label="$t('dataManage.vmobj.maxLevel')"
-            v-show="formInline.type !='DEM'"
-          >
-            <!-- <el-input
-              v-model="insertLayer.max"
-              :placeholder="$t('dataManage.vmobj.labe12')"
-            ></el-input> -->
+          <!-- 鍘婚櫎鏃犳晥鍊� -->
+          <el-form-item :label="$t('dataManage.vmobj.labe14')">
             <el-select
-              style="width:100%"
-              v-model="insertLayer.max"
-              :placeholder="$t('dataManage.vmobj.labe12')"
+              size="small"
+              v-model="insertLayer.nodata"
+              style="width: 100%;"
             >
               <el-option
-                v-for="item in options"
+                v-for="item in noDataOption"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -649,9 +653,9 @@
 </template>
 
 <script>
-import axios from 'axios';
+
 import dialogHeader from './dialogHeader.vue'
-import mapview from '../../components/preview_map.vue'
+import mapview from '../../components/MapView/moonMap.vue'
 import MyBread from "../../components/MyBread.vue"
 import {
   selectdepTab,
@@ -659,11 +663,12 @@
   meta_selectVerByDirid,
   publish_selectMetasByPage,
   publish_selectByPage,
-  publish_deletes,
+  publish_deletesSjServices,
   publish_update,
-  publish_insert,
+  publish_insertSjService,
 } from '../../api/api.js'
 import { conditions } from '../Archive/Archive';
+import { method_option, nodata_Option, server_option, system_Option, type_option } from './js/layerManage';
 
 export default {
   components: {
@@ -680,7 +685,9 @@
         verid: null,
         depName: null,
         name: "",
-        type: ""
+        type: "",
+        serType: '',
+
       },
       listData: {
         pageIndex: 1,
@@ -693,25 +700,7 @@
       dirOption: [],
       verOption: [],
       modelOptions: [],
-      typeOption: [{
-        value: 'DOM',
-        label: '褰卞儚鏁版嵁(.tif, .img)'
-      }, {
-        value: 'DEM',
-        label: '楂樼▼鏁版嵁(.tif)'
-      }, {
-        value: 'MPT',
-        label: '鍦烘櫙鏁版嵁(.mpt)'
-      }, {
-        value: 'CPT',
-        label: '鐐逛簯鏁版嵁(.cpt)'
-      }, {
-        value: '3DML',
-        label: '涓夌淮妯″瀷(.3dml)'
-      }, {
-        value: 'BIM',
-        label: '涓夌淮妯″瀷(.fbx, .ifc, .rvt)'
-      }],
+      typeOption: [],
       defaultProps: {
         label: "name",
         value: "id",
@@ -722,17 +711,30 @@
       dialogVisible: false,
       showMapView: false,
       showPageSize: [],
-      editLayer: {},
+      editLayer: {
+        enhanceType: null
+      },
       updateLayer: {},
       editDialogVisible: false,
       detailsDialogVisible: false,
       itemdetail: {},
       insertDialogVisible: false,
       insertModelVisible: false,
-      insertLayer: { name: '', number: null, min: 4, max: 18, noData: '0' },
+      insertLayer: {
+        name: '',
+        enhanceType: null,
+        enhanceFactor: null,
+        showFactor: false,
+        epsg: null,
+        nodata: null
+      },
       loadDialogVisible: false,
       options: [],
       isFullscreen: false,
+      serverOption: [],
+      enhanceOption: [],
+      epsgOption: [],
+      noDataOption: []
     }
   },
   methods: {
@@ -816,37 +818,20 @@
     },
     setinsertLayerCancel() {
       this.insertDialogVisible = false;
-      this.insertLayer = { name: '', number: null, min: 4, max: 18 };
+      this.insertLayer = {
+        name: '',
+        enhanceType: null,
+        enhanceFactor: null,
+        showFactor: false,
+        epsg: null,
+        nodata: null
+      };
     },
     //鍙戝竷鎻愪氦
     async setinsertLayerSubmit() {
-
-      var min = this.insertLayer.min;
-      var max = this.insertLayer.max;
       var name = this.insertLayer.name;
-      if (this.formInline.type == 'DEM') {
-        min = 0;
-        max = 18;
-      }
       if (!name) {
         this.$message.error("鍚嶇О涓嶈兘涓虹┖")
-        return
-      }
-
-
-      if (parseInt(min) < 0 || parseInt(min) > 20) {
-        this.$message.error("鏈�灏忕骇鍒笉鑳藉皬浜� 0 鎴栧ぇ浜� 20 ")
-        return
-      }
-
-
-      if (parseInt(max) < 0 || parseInt(max) > 20) {
-        this.$message.error(" 鏈�澶х骇鍒笉鑳藉皬浜� 0 鎴栧ぇ浜� 20 ")
-        return
-      }
-
-      if (parseInt(min) > parseInt(max)) {
-        this.$message.error("鏈�灏忕骇鍒笉寰楀ぇ浜庢渶澶х骇鍒�")
         return
       }
       var std = [];
@@ -855,18 +840,19 @@
       }
       var obj = {
         dircode: this.formInline.dirid,
-        depcode: this.formInline.depid,
-        min: min,
-        max: max,
         name: name,
         ids: std,
+        enhanceType: this.insertLayer.enhanceType,
+        enhanceFactor: this.insertLayer.enhanceFactor,
+        epsg: this.insertLayer.epsg,
         type: this.formInline.type,
-        noData: this.insertLayer.noData
+        noData: this.insertLayer.nodata
       }
+
       this.loadDialogVisible = true
       this.insertDialogVisible = false;
 
-      const data = await publish_insert(obj);
+      const data = await publish_insertSjService(obj);
 
       if (data.code == 200 && data.result > 0) {
         this.$message({
@@ -879,59 +865,45 @@
       this.loadDialogVisible = false
       this.getTableData();
     },
+    setEnhanceTypeChange(res) {
+      var val = this.enhanceOption.filter((res) => {
+        if (res.value == this.insertLayer.enhanceType) {
+          return res;
+        }
+      })
 
+      this.insertLayer.enhanceFactor = val[0].enhanceFactor;
+      if (val[0].enhanceFactor != 0) {
+        this.insertLayer.min = val[0].min;
+        this.insertLayer.max = val[0].max;
+        this.insertLayer.step = val[0].step;
+        this.insertLayer.showFactor = true;
+      } else {
+        this.insertLayer.showFactor = false;
+      }
+    },
     //鏁版嵁鍙戝竷
     async setPagePublish() {
       if (this.multipleSelection.length == 0) {
         this.$message("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁")
         return
       }
-      if (this.formInline.type == "DOM" || this.formInline.type == "DEM") {
-
-        this.insertLayer.name = this.multipleSelection[0].name.split('.')[0];
-        this.insertLayer.number = this.multipleSelection.length
-        this.insertLayer.noData = '0';
-        this.insertDialogVisible = true;
-      } else if (this.formInline.type == "3DML" || this.formInline.type == "BIM") {
-        var val = JSON.parse(JSON.stringify(this.multipleSelection))
-        for (var i in val) {
-          val[i].isModel = null
-        }
-        this.modelOptions = val;
-
-        this.insertModelVisible = true;
-
-
-
+      this.insertLayer.name = null
+      var val = this.enhanceOption[0]
+      this.insertLayer.enhanceType = val.value;
+      this.insertLayer.epsg = this.epsgOption[0].value;
+      this.insertLayer.nodata = this.noDataOption[0].value
+      this.insertLayer.enhanceFactor = val.enhanceFactor;
+      if (val.enhanceFactor != 0) {
+        this.insertLayer.min = val.min;
+        this.insertLayer.max = val.max;
+        this.insertLayer.step = val.step;
+        this.insertLayer.showFactor = true;
       } else {
-        var std = [];
-        for (var i in this.multipleSelection) {
-          std.push(this.multipleSelection[i].id)
-        }
-
-        var obj = {
-          dircode: this.formInline.dirid,
-          depcode: this.formInline.depid,
-          ids: std,
-          type: this.formInline.type
-        }
-
-        this.loadDialogVisible = true
-        this.insertDialogVisible = false;
-
-        const data = await publish_insert(obj);
-        if (data.code != 200) {
-          this.$message.error("鏁版嵁鍙戝竷澶辫触")
-
-        } else {
-          this.$message({
-            message: '鏁版嵁鍙戝竷鎴愬姛',
-            type: 'success'
-          });
-        }
-        this.loadDialogVisible = false
-        this.getTableData();
+        this.insertLayer.showFactor = false;
       }
+      this.insertDialogVisible = true;
+
     },
     //鏁版嵁璇︽儏
     setPreviewDetails(res) {
@@ -964,18 +936,30 @@
       } else {
         this.$confirm('纭鍏抽棴锛�')
           .then(_ => {
-            done();
-          })
-          .catch(_ => {
             this.editLayer = JSON.parse(this.updateLayer)
             this.editDialogVisible = false;
+          })
+          .catch(_ => {
+
           });
       }
     },
     //淇敼寮圭獥
     setPreviewEdit(res) {
       this.updateLayer = JSON.stringify(res) //澶囦唤;
-      this.editLayer = JSON.parse(JSON.stringify(res));
+      var val = JSON.parse(JSON.stringify(res));
+
+      this.editLayer = val;
+      this.editLayer.epsg = val.epsg.toString();
+      var result = this.enhanceOption.filter((res) => {
+        if (res.value == val.enhanceType) {
+          return res;
+        }
+      })
+      if (result[0].enhanceFactor != 0) {
+        this.editLayer.showFactor = true
+      }
+
       this.editDialogVisible = true;
     },
     //鍒犻櫎
@@ -998,7 +982,7 @@
       for (var i in this.multipleSelection) {
         std.push(this.multipleSelection[i].id);
       }
-      const data = await publish_deletes({ ids: std.toString() });
+      const data = await publish_deletesSjServices({ ids: std.toString() });
       if (data.code != 200) {
         this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触")
         return
@@ -1122,9 +1106,11 @@
         this.showPageSize = [10, 50, 100, 200]
       }
 
+      this.formInline.serType = this.serverOption[0].value;
       this.formInline.type = this.typeOption[0].value;
-      this.getDepTreeList();
+      // this.getDepTreeList();
       this.getDirTreeList();
+
     },
     //鑾峰彇鐩綍鍒楄〃
     async getDirTreeList() {
@@ -1215,9 +1201,9 @@
         if (this.formInline.name) {
           this.listData.name = this.formInline.name
         }
-
+        this.listData.dircode = this.formInline.dirid;
+        this.listData.type = this.formInline.type;
         const data = await publish_selectByPage(this.listData);
-
         if (data.result) {
           var that = this
           var val = data.result.filter((rs) => {
@@ -1291,8 +1277,15 @@
   },
   mounted() {
     this.active = 'first';
+    this.typeOption = type_option;
+    this.serverOption = server_option;
+    this.epsgOption = system_Option;
+    this.noDataOption = nodata_Option;
+    this.enhanceOption = method_option
     this.setPageStart();
     this.setOptions();
+
+
   }
 }
 </script>
@@ -1366,5 +1359,19 @@
   /deep/.el-dialog__header {
     padding: 10px !important;
   }
+  /deep/.el-input-number__increase,
+  .el-input-number__decrease {
+    background: transparent !important;
+  }
+  .el-input-number__increase,
+  .el-input-number__decrease {
+    background: transparent !important;
+  }
+}
+.elTreeData {
+  color: white !important;
+  background: transparent !important;
+  font-size: 15px !important;
+  font-family: Microsoft YaHei !important;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3