From c2a6c53657baaf0830cd881e1a23a15af23ac6fa Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期四, 21 九月 2023 18:35:14 +0800
Subject: [PATCH] 代码更新

---
 src/views/datamanage/uploadmanage.vue |  539 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 387 insertions(+), 152 deletions(-)

diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue
index 7d78f65..d888444 100644
--- a/src/views/datamanage/uploadmanage.vue
+++ b/src/views/datamanage/uploadmanage.vue
@@ -32,13 +32,24 @@
       </div>
       <div
         class="tabs_pane"
+        @click="setTabsChange(4)"
+      >
+        <div
+          class="tabsSpan"
+          :class="{ changetabs : active == 'fourth'}"
+        >
+          <span> {{$t('dataManage.uploadObj.publishTask')}}</span>
+        </div>
+      </div>
+      <div
+        class="tabs_pane"
         @click="setTabsChange(3)"
       >
         <div
           class="tabsSpan"
           :class="{ changetabs : active == 'third'}"
         >
-          <span> {{$t('dataManage.uploadObj.modelAttachMount')}}</span>
+          <span> {{$t('dataManage.uploadObj.attachMount')}}</span>
         </div>
       </div>
     </div>
@@ -146,7 +157,7 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="active == 'second'">
+        <el-form-item v-if="active == 'second'  || active == 'fourth'">
           <el-select
             size="small"
             v-model="formInline.type1"
@@ -155,6 +166,22 @@
           >
             <el-option
               v-for="item in typeOption1"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="active == 'fourth'">
+          <el-select
+            size="small"
+            v-model="formInline.status"
+            @change="handleTypeChange2"
+            placeholder="璇烽�夋嫨鏁版嵁绫诲埆..."
+          >
+            <el-option
+              v-for="item in typeOption2"
               :key="item.value"
               :label="item.label"
               :value="item.value"
@@ -206,6 +233,7 @@
       <div class="dividing-line"></div>
       <div class="table_box content_Table">
         <el-table
+          v-if="active !='fourth'"
           :data="tableData"
           style="width: 100%"
           @selection-change="handleSelectionChange"
@@ -260,6 +288,7 @@
             key="7"
           />
           <el-table-column
+            v-if="active == 'first'"
             prop="verName"
             :label="$t('dataManage.vmobj.versionNumber')"
             align="center"
@@ -291,6 +320,7 @@
             align="center"
             key="12"
           />
+
           <el-table-column
             v-if="active == 'first'"
             prop="createTime"
@@ -303,6 +333,20 @@
 
             </template>
           </el-table-column>
+          <el-table-column
+            prop="updateName"
+            :label="$t('dataManage.vmobj.updateonuser')"
+            align="center"
+            key="14"
+          />
+          <el-table-column
+            prop="updateTime"
+            :label="$t('dataManage.vmobj.updateontime')"
+            :formatter="formatData"
+            align="center"
+            key="15"
+          />
+
           <el-table-column
             min-width="150"
             :label="$t('common.operate')"
@@ -344,6 +388,92 @@
                 plain
               >宸插彂甯�
 
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-table
+          v-if="active ==  'fourth'"
+          :data="tableData"
+          style="width: 100%"
+          height="calc(100% - 1px)"
+          ref="tableBox"
+        >
+          <!-- <el-table-column
+            prop="name"
+            :label="$t('dataManage.vmobj.name')"
+            align="center"
+            key="1"
+          ></el-table-column> -->
+          <el-table-column
+            prop="name"
+            :label="$t('dataManage.vmobj.name')"
+            align="center"
+            key="3"
+          ></el-table-column>
+          <el-table-column
+            prop="status"
+            :label="$t('dataManage.styleObj.status')"
+            align="center"
+            key="4"
+            :formatter="stateFormatStatus"
+          ></el-table-column>
+          <el-table-column
+            prop="type"
+            :label="$t('dataManage.styleObj.type')"
+            align="center"
+            key="5"
+          ></el-table-column>
+          <el-table-column
+            prop="descr"
+            :label="$t('dataManage.styleObj.descr')"
+            align="center"
+            key="6"
+          ></el-table-column>
+          <el-table-column
+            prop="err"
+            :label="$t('common.err')"
+            align="center"
+            key="7"
+          ></el-table-column>
+          <el-table-column
+            prop="createName"
+            :label="$t('common.rublisher')"
+            align="center"
+            key="8"
+          />
+          <el-table-column
+            prop="createTime"
+            :label="$t('common.releaseTime')"
+            :formatter="formatData"
+            align="center"
+            key="9"
+          />
+          <el-table-column
+            prop="updateName"
+            :label="$t('dataManage.vmobj.updateonuser')"
+            align="center"
+            key="10"
+          />
+          <el-table-column
+            prop="updateTime"
+            :label="$t('dataManage.vmobj.updateontime')"
+            :formatter="formatData"
+            align="center"
+            key="11"
+          />
+          <el-table-column
+            min-width="80"
+            :label="$t('common.operate')"
+          >
+            <template slot-scope="scope">
+              <el-button
+                v-if="scope.row.status == '1'"
+                size="small"
+                type="danger"
+                plain
+                @click="setCannelTask(scope.row)"
+              >{{$t('common.endTask')}}
               </el-button>
             </template>
           </el-table-column>
