|
@@ -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)
|
|
|
|
|
|
})
|
|
|
//获取检测报告状态
|