From 0da6ffc479eceef01478c6aaf6621fe293e3f7c3 Mon Sep 17 00:00:00 2001
From: lxl <lixuliang_hd@126.com>
Date: 星期三, 26 十月 2022 09:53:19 +0800
Subject: [PATCH] 菜单

---
 src/views/datamanage/metadataManage.vue |  368 +++++++++++++++++++++++++++------------------------
 1 files changed, 195 insertions(+), 173 deletions(-)

diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue
index 6904fc4..717c031 100644
--- a/src/views/datamanage/metadataManage.vue
+++ b/src/views/datamanage/metadataManage.vue
@@ -22,13 +22,13 @@
             size="small"
             >閲嶇疆</el-button
           >
-          <el-button
+          <!-- <el-button
             @click="downFormData"
             icon="el-icon-download"
             type="success"
             size="small"
             >涓嬭浇</el-button
-          >
+          > -->
           <!-- <el-button
             @click="downFormData"
             icon="el-icon-download"
@@ -59,20 +59,38 @@
           >
             <el-table-column type="selection" width="55" />
             <el-table-column min-width="150" prop="name" label="鏁版嵁鍚嶇О" />
-            <el-table-column prop="dirid" label="鐩綍ID" />
-            <el-table-column prop="depid" label="鍗曚綅ID" />
-            <el-table-column prop="verid" label="鐗堟湰ID" />
-            <el-table-column prop="type" label="鏍煎紡" />
-            <el-table-column prop="sizes" label="澶у皬:鍗曚綅MB" />
-            <el-table-column prop="cs" label="鍧愭爣绯�" />
-            <el-table-column prop="scale" label="姣斾緥灏�" />
-            <el-table-column prop="resolution" label="鍒嗚鲸鐜�" />
             <el-table-column
-              prop="gather"
-              label="閲囬泦鏃ユ湡"
-              :formatter="formatTime"
+              min-width="100"
+              prop="createUser"
+              label="鍒涘缓浜哄憳"
             />
-            <el-table-column prop="descr" label="鎻忚堪" />
+            <el-table-column
+              min-width="100"
+              prop="createTime"
+              label="鍒涘缓鏃堕棿"
+            />
+            <el-table-column min-width="100" prop="cs" label="鍧愭爣绯荤粺" />
+            <el-table-column
+              min-width="100"
+              prop="scale"
+              label="姣斾緥灏�/鍒嗚鲸鐜�"
+            />
+            <el-table-column min-width="100" prop="format" label="瀛樺偍鏍煎紡" />
+            <el-table-column min-width="100" prop="version" label="鏁版嵁鐗堟湰" />
+            <el-table-column prop="status" label="鍙戝竷" width="70%">
+              <template slot-scope="scope">
+                <span
+                  slot="reference"
+                  v-if="scope.row.s_url === '' || scope.row.s_url === null"
+                >
+                  <i class="dotClass" style="background-color: gray"></i>
+                </span>
+                <span slot="reference" v-else>
+                  <i class="dotClass" style="background-color: springgreen"></i>
+                </span>
+              </template>
+            </el-table-column>
+
             <el-table-column min-width="100" label="鎿嶄綔">
               <template slot-scope="scope">
                 <el-link @click="showDetail(scope.$index, scope.row)"
@@ -89,12 +107,12 @@
                   style="margin-left: 10px"
                   >鍙戝竷</el-link
                 >
-                <!-- <el-link
+                <el-link
                   v-else
                   @click="handleStop(scope.row)"
                   style="margin-left: 10px"
                   >鍋滄</el-link
-                > -->
+                >
               </template>
             </el-table-column>
           </el-table>
@@ -106,9 +124,9 @@
           <el-pagination
             @size-change="handleSizeChange"
             @current-change="handleCurrentChange"
-            :current-page="listData.pageIndex"
+            :current-page="currentPage"
             :page-sizes="[10, 20, 50, 100]"
-            :page-size="listData.pageSize"
+            :page-size="10"
             layout="total, sizes, prev, pager, next, jumper"
             :total="count"
           >
