From f088e6887fe88f0be698892c9883521e9e57d5c3 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 25 七月 2023 09:31:53 +0800
Subject: [PATCH] 信息管理 GDB数据修改

---
 src/views/datamanage/metadataManage.vue |  246 +++++++++++++++++++++++++++++++++++++++---------
 src/api/api.js                          |   10 ++
 2 files changed, 207 insertions(+), 49 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index e174153..3ec0db6 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -480,6 +480,16 @@
 export function meta_selectByPageForUpload(params) {
   return request.get('/meta/selectDbData', { params: params });
 }
+
+//淇℃伅绠$悊=>鏍规嵁GUID鏌ヨGDB
+export function meta_selectGdbByGuid(params) {
+  return request.get('/meta/selectGdbByGuid', { params: params });
+}
+
+
+
+
+
 //缁煎悎灞曠ず鑾峰彇
 export function select_Comprehensive_ByPageAndCount(params) {
   return request.get('/locate/selectAddrByPage', { params: params });
diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue
index 76dacfb..8ee4f93 100644
--- a/src/views/datamanage/metadataManage.vue
+++ b/src/views/datamanage/metadataManage.vue
@@ -158,49 +158,6 @@
             </el-form-item>
           </div>
         </div>
-
-        <!-- <el-form-item style="float:right">
-          <el-button
-            @click="queryInfo()"
-            icon="el-icon-search"
-            class="primary"
-            size="small"
-          >{{ $t('common.iquery') }}</el-button>
-        </el-form-item>
-        <el-form-item style="float:right">
-          <el-button
-            @click="resetInfo('queryForm')"
-            icon="el-icon-refresh"
-            type="info"
-            size="small"
-          >{{ $t('common.reset') }}</el-button>
-        </el-form-item> -->
-
-        <!-- <el-form-item v-if="btnStatus.insert">
-          <el-button
-            type="success"
-            size="small"
-            @click="showAddDialog"
-            icon="el-icon-plus"
-            >{{ $t('common.append') }}</el-button
-          >
-        </el-form-item> -->
-        <!-- <el-form-item v-if="btnStatus.delete" style="float:right">
-          <el-button
-            type="danger"
-            size="small"
-            @click="deleteMetaInfo"
-            icon="el-icon-delete"
-          >{{ $t('common.delete') }}</el-button>
-        </el-form-item>
-        <el-form-item v-if="btnStatus.download" style="float:right">
-          <el-button
-            @click="downFormData"
-            icon="el-icon-download"
-            type="success"
-            size="small"
-          >{{ $t('common.download') }}</el-button>
-        </el-form-item> -->
       </el-form>
     </div>
     <div class="dividing-line"></div>
@@ -249,7 +206,24 @@
         <el-table-column
           prop="type"
           :label="$t('dataManage.vmobj.format')"
-        />
+        >
+          <template slot-scope="scope">
+            <span v-if="scope.row.type == 'gdb'">
+              <el-link
+                @click="setSelectGdbByGuid(scope.row)"
+                style="color: #409eff"
+              >
+                {{  scope.row.type }}
+              </el-link>
+            </span>
+            <span v-else>
+
+              {{  scope.row.type }}
+            </span>
+          </template>
+
+        </el-table-column>
+
         <el-table-column
           prop="sizes"
           :label="$t('dataManage.vmobj.size')"
@@ -357,6 +331,7 @@
     <div
       class="infoBox_box"
       v-show="showinfoBox"
+      style="z-index:99999"
     >
       <div class="infoBox box_div">
         <div
@@ -945,6 +920,143 @@
         </el-form-item>
       </el-form>
     </el-dialog>
+    <el-dialog
+      title=""
+      :visible.sync="gdbDialog"
+      width="80%"
+      top="8vh"
+      :modal="false"
+      :close-on-click-modal="false"
+    >
+      <div class="gdbTableBox">
+        <el-table
+          :data="gdbData"
+          style="width: 100%"
+        >
+          <el-table-column
+            type="selection"
+            width="55"
+          />
+          <el-table-column
+            :label="$t('dataManage.dictionaryManageObj.number')"
+            type="index"
+            width="50"
+          >
+          </el-table-column>
+          <el-table-column :label="$t('dataManage.vmobj.name')">
+            <template slot-scope="scope">
+              <span v-if="scope.row.ismeta > 0">
+                <el-link
+                  style="color: #409eff"
+                  title="婧愭暟鎹煡璇�"
+                  @click="setQueryMetaData(scope.row)"
+                  target="_blank"
+                >{{ scope.row.name }}</el-link>
+              </span>
+              <span v-else-if="scope.row.metaid > 0">
+                <el-link
+                  style="color: #409eff"
+                  title="鍏冩暟鎹煡璇�"
+                  @click="setMetaDataQuery(scope.row)"
+                  target="_blank"
+                >{{ 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>
+
+          <el-table-column
+            prop="sizes"
+            :label="$t('dataManage.vmobj.size')"
+            :formatter="stateFormatSizes"
+          />
+          <el-table-column
+            prop="depName"
+            :label="$t('dataManage.vmobj.depName')"
+          />
+          <el-table-column
+            prop="dirName"
+            :label="$t('dataManage.vmobj.dirName')"
+            width="200"
+          />
+          <el-table-column
+            prop="verName"
+            :label="$t('dataManage.vmobj.versionNumber')"
+          />
+          <el-table-column :label="$t('dataManage.dataUpObj.tableName')">
+            <template slot-scope="scope">
+
+              <el-link></el-link>
+              <el-link
+                :underline="false"
+                @click="detail(scope.row)"
+              >{{
+              scope.row.tab
+            }}</el-link>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            prop="rows"
+            :label="$t('dataManage.vmobj.row')"
+          />
+
+          <el-table-column
+            :label="$t('common.dataStatus')"
+            :formatter="stateFormat"
+          >
+
+          </el-table-column>
+          <el-table-column
+            prop="uname"
+            :label="$t('dataManage.vmobj.createonuser')"
+          />
+          <el-table-column
+            prop="createTime"
+            :label="$t('dataManage.vmobj.createontime')"
+            :formatter="formatData"
+          />
+          <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") }}
+              </el-button>
+              <el-button
+                type="warning"
+                plain
+                size="small"
+                v-if="btnStatus.update"
+                @click="editInfo(scope.row)"
+                style="margin-left: 10px"
+              >{{ $t("common.edit") }}
+              </el-button>
+              <el-button
+                plain
+                size="small"
+                v-if="showPreview(scope.row)"
+                @click="handlePreview(scope.row)"
+                style="margin-left: 10px"
+              >{{ $t("common.preview") }}
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+
+    </el-dialog>
     <iframe
       id="downFrame"
       src=""
@@ -975,6 +1087,7 @@
   meta_selectMetaOverflowDep,
   meta_selectDepsByCodes,
   apply_insertApply,
+  meta_selectGdbByGuid,
 } from "../../api/api";
 
 import MyBread from "../../components/MyBread.vue";
@@ -1115,6 +1228,9 @@
         pwd: null,
         depcodes: null,
       },
+      gdbData: [],
+      gdbDialog: false,
+      gdbGuid: null,
     };
   },
   created() {
@@ -1144,6 +1260,26 @@
     },
   },
   methods: {
+    //gdb 鐐瑰嚮浜嬩欢
+    setSelectGdbByGuid(row) {
+      this.gdbGuid = row.guid
+      this.getSelectGdbByGuid();
+    },
+    async getSelectGdbByGuid() {
+      if (!this.gdbGuid) return
+      const data = await meta_selectGdbByGuid({ guid: this.gdbGuid })
+      if (data.code != 200) {
+        return this.$message.error("鏍规嵁GUID鏌ヨGDB鏁版嵁澶辫触");
+      }
+      if (data.count <= 0) {
+        return this.$message("鏌ユ棤鏇村鏁版嵁");
+      }
+      this.gdbData = data.result;
+      this.gdbDialog = true;
+
+    },
+
+
     stateFormat(row, column) {
       var val = ['shp', 'gdb', 'xls', 'xlsx']
       if (val.indexOf(row.type) > -1 && row.rows > 0) {
@@ -1193,10 +1329,7 @@
       this.fromQueryMeta.title = row.name;
       this.listMetaData = {
         id: row.metaid,
-        // name: "",
-        // pageIndex: 1,
-        // pageSize: 10,
-        // count: 0,
+
       };
       const data = await meta_selectById(this.listMetaData);
       if (data.code != 200) {
@@ -1207,6 +1340,8 @@
       this.metaDataTable1 = [data.result];
       // this.listMetaData.count = data.count;
     },
+
+
     //婧愭暟鎹煡璇�
     setQueryMetaData(row) {
       this.fromQueryMeta.title = row.name;
@@ -1655,7 +1790,14 @@
               if (res.code == 200) {
                 this.listData.pageSize = 10;
                 this.listData.pageIndex = 1;
-                this.getMetaData();
+
+                if (this.gdbDialog) {
+                  this.getSelectGdbByGuid();
+                } else {
+                  this.getMetaData();
+                }
+
+
                 this.$message({
                   message: "淇敼鎴愬姛",
                   type: "success",
@@ -1670,6 +1812,7 @@
           alert("淇敼澶辫触锛岃閲嶈瘯锛�");
           this.fullscreenLoading = false;
         });
+
     },
     cancelEdit() {
       this.$nextTick(() => {
@@ -1905,5 +2048,10 @@
   .el-divider--horizontal {
     margin: 15px 0;
   }
+  .gdbTableBox {
+    width: 100%;
+    height: 740px;
+    overflow-y: auto;
+  }
 }
 </style>

--
Gitblit v1.9.3