From b95cf940af8e01e4eca30b2599b029c2f645bd1e Mon Sep 17 00:00:00 2001
From: charles <981744753@qq.com>
Date: 星期一, 29 四月 2024 10:44:26 +0800
Subject: [PATCH] feat:创建新分支

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

diff --git a/src/views/dashboard/components/TaskControl.vue b/src/views/dashboard/components/TaskControl.vue
index c9f5cb5..b44dfea 100644
--- a/src/views/dashboard/components/TaskControl.vue
+++ b/src/views/dashboard/components/TaskControl.vue
@@ -46,7 +46,7 @@
           icon-color="red"
           :hide-after="0"
           :teleported="false"
-          title="璇风‘璁ゆ槸鍚﹀凡瀹屾垚姝ょ敓浜т换鍔�?"
+          :title="Number(processingPercent) < 100 ? '杩涘害鏈畬鎴愶紝鏄惁鎻愬墠瀹屾垚浠诲姟锛�' : '璇风‘璁ゆ槸鍚﹀凡瀹屾垚姝ょ敓浜т换鍔�?'"
           placement="top"
           @confirm="finishTaskProduce"
         >
@@ -78,7 +78,7 @@
 </template>
 <script setup lang="ts">
 import type { Task, Worker } from '@/api/task'
-import { ref, toRefs } from 'vue'
+import { ref, toRefs, computed } from 'vue'
 import BigButton from '@/views/dashboard/components/BigButton.vue'
 import { useDateFormat } from '@vueuse/core'
 import TaskControlModal from '@/views/dashboard/components/TaskControlModal.vue'
@@ -89,8 +89,6 @@
 import ReportProductionModal1 from '@/views/dashboard/components/ReportProductionModal1.vue'
 import { usePLCStore } from '@/stores/plc'
 import { storeToRefs } from 'pinia'
-import { log } from 'console'
-import { isDoStatement } from 'typescript'
 
 const props = defineProps<{
   task?: Task
@@ -139,7 +137,7 @@
       isProcessing: false,
       workOrderProcedureID: Number(task!.value.Procedure.ID)
     }).then(
-      (res) => {
+      (res: any) => {
         ElMessage({
           message: '鎿嶄綔鎴愬姛锛�',
           type: 'success'
@@ -185,6 +183,7 @@
 // 鎶ュ伐
 const showReportModal1 = ref(false)
 const reprotIds = ref([])
+const passCount = ref(0)
 function openReportModal() {
   // 鏈変汉鍛樻墠鍙互鎶ュ伐
   if (!workers.value || workers.value.length == 0) {
@@ -216,14 +215,15 @@
     modelTitle.value = '鐢熶骇鎶ュ伐'
     if (task?.value?.ShowCheck) {
       getQualityInspection({
-        procedureId: task.value?.Procedure.ID,
-        workerId: workers.value[0].workerId
-      }).then((res) => {
+        procedureId: task.value?.Procedure?.procedure.procedureId,
+        workOrderId: task.value?.Order.workOrderId
+      }).then((res: any) => {
         console.log(res, '999999')
         passAmount.value = res.data.passAmount
+        passCount.value = res.data.passAmount
         reworkAmount.value = res.data.reworkAmount
         scrappedAmount.value = res.data.scrappedAmount
-        reprotIds.value = res.data.ids
+        reprotIds.value = res.data.ids || []
         showReportModal1.value = true
       })
     } else {
@@ -267,7 +267,7 @@
       workerID: workers.value[0].workerId,
       workerName: workers.value[0].workerName
     })
-      .then((res) => {
+      .then((res: any) => {
         if (res.code === 200) {
           ElMessage({
             message: `${tipStr}鎴愬姛`,
@@ -300,19 +300,19 @@
   if (workers.value[0].workerId) {
     bulletinReport({
       workOrderProcedureID: Number(task.value?.Procedure.ID),
-      reportAmount: amount,
+      reportAmount: passCount.value,
       workerID: workers.value[0].workerId,
       workerName: workers.value[0].workerName,
-      ids: reprotIds
+      ids: reprotIds.value
     })
-      .then((res) => {
+      .then((res: any) => {
         if (res.code === 200) {
           ElMessage({
             message: '鎶ュ伐鎴愬姛',
             type: 'success',
             duration: 2000
           })
-          showReportModal.value = false
+          showReportModal1.value = false
         } else {
           ElMessage({
             message: '鎶ュ伐澶辫触',
@@ -326,6 +326,44 @@
       })
   }
 }
+export interface Statistics {
+  totalNumber: number
+  finishNumber: number
+}
+/**
+ * 璁$畻鐢熶骇杩涘害
+ * @param statistics
+ * @return 杩涘害,0~100
+ */
+function calculateProgress(statistics: Statistics): number {
+  if (!statistics) {
+    return 0
+  }
+
+  if (statistics.finishNumber === 0) {
+    return 0
+  }
+  if (statistics.finishNumber === statistics.totalNumber) {
+    return 100
+  }
+
+  const result = Math.floor((statistics.finishNumber / statistics.totalNumber) * 100)
+  return result > 100 ? 100 : result
+}
+const processingPercent = computed(() => {
+  // if (task?.value?.Procedure?.Status === 1) {
+  //   return 0
+  // }
+
+  if (task?.value?.Procedure?.Status === 3) {
+    return 100
+  }
+  // if (task?.value?.Procedure?.Status === 2 || task?.value?.Procedure?.Status === 1) {
+  //   return calculateProgress(plcStore.plcInfo as Statistics)
+  // }
+
+  return calculateProgress(plcStore.plcInfo as Statistics)
+})
 </script>
 <style scoped lang="scss">
 $title-text-color: #9599af;

--
Gitblit v1.8.0