From 34044b791a62914aec56576f40d9de958c4f2bd4 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期三, 28 八月 2024 16:19:39 +0800
Subject: [PATCH] 任务日志和PLC取货异常逻辑

---
 Web/src/views/wcs/wcsTask/index.vue |   79 ++++++++++++++++++++++++---------------
 1 files changed, 49 insertions(+), 30 deletions(-)

diff --git a/Web/src/views/wcs/wcsTask/index.vue b/Web/src/views/wcs/wcsTask/index.vue
index 5b4534c..b68e9e8 100644
--- a/Web/src/views/wcs/wcsTask/index.vue
+++ b/Web/src/views/wcs/wcsTask/index.vue
@@ -55,7 +55,7 @@
             </el-row>
           </el-form>
           <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
-            @row-click="handleClick" @sort-change="sortChange" border="">
+            @cell-click="handleClick" @sort-change="sortChange" border="">
             <el-table-column type="index" label="搴忓彿" width="55" align="center" />
             <el-table-column prop="taskNo" label="浠诲姟鍙�" show-overflow-tooltip="" />
             <el-table-column prop="taskType" width="85" label="浠诲姟绫诲瀷" show-overflow-tooltip="">
@@ -80,17 +80,15 @@
                 <ModifyRecord :data="scope.row" />
               </template>
             </el-table-column>
-            <el-table-column label="鎿嶄綔" width="130" align="center" fixed="right" show-overflow-tooltip=""
+            <el-table-column prop="鎿嶄綔" label="鎿嶄綔" width="130" align="center" fixed="right" show-overflow-tooltip=""
               v-if="auth('wcsTask:complete') || auth('wcsTask:cancell')">
               <template #default="scope">
-                <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWcsTask(scope.row)"
-              v-auth="'wcsTask:update'"> 缂栬緫 </el-button>
-            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWcsTask(scope.row)"
-              v-auth="'wcsTask:delete'"> 鍒犻櫎 </el-button> -->
-                <el-button icon="ele-Check" size="small" text="" type="primary" @click="completeTask(scope.row)"
-                  v-auth="'wcsTask:complete'"> 瀹屾垚 </el-button>
-                <el-button icon="ele-Close" size="small" text="" type="primary" @click="cancellTask(scope.row)"
-                  v-auth="'wcsTask:cancell'"> 鍙栨秷 </el-button>
+                <template v-if="scope.row.status <= 1">
+                  <el-button icon="ele-Check" size="small" text="" type="primary" @click="completeTask(scope.row)"
+                    v-auth="'wcsTask:complete'"> 瀹屾垚 </el-button>
+                  <el-button icon="ele-Close" size="small" text="" type="primary" @click="cancellTask(scope.row)"
+                    v-auth="'wcsTask:cancell'"> 鍙栨秷 </el-button>
+                </template>
               </template>
             </el-table-column>
           </el-table>
@@ -158,7 +156,7 @@
 
 import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
 import editDialog from '/@/views/wcs/wcsTask/component/editDialog.vue'
-import { pageWcsTask, deleteWcsTask } from '/@/api/wcs/wcsTask';
+import { pageWcsTask, finshWcsTask } from '/@/api/wcs/wcsTask';
 import { pageWcsMonitorTask } from '/@/api/wcs/wcsTaskMonitor';
 import { signalR } from './signalR';
 
@@ -187,8 +185,14 @@
   signalR.off('PublicTask');
   signalR.on('PublicTask', (data: any) => {
     console.log(data)
-    if (tableData.value.filter(t => t.id == data.id).length == 0) {
+    var listTask = tableData.value.filter(t => t.id == data.id);
+    if (listTask.length == 0) {
       tableData.value.unshift(data)
+    }
+    else {
+      //濡傛灉宸茬粡瀛樺湪灏辨洿鏂版暟鎹�
+      const index = tableData.value.findIndex(t => t.id == data.id);
+      tableData.value.splice(index, 1, data);
     }
   });
   signalR.off('PublicTaskMonitor');
@@ -247,33 +251,48 @@
   editDialogRef.value.openDialog(row);
 };
 //瀹屾垚浠诲姟
-const completeTask = (row: any) => {
-
-}
-//鍙栨秷浠诲姟
-const cancellTask = (row: any) => {
-
-}
-// 鐐瑰嚮琛ㄦ牸
-const handleClick = (row: any, event: any, column: any) => {
-  queryParams2.value.taskNo = row.taskNo;
-  handleQuery2();
-};
-// 鍒犻櫎
-const delWcsTask = (row: any) => {
-  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+const completeTask = async (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸畬鎴愪换鍔″悧?`, "鎻愮ず", {
     confirmButtonText: "纭畾",
     cancelButtonText: "鍙栨秷",
     type: "warning",
   })
     .then(async () => {
-      await deleteWcsTask(row);
+      var param = Object.assign(row);
+      param.status = 2;
+      await finshWcsTask(param);
       handleQuery();
-      ElMessage.success("鍒犻櫎鎴愬姛");
+      handleQuery2();
+      ElMessage.success("瀹屾垚浠诲姟鎴愬姛");
     })
     .catch(() => { });
-};
+}
+//鍙栨秷浠诲姟
+const cancellTask = async (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸彇娑堜换鍔″悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      var param = Object.assign(row);
+      param.status = 4;
+      await finshWcsTask(param);
+      handleQuery();
+      handleQuery2();
+      ElMessage.success("鍙栨秷浠诲姟鎴愬姛");
+    })
+    .catch(() => { });
 
+}
+// 鐐瑰嚮琛ㄦ牸
+const handleClick = (row, column, cell, event) => {
+  if (column.property === '鎿嶄綔') {
+    return;
+  }
+  queryParams2.value.taskNo = row.taskNo;
+  handleQuery2();
+};
 // 鏀瑰彉椤甸潰瀹归噺
 const handleSizeChange = (val: number) => {
   tableParams.value.pageSize = val;

--
Gitblit v1.8.0