refactor: Discover Router done.
This commit is contained in:
@@ -9,24 +9,21 @@
|
||||
</template>
|
||||
<script>
|
||||
import { storeToRefs } from 'pinia';
|
||||
import FilesStore from '@/stores/files.js';
|
||||
import axios from 'axios';
|
||||
import LoadingStore from '@/stores/loading.js';
|
||||
import ConformanceStore from '@/stores/conformance.js';
|
||||
import StatusBar from '@/components/Discover/StatusBar.vue';
|
||||
import ConformanceResults from '@/components/Discover/Conformance/ConformanceResults.vue';
|
||||
import ConformanceSidebar from '@/components/Discover/Conformance/ConformanceSidebar.vue';
|
||||
import axios from 'axios';
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const filesStore = FilesStore();
|
||||
const loadingStore = LoadingStore();
|
||||
const conformanceStore = ConformanceStore();
|
||||
const { isLoading } = storeToRefs(loadingStore);
|
||||
const { allFiles } = storeToRefs(filesStore);
|
||||
const { conformanceLogId, conformanceFilterId, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, conformanceLogTempCheckId, conformanceFilterTempCheckId, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceRuleData, conformanceTempReportData, conformanceFileName, conformanceParent } = storeToRefs(conformanceStore);
|
||||
const { conformanceLogId, conformanceFilterId, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, conformanceLogTempCheckId, conformanceFilterTempCheckId, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceRuleData, conformanceTempReportData, conformanceFileName } = storeToRefs(conformanceStore);
|
||||
|
||||
return { filesStore, allFiles, isLoading, conformanceLogId, conformanceFilterId, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, conformanceLogTempCheckId, conformanceFilterTempCheckId, conformanceStore, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceRuleData, conformanceTempReportData, conformanceFileName, conformanceParent }
|
||||
return { isLoading, conformanceLogId, conformanceFilterId, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, conformanceLogTempCheckId, conformanceFilterTempCheckId, conformanceStore, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceRuleData, conformanceTempReportData, conformanceFileName }
|
||||
},
|
||||
components: {
|
||||
StatusBar,
|
||||
@@ -34,62 +31,33 @@ export default {
|
||||
ConformanceSidebar,
|
||||
},
|
||||
async created() {
|
||||
let params = this.$route.params;
|
||||
let parent = this.$route.meta.parent;
|
||||
this.isLoading = true;
|
||||
|
||||
// type: log | filter | rule(名稱待討論) | log-check(MAP page 來的已存檔 rule) | filter-check(MAP page 來的已存檔 rule)
|
||||
switch (params.type) {
|
||||
case 'log': // FILES page 來的 log
|
||||
this.conformanceLogId = params.fileId;
|
||||
break;
|
||||
case 'filter': // FILES page 來的 filter
|
||||
this.conformanceFilterId = params.fileId;
|
||||
break;
|
||||
// case 'rule':
|
||||
// // path: "/:type/:checkType/:checkId/conformance/:checkFileId"
|
||||
// switch (params.checkType) {
|
||||
// case 'log':
|
||||
// this.conformanceLogId = params.checkFileId;
|
||||
// this.conformanceLogCreateCheckId = params.checkId;
|
||||
// // 為複寫 Modal 取得 fileName
|
||||
// await this.filesStore.fetchAllFiles();
|
||||
// await this.allFiles.forEach(file => {
|
||||
// if(file.id == this.conformanceLogCreateCheckId) return this.conformanceFileName = file.name;
|
||||
// });
|
||||
// break;
|
||||
// case 'filter':
|
||||
// this.conformanceFilterId = params.checkFileId;
|
||||
// this.conformanceFilterCreateCheckId = params.checkId;
|
||||
// // 為複寫 Modal 取得 fileName
|
||||
// await this.filesStore.fetchAllFiles();
|
||||
// await this.allFiles.forEach(file => {
|
||||
// if(file.id == this.conformanceFilterCreateCheckId) return this.conformanceFileName = file.name;
|
||||
// });
|
||||
// }
|
||||
// await this.conformanceStore.getConformanceReport();
|
||||
// break;
|
||||
case 'rule': // FILES page 來的已存檔 rule
|
||||
switch (parent.type) {
|
||||
case 'log':
|
||||
this.conformanceLogId = parent.id;
|
||||
this.conformanceLogCreateCheckId = params.fileId;
|
||||
break;
|
||||
case 'filter':
|
||||
this.conformanceFilterId = parent.id;
|
||||
this.conformanceFilterCreateCheckId = params.fileId;
|
||||
}
|
||||
// 為複寫 Modal 取得 fileName
|
||||
this.conformanceFileName = parent.name;
|
||||
await this.conformanceStore.getConformanceReport();
|
||||
break;
|
||||
case 'log-check': // MAP page 來的已存檔 rule
|
||||
console.log('c p:', params);
|
||||
// 為複寫 Modal 取得 fileName
|
||||
this.conformanceLogCreateCheckId = params.fileId;
|
||||
this.conformanceFileName = parent.name;
|
||||
break;
|
||||
case 'filter-check': // MAP page 來的已存檔 rule
|
||||
break;
|
||||
const params = this.$route.params;
|
||||
const file = this.$route.meta.file;
|
||||
const isCheckPage = this.$route.name.includes('Check');
|
||||
|
||||
if(!isCheckPage) {
|
||||
switch (params.type) {
|
||||
case 'log': // FILES page 來的 log
|
||||
this.conformanceLogId = params.fileId;
|
||||
break;
|
||||
case 'filter': // FILES page 來的 filter
|
||||
this.conformanceFilterId = params.fileId;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (params.type) {
|
||||
case 'log': // FILES page 來的已存檔 rule(log-check)
|
||||
this.conformanceLogId = file.parent.id;
|
||||
this.conformanceFileName = file.name;
|
||||
break;
|
||||
case 'filter': // FILES page 來的已存檔 rule(filter-check)
|
||||
this.conformanceFilterId = file.parent.id;
|
||||
this.conformanceFileName = file.name;
|
||||
break;
|
||||
}
|
||||
await this.conformanceStore.getConformanceReport();
|
||||
}
|
||||
await this.conformanceStore.getConformanceParams();
|
||||
// 給 rule 檔取得 ShowBar 一些時間
|
||||
@@ -113,17 +81,25 @@ export default {
|
||||
this.conformanceFileName = null;
|
||||
},
|
||||
async beforeRouteEnter(to, from, next) {
|
||||
const filesStore = FilesStore();
|
||||
// Save token in Headers.
|
||||
const token = document.cookie.replace(/(?:(?:^|.*;\s*)luciaToken\s*\=\s*([^;]*).*$)|^.*$/, "$1");
|
||||
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
|
||||
const isCheckPage = to.name.includes('Check');
|
||||
|
||||
await filesStore.fetchAllFiles();
|
||||
await filesStore.allFiles.forEach(file => {
|
||||
if(file.id == to.params.fileId) {
|
||||
to.meta.parent = file.parent;
|
||||
if (isCheckPage) {
|
||||
const conformanceStore = ConformanceStore();
|
||||
// Save token in Headers.
|
||||
const token = document.cookie.replace(/(?:(?:^|.*;\s*)luciaToken\s*\=\s*([^;]*).*$)|^.*$/, "$1");
|
||||
|
||||
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
|
||||
switch (to.params.type) {
|
||||
case 'log':
|
||||
conformanceStore.conformanceLogCreateCheckId = to.params.fileId;
|
||||
break;
|
||||
case 'filter':
|
||||
conformanceStore.conformanceFilterCreateCheckId = to.params.fileId;
|
||||
break;
|
||||
}
|
||||
});
|
||||
await conformanceStore.getConformanceReport();
|
||||
to.meta.file = await conformanceStore.conformanceTempReportData.file; // 將 file data 存到 route 給 Navbar, StatusBar 使用
|
||||
}
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user