@@ -677,68 +807,27 @@
 
         <div
           v-for="item in osgbLasOption"
-          style="margin-top: 10px; display: flex; align-items: center; justify-content: space-around;  "
+          style="margin-top: 10px; display: flex; justify-content: center; align-items: center; "
         >
-          <div
-            class="contLable"
-            style=" margin: 0px 10px;"
-          >
+
+          <div style=" text-align: center; ">
             {{ item.name }}
           </div>
-          <div>
-            <div style="display: flex; align-items: center; margin: 0px 10px;">
-              <label class="contLable">楂樺害鍋忕Щ閲忥細</label>
-              <el-input
-                size="small"
-                v-model="item.zs"
-              >
-                <i slot="suffix">m</i></el-input>
-            </div>
-
-          </div>
-
-          <div v-show="formInline.type =='LAS'">
-            <div style="display: flex;  align-items: center; margin: 0px 10px;">
-              <label class="contLable">鍧愭爣绯伙細</label>
-              <el-select
-                v-if="!item.lids"
-                v-model="item.srids"
-                style="width: 100%;"
-                size="small"
-              >
-                <el-option
-                  v-for="item in stridOption"
-                  :key="item.id"
-                  :label="item.coordinate"
-                  :value="item.epsgcode"
-                >
-                </el-option>
-              </el-select>
-              <el-input
-                v-if="item.lids"
-                v-model="item.srids"
-                size="small"
-                disabled
-              ></el-input>
-            </div>
-
-          </div>
-
-        </div>
-        <!-- <el-form-item :label="$t('dataManage.vmobj.heightOffset')">
+          <!-- <div style="display: flex; align-items: center; margin: 0px 10px;">
+            <label class="contLable">楂樺害鍋忕Щ閲忥細</label>
             <el-input
-              :placeholder="$t('dataManage.vmobj.label1')"
-              v-model="osgbLasLayer.z"
-            ></el-input>
-          </el-form-item> -->
-        <!-- <el-form-item
-            v-if="formInline.type == 'LAS'"
-            :label="$t('dataManage.vmobj.coordinateSystemID')"
-          >
+              size="small"
+              v-model="item.zs"
+            >
+              <i slot="suffix">m</i></el-input>
+          </div>
+          <div style="display: flex;  align-items: center; ">
+            <label class="contLable">鍧愭爣绯伙細</label>
             <el-select
-              v-model="osgbLasLayer.strid"
-              :placeholder="$t('dataManage.vmobj.label2')"
+              v-if="!item.lids"
+              v-model="item.srids"
               style="width: 100%;"
+              size="small"
             >
               <el-option
                 v-for="item in stridOption"
@@ -748,8 +837,14 @@
               >
               </el-option>
             </el-select>
-          </el-form-item> -->
-
+            <el-input
+              v-if="item.lids"
+              v-model="item.srids"
+              size="small"
+              disabled
+            ></el-input>
+          </div> -->
+        </div>
         <div style="display: flex; justify-content: end;margin-top:10px;">
           <el-button
             size="small"
@@ -779,11 +874,26 @@
       <div
         v-loading="true"
         element-loading-background="rgba(0, 0, 0, 0.0) "
-        element-loading-text="鏁版嵁鍙戝竷涓�"
+        :element-loading-text="loadingText"
         style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); "
       >
       </div>
     </div>
+    <el-dialog
+      :title="$t('common.details')"
+      :visible.sync="rasterCsVisible"
+      :close-on-click-modal="false"
+      width="35%"
+    >
+      <div class="rasterCsBox">
+        <div v-for="(item,index) in rasterCsOption">
+          <div class="rasterCsContent">
+            <label>{{ item.name }} : </label>
+            <label>{{ item.bak }}</label>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
   </div>
 
 </template>
@@ -803,7 +913,10 @@
   publish_update,
   publish_insert,
   dataUpload_selectCoords,
