138 lines
4.0 KiB
Vue
138 lines
4.0 KiB
Vue
<template>
|
|
<main class="h-screen-main relative">
|
|
<div class="h-full relative bg-neutral-50">
|
|
<ConformanceSidebar></ConformanceSidebar>
|
|
<ConformanceResults></ConformanceResults>
|
|
</div>
|
|
<StatusBar></StatusBar>
|
|
</main>
|
|
</template>
|
|
<script>
|
|
// The Lucia project.
|
|
// Copyright 2023-2026 DSP, inc. All rights reserved.
|
|
// Authors:
|
|
// chiayin.kuo@dsp.im (chiayin), 2023/1/31
|
|
// cindy.chang@dsp.im (Cindy Chang), 2024/5/30
|
|
// imacat.yang@dsp.im (imacat), 2023/9/23
|
|
/**
|
|
* @module views/Discover/Conformance Conformance checking page
|
|
* with sidebar rule configuration and results display.
|
|
*/
|
|
|
|
import { useConformanceStore as useConformanceStoreInGuard } from "@/stores/conformance";
|
|
|
|
export default {
|
|
async beforeRouteEnter(to, from, next) {
|
|
const isCheckPage = to.name.includes("Check");
|
|
if (isCheckPage) {
|
|
const conformanceStore = useConformanceStoreInGuard();
|
|
switch (to.params.type) {
|
|
case "log":
|
|
conformanceStore.setConformanceLogCreateCheckId(to.params.fileId);
|
|
break;
|
|
case "filter":
|
|
conformanceStore.conformanceFilterCreateCheckId = to.params.fileId;
|
|
break;
|
|
}
|
|
await conformanceStore.getConformanceReport();
|
|
to.meta.file = await conformanceStore.conformanceTempReportData?.file;
|
|
}
|
|
next();
|
|
},
|
|
};
|
|
</script>
|
|
<script setup>
|
|
import { onMounted, onBeforeUnmount } from "vue";
|
|
import { useRoute } from "vue-router";
|
|
import { storeToRefs } from "pinia";
|
|
import { useLoadingStore } from "@/stores/loading";
|
|
import { useConformanceStore } from "@/stores/conformance";
|
|
import StatusBar from "@/components/Discover/StatusBar.vue";
|
|
import ConformanceResults from "@/components/Discover/Conformance/ConformanceResults.vue";
|
|
import ConformanceSidebar from "@/components/Discover/Conformance/ConformanceSidebar.vue";
|
|
|
|
const route = useRoute();
|
|
|
|
// Stores
|
|
const loadingStore = useLoadingStore();
|
|
const conformanceStore = useConformanceStore();
|
|
const { isLoading } = storeToRefs(loadingStore);
|
|
const {
|
|
conformanceLogId,
|
|
conformanceFilterId,
|
|
conformanceLogCreateCheckId,
|
|
conformanceFilterCreateCheckId,
|
|
conformanceLogTempCheckId,
|
|
conformanceFilterTempCheckId,
|
|
selectedRuleType,
|
|
selectedActivitySequence,
|
|
selectedMode,
|
|
selectedProcessScope,
|
|
selectedActSeqMore,
|
|
selectedActSeqFromTo,
|
|
conformanceRuleData,
|
|
conformanceTempReportData,
|
|
conformanceFileName,
|
|
} = storeToRefs(conformanceStore);
|
|
|
|
let loadingTimerId = null;
|
|
|
|
// Created logic
|
|
(async () => {
|
|
isLoading.value = true;
|
|
try {
|
|
const params = route.params;
|
|
const file = route.meta.file;
|
|
const isCheckPage = route.name.includes("Check");
|
|
|
|
if (!isCheckPage) {
|
|
switch (params.type) {
|
|
case "log":
|
|
conformanceLogId.value = params.fileId;
|
|
break;
|
|
case "filter":
|
|
conformanceFilterId.value = params.fileId;
|
|
break;
|
|
}
|
|
} else {
|
|
switch (params.type) {
|
|
case "log":
|
|
conformanceLogId.value = file.parent?.id;
|
|
conformanceFileName.value = file.name;
|
|
break;
|
|
case "filter":
|
|
conformanceFilterId.value = file.parent?.id;
|
|
conformanceFileName.value = file.name;
|
|
break;
|
|
}
|
|
await conformanceStore.getConformanceReport();
|
|
}
|
|
await conformanceStore.getConformanceParams();
|
|
} catch (error) {
|
|
console.error("Failed to initialize conformance:", error);
|
|
} finally {
|
|
loadingTimerId = setTimeout(() => (isLoading.value = false), 500);
|
|
}
|
|
})();
|
|
|
|
// Mounted
|
|
onMounted(() => {
|
|
selectedRuleType.value = "Have activity";
|
|
selectedActivitySequence.value = "Start & End";
|
|
selectedMode.value = "Directly follows";
|
|
selectedProcessScope.value = "End to end";
|
|
selectedActSeqMore.value = "All";
|
|
selectedActSeqFromTo.value = "From";
|
|
});
|
|
|
|
onBeforeUnmount(() => {
|
|
clearTimeout(loadingTimerId);
|
|
conformanceLogId.value = null;
|
|
conformanceFilterId.value = null;
|
|
conformanceLogCreateCheckId.value = null;
|
|
conformanceFilterCreateCheckId.value = null;
|
|
conformanceRuleData.value = null;
|
|
conformanceFileName.value = null;
|
|
});
|
|
</script>
|