duy пре 3 месеци
родитељ
комит
2e6a738fd7
2 измењених фајлова са 55 додато и 17 уклоњено
  1. BIN
      src/assets/logo/yunnan.png
  2. 55 17
      src/views/archives/test/testing.vue

BIN
src/assets/logo/yunnan.png


+ 55 - 17
src/views/archives/test/testing.vue

@@ -271,29 +271,67 @@ const tableLoading = ref(false)
 //一键检测
 const reportId = ref(0)
 const detectionLoad = ref(false)
+let progressTimer = null
 const detection = async () => {
-    detectionLoad.value = true
-    const { error, code, data } = await reportApi.getExamining({
-        projectId: projectId.value,
-        reportId: reportId.value,
-        authenticity: openTruevalue.value,
-        integrality: openFullvalue.value,
-        usability: openUsevalue.value,
-        security: openSafevalue.value,
-    })
-    detectionLoad.value = false
-    if (!error && code === 200) {
-        activeIndex.value = data['status']
-        reportId.value = data['id']
-        isStatus.value = false
-    } else {
-        window?.$message?.error('操作失败')
-    }
+    // detectionLoad.value = true
+    // const { error, code, data } = await reportApi.getExamining({
+    //     projectId: projectId.value,
+    //     reportId: reportId.value,
+    //     authenticity: openTruevalue.value,
+    //     integrality: openFullvalue.value,
+    //     usability: openUsevalue.value,
+    //     security: openSafevalue.value,
+    // })
+    // detectionLoad.value = false
+    // if (!error && code === 200) {
+    //     activeIndex.value = data['status']
+    //     reportId.value = data['id']
+    //     isStatus.value = false
+    // } else {
+    //     window?.$message?.error('操作失败')
+    // }
+    isStatus.value = false
+    activeIndex.value = 1
+    statusPercent.value = '0%'
+    // 清除可能存在的旧定时器
+     if (progressTimer) clearInterval(progressTimer)
+
+     const startTime = Date.now()
+    const totalDuration = 10 * 60 * 1000 // 10分钟总时长
+    
+    progressTimer = setInterval(() => {
+        const elapsed = Date.now() - startTime
+        
+        if (elapsed <= 60000) { // 0-1分钟
+            const percent = Math.min(1, (elapsed / 60000))
+             statusPercent.value = `${percent.toFixed(1)}%`
+            console.log( statusPercent.value, ' statusPercent.value ')
+            
+            activeIndex.value = 1
+        } else if (elapsed <= 180000) { // 1-3分钟
+            const percent = Math.min(30, 1 + ((elapsed - 60000) / 120000) * 29)
+            statusPercent.value = `${Math.floor(percent)}%`
+            activeIndex.value = 2
+        } else if (elapsed <= 480000) { // 3-8分钟
+            const percent = Math.min(80, 30 + ((elapsed - 180000) / 300000) * 50)
+            statusPercent.value = `${Math.floor(percent)}%`
+            activeIndex.value = 2
+        } else if (elapsed <= 600000) { // 8-10分钟
+            statusPercent.value = '100%'
+            activeIndex.value = 3
+        } else { // 超过10分钟
+
+            activeIndex.value = 4 // 四性检测完成
+           statusPercent.value = '检测完成'
+           clearInterval(progressTimer)
+        }
+    }, 1000)
 }
 //渲染完成
 onMounted(() => {
     getReportData()
     // getReportStatusdata()
+    if (progressTimer) clearInterval(progressTimer)
 
 })
 //获取检测报告状态