-  publish_selectLasCs
+  publish_selectLasCs,
+  task_selectByPageAndCount,
+  task_deleteTask,
+  publish_selectRasterCs
 } from '../../api/api.js'
 import { conditions } from '../Archive/Archive';
 
@@ -826,6 +939,7 @@
         name: "",
         type: "",
         type1: "All",
+        status: 'All'
       },
       listData: {
         pageIndex: 1,
@@ -892,6 +1006,25 @@
         value: 'BIM',
         label: '涓夌淮妯″瀷(.fbx, .ifc, .rvt)'
       }],
+      typeOption2: [{
+        label: '鍏ㄩ儴',
+        value: 'All'
+      }, {
+        label: '鏈紑濮�',
+        value: 0
+      }, {
+        label: '杩涜涓�',
+        value: 1
+      }, {
+        label: '姝e父缁撴潫',
+        value: 2
+      }, {
+        label: '鐢ㄦ埛缁撴潫',
+        value: 3
+      }, {
+        label: '杩愯鍑洪敊',
+        value: 4
+      }],
       defaultProps: {
         label: "name",
         value: "id",
@@ -920,9 +1053,13 @@
       },
       stridOption: [],
       osgbLasOption: [],
+      loadingText: '鏁版嵁鍙戝竷涓�',
+      rasterCsVisible: false,
+      rasterCsOption: []
     }
   },
   methods: {
+
     setOsgbCanel() {
       this.insertOsgbVisible = false;
       this.osgbLasLayer = {
@@ -934,24 +1071,32 @@
 
       var ids = [];
       var zs = []
-      for (var i in this.osgbLasOption) {
-        ids.push(this.osgbLasOption[i].id)
-        zs.push(this.osgbLasOption[i].zs)
-      }
+      var models = []
       var srids = [];
       var lerro = [];
+      for (var i in this.osgbLasOption) {
+        ids.push(this.osgbLasOption[i].id)
+        // zs.push(this.osgbLasOption[i].zs)
+        zs.push(0)
+        srids.push(0)
+        models.push(0)
+      }
+      var name = this.osgbLasOption[0].name
+
       if (this.formInline.type == 'LAS') {
         for (var i in this.osgbLasOption) {
-          if (this.osgbLasOption[i].srids) {
-            var epsg = this.osgbLasOption[i].srids.replace('EPSG:', '')
-            srids.push(epsg)
-          } else {
-            lerro.push(this.osgbLasOption[i].name)
-          }
+          // if (this.osgbLasOption[i].srids) {
+          //   //var epsg = this.osgbLasOption[i].srids.replace('EPSG:', '')
+          //   // srids.push(epsg)
+          //   srids.push("00")
+          // } else {
+          //   lerro.push(this.osgbLasOption[i].name)
+          // }
+          srids.push(0)
         }
-        if (lerro.length > 0) {
-          return this.$message(lerro + '鏈�夋嫨鍙戝竷鏁版嵁鐨勫潗鏍囩郴');
-        }
+        // if (lerro.length > 0) {
+        //   return this.$message(lerro + '鏈�夋嫨鍙戝竷鏁版嵁鐨勫潗鏍囩郴');
+        // }
 
         // if (!this.osgbLasLayer.strid) {
         //   return this.$message('璇烽�夋嫨鍙戝竷鏁版嵁鐨勫潗鏍囩郴');
@@ -962,30 +1107,18 @@
       var obj = {
         dircode: this.formInline.dirid,
         depcode: this.formInline.depid,
-        min: null,
-        max: null,
-        name: null,
+        min: 0,
+        max: 0,
+        name: name,
         type: this.formInline.type,
-        noData: null,
+        noData: 0,
         ids: ids,
-        models: null,
-        srids: srids,
-        zx: zs
+        models: models,
+        srids: [],
+        zs: zs
       }
-      this.loadDialogVisible = true
-      this.setOsgbCanel();
-      const data = await publish_insert(obj);
+      this.setPublish_insert(obj)
 
-      if (data.code == 200 && data.result > 0) {
-        this.$message({
-          message: '鏁版嵁鍙戝竷鎴愬姛',
-          type: 'success'
-        });
-      } else {
-        this.$message.error("鏁版嵁鍙戝竷澶辫触")
-      }
-      this.loadDialogVisible = false
-      this.getTableData();
 
     },
     setModelCanel() {
@@ -1025,21 +1158,7 @@
         models: models
 
       }
-      this.loadDialogVisible = true
-      this.insertModelVisible = false;
-
-      const data = await publish_insert(obj);
-
-      if (data.code == 200 && data.result > 0) {
-        this.$message({
-          message: '鏁版嵁鍙戝竷鎴愬姛',
-          type: 'success'
-        });
-      } else {
-        this.$message.error("鏁版嵁鍙戝竷澶辫触")
-      }
-      this.loadDialogVisible = false
-      this.getTableData();
+      this.setPublish_insert(obj)
 
 
     },
@@ -1064,7 +1183,9 @@
       this.options = std;
     },
     setloadDialogVisible() {
-      this.loadDialogVisible = false
+
+      this.loadDialogVisible = false;
+      this.loadingText = '鏁版嵁鍙戝竷涓�';
     },
     setinsertLayerCancel() {
       this.insertDialogVisible = false;
@@ -1105,6 +1226,21 @@
       for (var i in this.multipleSelection) {
         std.push(this.multipleSelection[i].id)
       }
+
+      if (this.formInline.type == 'DOM') {
+        const data1 = await publish_selectRasterCs({
+          ids: std.toString()
+        })
+        if (data1.code == 200 && data1.result.length == 0) {
+        } else {
+          this.rasterCsOption = data1.result;
+          this.insertDialogVisible = false;
+          this.rasterCsVisible = true;
+          return
+        }
+      }
+
+
       var obj = {
         dircode: this.formInline.dirid,
         depcode: this.formInline.depid,
@@ -1115,22 +1251,11 @@
         type: this.formInline.type,
         noData: this.insertLayer.noData
       }
-      this.loadDialogVisible = true
-      this.insertDialogVisible = false;
-
-      const data = await publish_insert(obj);
-
-      if (data.code == 200 && data.result > 0) {
-        this.$message({
-          message: '鏁版嵁鍙戝竷鎴愬姛',
-          type: 'success'
-        });
-      } else {
-        this.$message.error("鏁版嵁鍙戝竷澶辫触")
-      }
-      this.loadDialogVisible = false
-      this.getTableData();
+      this.setPublish_insert(obj)
     },
+
+
+
 
     //鏁版嵁鍙戝竷
     async setPagePublish() {
@@ -1138,7 +1263,6 @@
         this.$message("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁")
         return
       }
-
       if (this.formInline.type == "DOM" || this.formInline.type == "DEM") {
 
         this.insertLayer.name = this.multipleSelection[0].name.split('.')[0];
@@ -1210,23 +1334,40 @@
           type: this.formInline.type
         }
 
-        this.loadDialogVisible = true
-        this.insertDialogVisible = false;
 
-        const data = await publish_insert(obj);
-        if (data.code == 200 && data.result > 0) {
-          this.$message({
-            message: '鏁版嵁鍙戝竷鎴愬姛',
-            type: 'success'
-          });
-        } else {
-          this.$message.error("鏁版嵁鍙戝竷澶辫触")
-        }
-
-        this.loadDialogVisible = false
-        this.getTableData();
+        this.setPublish_insert(obj)
       }
     },
