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