From 35889caf6315da8f72aec921069547af462b479a Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期六, 18 三月 2023 17:16:44 +0800
Subject: [PATCH] 数据发布页面,接口对接,空间查询,属性查询数据修改

---
 src/components/MapView/mapSpaceTop.vue  |   33 ++
 src/views/datamanage/metadataManage.vue |  250 ++++++++++++++-----
 src/views/datamanage/uploadmanage.vue   |  377 +++++++++++++++++++++++++++-
 src/api/api.js                          |    9 
 src/assets/lang/zh.js                   |   10 
 src/components/MapView/mapMenuTop.vue   |   29 +-
 src/components/preview_map.vue          |    8 
 src/assets/lang/en.js                   |    8 
 8 files changed, 609 insertions(+), 115 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index 3b64a6f..c117cb9 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -1097,4 +1097,13 @@
 export function publish_deletes(params) {
   return request.get('/publish/deletes', { params: params });
 }
+//鏁版嵁鍙戝竷 => 鏁版嵁淇敼
+export function publish_update(params) {
+  return request.post('/publish/update', params);
+}
+//鏁版嵁鍙戝竷 => 鏁版嵁鎻掑叆
+export function publish_insert(params) {
+  return request.post('/publish/insert', params);
+}
+
 
diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 8ab0618..2b9f6dc 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -155,7 +155,13 @@
       depName: 'Company',
       versionNumber: 'Version Number',
       tab: 'Table',
-      row: 'rows'
+      row: 'rows',
+      numberFiles: 'Number of published files',
+      minLevel: 'Minimum level',
+      maxLevel: 'Maximum level',
+      labe11: 'Please enter the minimum level (0 to 20)',
+      labe12: 'Please enter the maximum level (0 to 20)',
+      labe13: 'Please enter a name',
     },
     dictionaryManage: 'dictionaryManage',
     dictionaryManageObj: {
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 0f7e790..f35b99c 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -154,10 +154,16 @@
       gather: '閲囬泦鏃堕棿',
       depName: '鍗曚綅',
       describe: '鎻忚堪',
-
       versionNumber: '鐗堟湰鍙�',
       tab: '琛ㄥ悕',
-      row: '琛屾暟'
+      row: '琛屾暟',
+      numberFiles: '鍙戝竷鏂囦欢鏁�',
+
+      minLevel: '鏈�灏忕骇鍒�',
+      maxLevel: '鏈�澶х骇鍒�',
+      labe11: '璇疯緭鍏ユ渶灏忕骇鍒�(0 ~ 20)',
+      labe12: '璇疯緭鍏ユ渶澶х骇鍒�(0 ~ 20)',
+      labe13: '璇疯緭鍏ュ悕绉�',
     },
     dictionaryManage: '瀛楀吀绠$悊',
     dictionaryManageObj: {
diff --git a/src/components/MapView/mapMenuTop.vue b/src/components/MapView/mapMenuTop.vue
index 9a79515..03e939e 100644
--- a/src/components/MapView/mapMenuTop.vue
+++ b/src/components/MapView/mapMenuTop.vue
@@ -183,6 +183,7 @@
   encr,
   dataLib_selectTabs,
   pipelines_selectSegNames,
+  dataLib_selectTabed
 } from "../../api/api.js"
 import { selectPipelines } from "@/api/screen.js"
 import { getToken } from "@/utils/auth"
@@ -287,19 +288,15 @@
       }
     },
     async getAllTable() {
-      const data = await dataLib_selectTabs({
-        pageIndex: 1,
-        pageSize: 500,
+      const data = await dataLib_selectTabed({
+        hasGeom: "true",
+        name: null,
       })
       if (data.code != 200) {
         this.$message.error("鍒楄〃璋冪敤澶辫触")
       }
 
-      // var val = data.result.filter(res => {
-      //   if (res.rows != 0) {
-      //     return res
-      //   }
-      // })
+
       var val = data.result
       var std = [];
       val.filter((item) => {
@@ -314,16 +311,18 @@
           )
         }
       });
+      for (var i in this.layerData) {
+        var item = this.layerData[i];
+        for (var j in val) {
+          var res = val[j];
 
-      this.layerData.filter((item) => {
-        val.filter((res) => {
-          if (item.val === res.bak && res.rows != 0 && res.rows) {
-            console.log(res)
+          if (item.val === res.bak) {
+
             res.label = res.tabDesc
-            item.children.push(res)
+            this.layerData[i].children.push(res)
           }
-        })
-      })
+        }
+      }
 
     },
     //鑾峰彇閫夋嫨鏍戠殑鑺傜偣
diff --git a/src/components/MapView/mapSpaceTop.vue b/src/components/MapView/mapSpaceTop.vue
index 5cf19ac..26c6552 100644
--- a/src/components/MapView/mapSpaceTop.vue
+++ b/src/components/MapView/mapSpaceTop.vue
@@ -105,11 +105,36 @@
       }
       var option = data.result;
       this.layerData = option.filter((res) => {
-        if (res.rows != 0) {
-          return res;
-        }
-      });
 
