diff --git a/src/components/Discover/Conformance/ConformanceSidebar.vue b/src/components/Discover/Conformance/ConformanceSidebar.vue index 6aef7fc..1609b83 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar.vue @@ -296,173 +296,34 @@ export default { /** * Apply button is disabled or not */ - isApplyBtnDisabled() { - let disabledBool = true; - switch (this.selectedRuleType) { - case 'Have activity': // Rule Type 選 Have activity 的行為 - if(this.selectConformanceTask?.length) { - 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; - case 'Sequence': // Activity Sequence 選 Sequence 的行為 - switch (this.selectedMode) { - case 'Directly follows': - if(this.selectCfmSeqDirectly.length >= 2) { - disabledBool = false; - } - break; - case 'Eventually follows': - if(this.selectCfmSeqEventually.length >= 2) { - disabledBool = false; - } - break; - case 'Short loop(s)': - disabled = false; - break; - case 'Self loop(s)': - disabledBool = false; - break; - }; - } - break; - case 'Activity duration': // Rule Type 選 Activity duration 的行為 - 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); - } + isApplyBtnDisabled() { + let disabledBool = true; + + switch (this.selectedRuleType) { + case 'Have activity': + disabledBool = this.checkHaveActivity(); 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); - } + case 'Activity sequence': + disabledBool = this.checkActivitySequence(); 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); - }; + case 'Activity duration': + disabledBool = this.checkActivityDuration(); 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; - return this.isMainBtnDisabled; - + case 'Processing time': + disabledBool = this.checkProcessingTime(); + break; + case 'Waiting time': + disabledBool = this.checkWaitingTime(); + break; + case 'Cycle time': + disabledBool = this.checkCycleTime(); + break; + default: + break; + } + + this.isMainBtnDisabled = disabledBool; + return this.isMainBtnDisabled; }, ...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, ['']) }, created() {