@@ -127,34 +145,43 @@
         <div class="contentBox">
           <p>鏁版嵁鍚嶇О锛歿{ itemdetail.name }}</p>
           <el-divider></el-divider>
-          <p>鐩綍ID锛歿{ itemdetail.dirid }}</p>
+          <p>
+            鏁版嵁鑼冨洿锛�
+            {{ itemdetail.x_min }}, {{ itemdetail.y_min }}锛�
+            {{ itemdetail.x_max }}, {{ itemdetail.y_max }}
+          </p>
           <el-divider></el-divider>
-          <p>鍗曚綅ID锛歿{ itemdetail.depid }}</p>
+          <p>鍒涘缓鏃堕棿锛歿{ itemdetail.create_time }}</p>
           <el-divider></el-divider>
-          <p>鐗堟湰ID锛歿{ itemdetail.verid }}</p>
+          <p>鍒涘缓浜哄憳锛歿{ itemdetail.create_user }}</p>
           <el-divider></el-divider>
-          <p>鏍煎紡锛歿{ itemdetail.type }}</p>
+          <p>鏇存柊鏃堕棿锛歿{ itemdetail.up_time }}</p>
           <el-divider></el-divider>
-          <p>澶у皬(鍗曚綅MB)锛歿{ itemdetail.sizes }}</p>
+          <p>鏇存柊浜哄憳锛歿{ itemdetail.up_user }}</p>
           <el-divider></el-divider>
-          <p>鍧愭爣绯伙細{{ itemdetail.cs }}</p>
+          <p>涓婁紶鍗曚綅锛歿{ itemdetail.up_unit }}</p>
           <el-divider></el-divider>
-          <p>姣斾緥灏猴細{{ itemdetail.scale }}</p>
+          <p>鏁版嵁鐘舵�侊細{{ itemdetail.status }}</p>
           <el-divider></el-divider>
-          <p>鍒嗚鲸鐜囷細{{ itemdetail.resolution }}</p>
+          <p>鍧愭爣绯荤粺锛歿{ itemdetail.coor_sys }}</p>
           <el-divider></el-divider>
-          <p>閲囬泦鏃ユ湡锛歿{ itemdetail.gather }}</p>
+          <p>姣斾緥灏�/鍒嗚鲸鐜囷細{{ itemdetail.accuracy }}</p>
           <el-divider></el-divider>
-          <p>鎻忚堪锛歿{ itemdetail.descr }}</p>
+          <p>
+            鍙戝竷鍦板潃锛歿{ itemdetail.s_url }}
+            <el-link
+              @click="ShowWindowFly(itemdetail.s_url)"
+              :underline="false"
+              type="primary"
+              >璇︽儏</el-link
+            >
+          </p>
           <el-divider></el-divider>
-          <p>鍒涘缓浜篒D锛歿{ itemdetail.createUser }}</p>
+          <p>鏁版嵁鐗堟湰锛歿{ itemdetail.version }}</p>
           <el-divider></el-divider>
-          <p>鍒涘缓鏃堕棿锛歿{ itemdetail.createTime }}</p>
+          <p>鏁版嵁绫诲瀷锛歿{ itemdetail.type }}</p>
           <el-divider></el-divider>
-          <p>鏇存柊浜篒D锛歿{ itemdetail.updateUser }}</p>
-          <el-divider></el-divider>
-          <p>鏇存柊鏃堕棿锛歿{ itemdetail.updateTime }}</p>
-          <el-divider></el-divider>
+          <p>鏁版嵁鏍煎紡锛歿{ itemdetail.format }}</p>
         </div>
       </el-card>
     </div>
@@ -163,35 +190,42 @@
         <el-form-item label="鏁版嵁鍚嶇О" :label-width="formLabelWidth">
           <el-input v-model="upform.name" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="鐩綍ID" :label-width="formLabelWidth">