+        return res;
+
+      });
+      // var val = data.result
+      // var std = [];
+      // val.filter((item) => {
+      //   if (std.indexOf(item.bak) == -1) {
+      //     std.push(item.bak);
+      //     this.layerData.push(
+      //       {
+      //         val: item.bak,
+      //         label: item.bak,
+      //         children: [],
+      //       }
+      //     )
+      //   }
+      // });
+      // for (var i in this.layerData) {
+      //   var item = this.layerData[i];
+      //   for (var j in val) {
+      //     var res = val[j];
+
+      //     if (item.val === res.bak) {
+
+      //       res.label = res.tabDesc
+      //       this.layerData[i].children.push(res)
+      //     }
+      //   }
+      // }
 
       // for (var i in option) {
       //   // console.log(option[i].tableType)
diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue
index cc37652..63f0449 100644
--- a/src/components/preview_map.vue
+++ b/src/components/preview_map.vue
@@ -24,7 +24,7 @@
     init3DMap() {
       //鍦板浘鍒濆鍖�
       window.sgworld = new SmartEarth.SGWorld("mapdiv", {
-        url: SmartEarthRootUrl + "Workers/image/earth.jpg",
+
         licenseServer: window.sceneConfig.licenseServer,
       });
 
@@ -34,12 +34,6 @@
       //   destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000),
       // });
 
-      Viewer.imageryLayers.addImageryProvider(
-        new Cesium.UrlTemplateImageryProvider({
-          url: gaoDeBaseUrl[1].url,
-          maximumLevel: 18
-        })
-      );
 
       Viewer._enableInfoOrSelection = false;
       //鏄剧ずfps
diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue
index 3595331..e838928 100644
--- a/src/views/datamanage/metadataManage.vue
+++ b/src/views/datamanage/metadataManage.vue
@@ -1,14 +1,19 @@
 <template>
   <div class="authorityManagement_box">
-    <My-bread
-      :list="[
+    <My-bread :list="[
         `${$t('dataManage.dataManage')}`,
         `${$t('dataManage.metadataManage')}`,
-      ]"
-    ></My-bread>
+      ]"></My-bread>
     <el-divider />
-    <div class="inquire subpage_Div" ref="container">
-      <el-form ref="queryForm" :model="queryForm" :inline="true">
+    <div
+      class="inquire subpage_Div"
+      ref="container"
+    >
+      <el-form
+        ref="queryForm"
+        :model="queryForm"
+        :inline="true"
+      >
         <div class="flex_box">
           <div style="margin-right: auto">
             <el-form-item size="small">
@@ -93,19 +98,21 @@
                 </el-option>
               </el-select>
             </el-form-item>
-            <el-form-item prop="name" size="small">
+            <el-form-item
+              prop="name"
+              size="small"
+            >
               <!--            suffix-icon="el-icon-edit"  :placeholder="$t('common.pleaseInput')"-->
               <el-input
                 v-model="queryForm.name"
                 :placeholder="$t('shuJuGuanLi.lable2')"
                 style="width: 200px"
-                ><i
+              ><i
                   slot="suffix"
                   class="el-icon-search"
                   @click="queryInfo()"
                   style="padding-right: 8px"
-                ></i
-              ></el-input>
+                ></i></el-input>
             </el-form-item>
           </div>
           <div>
@@ -125,7 +132,7 @@
                 size="small"
                 @click="deleteMetaInfo"
                 icon="el-icon-delete"
-                >{{ $t("common.delete") }}
+              >{{ $t("common.delete") }}
               </el-button>
             </el-form-item>
             <el-form-item v-if="btnStatus.download">
@@ -134,7 +141,7 @@
                 icon="el-icon-download"
                 type="success"
                 size="small"
