refactor setTaskByCategoryOnRadioEmitting

This commit is contained in:
Cindy Chang
2024-07-22 14:59:24 +08:00
parent 9f48c1d2b0
commit 28cdf9822d

View File

@@ -1138,106 +1138,118 @@ export default {
this.$emitter.emit('coverPlate', false); this.$emitter.emit('coverPlate', false);
this.$toast.success(i18next.t("Conformance.RuleApplied")); this.$toast.success(i18next.t("Conformance.RuleApplied"));
}, },
/**
* 設置根據類別的任務選擇邏輯
*/
setTaskByCategoryOnRadioEmitting() { setTaskByCategoryOnRadioEmitting() {
this.$emitter.on('actRadioData', (data) => { this.$emitter.on('actRadioData', (data) => {
switch (data.category) { const handlers = {
// Activity sequence 'cfmSeqStart': this.handleCfmSeqStart,
case 'cfmSeqStart': 'cfmSeqEnd': this.handleCfmSeqEnd,
if(this.isStartSelected === true && data.task !== this.selectCfmSeqStart) this.selectCfmSeqEnd = null; 'cfmPtEteStart': this.handleSimpleSelection.bind(this, 'selectCfmPtEteStart'),
this.selectCfmSeqStart = data.task; 'cfmPtEteEnd': this.handleSimpleSelection.bind(this, 'selectCfmPtEteEnd'),
break; 'cfmPtEteSEStart': this.handleCfmPtEteSEStart,
case 'cfmSeqEnd': 'cfmPtEteSEEnd': this.handleCfmPtEteSEEnd,
if(this.isEndSelected === true && data.task !== this.selectCfmSeqEnd) this.selectCfmSeqStart = null; 'cfmPtPStart': this.handleSimpleSelection.bind(this, 'selectCfmPtPStart'),
this.selectCfmSeqEnd = data.task; 'cfmPtPEnd': this.handleSimpleSelection.bind(this, 'selectCfmPtPEnd'),
break; 'cfmPtPSEStart': this.handleCfmPtPSEStart,
// Processing time 'cfmPtPSEEnd': this.handleCfmPtPSEEnd,
case 'cfmPtEteStart': 'cfmWtEteStart': this.handleSimpleSelection.bind(this, 'selectCfmWtEteStart'),
this.selectCfmPtEteStart = data.task; 'cfmWtEteEnd': this.handleSimpleSelection.bind(this, 'selectCfmWtEteEnd'),
break; 'cfmWtEteSEStart': this.handleCfmWtEteSEStart,
case 'cfmPtEteEnd': 'cfmWtEteSEEnd': this.handleCfmWtEteSEEnd,
this.selectCfmPtEteEnd = data.task; 'cfmWtPStart': this.handleSimpleSelection.bind(this, 'selectCfmWtPStart'),
break; 'cfmWtPEnd': this.handleSimpleSelection.bind(this, 'selectCfmWtPEnd'),
case 'cfmPtEteSEStart': 'cfmWtPSEStart': this.handleCfmWtPSEStart,
if(this.isStartSelected === true && data.task !== this.selectCfmPtEteSEStart) this.selectCfmPtEteSEEnd = null; 'cfmWtPSEEnd': this.handleCfmWtPSEEnd,
this.selectCfmPtEteSEStart = data.task; 'cfmCtEteStart': this.handleSimpleSelection.bind(this, 'selectCfmCtEteStart'),
break; 'cfmCtEteEnd': this.handleSimpleSelection.bind(this, 'selectCfmCtEteEnd'),
case 'cfmPtEteSEEnd': 'cfmCtEteSEStart': this.handleCfmCtEteSEStart,
if(this.isEndSelected === true && data.task !== this.selectCfmPtEteSEEnd) this.selectCfmPtEteSEStart = null; 'cfmCtEteSEEnd': this.handleCfmCtEteSEEnd
this.selectCfmPtEteSEEnd = data.task; };
break;
case 'cfmPtPStart': if (handlers[data.category]) {
this.selectCfmPtPStart = data.task; handlers[data.category].call(this, data.task);
break; } else if (this.selectedRuleType === 'Activity duration') {
case 'cfmPtPEnd': this.selectDurationData = [data.task];
this.selectCfmPtPEnd = data.task; }
break; });
case 'cfmPtPSEStart': },
if(this.isStartSelected === true && data.task !== this.selectCfmPtPSEStart) { handleCfmSeqStart(task) {
if (this.isStartSelected && task !== this.selectCfmSeqStart) {
this.selectCfmSeqEnd = null;
}
this.selectCfmSeqStart = task;
},
handleCfmSeqEnd(task) {
if (this.isEndSelected && task !== this.selectCfmSeqEnd) {
this.selectCfmSeqStart = null;
}
this.selectCfmSeqEnd = task;
},
handleSimpleSelection(field, task) {
this[field] = task;
},
handleCfmPtEteSEStart(task) {
if (this.isStartSelected && task !== this.selectCfmPtEteSEStart) {
this.selectCfmPtEteSEEnd = null;
}
this.selectCfmPtEteSEStart = task;
},
handleCfmPtEteSEEnd(task) {
if (this.isEndSelected && task !== this.selectCfmPtEteSEEnd) {
this.selectCfmPtEteSEStart = null;
}
this.selectCfmPtEteSEEnd = task;
},
handleCfmPtPSEStart(task) {
if (this.isStartSelected && task !== this.selectCfmPtPSEStart) {
this.selectCfmPtPSEEnd = null; this.selectCfmPtPSEEnd = null;
} }
this.selectCfmPtPSEStart = data.task; this.selectCfmPtPSEStart = task;
break; },
case 'cfmPtPSEEnd': handleCfmPtPSEEnd(task) {
if(this.isEndSelected === true && data.task !== this.selectCfmPtPSEEnd) { if (this.isEndSelected && task !== this.selectCfmPtPSEEnd) {
this.selectCfmPtPSEStart = null; this.selectCfmPtPSEStart = null;
} }
this.selectCfmPtPSEEnd = data.task; this.selectCfmPtPSEEnd = task;
break; },
// Waiting time handleCfmWtEteSEStart(task) {
case 'cfmWtEteStart': if (this.isStartSelected && task !== this.selectCfmWtEteSEStart) {
this.selectCfmWtEteStart = data.task;
break;
case 'cfmWtEteEnd':
this.selectCfmWtEteEnd = data.task;
break;
case 'cfmWtEteSEStart':
if(this.isStartSelected === true && data.task !== this.selectCfmWtEteSEStart) {
this.selectCfmWtEteSEEnd = null; this.selectCfmWtEteSEEnd = null;
} }
this.selectCfmWtEteSEStart = data.task; this.selectCfmWtEteSEStart = task;
break; },
case 'cfmWtEteSEEnd': handleCfmWtEteSEEnd(task) {
if(this.isEndSelected === true && data.task !== this.selectCfmWtEteSEEnd) { if (this.isEndSelected && task !== this.selectCfmWtEteSEEnd) {
this.selectCfmWtEteSEStart = null; this.selectCfmWtEteSEStart = null;
} }
this.selectCfmWtEteSEEnd = data.task; this.selectCfmWtEteSEEnd = task;
break; },
case 'cfmWtPStart': handleCfmWtPSEStart(task) {
this.selectCfmWtPStart = data.task; if (this.isStartSelected && task !== this.selectCfmWtPSEStart) {
break; this.selectCfmWtPSEEnd = null;
case 'cfmWtPEnd': }
this.selectCfmWtPEnd = data.task; this.selectCfmWtPSEStart = task;
break; },
case 'cfmWtPSEStart': handleCfmWtPSEEnd(task) {
if(this.isStartSelected === true && data.task !== this.selectCfmWtPSEStart) this.selectCfmWtPSEEnd = null; if (this.isEndSelected && task !== this.selectCfmWtPSEEnd) {
this.selectCfmWtPSEStart = data.task; this.selectCfmWtPSEStart = null;
break; }
case 'cfmWtPSEEnd': this.selectCfmWtPSEEnd = task;
if(this.isEndSelected === true && data.task !== this.selectCfmWtPSEEnd) this.selectCfmWtPSEStart = null; },
this.selectCfmWtPSEEnd = data.task; handleCfmCtEteSEStart(task) {
break; if (this.isStartSelected && task !== this.selectCfmCtEteSEStart) {
// Cycle time this.selectCfmCtEteSEEnd = null;
case 'cfmCtEteStart': }
this.selectCfmCtEteStart = data.task; this.selectCfmCtEteSEStart = task;
break; },
case 'cfmCtEteEnd': handleCfmCtEteSEEnd(task) {
this.selectCfmCtEteEnd = data.task; if (this.isEndSelected && task !== this.selectCfmCtEteSEEnd) {
break; this.selectCfmCtEteSEStart = null;
case 'cfmCtEteSEStart': }
if(this.isStartSelected === true && data.task !== this.selectCfmCtEteSEStart) this.selectCfmCtEteSEEnd = null; this.selectCfmCtEteSEEnd = task;
this.selectCfmCtEteSEStart = data.task;
break;
case 'cfmCtEteSEEnd':
if(this.isEndSelected === true && data.task !== this.selectCfmCtEteSEEnd) this.selectCfmCtEteSEStart = null;
this.selectCfmCtEteSEEnd = data.task;
break;
default:
if(this.selectedRuleType === 'Activity duration') {
this.selectDurationData = [data.task];
};
break;
};
});
}, },
setTaskByCategoryOnListSeqEmitting(){ setTaskByCategoryOnListSeqEmitting(){
this.$emitter.on('getListSequence', (data) => { this.$emitter.on('getListSequence', (data) => {