Conformance: add ConformanceTimeRange.vue

This commit is contained in:
chiayin
2023-09-05 14:06:46 +08:00
parent 5219636eb8
commit e3b8153a8e
5 changed files with 396 additions and 131 deletions

View File

@@ -40,7 +40,11 @@
:isSubmitCfmCtEteSE="isSubmitCfmCtEteSE"
></ConformanceSelectResult>
<!-- time range -->
<ConformanceTimeRange v-if="selectedRuleType === 'Activity duration' || selectedRuleType === 'Processing time' || selectedRuleType === 'Waiting time' || selectedRuleType === 'Cycle time'" :time="selectDurationTime" @min-total-seconds="minTotalSeconds" @max-total-seconds="maxTotalSeconds" ></ConformanceTimeRange>
<!-- <ConformanceTimeRange v-if="selectedRuleType === 'Activity duration' || selectedRuleType === 'Processing time' || selectedRuleType === 'Waiting time' || selectedRuleType === 'Cycle time'" :time="selectDurationTime" @min-total-seconds="minTotalSeconds" @max-total-seconds="maxTotalSeconds" ></ConformanceTimeRange> -->
<ConformanceTimeRange
@min-total-seconds="minTotalSeconds"
@max-total-seconds="maxTotalSeconds"
:isSubmitDurationTime="isSubmitDurationTime" ></ConformanceTimeRange>
</div>
<!-- button -->
<div class="space-x-4 p-4 flex justify-center items-content border-t border-neutral-300">
@@ -166,30 +170,30 @@ export default {
* @param {string} taskTwo end
* @returns {object} {min:12, max:345}
*/
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;
case 'all':
this.selectDurationTime = data;
break
default:
break;
};
},
// 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;
// case 'all':
// this.selectDurationTime = data;
// break
// default:
// break;
// };
// },
/**
* get min total seconds
* @param {Number} e
@@ -287,7 +291,7 @@ export default {
async submit() {
let data;
this.selectDurationTime = {
this.selectDurationTime = await {
min: this.selectTimeRangeMin,
max: this.selectTimeRangeMax
};
@@ -702,91 +706,91 @@ export default {
// Processing time
case 'cfmPtEteStart':
this.selectCfmPtEteStart = data.task;
this.getDurationTime(this.cfmPtEteStart, 'single', data.task);
// this.getDurationTime(this.cfmPtEteStart, 'single', data.task);
break;
case 'cfmPtEteEnd':
this.selectCfmPtEteEnd = data.task;
this.getDurationTime(this.cfmPtEteEnd, 'single', 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);
// 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);
// 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);
// this.getDurationTime(this.cfmPtPStart, 'single', data.task);
break;
case 'cfmPtPEnd':
this.selectCfmPtPEnd = data.task;
this.getDurationTime(this.cfmPtPEnd, 'single', 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);
// 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);
// 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);
// this.getDurationTime(this.cfmWtEteStart, 'single', data.task);
break;
case 'cfmWtEteEnd':
this.selectCfmWtEteEnd = data.task;
this.getDurationTime(this.cfmWtEteEnd, 'single', 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);
// 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);
// 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);
// this.getDurationTime(this.cfmWtPStart, 'single', data.task);
break;
case 'cfmWtPEnd':
this.selectCfmWtPEnd = data.task;
this.getDurationTime(this.cfmWtPEnd, 'single', 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);
// 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);
// 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);
// this.getDurationTime(this.cfmPtEteStart, 'single', data.task);
break;
case 'cfmCtEteEnd':
this.selectCfmCtEteEnd = data.task;
this.getDurationTime(this.cfmCtEteEnd, 'single', 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);
// 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);
// 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(this.conformanceAllTasks, 'act', data.task);
// this.getDurationTime(this.conformanceAllTasks, 'act', data.task);
};
break;
};
@@ -800,19 +804,19 @@ export default {
this.selectTimeReset();
this.selectDurationTime = { min: 0, max: 0};
};
switch (this.selectedRuleType) {
case 'Processing time':
this.getDurationTime(this.cfmPtEteWhole, 'all');
break;
case 'Waiting time':
this.getDurationTime(this.cfmWtEteWhole, 'all');
break;
case 'Cycle time':
this.getDurationTime(this.cfmCtEteWhole, 'all');
break;
default:
break;
};
// switch (this.selectedRuleType) {
// case 'Processing time':
// this.getDurationTime(this.cfmPtEteWhole, 'all');
// break;
// case 'Waiting time':
// this.getDurationTime(this.cfmWtEteWhole, 'all');
// break;
// case 'Cycle time':
// this.getDurationTime(this.cfmCtEteWhole, 'all');
// break;
// default:
// break;
// };
});
this.$emitter.on('isRadioSeqChange', (data) => {
if(data) {
@@ -827,23 +831,7 @@ export default {
});
this.$emitter.on('isRadioActSeqMoreChange', (data) => {
if(data) {
if(this.selectedActSeqMore === 'All') {
switch (this.selectedRuleType) {
case 'Processing time':
this.getDurationTime(this.cfmPtEteWhole, 'all');
break;
case 'Waiting time':
this.getDurationTime(this.cfmWtEteWhole, 'all');
break;
case 'Cycle time':
this.getDurationTime(this.cfmCtEteWhole, 'all');
break;
default:
break;
};
}else{
this.selectDurationTime = { min: 0, max: 0};
};
if(this.selectedActSeqMore !== 'All') this.selectDurationTime = { min: 0, max: 0};
};
});
this.$emitter.on('isRadioActSeqFromToChange', (data) => {