From 3cf501988000cf9b2d8794f3770862b5fc020d39 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Mon, 10 Mar 2025 10:10:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BA=90=E7=A8=8B=E6=8E=A7-=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/controlSourceDetail.vue | 63 ++++++++++++++++--- .../machine/controlSource/components/tree.vue | 18 +++--- .../src/views/machine/controlSource/index.vue | 6 +- 3 files changed, 71 insertions(+), 16 deletions(-) diff --git a/frontend/src/views/machine/controlSource/components/controlSourceDetail.vue b/frontend/src/views/machine/controlSource/components/controlSourceDetail.vue index c564893..dc77689 100644 --- a/frontend/src/views/machine/controlSource/components/controlSourceDetail.vue +++ b/frontend/src/views/machine/controlSource/components/controlSourceDetail.vue @@ -122,20 +122,23 @@ - + 标准源加量输出:{{hour}}时{{minute}}分{{second}}秒 + +
+ 启动 - 停止 +
@@ -172,7 +175,7 @@ import Tree from './tree.vue' import Commun from './communication.vue' import {type CascaderOption, ElMessage} from 'element-plus' import { getTreeData } from '@/api/check/test' -import { CirclePlus, Delete, Check, CopyDocument, View, EditPen } from '@element-plus/icons-vue' +import {CirclePlus, Delete, Check, CopyDocument, View, EditPen, VideoPlay,VideoPause} from '@element-plus/icons-vue' import type { TestScript } from '@/api/device/interface/testScript' import TestProjectPopup from '@/views/machine/testScript/components/testProjectPopup.vue' import { CheckData } from '@/api/check/interface' @@ -246,6 +249,13 @@ const column = ref([ } ]) +// 时间计数器 +let timer: any = null +const timeCount = ref(0) +const hour = ref(0) +const minute = ref(0) +const second = ref(0) + const emit = defineEmits(['update:activeName','update:activeIndex','update:startDisabeld','update:pauseDisabled']) const controlContent = ref({ userPageId: '', @@ -414,6 +424,32 @@ const stopLoading = async () => { ElMessage.success({message:'停止中...',duration:5000}) } + +const startTimeCount = () => { + if (!timer) { + timer = setInterval(() => { + timeCount.value = timeCount.value + 1 + secondToTime(timeCount.value) + }, 1000) + } +} + +const secondToTime = (secd: number) => { + //将秒数转换成时分秒 + hour.value = Math.floor(secd / 3600) + minute.value = Math.floor((secd - hour.value * 3600) / 60) + second.value = Math.floor(secd % 60); +} + +const stopTimeCount = () => { + if (timer) { + clearInterval(timer) + } + hour.value = 0 + minute.value = 0 + second.value = 0 +} + // 获取左边树数据 // 新增保存 const addTab = (row: any) => { @@ -436,6 +472,11 @@ onMounted(() => { .getDictData('Script_Value_Type') .filter(item => item.id == props.formContent.valueType)[0].code }) + +defineExpose({ + startTimeCount, + stopTimeCount +})