From 205b75450c7bbe7d08df449d3d93e9764f87f264 Mon Sep 17 00:00:00 2001 From: Cindy Chang Date: Wed, 5 Jun 2024 10:50:37 +0800 Subject: [PATCH] refactor conformance related code --- .../Conformance/ConformanceSidebar.vue | 294 +++++++++++------- .../ConformanceSidebar/ConformanceShowBar.vue | 142 ++++++--- 2 files changed, 294 insertions(+), 142 deletions(-) diff --git a/src/components/Discover/Conformance/ConformanceSidebar.vue b/src/components/Discover/Conformance/ConformanceSidebar.vue index 4b74527..76dddfe 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar.vue @@ -13,10 +13,12 @@ -
+

{{ i18next.t("Conformance.ActivitySelector") }}

- + {{ isShowBarOpen ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}
@@ -48,7 +50,9 @@
- +
- - + @@ -129,14 +136,29 @@ export default { const loadingStore = LoadingStore(); const conformanceStore = ConformanceStore(); const { isLoading } = storeToRefs(loadingStore); - const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceAllTasks, cfmPtEteWhole, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteWhole, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteWhole, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, isEndSelected, conformanceRuleData, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, conformanceTempReportData } = storeToRefs(conformanceStore); + const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, + selectedActSeqMore, selectedActSeqFromTo, conformanceAllTasks, cfmPtEteWhole, + cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteWhole, + cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteWhole, + cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, isEndSelected, + conformanceRuleData, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, + conformanceTempReportData + } = storeToRefs(conformanceStore); - return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceStore, conformanceAllTasks, cfmPtEteWhole, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteWhole, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteWhole, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, isEndSelected, conformanceRuleData, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, conformanceTempReportData } + return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, + selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, + conformanceStore, conformanceAllTasks, cfmPtEteWhole, cfmPtEteStart, + cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteWhole, + cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, + cfmCtEteWhole, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, isEndSelected, + conformanceRuleData, conformanceLogCreateCheckId, conformanceFilterCreateCheckId, + conformanceTempReportData + }; }, data() { return { i18next: i18next, - isDisabled: true, + isMainBtnDisabled: true, isShowBarOpen: false, visibleLeft: false, selectConformanceTask: null, @@ -170,7 +192,7 @@ export default { selectCfmCtEteSEStart: null, selectCfmCtEteSEEnd: null, isSubmit: false, - isSubmitData: null, // 已 Apply 後,沒有重新改變規則的 Data + isSubmittedData: null, // 已 Apply 後,沒有重新改變規則的 Data isSubmitTask: null, isSubmitStartAndEnd: null, // Activity sequence isSubmitCfmSeqDirectly: [], @@ -264,31 +286,42 @@ export default { notShowActList: function() { return (this.selectedRuleType === 'Activity sequence' && this.selectedActivitySequence === 'Sequence' && (this.selectedMode === 'Short loop(s)' || this.selectedMode === 'Self loop(s)')) - || (this.selectedRuleType === 'Processing time' && this.selectedProcessScope === 'End to end' && this.selectedActSeqMore === 'All') - || (this.selectedRuleType === 'Waiting time' && this.selectedProcessScope === 'End to end' && this.selectedActSeqMore === 'All') - || (this.selectedRuleType === 'Cycle time' && this.selectedProcessScope === 'End to end' && this.selectedActSeqMore === 'All') + || (this.selectedRuleType === 'Processing time' && this.selectedProcessScope === 'End to end' + && this.selectedActSeqMore === 'All') + || (this.selectedRuleType === 'Waiting time' && this.selectedProcessScope === 'End to end' + && this.selectedActSeqMore === 'All') + || (this.selectedRuleType === 'Cycle time' && this.selectedProcessScope === 'End to end' + && this.selectedActSeqMore === 'All') }, /** * Apply button is disabled or not */ - isDisabledButton() { + isApplyBtnDisabled() { let disabled = true; switch (this.selectedRuleType) { case 'Have activity': // Rule Type 選 Have activity 的行為 - if(this.selectConformanceTask?.length) disabled = false; + if(this.selectConformanceTask?.length) { + disabled = false; + } break case 'Activity sequence': // Rule Type 選 Activity sequence 的行為 switch (this.selectedActivitySequence) { case 'Start & End': // Activity Sequence 選 Start & End 的行為 - if(this.selectCfmSeqStart && this.selectCfmSeqEnd) disabled = false; + if(this.selectCfmSeqStart && this.selectCfmSeqEnd) { + disabled = false; + } break; case 'Sequence': // Activity Sequence 選 Sequence 的行為 switch (this.selectedMode) { case 'Directly follows': - if(this.selectCfmSeqDirectly.length >= 2) disabled = false; + if(this.selectCfmSeqDirectly.length >= 2) { + disabled = false; + } break; case 'Eventually follows': - if(this.selectCfmSeqEventually.length >= 2) disabled = false; + if(this.selectCfmSeqEventually.length >= 2) { + disabled = false; + } break; case 'Short loop(s)': disabled = false; @@ -300,7 +333,9 @@ export default { } break; case 'Activity duration': // Rule Type 選 Activity duration 的行為 - if(this.selectDurationData?.length) disabled = false; + if(this.selectDurationData?.length) { + disabled = false; + } break; case 'Processing time': // Rule Type 選 Processing time 的行為 switch (this.selectedProcessScope) { @@ -310,18 +345,28 @@ export default { disabled = false; break; case 'Start': - if(this.selectCfmPtEteStart) disabled = false; + if(this.selectCfmPtEteStart) { + disabled = false; + } break; case 'End': - if(this.selectCfmPtEteEnd) disabled = false; + if(this.selectCfmPtEteEnd) { + disabled = false; + } break; case 'Start & End': if(!this.isSubmit) { - if(this.selectCfmPtEteSEStart && this.selectCfmPtEteSEEnd) disabled = false; + if(this.selectCfmPtEteSEStart && this.selectCfmPtEteSEEnd){ + disabled = false; + } } else { if((!this.selectCfmPtEteSEStart && this.selectCfmPtEteSEEnd) - || (this.selectCfmPtEteSEStart && !this.selectCfmPtEteSEEnd)) disabled = true; - else disabled = false; + || (this.selectCfmPtEteSEStart && !this.selectCfmPtEteSEEnd)) { + disabled = true; + } + else { + disabled = false; + } } break; }; @@ -329,18 +374,28 @@ export default { case 'Partial': switch (this.selectedActSeqFromTo) { case 'From': - if(this.selectCfmPtPStart) disabled = false; + if(this.selectCfmPtPStart) { + disabled = false; + } break; case 'To': - if(this.selectCfmPtPEnd) disabled = false; + if(this.selectCfmPtPEnd) { + disabled = false; + } break; case 'From & To': if(!this.isSubmit) { - if(this.selectCfmPtPSEStart && this.selectCfmPtPSEEnd) disabled = false; + if(this.selectCfmPtPSEStart && this.selectCfmPtPSEEnd) { + disabled = false; + } } else { if((!this.selectCfmPtPSEStart && this.selectCfmPtPSEEnd) - || (this.selectCfmPtPSEStart && !this.selectCfmPtPSEEnd)) disabled = true; - else disabled = false; + || (this.selectCfmPtPSEStart && !this.selectCfmPtPSEEnd)) { + disabled = true; + } + else { + disabled = false; + } } break; }; @@ -351,41 +406,58 @@ export default { switch (this.selectedProcessScope) { case 'End to end': switch (this.selectedActSeqMore) { - case 'All': - disabled = false; - break; case 'Start': - if(this.selectCfmWtEteStart) disabled = false; + if(this.selectCfmWtEteStart) { + disabled = false; + } break; case 'End': - if(this.selectCfmWtEteEnd) disabled = false; + if(this.selectCfmWtEteEnd) { + disabled = false; + } break; case 'Start & End': if(!this.isSubmit) { - if(this.selectCfmWtEteSEStart && this.selectCfmWtEteSEEnd) disabled = false; - } else { - if((!this.selectCfmWtEteSEStart && this.selectCfmWtEteSEEnd) - || (this.selectCfmWtEteSEStart && !this.selectCfmWtEteSEEnd)) disabled = true; - else disabled = false; - } - break; - }; - break; + if(this.selectCfmWtEteSEStart && this.selectCfmWtEteSEEnd) { + disabled = false; + } else { + if((!this.selectCfmWtEteSEStart && this.selectCfmWtEteSEEnd) + || (this.selectCfmWtEteSEStart && !this.selectCfmWtEteSEEnd)) { + disabled = true; + } + else { + disabled = false; + } + } + break; + }; + break; + } case 'Partial': switch (this.selectedActSeqFromTo) { case 'From': - if(this.selectCfmWtPStart) disabled = false; + if(this.selectCfmWtPStart) { + disabled = false; + } break; case 'To': - if(this.selectCfmWtPEnd) disabled = false; + if(this.selectCfmWtPEnd) { + disabled = false; + } break; case 'From & To': if(!this.isSubmit) { - if(this.selectCfmWtPSEStart && this.selectCfmWtPSEEnd) disabled = false; + if(this.selectCfmWtPSEStart && this.selectCfmWtPSEEnd) { + disabled = false; + } } else { if((!this.selectCfmWtPSEStart && this.selectCfmWtPSEEnd) - || (this.selectCfmWtPSEStart && !this.selectCfmWtPSEEnd)) disabled = true; - else disabled = false; + || (this.selectCfmWtPSEStart && !this.selectCfmWtPSEEnd)) { + disabled = true; + } + else { + disabled = false; + } } break; }; @@ -398,29 +470,41 @@ export default { disabled = false; break; case 'Start': - if(this.selectCfmCtEteStart) disabled = false; + if(this.selectCfmCtEteStart) { + disabled = false; + } break; case 'End': - if(this.selectCfmCtEteEnd) disabled = false; + if(this.selectCfmCtEteEnd) { + disabled = false; + } break; case 'Start & End': if(!this.isSubmit) { - if(this.selectCfmCtEteSEStart && this.selectCfmCtEteSEEnd) disabled = false; + if(this.selectCfmCtEteSEStart && this.selectCfmCtEteSEEnd) { + disabled = false; + } } else { if((!this.selectCfmCtEteSEStart && this.selectCfmCtEteSEEnd) - || (this.selectCfmCtEteSEStart && !this.selectCfmCtEteSEEnd)) disabled = true; - else disabled = false; + || (this.selectCfmCtEteSEStart && !this.selectCfmCtEteSEEnd)) { + disabled = true; + } + else { + disabled = false; + } } break; }; break; }; - return this.isDisabled = disabled; + + return this.isMainBtnDisabled = disabled; + }, }, watch: { - isSubmitData: function(newValue) { - this.isSubmitData = newValue; + isSubmittedData: function(newValue) { + this.isSubmittedData = newValue; }, // 打開 rule 檔要顯示儲存的選項、規則、時間 conformanceTempReportData: { @@ -429,7 +513,7 @@ export default { if(newValue !== null) { const rule = newValue.rule; - this.isSubmitData = newValue.rule; + this.isSubmittedData = newValue.rule; this.isSubmit = true; switch (rule.type) { case 'contains-tasks': // Rule Type 選 Have activity 的行為 @@ -522,7 +606,7 @@ export default { base: newValue.charts.time.x_axis, rule: { min: rule.min, max: rule.max}, }; - this.isSubmitShowDataPtEte = this.setSubmitShowData(rule.start, rule.end); + this.isSubmitShowDataPtEte = this.setSubmitShowDataByStartEnd(rule.start, rule.end); break; case 'processing-time-partial-starts-with': this.selectedRuleType = 'Processing time'; @@ -562,7 +646,7 @@ export default { base: newValue.charts.time.x_axis, rule: { min: rule.min, max: rule.max}, }; - this.isSubmitShowDataPtP = this.setSubmitShowData(rule.start, rule.end); + this.isSubmitShowDataPtP = this.setSubmitShowDataByStartEnd(rule.start, rule.end); break; case 'waiting-time-end-to-end-whole': // Rule Type 選 Waiting time 的行為 this.selectedRuleType = 'Waiting time'; @@ -611,7 +695,7 @@ export default { base: newValue.charts.time.x_axis, rule: { min: rule.min, max: rule.max}, }; - this.isSubmitShowDataWtEte = this.setSubmitShowData(rule.start, rule.end); + this.isSubmitShowDataWtEte = this.setSubmitShowDataByStartEnd(rule.start, rule.end); break; case 'waiting-time-partial-starts-with': this.selectedRuleType = 'Waiting time'; @@ -651,7 +735,7 @@ export default { base: newValue.charts.time.x_axis, rule: { min: rule.min, max: rule.max}, }; - this.isSubmitShowDataWtP = this.setSubmitShowData(rule.start, rule.end); + this.isSubmitShowDataWtP = this.setSubmitShowDataByStartEnd(rule.start, rule.end); break; case 'cycle-time-end-to-end-whole': // Rule Type 選 Cycle time 的行為 this.selectedRuleType = 'Cycle time'; @@ -700,7 +784,7 @@ export default { base: newValue.charts.time.x_axis, rule: { min: rule.min, max: rule.max}, }; - this.isSubmitShowDataCt = this.setSubmitShowData(rule.start, rule.end); + this.isSubmitShowDataCt = this.setSubmitShowDataByStartEnd(rule.start, rule.end); break; } } @@ -762,7 +846,7 @@ export default { * is submit select Reset */ isSubmitReset() { - // 不包含 isSubmitData + // 不包含 isSubmittedData this.isSubmitTask = null; this.isSubmitStartAndEnd = null; this.isSubmitCfmSeqDirectly = []; @@ -811,7 +895,7 @@ export default { this.$emitter.emit('coverPlate', true); // is submit select Reset this.isSubmitReset(); - this.isSubmitData = null; // 已 Apply 後,沒有重新改變規則的 Data + this.isSubmittedData = null; // 已 Apply 後,沒有重新改變規則的 Data this.isSubmit = false; // 其他子元件 reset @@ -827,7 +911,7 @@ export default { * @param {string} end task * @returns {object} */ - setSubmitShowData(start, end) { + setSubmitShowDataByStartEnd(start, end) { if(this.isStartSelected) { return { task: start, @@ -850,7 +934,7 @@ export default { * Apply button 發送選項,取得 Check Id. */ async submitConformance() { - let data ; + let dataToSave ; this.selectDurationTime = await { min: this.selectTimeRangeMin, @@ -860,18 +944,18 @@ export default { switch (this.selectedRuleType) { case 'Have activity': // Rule Type 選 Have activity 的行為 - data = { + dataToSave = { type: 'contains-tasks', tasks: this.selectConformanceTask, }; - // 其他 isSubmitData 為 null + // 其他 isSubmittedData 為 null this.isSubmitReset(); this.isSubmitTask = this.selectConformanceTask; break; case 'Activity sequence': // Rule Type 選 Activity sequence 的行為 switch (this.selectedActivitySequence) { case 'Start & End': // Activity Sequence 選 Start & End 的行為 - data = { + dataToSave = { type: 'start-end', starts_with: this.selectCfmSeqStart, ends_with: this.selectCfmSeqEnd, @@ -881,12 +965,12 @@ export default { {category: 'Start', task: this.selectCfmSeqStart}, {category: 'End', task: this.selectCfmSeqEnd}, ]; - this.isSubmitShowDataSeq = this.setSubmitShowData(this.selectCfmSeqStart, this.selectCfmSeqEnd); + this.isSubmitShowDataSeq = this.setSubmitShowDataByStartEnd(this.selectCfmSeqStart, this.selectCfmSeqEnd); break; case 'Sequence': // Activity Sequence 選 Sequence 的行為 switch (this.selectedMode) { case 'Directly follows': - data = { + dataToSave = { type: 'directly-follows', task_seq: this.selectCfmSeqDirectly, }; @@ -894,7 +978,7 @@ export default { this.isSubmitCfmSeqDirectly = JSON.parse(JSON.stringify(this.selectCfmSeqDirectly)); break; case 'Eventually follows': - data = { + dataToSave = { type: 'eventually-follows', task_seq: this.selectCfmSeqEventually, }; @@ -902,12 +986,12 @@ export default { this.isSubmitCfmSeqEventually = JSON.parse(JSON.stringify(this.selectCfmSeqEventually)); break; case 'Short loop(s)': - data = { + dataToSave = { type: 'short-loops', }; break; case 'Self loop(s)': - data = { + dataToSave = { type: 'self-loops', }; break; @@ -919,7 +1003,7 @@ export default { } break; case 'Activity duration': // Rule Type 選 Activity duration 的行為 - data = { + dataToSave = { type: 'task-duration', task: this.selectDurationData[0], min: this.selectDurationTime.min, @@ -934,7 +1018,7 @@ export default { case 'End to end': switch (this.selectedActSeqMore) { case 'All': - data = { + dataToSave = { min: this.selectDurationTime.min, max: this.selectDurationTime.max, type: 'processing-time-end-to-end-whole', @@ -943,7 +1027,7 @@ export default { this.isSubmitTimeCfmPtEteAll.rule = this.selectDurationTime; break; case 'Start': - data = { + dataToSave = { task: this.selectCfmPtEteStart, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -956,7 +1040,7 @@ export default { this.isSubmitTimeCfmPtEteStart.rule = this.selectDurationTime; break; case 'End': - data = { + dataToSave = { task: this.selectCfmPtEteEnd, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -969,7 +1053,7 @@ export default { this.isSubmitTimeCfmPtEteEnd.rule = this.selectDurationTime; break; case 'Start & End': - data = { + dataToSave = { start: this.selectCfmPtEteSEStart, end: this.selectCfmPtEteSEEnd, min: this.selectDurationTime.min, @@ -982,14 +1066,14 @@ export default { {category: 'End', task: this.selectCfmPtEteSEEnd}, ]; this.isSubmitTimeCfmPtEteSE.rule = this.selectDurationTime; - this.isSubmitShowDataPtEte = this.setSubmitShowData(this.selectCfmPtEteSEStart, this.selectCfmPtEteSEEnd); + this.isSubmitShowDataPtEte = this.setSubmitShowDataByStartEnd(this.selectCfmPtEteSEStart, this.selectCfmPtEteSEEnd); break; }; break; case 'Partial': switch (this.selectedActSeqFromTo) { case 'From': - data = { + dataToSave = { task: this.selectCfmPtPStart, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1002,7 +1086,7 @@ export default { this.isSubmitTimeCfmPtPStart.rule = this.selectDurationTime; break; case 'To': - data = { + dataToSave = { task: this.selectCfmPtPEnd, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1015,7 +1099,7 @@ export default { this.isSubmitTimeCfmPtPEnd.rule = this.selectDurationTime; break; case 'From & To': - data = { + dataToSave = { start: this.selectCfmPtPSEStart, end: this.selectCfmPtPSEEnd, min: this.selectDurationTime.min, @@ -1028,7 +1112,7 @@ export default { {category: 'To', task: this.selectCfmPtPSEEnd}, ]; this.isSubmitTimeCfmPtPSE.rule = this.selectDurationTime; - this.isSubmitShowDataPtP = this.setSubmitShowData(this.selectCfmPtPSEStart, this.selectCfmPtPSEEnd); + this.isSubmitShowDataPtP = this.setSubmitShowDataByStartEnd(this.selectCfmPtPSEStart, this.selectCfmPtPSEEnd); break; default: break; @@ -1043,7 +1127,7 @@ export default { case 'End to end': switch (this.selectedActSeqMore) { case 'All': - data = { + dataToSave = { min: this.selectDurationTime.min, max: this.selectDurationTime.max, type: 'waiting-time-end-to-end-whole', @@ -1052,7 +1136,7 @@ export default { this.isSubmitTimeCfmWtEteAll.rule = this.selectDurationTime; break; case 'Start': - data = { + dataToSave = { task: this.selectCfmWtEteStart, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1065,7 +1149,7 @@ export default { this.isSubmitTimeCfmWtEteStart.rule = this.selectDurationTime; break; case 'End': - data = { + dataToSave = { task: this.selectCfmWtEteEnd, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1078,7 +1162,7 @@ export default { this.isSubmitTimeCfmWtEteEnd.rule = this.selectDurationTime; break; case 'Start & End': - data = { + dataToSave = { start: this.selectCfmWtEteSEStart, end: this.selectCfmWtEteSEEnd, min: this.selectDurationTime.min, @@ -1091,7 +1175,7 @@ export default { {category: 'End', task: this.selectCfmWtEteSEEnd}, ]; this.isSubmitTimeCfmWtEteSE.rule = this.selectDurationTime; - this.isSubmitShowDataWtEte = this.setSubmitShowData(this.selectCfmWtEteSEStart, this.selectCfmWtEteSEEnd); + this.isSubmitShowDataWtEte = this.setSubmitShowDataByStartEnd(this.selectCfmWtEteSEStart, this.selectCfmWtEteSEEnd); break; default: break; @@ -1100,7 +1184,7 @@ export default { case 'Partial': switch (this.selectedActSeqFromTo) { case 'From': - data = { + dataToSave = { task: this.selectCfmWtPStart, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1113,7 +1197,7 @@ export default { this.isSubmitTimeCfmWtPStart.rule = this.selectDurationTime; break; case 'To': - data = { + dataToSave = { task: this.selectCfmWtPEnd, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1126,7 +1210,7 @@ export default { this.isSubmitTimeCfmWtPEnd.rule = this.selectDurationTime; break; case 'From & To': - data = { + dataToSave = { start: this.selectCfmWtPSEStart, end: this.selectCfmWtPSEEnd, min: this.selectDurationTime.min, @@ -1139,7 +1223,7 @@ export default { {category: 'To', task: this.selectCfmWtPSEEnd}, ]; this.isSubmitTimeCfmWtPSE.rule = this.selectDurationTime; - this.isSubmitShowDataWtP = this.setSubmitShowData(this.selectCfmWtPSEStart, this.selectCfmWtPSEEnd); + this.isSubmitShowDataWtP = this.setSubmitShowDataByStartEnd(this.selectCfmWtPSEStart, this.selectCfmWtPSEEnd); break; default: break; @@ -1152,7 +1236,7 @@ export default { case 'Cycle time': // Rule Type 選 Cycle time 的行為 switch (this.selectedActSeqMore) { case 'All': - data = { + dataToSave = { min: this.selectDurationTime.min, max: this.selectDurationTime.max, type: 'cycle-time-end-to-end-whole', @@ -1161,7 +1245,7 @@ export default { this.isSubmitTimeCfmCtEteAll.rule = this.selectDurationTime; break; case 'Start': - data = { + dataToSave = { task: this.selectCfmCtEteStart, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1174,7 +1258,7 @@ export default { this.isSubmitTimeCfmCtEteStart.rule = this.selectDurationTime; break; case 'End': - data = { + dataToSave = { task: this.selectCfmCtEteEnd, min: this.selectDurationTime.min, max: this.selectDurationTime.max, @@ -1187,7 +1271,7 @@ export default { this.isSubmitTimeCfmCtEteEnd.rule = this.selectDurationTime; break; case 'Start & End': - data = { + dataToSave = { start: this.selectCfmCtEteSEStart, end: this.selectCfmCtEteSEEnd, min: this.selectDurationTime.min, @@ -1200,25 +1284,25 @@ export default { {category: 'End', task: this.selectCfmCtEteSEEnd}, ]; this.isSubmitTimeCfmCtEteSE.rule = this.selectDurationTime; - this.isSubmitShowDataCt = this.setSubmitShowData(this.selectCfmCtEteSEStart, this.selectCfmCtEteSEEnd); + this.isSubmitShowDataCt = this.setSubmitShowDataByStartEnd(this.selectCfmCtEteSEStart, this.selectCfmCtEteSEEnd); break; default: break; }; break; }; - if(data.min > data.max) { + if(dataToSave.min > dataToSave.max) { return this.$toast.error('Please check time range setting.'); } - if(JSON.stringify(data) === JSON.stringify(this.isSubmitData)) { + if(JSON.stringify(dataToSave) === JSON.stringify(this.isSubmittedData)) { return this.$toast.error('Please set the new rule.'); } this.isLoading = true; this.isSubmit = true; - this.isSubmitData = data; // 已 Apply 後,沒有重新改變規則的 Data - this.conformanceRuleData = data; // 給存檔的 Data - await this.conformanceStore.addConformanceCheckId(data); + this.isSubmittedData = dataToSave; // 已 Apply 後,沒有重新改變規則的 Data + this.conformanceRuleData = dataToSave; // 給存檔的 Data + await this.conformanceStore.addConformanceCheckId(dataToSave); await this.conformanceStore.getConformanceReport(); this.isShowBarOpen = false; this.isLoading = false; diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue index 35444b2..d2627b2 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue @@ -1,49 +1,99 @@ @@ -60,11 +110,27 @@ export default { const loadingStore = LoadingStore(); const conformanceStore = ConformanceStore(); const { isLoading } = storeToRefs(loadingStore); - const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceTask, cfmSeqStart, cfmSeqEnd, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, isEndSelected } = storeToRefs(conformanceStore); + const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, + selectedActSeqFromTo, conformanceTask, cfmSeqStart, cfmSeqEnd, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, + cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, + cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, isEndSelected + } = storeToRefs(conformanceStore); - return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceTask, cfmSeqStart, cfmSeqEnd, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, isEndSelected} + return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, + selectedActSeqMore, selectedActSeqFromTo, conformanceTask, cfmSeqStart, cfmSeqEnd, cfmPtEteStart, + cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, + cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE, isStartSelected, + isEndSelected + }; }, - props: ['isSubmit', 'isSubmitTask', 'isSubmitStartAndEnd', 'isSubmitCfmSeqDirectly', 'isSubmitCfmSeqEventually', 'isSubmitDurationData', 'isSubmitCfmPtEteStart', 'isSubmitCfmPtEteEnd', 'isSubmitCfmPtEteSE', 'isSubmitCfmPtPStart', 'isSubmitCfmPtPEnd', 'isSubmitCfmPtPSE', 'isSubmitCfmWtEteStart', 'isSubmitCfmWtEteEnd', 'isSubmitCfmWtEteSE', 'isSubmitCfmWtPStart', 'isSubmitCfmWtPEnd', 'isSubmitCfmWtPSE', 'isSubmitCfmCtEteStart', 'isSubmitCfmCtEteEnd', 'isSubmitCfmCtEteSE', 'isSubmitShowDataSeq', 'isSubmitShowDataPtEte', 'isSubmitShowDataPtP', 'isSubmitShowDataWtEte', 'isSubmitShowDataWtP', 'isSubmitShowDataCt'], + props: ['isSubmit', 'isSubmitTask', 'isSubmitStartAndEnd', 'isSubmitCfmSeqDirectly', 'isSubmitCfmSeqEventually', + 'isSubmitDurationData', 'isSubmitCfmPtEteStart', 'isSubmitCfmPtEteEnd', 'isSubmitCfmPtEteSE', + 'isSubmitCfmPtPStart', 'isSubmitCfmPtPEnd', 'isSubmitCfmPtPSE', 'isSubmitCfmWtEteStart', + 'isSubmitCfmWtEteEnd', 'isSubmitCfmWtEteSE', 'isSubmitCfmWtPStart', 'isSubmitCfmWtPEnd', + 'isSubmitCfmWtPSE', 'isSubmitCfmCtEteStart', 'isSubmitCfmCtEteEnd', 'isSubmitCfmCtEteSE', + 'isSubmitShowDataSeq', 'isSubmitShowDataPtEte', 'isSubmitShowDataPtP', 'isSubmitShowDataWtEte', + 'isSubmitShowDataWtP', 'isSubmitShowDataCt' + ], components: { ActList, ActRadio, @@ -202,7 +268,8 @@ export default { methods: { /** * 設定 start and end 的 Radio Data - * @param {object} data cfmSeqStart | cfmSeqEnd | cfmPtEteSE | cfmPtPSE | cfmWtEteSE | cfmWtPSE | cfmCtEteSE,傳入以上任一後端接到的 Activities 列表 Data。 + * @param {object} data cfmSeqStart | cfmSeqEnd | cfmPtEteSE | cfmPtPSE | cfmWtEteSE | cfmWtPSE | cfmCtEteSE, + * 傳入以上任一後端接到的 Activities 列表 Data。 * @param {string} category 'start' | 'end',傳入 'start' 或 'end'。 * @returns {array} */ @@ -213,7 +280,8 @@ export default { }, /** * 重新設定連動的 start and end 的 Radio Data - * @param {object} data cfmPtEteSE | cfmPtPSE | cfmWtEteSE | cfmWtPSE | cfmCtEteSE,傳入以上任一後端接到的 Activities 列表 Data。 + * @param {object} data cfmPtEteSE | cfmPtPSE | cfmWtEteSE | cfmWtPSE | cfmCtEteSE, + * 傳入以上任一後端接到的 Activities 列表 Data。 * @param {string} category 'start' | 'end',傳入 'start' 或 'end'。 * @param {string} task 已選擇的 Activity task * @returns {array}