From 592164b38f12dd2a605c20f6d1c84ec6b28b4f56 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期六, 09 十二月 2023 16:46:01 +0800
Subject: [PATCH] 报工报错的问题修改

---
 src/views/dashboard/components/TaskControl.vue |   76 ++++++++++++++++++++++++++------------
 1 files changed, 52 insertions(+), 24 deletions(-)

diff --git a/src/views/dashboard/components/TaskControl.vue b/src/views/dashboard/components/TaskControl.vue
index 755a2d9..fc7f199 100644
--- a/src/views/dashboard/components/TaskControl.vue
+++ b/src/views/dashboard/components/TaskControl.vue
@@ -89,6 +89,20 @@
  */
 function finishTaskProduce() {
   if (task?.value && task.value?.Procedure?.ID) {
+    //鐐瑰嚮鐨勬椂鍊欎笉鑳芥瘮瀹為檯寮�濮嬫椂闂村ぇ浜�1鍒嗛挓
+    let realStartTime = task.value?.Procedure?.realStartTime
+    if (realStartTime) {
+      realStartTime = realStartTime * 1000
+      let time = Date.now()
+      let differ = Math.abs(time - realStartTime) / 1000
+      if (differ < 60) {
+        ElMessage({
+          message: '宸ュ簭鍒堕�犳椂闂村お鐭紝璇锋鏌ワ紒',
+          type: 'warning'
+        })
+        return true
+      }
+    }
     finishTask({ id: task!.value.Procedure.ID }).then(
       (res) => {
         ElMessage({
@@ -134,7 +148,18 @@
 // 鎶ュ伐
 const showReportModal = ref(false)
 function openReportModal() {
-  showReportModal.value = true
+  // 鏈変汉鍛樻墠鍙互鎶ュ伐
+  if (!workers.value || workers.value.length == 0) {
+    ElMessage({
+      message: '娌℃湁浜哄憳淇℃伅涓嶅厑璁告墜鍔ㄦ姤宸ワ紒',
+      type: 'error',
+      duration: 3000
+    })
+    return true
+  }
+  if (workers.value[0].workerId) {
+    showReportModal.value = true
+  }
 }
 
 /**
@@ -145,30 +170,33 @@
   if (!task?.value) {
     return
   }
-  apiReportWork({
-    procedureId: task.value?.Procedure.ID,
-    reportAmount: amount,
-    workerID: workers.value[0].workerId
-  })
-    .then((res) => {
-      if (res.code === 200) {
-        ElMessage({
-          message: '鎶ュ伐鎴愬姛',
-          type: 'success',
-          duration: 2000
-        })
-        showReportModal.value = false
-      } else {
-        ElMessage({
-          message: '鎶ュ伐澶辫触',
-          type: 'error',
-          duration: 3000
-        })
-      }
+  // 鏈変汉鍛樻墠鍙互鎶ュ伐
+  if (workers.value[0].workerId) {
+    apiReportWork({
+      procedureId: task.value?.Procedure.ID,
+      reportAmount: amount,
+      workerID: workers.value[0].workerId
     })
-    .catch((err) => {
-      console.error(err)
-    })
+      .then((res) => {
+        if (res.code === 200) {
+          ElMessage({
+            message: '鎶ュ伐鎴愬姛',
+            type: 'success',
+            duration: 2000
+          })
+          showReportModal.value = false
+        } else {
+          ElMessage({
+            message: '鎶ュ伐澶辫触',
+            type: 'error',
+            duration: 3000
+          })
+        }
+      })
+      .catch((err) => {
+        console.error(err)
+      })
+  }
 }
 </script>
 <style scoped lang="scss">

--
Gitblit v1.8.0