-                >{{ $t("common.download") }}
+              >{{ $t("common.download") }}
               </el-button>
             </el-form-item>
 
@@ -144,7 +151,7 @@
                 icon="el-icon-refresh"
                 type="info"
                 size="small"
-                >{{ $t("common.reset") }}
+              >{{ $t("common.reset") }}
               </el-button>
             </el-form-item>
           </div>
@@ -195,7 +202,10 @@
       </el-form>
     </div>
     <div class="dividing-line"></div>
-    <div class="table_box subpage_Div" :style="styleVar">
+    <div
+      class="table_box subpage_Div"
+      :style="styleVar"
+    >
       <el-table
         :data="tableData"
         style="width: 100%"
@@ -203,7 +213,10 @@
         @selection-change="handleSelectionChange"
         height="calc(100% - 57px)"
       >
-        <el-table-column type="selection" width="55" />
+        <el-table-column
+          type="selection"
+          width="55"
+        />
         <el-table-column
           :label="$t('dataManage.dictionaryManageObj.number')"
           type="index"
@@ -218,8 +231,7 @@
                 title="婧愭暟鎹煡璇�"
                 @click="setQueryMetaData(scope.row)"
                 target="_blank"
-                >{{ scope.row.name }}</el-link
-              >
+              >{{ scope.row.name }}</el-link>
             </span>
             <span v-else-if="scope.row.metaid > 0">
               <el-link
@@ -227,14 +239,15 @@
                 title="鍏冩暟鎹煡璇�"
                 @click="setMetaDataQuery(scope.row)"
                 target="_blank"
-                >{{ scope.row.name }}</el-link
-              ></span
-            >
+              >{{ scope.row.name }}</el-link></span>
             <span v-else>{{ scope.row.name }}</span>
           </template>
         </el-table-column>
 
-        <el-table-column prop="type" :label="$t('dataManage.vmobj.format')" />
+        <el-table-column
+          prop="type"
+          :label="$t('dataManage.vmobj.format')"
+        />
         <el-table-column
           prop="sizes"
           :label="$t('dataManage.vmobj.size')"
@@ -257,7 +270,10 @@
           <template slot-scope="scope">
             <!-- <span ></span> -->
             <el-link></el-link>
