reduce cognitive complexity at ConformanceSidebar.vue
This commit is contained in:
@@ -298,171 +298,32 @@ export default {
|
|||||||
*/
|
*/
|
||||||
isApplyBtnDisabled() {
|
isApplyBtnDisabled() {
|
||||||
let disabledBool = true;
|
let disabledBool = true;
|
||||||
|
|
||||||
switch (this.selectedRuleType) {
|
switch (this.selectedRuleType) {
|
||||||
case 'Have activity': // Rule Type 選 Have activity 的行為
|
case 'Have activity':
|
||||||
if(this.selectConformanceTask?.length) {
|
disabledBool = this.checkHaveActivity();
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break
|
|
||||||
case 'Activity sequence': // Rule Type 選 Activity sequence 的行為
|
|
||||||
switch (this.selectedActivitySequence) {
|
|
||||||
case 'Start & End': // Activity Sequence 選 Start & End 的行為
|
|
||||||
if(this.selectCfmSeqStart && this.selectCfmSeqEnd) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'Sequence': // Activity Sequence 選 Sequence 的行為
|
case 'Activity sequence':
|
||||||
switch (this.selectedMode) {
|
disabledBool = this.checkActivitySequence();
|
||||||
case 'Directly follows':
|
|
||||||
if(this.selectCfmSeqDirectly.length >= 2) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'Eventually follows':
|
case 'Activity duration':
|
||||||
if(this.selectCfmSeqEventually.length >= 2) {
|
disabledBool = this.checkActivityDuration();
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'Short loop(s)':
|
case 'Processing time':
|
||||||
disabled = false;
|
disabledBool = this.checkProcessingTime();
|
||||||
break;
|
break;
|
||||||
case 'Self loop(s)':
|
case 'Waiting time':
|
||||||
disabledBool = false;
|
disabledBool = this.checkWaitingTime();
|
||||||
break;
|
break;
|
||||||
};
|
case 'Cycle time':
|
||||||
}
|
disabledBool = this.checkCycleTime();
|
||||||
break;
|
break;
|
||||||
case 'Activity duration': // Rule Type 選 Activity duration 的行為
|
default:
|
||||||
if(this.selectDurationData?.length) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'Processing time': // Rule Type 選 Processing time 的行為
|
|
||||||
switch (this.selectedProcessScope) {
|
|
||||||
case 'End to end':
|
|
||||||
switch (this.selectedActSeqMore) {
|
|
||||||
case 'All':
|
|
||||||
disabledBool = false;
|
|
||||||
break;
|
|
||||||
case 'Start':
|
|
||||||
if(this.selectCfmPtEteStart) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'End':
|
|
||||||
if(this.selectCfmPtEteEnd) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'Start & End':
|
|
||||||
if(!this.isAlreadySubmit) {
|
|
||||||
disabledBool = !(this.selectCfmPtEteSEStart && this.selectCfmPtEteSEEnd);
|
|
||||||
} else {
|
|
||||||
disabledBool = (!this.selectCfmPtEteSEStart && this.selectCfmPtEteSEEnd)
|
|
||||||
|| (this.selectCfmPtEteSEStart && !this.selectCfmPtEteSEEnd);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case 'Partial':
|
|
||||||
switch (this.selectedActSeqFromTo) {
|
|
||||||
case 'From':
|
|
||||||
if(this.selectCfmPtPStart) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'To':
|
|
||||||
if(this.selectCfmPtPEnd) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'From & To':
|
|
||||||
if(!this.isAlreadySubmit) { // sonar-qube fix
|
|
||||||
disabledBool = !(this.selectCfmPtPSEStart && this.selectCfmPtPSEEnd)
|
|
||||||
} else { // sonar-qube fix
|
|
||||||
disabledBool = (this.selectCfmPtPSEStart && !this.selectCfmPtPSEEnd) || (!this.selectCfmPtPSEStart && this.selectCfmPtPSEEnd);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case 'Waiting time': // Rule Type 選 Waiting time 的行為
|
|
||||||
switch (this.selectedProcessScope) {
|
|
||||||
case 'End to end':
|
|
||||||
switch (this.selectedActSeqMore) {
|
|
||||||
case 'Start':
|
|
||||||
if(this.selectCfmWtEteStart) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'End':
|
|
||||||
if(this.selectCfmWtEteEnd) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'Start & End':
|
|
||||||
if(!this.isAlreadySubmit) { // sonar-qube fix
|
|
||||||
disabledBool = !(this.selectCfmWtEteSEStart == this.selectCfmWtEteSEEnd);
|
|
||||||
};
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'Partial':
|
|
||||||
switch (this.selectedActSeqFromTo) {
|
|
||||||
case 'From':
|
|
||||||
if(this.selectCfmWtPStart) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'To':
|
|
||||||
if(this.selectCfmWtPEnd) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'From & To':
|
|
||||||
if (!this.isAlreadySubmit) { // sonar-cube fix
|
|
||||||
disabledBool = !(this.selectCfmWtPSEStart && this.selectCfmWtPSEEnd);
|
|
||||||
} else {
|
|
||||||
disabledBool = (this.selectCfmWtPSEStart !== this.selectCfmWtPSEEnd);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case 'Cycle time': // Rule Type 選 Cycle time 的行為
|
|
||||||
switch (this.selectedActSeqMore) {
|
|
||||||
case 'All':
|
|
||||||
disabledBool = false;
|
|
||||||
break;
|
|
||||||
case 'Start':
|
|
||||||
if(this.selectCfmCtEteStart) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'End':
|
|
||||||
if(this.selectCfmCtEteEnd) {
|
|
||||||
disabledBool = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'Start & End':
|
|
||||||
if (!this.isAlreadySubmit) { // sonar-qube fix
|
|
||||||
if (this.selectCfmCtEteSEStart && this.selectCfmCtEteSEEnd) {
|
|
||||||
disabledBool = false;
|
|
||||||
} else {
|
|
||||||
disabledBool = true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
disabledBool = (this.selectCfmCtEteSEStart !== this.selectCfmCtEteSEEnd);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
|
|
||||||
this.isMainBtnDisabled = disabledBool;
|
this.isMainBtnDisabled = disabledBool;
|
||||||
return this.isMainBtnDisabled;
|
return this.isMainBtnDisabled;
|
||||||
|
|
||||||
},
|
},
|
||||||
...mapState(ConformanceInputStore, ['activityRadioData']),
|
...mapState(ConformanceInputStore, ['activityRadioData']),
|
||||||
},
|
},
|
||||||
@@ -1392,6 +1253,149 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
checkHaveActivity() {
|
||||||
|
return !(this.selectConformanceTask?.length);
|
||||||
|
},
|
||||||
|
checkActivityDuration() {
|
||||||
|
return !this.selectDurationData?.length;
|
||||||
|
},
|
||||||
|
checkProcessingTime() {
|
||||||
|
let disabled = true;
|
||||||
|
switch (this.selectedProcessScope) {
|
||||||
|
case 'End to end':
|
||||||
|
disabled = this.checkEndToEnd();
|
||||||
|
break;
|
||||||
|
case 'Partial':
|
||||||
|
disabled = this.checkPartial();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
},
|
||||||
|
checkEndToEnd() {
|
||||||
|
let disabled = true;
|
||||||
|
switch (this.selectedActSeqMore) {
|
||||||
|
case 'All':
|
||||||
|
disabled = false;
|
||||||
|
break;
|
||||||
|
case 'Start':
|
||||||
|
disabled = !this.selectCfmPtEteStart;
|
||||||
|
break;
|
||||||
|
case 'End':
|
||||||
|
disabled = !this.selectCfmPtEteEnd;
|
||||||
|
break;
|
||||||
|
case 'Start & End':
|
||||||
|
disabled = this.checkStartAndEnd(
|
||||||
|
this.selectCfmPtEteSEStart,
|
||||||
|
this.selectCfmPtEteSEEnd
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
},
|
||||||
|
checkPartial() {
|
||||||
|
let disabled = true;
|
||||||
|
switch (this.selectedActSeqFromTo) {
|
||||||
|
case 'From':
|
||||||
|
disabled = !this.selectCfmPtPStart;
|
||||||
|
break;
|
||||||
|
case 'To':
|
||||||
|
disabled = !this.selectCfmPtPEnd;
|
||||||
|
break;
|
||||||
|
case 'From & To':
|
||||||
|
disabled = this.checkStartAndEnd(
|
||||||
|
this.selectCfmPtPSEStart,
|
||||||
|
this.selectCfmPtPSEEnd
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
},
|
||||||
|
checkWaitingTime() {
|
||||||
|
let disabled = true;
|
||||||
|
switch (this.selectedProcessScope) {
|
||||||
|
case 'End to end':
|
||||||
|
disabled = this.checkEndToEndWaiting();
|
||||||
|
break;
|
||||||
|
case 'Partial':
|
||||||
|
disabled = this.checkPartialWaiting();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
},
|
||||||
|
|
||||||
|
checkEndToEndWaiting() {
|
||||||
|
let disabled = true;
|
||||||
|
switch (this.selectedActSeqMore) {
|
||||||
|
case 'Start':
|
||||||
|
disabled = !this.selectCfmWtEteStart;
|
||||||
|
break;
|
||||||
|
case 'End':
|
||||||
|
disabled = !this.selectCfmWtEteEnd;
|
||||||
|
break;
|
||||||
|
case 'Start & End':
|
||||||
|
disabled = this.selectCfmWtEteSEStart !== this.selectCfmWtEteSEEnd;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
},
|
||||||
|
checkPartialWaiting() {
|
||||||
|
let disabled = true;
|
||||||
|
switch (this.selectedActSeqFromTo) {
|
||||||
|
case 'From':
|
||||||
|
disabled = !this.selectCfmWtPStart;
|
||||||
|
break;
|
||||||
|
case 'To':
|
||||||
|
disabled = !this.selectCfmWtPEnd;
|
||||||
|
break;
|
||||||
|
case 'From & To':
|
||||||
|
disabled = this.checkStartAndEnd(
|
||||||
|
this.selectCfmWtPSEStart,
|
||||||
|
this.selectCfmWtPSEEnd
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
},
|
||||||
|
checkCycleTime() {
|
||||||
|
let disabled = true;
|
||||||
|
switch (this.selectedActSeqMore) {
|
||||||
|
case 'All':
|
||||||
|
disabled = false;
|
||||||
|
break;
|
||||||
|
case 'Start':
|
||||||
|
disabled = !this.selectCfmCtEteStart;
|
||||||
|
break;
|
||||||
|
case 'End':
|
||||||
|
disabled = !this.selectCfmCtEteEnd;
|
||||||
|
break;
|
||||||
|
case 'Start & End':
|
||||||
|
disabled = this.checkStartAndEnd(
|
||||||
|
this.selectCfmCtEteSEStart,
|
||||||
|
this.selectCfmCtEteSEEnd
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
},
|
||||||
|
checkStartAndEnd(start, end) {
|
||||||
|
return !this.isAlreadySubmit
|
||||||
|
? !(start && end)
|
||||||
|
: start !== end;
|
||||||
|
},
|
||||||
...mapActions(ConformanceInputStore, [''])
|
...mapActions(ConformanceInputStore, [''])
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|||||||
Reference in New Issue
Block a user