From 18eb4308e941a265daba8eda2f2ee91115963a3c Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期四, 18 四月 2024 17:06:04 +0800
Subject: [PATCH] 1
---
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