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