-            <el-link :underline="false" @click="detail(scope.row)">{{
+            <el-link
+              :underline="false"
+              @click="detail(scope.row)"
+            >{{
               scope.row.tab
             }}</el-link>
           </template>
@@ -268,7 +284,10 @@
               :label="$t('dataManage.vmobj.tab')"
               :formatter="formatData"
             /> -->
-        <el-table-column prop="rows" :label="$t('dataManage.vmobj.row')" />
+        <el-table-column
+          prop="rows"
+          :label="$t('dataManage.vmobj.row')"
+        />
         <el-table-column
           prop="uname"
           :label="$t('dataManage.vmobj.createonuser')"
@@ -278,14 +297,17 @@
           :label="$t('dataManage.vmobj.createontime')"
           :formatter="formatData"
         />
-        <el-table-column min-width="210" :label="$t('common.operate')">
+        <el-table-column
+          min-width="210"
+          :label="$t('common.operate')"
+        >
           <template slot-scope="scope">
             <el-button
               @click="showDetail(scope.row)"
               type="primary"
               plain
               size="small"
-              >{{ $t("common.details") }}
+            >{{ $t("common.details") }}
             </el-button>
             <el-button
               type="warning"
@@ -294,7 +316,7 @@
               v-if="btnStatus.update"
               @click="editInfo(scope.row)"
               style="margin-left: 10px"
-              >{{ $t("common.edit") }}
+            >{{ $t("common.edit") }}
             </el-button>
             <el-button
               plain
@@ -302,12 +324,15 @@
               v-if="showPreview(scope.row)"
               @click="handlePreview(scope.row)"
               style="margin-left: 10px"
-              >{{ $t("common.preview") }}
+            >{{ $t("common.preview") }}
             </el-button>
           </template>
         </el-table-column>
       </el-table>
-      <div class="pagination_box" style="margin-top: 15px">
+      <div
+        class="pagination_box"
+        style="margin-top: 15px"
+      >
         <el-pagination
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
@@ -320,16 +345,28 @@
         </el-pagination>
       </div>
     </div>
-    <div class="infoBox_box" v-show="showinfoBox">
+    <div
+      class="infoBox_box"
+      v-show="showinfoBox"
+    >
       <div class="infoBox box_div">
-        <div slot="header" class="clearfix">
+        <div
+          slot="header"
+          class="clearfix"
+        >
           <span>{{ $t("common.details") }}</span>
-          <div style="float: right; cursor: pointer" @click="closeDetial">
+          <div
+            style="float: right; cursor: pointer"
+            @click="closeDetial"
+          >
             <i class="el-icon-close"></i>
           </div>
         </div>
         <el-divider></el-divider>
-        <div class="contentBox" style="padding: 1%">
+        <div
+          class="contentBox"
+          style="padding: 1%"
+        >
           <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p>
           <el-divider></el-divider>
           <p>{{ $t("dataManage.vmobj.format") }}锛歿{ itemdetail.type }}</p>
@@ -359,13 +396,13 @@
           </p>
           <el-divider></el-divider>
           <p>
-            {{ $t("dataManage.vmobj.updateonuser") }}锛歿{
+            {{ $t("dataManage.vmobj.depName") }}锛歿{
               itemdetail.updateUser
             }}
           </p>
           <el-divider></el-divider>
           <p>
-            {{ $t("dataManage.vmobj.updateontime") }}锛歿{
+            {{ $t("dataManage.vmobj.depName") }}锛歿{
               setInfoBoxTime(itemdetail.updateTime)
             }}
           </p>
@@ -384,24 +421,36 @@
       :visible.sync="dialogFormVisible"
       :before-close="handleClose"
     >
-      <el-form :model="editForm" ref="editForm">
+      <el-form
+        :model="editForm"
+        ref="editForm"
+      >
         <el-form-item
           :label="$t('dataManage.vmobj.name')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="editForm.name" autocomplete="off"></el-input>
+          <el-input
+            v-model="editForm.name"
+            autocomplete="off"
+          ></el-input>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.vmobj.format')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="editForm.type" autocomplete="off"></el-input>
+          <el-input
+            v-model="editForm.type"
+            autocomplete="off"
+          ></el-input>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.vmobj.size')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="editForm.sizes" autocomplete="off"></el-input>
+          <el-input
+            v-model="editForm.sizes"
+            autocomplete="off"
+          ></el-input>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.vmobj.depName')"
@@ -467,7 +516,10 @@
           :label="$t('dataManage.vmobj.describe')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="editForm.describe" autocomplete="off"></el-input>
+          <el-input
+            v-model="editForm.describe"
+            autocomplete="off"
+          ></el-input>
         </el-form-item>
         <!-- <el-form-item
           :label="$t('dataManage.vmobj.gather')"
@@ -476,28 +528,40 @@
           <el-input v-model="editForm.gather" autocomplete="off"></el-input>
         </el-form-item> -->
       </el-form>
-      <div v-if="behavior == '淇敼淇℃伅'" slot="footer" class="dialog-footer">
-        <el-button size="small" @click="cancelEdit()"
-          >{{ $t("common.reset") }}
+      <div
+        v-if="behavior == '淇敼淇℃伅'"
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          size="small"
+          @click="cancelEdit()"
+        >{{ $t("common.reset") }}
         </el-button>
         <el-button
           size="small"
           type="primary"
           @click="sendEdit('editForm')"
           v-loading.fullscreen.lock="fullscreenLoading"
-          >{{ $t("common.submit") }}
+        >{{ $t("common.submit") }}
         </el-button>
       </div>
-      <div v-else slot="footer" class="dialog-footer">
-        <el-button size="small" @click="cancelAdd('editForm')"
-          >{{ $t("common.reset") }}
+      <div
+        v-else
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          size="small"
+          @click="cancelAdd('editForm')"
+        >{{ $t("common.reset") }}
         </el-button>
         <el-button
           size="small"
           type="primary"
           @click="sendAdd('editForm')"
           v-loading.fullscreen.lock="fullscreenLoading"
-          >{{ $t("common.submit") }}
+        >{{ $t("common.submit") }}
         </el-button>
       </div>
     </el-dialog>
@@ -529,7 +593,10 @@
             align="center"
           ></el-table-column>
         </el-table>
-        <div style="margin-top: 10px" class="pagination_box">
+        <div
+          style="margin-top: 10px"
+          class="pagination_box"
+        >
           <el-pagination
             @size-change="handleLoaderSizeChange"
             @current-change="handleLoaderCurrentChange"
@@ -543,7 +610,10 @@
         </div>
       </div>
     </el-dialog>
-    <div class="downloadBox box_div subpage_Div" v-if="showCodeBox">
+    <div
+      class="downloadBox box_div subpage_Div"
+      v-if="showCodeBox"
+    >
       <h4 style="padding: 20px">{{ $t("common.passworld") }}</h4>
       <el-form
         :model="codeForm"
@@ -552,14 +622,20 @@
         label-width="100px"
         class="codeForm"
       >
-        <el-form-item :label="$t('common.passworld')" prop="password">
+        <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-form-item
+          :label="$t('common.SPassword')"
+          prop="repassword"
+        >
           <el-input
             type="password"
             v-model="codeForm.repassword"
@@ -567,11 +643,17 @@
           ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-button class="primary" size="small" @click="download('codeForm')"
-            >{{ $t("common.confirm") }}
+          <el-button
+            class="primary"
+            size="small"
+            @click="download('codeForm')"
+          >{{ $t("common.confirm") }}
           </el-button>
-          <el-button type="info" size="small" @click="closeDown('codeForm')"
-            >{{ $t("common.cancel") }}
+          <el-button
+            type="info"
+            size="small"
+            @click="closeDown('codeForm')"
+          >{{ $t("common.cancel") }}
           </el-button>
         </el-form-item>
       </el-form>
@@ -582,17 +664,30 @@
       width="70%"
     >
       <div style="height: 65vh; width: 100%">
-        <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline">
+        <el-form
+          :inline="true"
+          :model="fromQueryMeta"
+          class="demo-form-inline"
+        >
           <el-form-item>
-            <el-input size="small" v-model="fromQueryMeta.name"></el-input>
+            <el-input
+              size="small"
+              v-model="fromQueryMeta.name"
+            ></el-input>
           </el-form-item>
 
           <el-form-item>
-            <el-button type="primary" size="small" @click="setSearchMetaData()"
-              >鏌ヨ
+            <el-button
+              type="primary"
+              size="small"
+              @click="setSearchMetaData()"
+            >鏌ヨ
             </el-button>
-            <el-button type="info" size="small" @click="setRestMetaData()"
-              >閲嶇疆
+            <el-button
+              type="info"
+              size="small"
+              @click="setRestMetaData()"
+            >閲嶇疆
             </el-button>
           </el-form-item>
         </el-form>
@@ -648,7 +743,10 @@
             :label="$t('dataManage.dataUpObj.tableName')"
           >
             <template slot-scope="scope">
-              <a class="scopeRowColor" @click="detail(scope.row)">{{
+              <a
+                class="scopeRowColor"
+                @click="detail(scope.row)"
+              >{{
                 scope.row.tab
               }}</a>
             </template>
@@ -664,7 +762,10 @@
             :label="$t('dataManage.dataUpObj.describe')"
           />
         </el-table>
-        <div class="pagination_box" style="margin-top: 15px">
+        <div
+          class="pagination_box"
+          style="margin-top: 15px"
+        >
           <el-pagination
             @size-change="handleMetaSizeChange"
             @current-change="handMetaCurrentChange"
@@ -736,7 +837,10 @@
             :label="$t('dataManage.dataUpObj.tableName')"
           >
             <template slot-scope="scope">
-              <a class="scopeRowColor" @click="detail(scope.row)">{{
+              <a
+                class="scopeRowColor"
+                @click="detail(scope.row)"
+              >{{
                 scope.row.tab
               }}</a>
             </template>
@@ -762,7 +866,10 @@
       width="70%"
       :close-on-click-modal="false"
     >
-      <div v-if="dialog.isPdf" class="pdfClass">
+      <div
+        v-if="dialog.isPdf"
+        class="pdfClass"
+      >
         <iframe
           :src="dialog.src"
           type="application/x-google-chrome-pdf"
@@ -771,8 +878,15 @@
         >
         </iframe>
       </div>
-      <div v-if="dialog.isJpg" class="pdfClass">
-        <img style="width: 100%; height: 100%" :src="dialog.src" alt="" />
+      <div
+        v-if="dialog.isJpg"
+        class="pdfClass"
+      >
+        <img
+          style="width: 100%; height: 100%"
+          :src="dialog.src"
+          alt=""
+        />
       </div>
     </el-dialog>
 
@@ -1430,7 +1544,7 @@
           this.editForm = {}
           done()
         })
-        .catch(_ => {})
+        .catch(_ => { })
     },
 
     // 鎻愪氦淇敼
diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue
index 3107a46..9eb6d64 100644
--- a/src/views/datamanage/uploadmanage.vue
+++ b/src/views/datamanage/uploadmanage.vue
@@ -1,5 +1,6 @@
 <template>
   <div class="uploads_box">
+
     <My-bread :list="[
         `${$t('dataManage.dataManage')}`,
         `${$t('dataManage.uploadManage')}`,
@@ -113,6 +114,7 @@
           <el-input
             size="small"
             :title="$t('dataManage.vmobj.keyword')"
+            v-model="formInline.name"
           > <i
               @click="getTableData"
               :title="$t('common.iquery')"
@@ -124,12 +126,15 @@
         <el-form-item style="float:right">
           <!-- 鍙戝竷 -->
           <el-button
+            v-if="active == 'first'"
             type="success"
             size="small"
             icon="el-icon-s-promotion"
+            @click="setPagePublish"
           >{{$t('common.publish')}}</el-button>
           <!-- 鍒櫎 -->
           <el-button
+            v-if="active == 'second'"
             type="danger"
             size="small"
             icon="el-icon-delete"
@@ -166,7 +171,7 @@
           >
           </el-table-column>
           <el-table-column
-            prop="type"
+            prop="name"
             :label="$t('dataManage.vmobj.name')"
             align="center"
           />
@@ -229,27 +234,28 @@
           >
             <template slot-scope="scope">
               <el-button
-                v-if="scope.row.url"
+                v-if="active == 'second'"
                 size="small"
-                type="success"
+                type="info"
                 plain
-                @click="setPreviewLayer(scope.row)"
-              >{{$t('common.preview')}}
+                @click="setPreviewDetails(scope.row)"
+              >{{$t('common.details')}}
 
               </el-button>
               <el-button
-                v-if="scope.row.url"
+                v-if="active == 'second'"
                 size="small"
                 type="warning"
                 plain
-                @click="setPreviewLayer(scope.row)"
-              >{{$t('common.preview')}}
+                @click="setPreviewEdit(scope.row)"
+              >{{$t('common.update')}}
 
               </el-button>
+
               <el-button
                 v-if="scope.row.url"
                 size="small"
-                type="info"
+                type="success"
                 plain
                 @click="setPreviewLayer(scope.row)"
               >{{$t('common.preview')}}
@@ -287,8 +293,172 @@
         <mapview v-if="showMapView"></mapview>
       </div>
     </el-dialog>
+    <!-- 淇敼鏁版嵁 -->
+    <el-dialog
+      :title="$t('common.update')"
+      :visible.sync="editDialogVisible"
+      width="50%"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <div style="width:100%;height:50vh">
+        <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"
+            ></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.dirName')">
+            <el-input
+              disabled
+              v-model="editLayer.dirName"
+            ></el-input>
+          </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>
+            <el-button
+              size="small"
+              type="primary"
+              @click="setEditLayerSubmit"
+            >{{$t('common.submit')}}</el-button>
+            <el-button
+              size="small"
+              type="info"
+              @click="setEditLayerCancle"
+            >{{$t('common.cancel')}}</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+    </el-dialog>
+    <!-- 鏁版嵁璇︽儏 -->
+    <el-dialog
+      :title="$t('common.details')"
+      :visible.sync="detailsDialogVisible"
+      width="50%"
+      :close-on-click-modal="false"
+    >
+      <div style="width:100%;height:50vh">
+        <p>{{ $t("dataManage.vmobj.name") }}锛歿{ itemdetail.name }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("dataManage.vmobj.format") }}锛歿{ itemdetail.type }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("dataManage.vmobj.depName") }}锛歿{ itemdetail.depName }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("dataManage.vmobj.dirName") }}锛歿{ itemdetail.dirName }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("dataManage.vmobj.versionNumber") }}锛歿{ itemdetail.verName }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("common.publishAddress") }}锛歿{ itemdetail.url }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("common.rublisher") }}锛歿{ itemdetail.createName }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("common.releaseTime") }}锛歿{ itemdetail.createTime }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("dataManage.vmobj.updateonuser") }}锛歿{ itemdetail.updateName }}</p>
+        <el-divider></el-divider>
+        <p>{{ $t("dataManage.vmobj.updateontime") }}锛歿{ itemdetail.updateTime }}</p>
+        <el-divider></el-divider>
+      </div>
+    </el-dialog>
+    <!-- 鍙戝竷 -->
+    <el-dialog
+      :title="$t('common.publish')"
+      :visible.sync="insertDialogVisible"
+      width="40%"
+      :close-on-click-modal="false"
+    >
+      <div style="width:100%;height:30vh">
+        <el-form
+          ref="form"
+          :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.minLevel')">
+            <el-input
+              v-model="insertLayer.min"
+              :placeholder="$t('dataManage.vmobj.labe11')"
+            ></el-input>
+          </el-form-item>
+          <el-form-item :label="$t('dataManage.vmobj.maxLevel')">
+            <el-input
+              v-model="insertLayer.max"
+              :placeholder="$t('dataManage.vmobj.labe12')"
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button
+              size="small"
+              type="primary"
+              @click="setinsertLayerSubmit()"
+            >{{$t('common.submit')}}</el-button>
+            <el-button
+              size="small"
+              type="info"
+              @click="setsubmitLayerSubmit()"
+            >{{$t('common.cancel')}}</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+    </el-dialog>
+
+    <div
+      class="loadBox"
+      v-if="loadDialogVisible"
+    >
+      <div style="widht:100%; margin:20px; color:white">
+        <div style="margin-left:99%">
+          <el-link
+            @click="setloadDialogVisible()"
+            style="color:white"
+          > X</el-link>
+        </div>
+      </div>
+      <div
+        v-loading="true"
+        element-loading-background="rgba(0, 0, 0, 0.0) "
+        element-loading-text="鏁版嵁鍙戝竷涓�"
+        style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); "
+      >
+
+      </div>
+    </div>
   </div>
