diff --git a/src/components/Discover/Conformance/ConformanceSidebar.vue b/src/components/Discover/Conformance/ConformanceSidebar.vue
index e7b3e9b..2efddd2 100644
--- a/src/components/Discover/Conformance/ConformanceSidebar.vue
+++ b/src/components/Discover/Conformance/ConformanceSidebar.vue
@@ -59,9 +59,9 @@ export default {
const loadingStore = LoadingStore();
const conformanceStore = ConformanceStore();
const { isLoading } = storeToRefs(loadingStore);
- const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceAllTasks } = storeToRefs(conformanceStore);
+ const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceAllTasks, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE } = storeToRefs(conformanceStore);
- return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceStore, conformanceAllTasks }
+ return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceStore, conformanceAllTasks, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE }
},
data() {
return {
@@ -76,6 +76,26 @@ export default {
listSeq: [],
selectDurationData: null,
selectDurationTime: null,
+ selectCfmPtEteStart: null, // Processing time
+ selectCfmPtEteEnd: null,
+ selectCfmPtEteSEStart: null,
+ selectCfmPtEteSEEnd: null,
+ selectCfmPtPStart: null,
+ selectCfmPtPEnd: null,
+ selectCfmPtPSEStart: null,
+ selectCfmPtPSEEnd: null,
+ selectCfmWtEteStart: null, // Waiting time
+ selectCfmWtEteEnd: null,
+ selectCfmWtEteSEStart: null,
+ selectCfmWtEteSEEnd: null,
+ selectCfmWtPStart: null,
+ selectCfmWtPEnd: null,
+ selectCfmWtPSEStart: null,
+ selectCfmWtPSEEnd: null,
+ selectCfmCtEteStart: null, // Cycle time
+ selectCfmCtEteEnd: null,
+ selectCfmCtEteSEStart: null,
+ selectCfmCtEteSEEnd: null,
isSubmit: false,
isSubmitTask: null,
isSubmitStartAndEnd: null,
@@ -91,14 +111,35 @@ export default {
},
methods: {
/**
- * get Activity duration Time Range(duration)
- * @param {string} task
+ * get Time Range(duration)
+ * @param {array} data API data
+ * @param {string} category act | single | double
+ * @param {string} task select Radio task or start
+ * @param {string} taskTwo end
* @returns {object} {min:12, max:345}
*/
- getDurationTime(task) {
- this.conformanceAllTasks.forEach(i => {
- if(i.label === task) this.selectDurationTime = i.duration;
- });
+ getDurationTime(data, category, task, taskTwo) {
+ switch (category) {
+ case 'act':
+ data.forEach(i => {
+ if(i.label === task) this.selectDurationTime = i.duration;
+ });
+ break;
+ case 'single':
+ data.forEach(i => {
+ if(i.task === task) this.selectDurationTime = i.time;
+ });
+ break;
+ case 'double':
+ data.forEach(i => {
+ if(i.start === task && i.end === taskTwo) this.selectDurationTime = i.time;
+ });
+ break;
+
+ default:
+ break;
+ }
+
},
/**
* @param {boolean} massage true | false 清空選單選項, 選擇的結果
@@ -235,11 +276,94 @@ export default {
case 'To':
this.selectConformanceTo = data.task;
break;
+ // Processing time
+ case 'cfmPtEteStart':
+ this.selectCfmPtEteStart = data.task;
+ this.getDurationTime(this.cfmPtEteStart, 'single', data.task);
+ break;
+ case 'cfmPtEteEnd':
+ this.selectCfmPtEteEnd = data.task;
+ this.getDurationTime(this.cfmPtEteEnd, 'single', data.task);
+ break;
+ case 'cfmPtEteSEStart':
+ this.selectCfmPtEteSEStart = data.task;
+ if(this.selectCfmPtEteSEEnd)this.getDurationTime(this.cfmPtEteSE, 'double', data.task, this.selectCfmPtEteSEEnd);
+ break;
+ case 'cfmPtEteSEEnd':
+ this.selectCfmPtEteSEEnd = data.task;
+ if(this.selectCfmPtEteSEStart)this.getDurationTime(this.cfmPtEteSE, 'double', this.selectCfmPtEteSEStart, data.task);
+ break;
+ case 'cfmPtPStart':
+ this.selectCfmPtPStart = data.task;
+ this.getDurationTime(this.cfmPtPStart, 'single', data.task);
+ break;
+ case 'cfmPtPEnd':
+ this.selectCfmPtPEnd = data.task;
+ this.getDurationTime(this.cfmPtPEnd, 'single', data.task);
+ break;
+ case 'cfmPtPSEStart':
+ this.selectCfmPtPSEStart = data.task;
+ if(this.selectCfmPtPSEEnd)this.getDurationTime(this.cfmPtPSE, 'double', data.task, this.selectCfmPtPSEEnd);
+ break;
+ case 'cfmPtPSEEnd':
+ this.selectCfmPtPSEEnd = data.task;
+ if(this.selectCfmPtPSEStart)this.getDurationTime(this.cfmPtPSE, 'double', this.selectCfmPtPSEStart, data.task);
+ break;
+ // Waiting time
+ case 'cfmWtEteStart':
+ this.selectCfmWtEteStart = data.task;
+ this.getDurationTime(this.cfmWtEteStart, 'single', data.task);
+ break;
+ case 'cfmWtEteEnd':
+ this.selectCfmWtEteEnd = data.task;
+ this.getDurationTime(this.cfmWtEteEnd, 'single', data.task);
+ break;
+ case 'cfmWtEteSEStart':
+ this.selectCfmWtEteSEStart = data.task;
+ if(this.selectCfmWtEteSEEnd)this.getDurationTime(this.cfmWtEteSE, 'double', data.task, this.selectCfmWtEteSEEnd);
+ break;
+ case 'cfmWtEteSEEnd':
+ this.selectCfmWtEteSEEnd = data.task;
+ if(this.selectCfmWtEteSEStart)this.getDurationTime(this.cfmWtEteSE, 'double', this.selectCfmWtEteSEStart, data.task);
+ break;
+ case 'cfmWtPStart':
+ this.selectCfmWtPStart = data.task;
+ this.getDurationTime(this.cfmWtPStart, 'single', data.task);
+ break;
+ case 'cfmWtPEnd':
+ this.selectCfmWtPEnd = data.task;
+ this.getDurationTime(this.cfmWtPEnd, 'single', data.task);
+ break;
+ case 'cfmWtPSEStart':
+ this.selectCfmWtPSEStart = data.task;
+ if(this.selectCfmWtPSEEnd)this.getDurationTime(this.cfmWtPSE, 'double', data.task, this.selectCfmWtPSEEnd);
+ break;
+ case 'cfmWtPSEEnd':
+ this.selectCfmWtPSEEnd = data.task;
+ if(this.selectCfmWtPSEStart)this.getDurationTime(this.cfmWtPSE, 'double', this.selectCfmWtPSEStart, data.task);
+ break;
+ // Cycle time
+ case 'cfmCtEteStart':
+ this.selectCfmCtEteStart = data.task;
+ this.getDurationTime(this.cfmPtEteStart, 'single', data.task);
+ break;
+ case 'cfmCtEteEnd':
+ this.selectCfmCtEteEnd = data.task;
+ this.getDurationTime(this.cfmCtEteEnd, 'single', data.task);
+ break;
+ case 'cfmCtEteSEStart':
+ this.selectCfmCtEteSEStart = data.task;
+ if(this.selectCfmCtEteSEEnd)this.getDurationTime(this.cfmCtEteSE, 'double', data.task, this.selectCfmCtEteSEEnd);
+ break;
+ case 'cfmCtEteSEEnd':
+ this.selectCfmCtEteSEEnd = data.task;
+ if(this.selectCfmCtEteSEStart)this.getDurationTime(this.cfmCtEteSE, 'double', this.selectCfmCtEteSEStart, data.task);
+ break;
default:
if(this.selectedRuleType === 'Activity sequence') this.listSequence = [data.task];
else if(this.selectedRuleType === 'Activity duration') {
this.selectDurationData = [data.task];
- this.getDurationTime(data.task);
+ this.getDurationTime(this.conformanceAllTasks, 'act', data.task);
};
break;
};
diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue
index 697e8a1..f5e9b2c 100644
--- a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue
+++ b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue
@@ -18,28 +18,28 @@