From 48b27df5d8fd99adaab8797f7d2fc098f267c2ea Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 31 七月 2023 11:00:55 +0800
Subject: [PATCH] 发布管理新加任务管理页面

---
 src/views/datamanage/uploadmanage.vue |  241 +++++++++++++++++++++++++++++++++++++++++++++--
 src/api/api.js                        |   17 +++
 src/assets/lang/zh.js                 |    6 +
 src/assets/lang/en.js                 |    5 
 4 files changed, 255 insertions(+), 14 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index 3ec0db6..af11ee7 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -1189,3 +1189,20 @@
   return service.get('/comprehensive/selectPubById', { params: params });
 }
 
+
+
+
+
+//浠诲姟绠$悊 => 鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟
+export function task_selectByPageAndCount(params) {
+  return service.get('/task/selectByPageAndCount', { params: params });
+}
+
+
+//浠诲姟绠$悊 => 鍒犻櫎涓�鏉�
+export function task_deleteTask(params) {
+  return service.get('/task/deleteTask', { params: params });
+}
+
+
+
diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 1fac4b3..66cb75a 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -63,6 +63,8 @@
     warehousResults: 'Warehousing results',
     templateType: 'Template Type',
     lable6: "Advanced queries",
+    err: 'Error',
+    endTask: 'End task'
   },
 
   dataManage: {
@@ -170,7 +172,8 @@
     uploadObj: {
       dataRelease: 'Data release',
       releaseList: 'Release list',
-      modelAttachMount: 'Model attachment mounting'
+      modelAttachMount: 'Model attachment mounting',
+      publishTask: "Publish Task"
     },
     dataLoading: 'dataLoading',
     SpatialData: 'SpatialData',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 122b61e..0fecfcb 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -64,6 +64,8 @@
     warehousResults: '鍏ュ簱缁撴灉',
     templateType: '妯℃澘绫诲瀷',
     lable6: "楂樼骇鏌ヨ",
+    err: '閿欒',
+    endTask: '缁撴潫浠诲姟'
   },
   dataManage: {
     dataManage: '鏁版嵁绠$悊',
@@ -163,7 +165,9 @@
     uploadObj: {
       dataRelease: '鏁版嵁鍙戝竷',
       releaseList: '鍙戝竷娓呭崟',
-      modelAttachMount: '妯″瀷闄勪欢鎸傝浇'
+      modelAttachMount: '妯″瀷闄勪欢鎸傝浇',
+
+      publishTask: "鍙戝竷浠诲姟"
     },
 
     dataLoading: '鏁版嵁鍏ュ簱',
diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue
index 7d78f65..0aac1da 100644
--- a/src/views/datamanage/uploadmanage.vue
+++ b/src/views/datamanage/uploadmanage.vue
@@ -32,6 +32,17 @@
       </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
@@ -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"
@@ -344,6 +372,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>
@@ -803,7 +917,9 @@
   publish_update,
   publish_insert,
   dataUpload_selectCoords,
-  publish_selectLasCs
+  publish_selectLasCs,
+  task_selectByPageAndCount,
+  task_deleteTask
 } from '../../api/api.js'
 import { conditions } from '../Archive/Archive';
 
@@ -826,6 +942,7 @@
         name: "",
         type: "",
         type1: "All",
+        status: 'All'
       },
       listData: {
         pageIndex: 1,
@@ -892,6 +1009,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",
@@ -923,6 +1059,7 @@
     }
   },
   methods: {
+
     setOsgbCanel() {
       this.insertOsgbVisible = false;
       this.osgbLasLayer = {
@@ -1266,6 +1403,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) //澶囦唤;
@@ -1334,6 +1489,26 @@
         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;
+      }
+    },
     //鏍煎紡鍖栧湴鍧�
     formatLayer(row, column) {
       let data = row.layer
@@ -1379,6 +1554,10 @@
           }
           this.active = 'third';
           break;
+        case 4:
+          this.active = 'fourth';
+          this.setPageStart();
+          break;
 
 
 
@@ -1401,9 +1580,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 +1605,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 +1658,6 @@
     },
     //鐗堟湰鍒楄〃鍒囨崲
     handleVerChange(value) {
-
       this.formInline.verid = value;
       this.getTableData();
     },
@@ -1478,6 +1668,12 @@
     },
     handleTypeChange1(value) {
       this.formInline.type1 = value;
+      this.getTableData();
+    },
+
+
+    handleTypeChange2(value) {
+      this.formInline.status = value;
       this.getTableData();
     },
     //鍗曚綅鍒楄〃鍒囨崲
@@ -1498,10 +1694,6 @@
       this.formInline.dirName2 = data.name
       this.getTableData();
     },
-
-
-
-
     //鑾峰彇Table琛ㄦ牸鏁版嵁
     async getTableData() {
 
@@ -1540,8 +1732,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', '');

--
Gitblit v1.9.3