+
+    async setPublish_insert(obj) {
+      this.insertDialogVisible = false;
+      this.insertModelVisible = false;
+      this.insertOsgbVisible = false;
+      var std = [];
+
+
+
+      this.loadingText = '鏁版嵁鍙戝竷涓�';
+      this.loadDialogVisible = true
+      this.insertDialogVisible = false;
+      const data = await publish_insert(obj);
+      if (data.code == 200 && data.result > 0) {
+        this.$message({
+          message: '鏁版嵁鍙戝竷鎴愬姛',
+          type: 'success'
+        });
+      } else {
+        this.$message.error("鏁版嵁鍙戝竷澶辫触")
+      }
+      this.loadDialogVisible = false
+      this.getTableData();
+
+
+    },
+
+
+
+
     //鏁版嵁璇︽儏
     setPreviewDetails(res) {
       this.itemdetail = res;
@@ -1266,6 +1407,24 @@
           });
       }
     },
+
+    async setCannelTask(res) {
+
+      const data = await task_deleteTask({ id: res.id })
+      if (data.result == 200) {
+        this.$message({
+          message: '浠诲姟缁撴潫鎴愬姛',
+          type: 'success'
+        });
+      } else {
+        this.$message.error({
+          message: '浠诲姟缁撴潫澶辫触',
+        });
+      }
+      this.getTableData();
+
+    },
+
     //淇敼寮圭獥
     setPreviewEdit(res) {
       this.updateLayer = JSON.stringify(res) //澶囦唤;
@@ -1280,6 +1439,7 @@
         var that = this
         this.$confirm('纭畾鏄惁鍒犻櫎鎵�閫夊唴瀹�?')
           .then(_ => {
+
             that.deletePage()
           })
           .catch(_ => {
@@ -1288,6 +1448,8 @@
       }
     },
     async deletePage() {
+      this.loadingText = '鏁版嵁鍒犻櫎涓�';
+      this.loadDialogVisible = true;
       var std = [];
       for (var i in this.multipleSelection) {
         std.push(this.multipleSelection[i].id);
@@ -1303,6 +1465,7 @@
         });
         this.getTableData();
       }