-          <el-input v-model="upform.dirid" autocomplete="off"></el-input>
+        <el-form-item label="鏁版嵁鑼冨洿x_min" :label-width="formLabelWidth">
+          <el-input v-model="upform.x_min" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="鍗曚綅ID" :label-width="formLabelWidth">
-          <el-input v-model="upform.depid" autocomplete="off"></el-input>
+        <el-form-item label="鏁版嵁鑼冨洿x_max" :label-width="formLabelWidth">
+          <el-input v-model="upform.x_max" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="鐗堟湰ID" :label-width="formLabelWidth">
-          <el-input v-model="upform.verid" autocomplete="off"></el-input>
+        <el-form-item label="鏁版嵁鑼冨洿y_min" :label-width="formLabelWidth">
+          <el-input v-model="upform.y_min" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="鏍煎紡" :label-width="formLabelWidth">
+        <el-form-item label="鏁版嵁鑼冨洿y_max" :label-width="formLabelWidth">
+          <el-input v-model="upform.y_max" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="鍒涘缓鏃堕棿" :label-width="formLabelWidth">
+          <el-date-picker
+            v-model="upform.create_time"
+            value-format="yyyy-MM-dd"
+            type="date"
+            placeholder="閫夋嫨鏃ユ湡"
+            style="width: 100%"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="鍧愭爣绯荤粺" :label-width="formLabelWidth">
+          <el-input v-model="upform.coor_sys" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="姣斾緥灏�/鍒嗚鲸鐜�" :label-width="formLabelWidth">
+          <el-input v-model="upform.accuracy" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="鏁版嵁鏍煎紡" :label-width="formLabelWidth">
+          <el-input v-model="upform.format" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="鏁版嵁鐗堟湰" :label-width="formLabelWidth">
+          <el-input v-model="upform.version" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="鏁版嵁绫诲瀷" :label-width="formLabelWidth">
           <el-input v-model="upform.type" autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="澶у皬(鍗曚綅MB)" :label-width="formLabelWidth">
