diff --git a/src/components/Discover/Conformance/ConformanceResults.vue b/src/components/Discover/Conformance/ConformanceResults.vue index 9aa14bd..e85e5fd 100644 --- a/src/components/Discover/Conformance/ConformanceResults.vue +++ b/src/components/Discover/Conformance/ConformanceResults.vue @@ -392,7 +392,7 @@ * check outcomes in a data table with status indicators. */ -import { ref, watch } from "vue"; +import { ref, watch, onBeforeUnmount } from "vue"; import { storeToRefs } from "pinia"; import { useConformanceStore } from "@/stores/conformance"; import iconNA from "@/components/icons/IconNA.vue"; @@ -504,7 +504,7 @@ const progressWidth = (value) => { * @returns {string} The formatted percentage string. */ const getPercentLabel = (val) => { - if ((val * 100).toFixed(1) >= 100) return 100; + if (Number((val * 100).toFixed(1)) >= 100) return 100; else return parseFloat((val * 100).toFixed(1)); }; @@ -562,7 +562,7 @@ const setConformanceTempReportData = (newData) => { Object.values(newData.counts).reduce((acc, val) => acc + val, 0), ); const sum = newData.counts.conforming + newData.counts.not_conforming; - const rate = ((newData.counts.conforming / sum) * 100).toFixed(1); + const rate = sum === 0 ? "0.0" : ((newData.counts.conforming / sum) * 100).toFixed(1); const isNullTime = (value) => value === null ? null : getNumberLabel((value / 86400).toFixed(1)); const isNullCase = (value) => @@ -974,6 +974,11 @@ emitter.on( "timeRangeMaxMin", (newData) => (selectDurationTime.value = newData), ); + +onBeforeUnmount(() => { + emitter.off("coverPlate"); + emitter.off("timeRangeMaxMin"); +});