+
 </template>
 
 <script>
@@ -300,7 +470,9 @@
   meta_selectVerByDirid,
   publish_selectMetasByPage,
   publish_selectByPage,
-  publish_deletes
+  publish_deletes,
+  publish_update,
+  publish_insert,
 } from '../../api/api.js'
 
 export default {
@@ -350,10 +522,162 @@
       dialogVisible: false,
       showMapView: false,
       showPageSize: [],
-
+      editLayer: {},
+      updateLayer: {},
+      editDialogVisible: false,
+      detailsDialogVisible: false,
+      itemdetail: {},
+      insertDialogVisible: false,
+      insertLayer: { name: '', number: null, min: 4, max: 8 },
+      loadDialogVisible: false
     }
   },
   methods: {
+    setloadDialogVisible() {
+      this.loadDialogVisible = false
+    },
+    //鍙戝竷鎻愪氦
+    async setinsertLayerSubmit() {
+      var min = this.insertLayer.min;
+      var max = this.insertLayer.max;
+      var name = this.insertLayer.name;
+      if (!name) {
+        this.$message.error("鍚嶇О涓嶈兘涓虹┖")
+        return
+      }
+      if (!min) {
+        this.$message.error("璇疯緭鍏ユ渶灏忕骇鍒�(0 ~ 20)")
+        return
+      } else {
+
+        if (parseInt(min) < 0 || parseInt(min) > 20) {
+          this.$message.error(" 鏈�灏忕骇鍒笉鑳藉皬浜� 0 鎴栧ぇ浜� 20 ")
+          return
+        }
+      }
+      if (!max) {
+        this.$message.error("璇疯緭鍏ユ渶澶х骇鍒�(0 ~ 20)")
+        return
+      } else {
+        if (parseInt(max) < 0 || parseInt(max) > 20) {
+          this.$message.error(" 鏈�澶х骇鍒笉鑳藉皬浜� 0 鎴栧ぇ浜� 20 ")
+          return
+        }
+      }
+      if (parseInt(min) > parseInt(max)) {
+        this.$message.error("鏈�灏忕骇鍒笉寰楀ぇ浜庢渶澶х骇鍒�")
+        return
+      }
+      var std = [];
+      for (var i in this.multipleSelection) {
+        std.push(this.multipleSelection[i])
+      }
+      var obj = {
+        dircode: this.formInline.dirid,
+        depcode: this.formInline.depid,
+        min: min,
+        max: max,
+        name: name,
+        ids: std.toString(),
+        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();
+    },
+
+    //鏁版嵁鍙戝竷
+    async setPagePublish() {
+      if (this.multipleSelection.length == 0) {
+        this.$message.error("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁")
+        return
+      }
+      if (this.formInline.type == "DOM") {
+        this.insertLayer.name = this.formInline.dirName;
+        this.insertLayer.number = this.multipleSelection.length
+        this.insertDialogVisible = true;
+      } else {
+        var std = [];
+        for (var i in this.multipleSelection) {
+          std.push(this.multipleSelection[i])
+        }
+        var obj = {
+          dircode: this.formInline.dirid,
+          depcode: this.formInline.depid,
+
+          ids: std.toString(),
+          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();
+      }
+    },
+    //鏁版嵁璇︽儏
+    setPreviewDetails(res) {
+      this.itemdetail = res;
+      this.detailsDialogVisible = true;
+    },
+    //淇敼鎻愪氦
+    async setEditLayerSubmit() {
+      const data = await publish_update(this.editLayer);
+      if (data.code != 200) {
+        this.$message.error("鏁版嵁淇敼澶辫触")
+        return
+      }
+      this.$message({
+        message: '鏁版嵁淇敼鎴愬姛',
+        type: 'success'
+      });
+      this.getTableData();
+      this.editDialogVisible = false;
+    },
+    //淇敼鍙栨秷
+    setEditLayerCancle() {
+      if (this.editLayer == this.updateLayer) {
+        this.editDialogVisible = false;
+      } else {
+        this.$confirm('纭鍏抽棴锛�')
+          .then(_ => {
+            done();
+          })
+          .catch(_ => {
+            this.editLayer = JSON.parse(this.updateLayer)
+            this.editDialogVisible = false;
+          });
+      }
+    },
+    //淇敼寮圭獥
+    setPreviewEdit(res) {
+      this.updateLayer = JSON.stringify(res) //澶囦唤;
+      this.editLayer = JSON.parse(JSON.stringify(res));
+      this.editDialogVisible = true;
+    },
+    //鍒犻櫎
     async setPageDelete() {
       if (this.multipleSelection.length == 0) {
         return this.$message.error("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁")
@@ -362,7 +686,7 @@
         for (var i in this.multipleSelection) {
           std.push(this.multipleSelection[i].id);
         }
-        const data = await publish_deletes(std);
+        const data = await publish_deletes({ ids: std.toString() });
         if (data.code != 200) {
           this.$message.error("鍗曚綅鍒楄〃鑾峰彇澶辫触")
           return
@@ -484,11 +808,11 @@
       this.dirOption = this.treeData(data.result);
       this.formInline.dirid = this.dirOption[0].code;
       this.formInline.dirName = this.dirOption[0].name;
-      this.getVerList()
+      this.getVerList(this.dirOption[0].id)
     },
     //鑾峰彇鐗堟湰鍒楄〃
-    async getVerList() {
-      const data = await meta_selectVerByDirid({ dirid: this.formInline.dirid })
+    async getVerList(res) {
+      const data = await meta_selectVerByDirid({ dirid: res })
       if (data.code != 200) {
         this.$message.error("鐗堟湰鍒楄〃鑾峰彇澶辫触")
         return
@@ -499,6 +823,7 @@
     },
     //鐗堟湰鍒楄〃鍒囨崲
     handleVerChange(value) {
+      debugger
       this.formInline.verid = value;
       this.getTableData();
     },
@@ -515,10 +840,9 @@
     },
     //鐩綍鍒楄〃鍒囨崲
     handleDirChange(data, node, nodeData) {
-
       this.formInline.dirid = data.code
       this.formInline.dirName = data.name
-      this.getVerList()
+      this.getVerList(data.id)
     },
     //鑾峰彇Table琛ㄦ牸鏁版嵁
     async getTableData() {
@@ -567,7 +891,9 @@
             if (res.createTime) {
               res.createTime = that.format(res.createTime);
             }
-
+            if (res.updateTime) {
+              res.updateTime = that.format(res.updateTime);
+            }
             if (res.url) {
               res.url = res.url.replace("{host}", iisHost);
             }
@@ -679,5 +1005,20 @@
       height: calc(100% - 110px);
     }
   }
+  /deep/.el-divider--horizontal {
+    margin: 14px 0px;
+  }
+  .loadBox {
+    position: fixed;
+    z-index: 2002;
+    background: rgba(0, 0, 0, 0.2);
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
+    .el-loading-mask {
+      background: transparent !important;
+    }
+  }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3