-          <el-input v-model="upform.sizes" autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="鍧愭爣绯�" :label-width="formLabelWidth">
-          <el-input v-model="upform.cs" autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="姣斾緥灏�" :label-width="formLabelWidth">
-          <el-input v-model="upform.scale" autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="鍒嗚鲸鐜�" :label-width="formLabelWidth">
-          <el-input v-model="upform.resolution" autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="閲囬泦鏃ユ湡" :label-width="formLabelWidth">
-          <el-input v-model="upform.gather" autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="鎻忚堪" :label-width="formLabelWidth">
-          <el-input v-model="upform.descr" autocomplete="off"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -231,23 +265,22 @@
 <script>
 import {
   select_meta_ByPageAndCount,
-  queryDataCount,
-  updateMeta,
-  deleteMeta,
+  // queryDataCount,
+  updateMetaData,
+  dltMetaDatas,
   publishMeta,
   unpublishMeta,
-} from '../../api/api';
-import MyBread from '../../components/MyBread.vue';
-import moment from 'moment';
+} from "../../api/api";
+import MyBread from "../../components/MyBread.vue";
 export default {
-  name: 'metadataManage',
+  name: "metadataManage",
   components: { MyBread },
   data() {
     var repasswordValidator = (rule, value, callback) => {
-      if (value === '') {
-        callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
+      if (value === "") {
+        callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
       } else if (value !== this.codeForm.password) {
-        callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
+        callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
       } else {
         callback();
       }
@@ -256,7 +289,7 @@
       showCodeBox: false,
       value: true,
       multipleSelection: [],
-      formLabelWidth: '120px',
+      formLabelWidth: "120px",
       dialogFormVisible: false,
       InsertFormdialog: false,
       insertform: {},
@@ -264,56 +297,47 @@
       showinfoBox: false,
       itemdetail: {},
       ruleForm: {
-        name: '',
+        name: "",
       },
       codeForm: {
-        password: '',
-        repassword: '',
+        password: "",
+        repassword: "",
       },
       rules: {
-        password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }],
+        password: [{ required: true, message: "璇疯緭鍏ュ瘑鐮�", trigger: "blur" }],
         repassword: [
-          { required: true, message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�', trigger: 'blur' },
-          { validator: repasswordValidator, trigger: 'blur' },
+          { required: true, message: "璇疯緭鍏ョ‘璁ゅ瘑鐮�", trigger: "blur" },
+          { validator: repasswordValidator, trigger: "blur" },
         ],
       },
       tableData: [],
       count: 0,
-
-      searchName: '',
-      listData: {
-        name: null,
-        pageIndex: 1,
-        pageSize: 10,
-      },
+      currentPage: 1,
+      pageSize: 10,
+      pageNum: 1,
+      searchName: "",
     };
   },
   created() {
-    this.getMetaData();
+    this.getMetaData(10, 1, "");
   },
   methods: {
-    formatTime(row, column) {
-      let date = row[column.property];
-      if (date === undefined || date === null) {
-        return '';
-      }
-      return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss');
-    },
     ShowWindowFly(res) {
-      if (res == '') return;
-      if (res.indexOf('.xls') != -1) {
+      console.log(res);
+      if (res == "") return;
+      if (res.indexOf(".xls") != -1) {
         this.showMetadata(res, true);
-      } else if (res.indexOf('.doc') != -1) {
+      } else if (res.indexOf(".doc") != -1) {
         this.showMetadata(res, true);
-      } else if (res.indexOf('.png') != -1) {
+      } else if (res.indexOf(".png") != -1) {
         this.showMetadata(res, true);
-      } else if (res.indexOf('.jpg') != -1) {
+      } else if (res.indexOf(".jpg") != -1) {
         this.showMetadata(res, true);
-      } else if (res.indexOf('.pdf') != -1) {
+      } else if (res.indexOf(".pdf") != -1) {
         this.showMetadata(res, true);
-      } else if (res.indexOf('.fly') != -1) {
+      } else if (res.indexOf(".fly") != -1) {
         this.showMetadata(res, false);
-      } else if (res.indexOf('.mpt') != -1) {
+      } else if (res.indexOf(".mpt") != -1) {
         this.showMetadata(res, false);
       }
     },
@@ -322,49 +346,45 @@
       if (flag == true) {
         metaUrl = res;
       } else if (flag == false) {
-        metaUrl = ifreamUrl + '/LFWeb/MetaPop.html?name=' + res;
+        metaUrl = ifreamUrl + "/LFWeb/MetaPop.html?name=" + res;
       }
       window.open(
         metaUrl,
-        '',
-        'height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no'
+        "",
+        "height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no"
       );
     },
     // 璇锋眰鏁版嵁鍐呭
-    async getMetaData() {
-      if (this.listData.tab == '') {
-        delete this.listData.tab;
-      }
-      this.listData.name = this.ruleForm.name;
-      const data = await select_meta_ByPageAndCount(this.listData);
-      if (data.code != 200) {
-        this.$message.error('鍒楄〃璋冪敤澶辫触');
-      }
-      console.log(data);
-      this.tableData = data.result;
-      this.count = data.count;
-    },
-    // 璇锋眰鏁版嵁鏁伴噺
-    getMetaCount(name) {
-      queryDataCount(name).then((res) => {
-        this.count = res.data;
+    getMetaData(size, num, name) {
+      let params = {
+        name: name,
+        pageIndex: num,
+        pageSize: size,
+      };
+      select_meta_ByPageAndCount(params).then((res) => {
+        // console.log(res);
+        this.tableData = res.result;
+        this.count = res.count;
       });
     },
+
     // 鍏抽敭瀛楁煡璇�
     submitForm(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
-          this.getMetaData();
+          this.searchName = this.ruleForm.name.trim();
+          this.getMetaData(10, 1, this.searchName);
         } else {
-          console.log('error submit!!');
+          console.log("error submit!!");
           return false;
         }
       });
     },
     // 閲嶇疆鏌ヨ
     resetForm(formName) {
+      this.getMetaData(10, 1, "");
+      this.searchName = "";
       this.$refs[formName].resetFields();
-      this.getMetaData();
     },
     // 鑾峰彇澶氶�夐�変腑鐨勫璞�
     handleSelectionChange(val) {
@@ -388,59 +408,63 @@
       this.upform = JSON.parse(JSON.stringify(row));
     },
     // 鎻愪氦淇敼
-    async updateForm() {
-      this.dialogFormVisible = false;
-      const data = await updateMeta(this.upform);
-      if (data.code == 200) {
-        this.dialogFormVisible = false;
-        this.upform = {};
-        this.$message({
-          message: '淇敼鎴愬姛锛�',
-          type: 'success',
-        });
-        this.getMetaData();
-      } else {
-        this.$message({
-          message: '淇敼澶辫触锛�',
-          type: 'warning',
-        });
-      }
+    updateForm() {
+      this.$confirm("鏄惁纭畾缂栬緫?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.dialogFormVisible = false;
+          updateMetaData(this.upform).then((res) => {
+            if (res.data == 1) {
+              this.$message({
+                message: "淇敼鎴愬姛",
+                type: "success",
+              });
+            }
+            this.getMetaData(10, 1, "");
+          });
+        })
+        .catch(() => {});
     },
 
     // 鍒犻櫎澶氭潯
-    async DelFormData() {
+    DelFormData() {
       var std = [];
       for (var i in this.multipleSelection) {
         std.push(this.multipleSelection[i].id);
       }
-      const data = await deleteMeta({ ids: std.toString() });
-      if (data.code == 200) {
-        this.$message({
-          message: '鍒犻櫎鎴愬姛锛�',
-          type: 'success',
-        });
-        this.getMetaData();
-      } else {
-        this.$message({
-          message: '鍒犻櫎澶辫触锛�',
-          type: 'warning',
-        });
-      }
+      this.$confirm("纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          dltMetaDatas(std).then((res) => {
+            this.getMetaData(10, 1, "");
+            this.$message({
+              type: "success",
+              message: "鍒犻櫎鎴愬姛!",
+            });
+          });
+        })
+        .catch(() => {});
     },
     download(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
-          let ids = '';
+          let ids = "";
           this.multipleSelection.forEach((e) => {
             ids += `id=${e.id}&`;
           });
           let res = ids.substring(0, ids.length - 1);
           // console.log(res);
-          let url = 'http://192.168.20.106/LFServer/Meta/Downloads?' + res;
+          let url = "http://192.168.20.106/LFServer/Meta/Downloads?" + res;
           window.open(url);
           this.closeDown();
         } else {
-          console.log('涓嬭浇澶辫触');
+          console.log("涓嬭浇澶辫触");
           this.closeDown();
           return false;
         }