+      this.loadDialogVisible = false;
     },
     //棰勮寮圭獥鎵撳紑
     setPreviewLayer(res) {
@@ -1332,6 +1495,26 @@
         return val + " GB"
       } else {
         return row.sizes + " MB"
+      }
+    },
+    stateFormatStatus(row, column) {
+
+      switch (row.status) {
+        case 0:
+          return '鏈紑濮�';
+          break;
+        case 1:
+          return '杩涜涓�';
+          break;
+        case 2:
+          return '姝e父缁撴潫';
+          break;
+        case 3:
+          return '鐢ㄦ埛缁撴潫';
+          break;
+        case 4:
+          return '杩愯鍑洪敊';
+          break;
       }
     },
     //鏍煎紡鍖栧湴鍧�
@@ -1379,6 +1562,10 @@
           }
           this.active = 'third';
           break;
+        case 4:
+          this.active = 'fourth';
+          this.setPageStart();
+          break;
 
 
 
@@ -1401,9 +1588,17 @@
         depName: null,
         name: "",
         type: "",
-        type1: "All"
+        type1: "All",
+        status: 'All'
       }
       if (this.active == "first") {
+        this.listData = {
+          pageIndex: 1,
+          pageSize: 10,
+          count: 0
+        }
+        this.showPageSize = [10, 50, 100, 200]
+      } if (this.active == "fourth") {
         this.listData = {
           pageIndex: 1,
           pageSize: 10,
@@ -1418,8 +1613,12 @@
         }
         this.showPageSize = [10, 50, 100, 200, 500]
         this.formInline.type1 = this.typeOption1[0].value;
-        this.formInline.dirid2 = this.dirOption2[0].code;
-        this.formInline.dirName2 = this.dirOption2[0].name;
+        if (this.dirOption2.length > 0) {
+          this.formInline.dirid2 = this.dirOption2[0].code;
+
+          this.formInline.dirName2 = this.dirOption2[0].name;
+        }
+
       }
 
       this.formInline.type = this.typeOption[0].value;
@@ -1467,7 +1666,6 @@
     },
     //鐗堟湰鍒楄〃鍒囨崲
     handleVerChange(value) {
-
       this.formInline.verid = value;
       this.getTableData();
     },
@@ -1478,6 +1676,12 @@
     },
     handleTypeChange1(value) {
       this.formInline.type1 = value;
+      this.getTableData();
+    },
+
+
+    handleTypeChange2(value) {
+      this.formInline.status = value;
       this.getTableData();
     },
     //鍗曚綅鍒楄〃鍒囨崲
@@ -1498,10 +1702,6 @@
       this.formInline.dirName2 = data.name
       this.getTableData();
     },
-
-
-
-
     //鑾峰彇Table琛ㄦ牸鏁版嵁
     async getTableData() {
 
@@ -1540,8 +1740,33 @@
           this.tableData = val;
           this.listData.count = data.count;
         }
-      }
-      else {
+      } else if (this.active == "fourth") {
+        if (this.formInline.status == 'All') {
+          this.listData.status = null;
+
+        } else {
+          this.listData.status = this.formInline.status
+        }
+
+        if (this.formInline.type1 == 'All') {
+          this.listData.type = null;
+        } else {
+          this.listData.type = this.formInline.type1
+        }
+
+        if (this.formInline.name) {
+          this.listData.name = this.formInline.name;
+        }
+        this.tableData = [];
+        const data = await task_selectByPageAndCount(this.listData)
+        if (data.code != 200) {
+
+        }
+        this.tableData = data.result;
+        this.listData.count = data.count;
+
+
+      } else {
         this.listData.name = this.formInline.name
         if (this.formInline.dirid2 == 'All') {
           this.listData.dircode = this.formInline.dirid2.replace('All', '');
@@ -1706,7 +1931,17 @@
     padding: 10px !important;
   }
   .contLable {
-    width: 160px;
+    width: 140px;
+    text-align: right;
+  }
+  .rasterCsBox {
+    max-height: 60vh;
+    overflow: auto;
+    .rasterCsContent {
+      padding: 10px;
+      font-size: 16px;
+      font-family: Source Han Sans CN;
+    }
   }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3