From 0fd6ebf81073d5e7c70d7a72dd03e6a9bfe563c9 Mon Sep 17 00:00:00 2001 From: sjl <1716605279@qq.com> Date: Mon, 30 Dec 2024 19:59:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E6=95=B0=E6=A0=A1=E5=87=86=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/home/components/channelsTest.vue | 139 +++++------------- 1 file changed, 33 insertions(+), 106 deletions(-) diff --git a/frontend/src/views/home/components/channelsTest.vue b/frontend/src/views/home/components/channelsTest.vue index 8344161..576f478 100644 --- a/frontend/src/views/home/components/channelsTest.vue +++ b/frontend/src/views/home/components/channelsTest.vue @@ -55,7 +55,6 @@
-
@@ -120,9 +119,8 @@ import { type Device } from '@/api/device/interface/device'; import { SuccessFilled, Failed, Message, MessageBox } from '@element-plus/icons-vue' import { type Ref, ref, toRef, watch } from 'vue' - import {dialogBig} from '@/utils/elementBind' +import {dialogBig} from '@/utils/elementBind' import { ElMessage, ElMessageBox } from 'element-plus'; -import { el } from 'element-plus/es/locale'; const activeIndex = ref(0) const activeTotalNum = ref(4) const qualified = ref(0) @@ -133,8 +131,8 @@ const active = ref(0) let intervalId: NodeJS.Timeout | null = null; let timer1: NodeJS.Timeout | null = null; // 声明并初始化 timer1 let timer2: NodeJS.Timeout | null = null; // 同样声明并初始化 timer2 - const name = ref([])//系数校准所选设备名字数组 - const channel = ref([])//系数校准所选设备通道数组 +const name = ref([])//系数校准所选设备名字数组 +const channel = ref([])//系数校准所选设备通道数组 // 在 setup 函数中 const errorStates = ref(new Array(name.value.length).fill(false)); const loadingStates = ref(new Array(name.value.length).fill(false)); // 初始化 loading 状态 @@ -161,7 +159,6 @@ interface TableDataItem { updateTime?: string; } - const dataTemplates3 = [ { deviceName: '系数下装', @@ -227,7 +224,6 @@ const dataTemplates3 = [ ]; - const dataTemplates4 = [ { deviceName: '系数下装', @@ -452,19 +448,9 @@ const activities = [ }, ] + const tableDataMap = new Map>([]); - -const tableDataMap = new Map>([ - // [0, tableData1], - // [1, tableData2], - // [2, tableData3], - // [3, tableData1], - // [4, tableData1], - // [5, tableData1], -]); - - -const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process'>('finish'); + const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process'>('finish'); // 打开弹窗,可能是新增,也可能是编辑 const open = (selection: Device.ResPqDev[]) => { @@ -529,8 +515,6 @@ const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process const getTableDataForChannel = (index: number): any[] => { const data = tableDataMap.get(index); - // console.log('index',index) - // console.log('data',data) return data ? data.value : []; } // const props = defineProps({ @@ -587,7 +571,6 @@ watch(activeIndex, function (newValue, oldValue) { } }) - // 示例的 checkForErrors 函数,根据实际需求进行调整 const checkForErrors = (data: TableDataItem[]): boolean => { // 这里假设不合格字段的标准是 status 为 '不合格' 或 isValid 为 false @@ -601,13 +584,11 @@ const checkForErrors = (data: TableDataItem[]): boolean => { ); }; - const handleSubmit = async () => { if (intervalId !== null) { clearInterval(intervalId); } - // 初始化 currentTableData let isTimer2Completed = false; // 初始化 loadingStates 为 true @@ -615,9 +596,9 @@ const handleSubmit = async () => { for (let i = 0; i < channel.value.length; i++) { - - // 完成所有步骤后重置状态变量 - active.value = 0; + // 重置状态变量 + active.value = 0;activeIndex.value = 0; + console.log('activeIndex', activeIndex.value); const currentTableData = ref([]); const selectedTemplates = dataTemplates4; @@ -632,29 +613,29 @@ for (let i = 0; i < channel.value.length; i++) { }); } - tableDataMap.set(i, currentTableData); - activeIndex.value++; - -// 清除之前的 timer1 -clearInterval(timer1); - // 启动 timer1 - timer1 = setInterval(() => { - active.value++; - console.log('active', active.value); - if (active.value > 5) { + tableDataMap.set(i, currentTableData); + activeIndex.value++; + console.log('activeIndex', activeIndex.value); + // 清除之前的 timer1 clearInterval(timer1); - } -}, 500); + // 启动 timer1 + timer1 = setInterval(() => { + active.value++; + console.log('active', active.value); + if (active.value > 5) { + clearInterval(timer1); + } + }, 500); -// 清除之前的 timer2 -clearInterval(timer2); - // 启动 timer2 - timer2 = setInterval(() => { + // 清除之前的 timer2 + clearInterval(timer2); + // 启动 timer2 + timer2 = setInterval(() => { // 初始化 currentTableData const currentTableData = ref([]); if(i > 0){ - const selectedTemplates = dataTemplates6; + const selectedTemplates = dataTemplates5; for (let j = 0; j < channel.value[i]; j++) { const id = (j + 1).toString(); selectedTemplates.forEach((template) => { @@ -666,7 +647,7 @@ clearInterval(timer2); }); } }else{ - const selectedTemplates = dataTemplates5; + const selectedTemplates = dataTemplates6; for (let j = 0; j < channel.value[i]; j++) { const id = (j + 1).toString(); selectedTemplates.forEach((template) => { @@ -679,11 +660,14 @@ clearInterval(timer2); } } - + console.log('currentTableData', currentTableData); tableDataMap.set(i, currentTableData); + activeIndex.value++; clearInterval(timer2); - - const currentDataRef = tableDataMap.get(activeIndex.value - 1); + console.log('activeIndex', activeIndex.value); + console.log('tableDataMap', tableDataMap); + const currentDataRef = tableDataMap.get(i); + console.log('activeIndex.value - 2',activeIndex.value) console.log('currentDataRef',currentDataRef) if (currentDataRef) { const currentData = currentDataRef.value; @@ -693,7 +677,7 @@ clearInterval(timer2); } else { qualified.value++; } - updateErrorState(activeIndex.value - 1, hasError); + updateErrorState(i, hasError); } // 设置标志变量为 true,表示 timer2 已经完成 @@ -712,67 +696,10 @@ clearInterval(timer2); } -}; - - -const handleSubmit2 = () => { - if (intervalId !== null) { - clearInterval(intervalId); - } - intervalId = setInterval(() => { - if (activeIndex.value < name.value.length) { - activeIndex.value++; - // 获取当前活动索引对应的 tableData - const currentDataRef = tableDataMap.get(activeIndex.value - 1); - if (currentDataRef) { - const currentData = currentDataRef.value; - // 检查当前数据中有无不合格字段 - const hasError = checkForErrors(currentData); - if (hasError) { - }else{ - qualified.value++; - } - updateErrorState(activeIndex.value - 1, hasError); - } - } else { - clearInterval(intervalId!); // 停止定时器 - } - - - }, 1000); // 每隔3秒显示下一个tab - - // let timer = setInterval(() => { - // if (activeIndex.value < activeTotalNum.value) { - // activeIndex.value++ - // if(activeIndex.value > 1) - // qualified.value = activeIndex.value -1;//演示效果,实际运行时使用后端传来的真实数据即可 - // else - // qualified.value = activeIndex.value; - // } - // else if (activeIndex.value === activeTotalNum.value) { - // clearInterval(timer) - // } - // else { - // clearInterval(timer) - // } - - // total.value = activeTotalNum.value - // }, 1000); - - - let timer2 = setInterval(() => { - active.value++ - if (active.value++ > 5) { - clearInterval(timer2) - } - }, 1000); }; // 对外映射 defineExpose({ open }) - - -