@@ -448,8 +472,8 @@
     },
     closeDown() {
       this.showCodeBox = false;
-      this.codeForm.password = '';
-      this.codeForm.repassword = '';
+      this.codeForm.password = "";
+      this.codeForm.repassword = "";
     },
     downFormData() {
       // var std = [];
@@ -457,7 +481,7 @@
       //   std.push(this.multipleSelection[i].id);
       // }
       if (this.multipleSelection.length == 0) {
-        alert('璇峰厛閫夋嫨瑕佷笅杞界殑鏂囦欢');
+        alert("璇峰厛閫夋嫨瑕佷笅杞界殑鏂囦欢");
         return;
       }
       this.showCodeBox = true;
@@ -481,29 +505,27 @@
       //   .catch(() => {});
     },
     handleStart(row) {
-      publishMeta(row.id).then((res) => {
-        console.log(res);
-        this.getMetaData(10, 1, '');
-        this.getMetaCount('');
-      });
+      // publishMeta(row.id).then((res) => {
+      //   console.log(res);
+      //   this.getMetaData(10, 1, "");
+      // });
     },
     handleStop(row) {
       console.log(row.id);
-      unpublishMeta(row.id).then((res) => {
-        console.log(res);
-        this.getMetaData(10, 1, '');
-        this.getMetaCount('');
-      });
+      // unpublishMeta(row.id).then((res) => {
+      //   console.log(res);
+      //   this.getMetaData(10, 1, "");
+      // });
     },
     // 鏉℃暟淇敼
     handleSizeChange(val) {
-      this.listData.pageSize = val;
-      this.getMetaData();
+      this.pageSize = val;
+      this.getMetaData(this.pageSize, 1, this.searchName);
     },
     // 椤垫暟淇敼
     handleCurrentChange(val) {
-      this.listData.pageIndex = val;
-      this.getMetaData();
+      this.pageNum = val;
+      this.getMetaData(this.pageSize, this.pageNum, this.searchName);
     },
   },
 };

--
Gitblit v1.9.3