diff --git a/src/assets/vendors.css b/src/assets/vendors.css index fd323fe..dd8f066 100644 --- a/src/assets/vendors.css +++ b/src/assets/vendors.css @@ -43,7 +43,7 @@ } .p-sidebar-header { @apply bg-neutral-200 border-b border-neutral-300 !py-2 !justify-between -}; +} .p-sidebar-right .p-sidebar-header { @apply flex-row-reverse !justify-end text-neutral-500 } diff --git a/src/components/Discover/Conformance/ConformanceResults.vue b/src/components/Discover/Conformance/ConformanceResults.vue index c2a4859..b2127c5 100644 --- a/src/components/Discover/Conformance/ConformanceResults.vue +++ b/src/components/Discover/Conformance/ConformanceResults.vue @@ -104,6 +104,7 @@

Short Loop(s)

+
diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ActSeqDrag.vue b/src/components/Discover/Conformance/ConformanceSidebar/ActSeqDrag.vue index 11f05dc..e02c3cf 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar/ActSeqDrag.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar/ActSeqDrag.vue @@ -55,7 +55,6 @@ export default { }, computed: { datadata: function() { - // TODO Activity List 的 dblclick, drag & drop 要改假刪除 // Activity List 要排序 let newData; if(this.data !== null) { diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue index 613424a..9717d06 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue @@ -182,116 +182,52 @@ export default { this.containstTasksData = data; }); this.$emitter.on('actRadioData', (newData) => { - let data = JSON.parse(JSON.stringify(newData)); // 深拷貝原始 cases 的內容 - switch (data.category) { - // Activity sequence - case 'cfmSeqStart': - if(this.isStartSelected === true && data.task !== this.selectCfmSeqStart) this.selectCfmSeqEnd = null; - data.category = 'Start'; - this.selectCfmSeqStart = data; - break; - case 'cfmSeqEnd': - if(this.isEndSelected === true && data.task !== this.selectCfmSeqEnd)this.selectCfmSeqStart = null; - data.category = 'End'; - this.selectCfmSeqEnd = data; - break; - // Processing time - case 'cfmPtEteStart': - data.category = 'Start'; - this.selectCfmPtEteStart = [data]; - break; - case 'cfmPtEteEnd': - data.category = 'End'; - this.selectCfmPtEteEnd = [data]; - break; - case 'cfmPtEteSEStart': - if(this.isStartSelected === true && data.task !== this.selectCfmPtEteSEStart) this.selectCfmPtEteSEEnd = null; - data.category = 'Start'; - this.selectCfmPtEteSEStart = data; - break; - case 'cfmPtEteSEEnd': - if(this.isEndSelected === true && data.task !== this.selectCfmPtEteSEEnd)this.selectCfmPtEteSEStart = null; - data.category = 'End'; - this.selectCfmPtEteSEEnd = data; - break; - case 'cfmPtPStart': - data.category = 'From'; - this.selectCfmPtPStart = [data]; - break; - case 'cfmPtPEnd': - data.category = 'To'; - this.selectCfmPtPEnd = [data]; - break; - case 'cfmPtPSEStart': - if(this.isStartSelected === true && data.task !== this.selectCfmPtPSEStart) this.selectCfmPtPSEEnd = null; - data.category = 'From'; - this.selectCfmPtPSEStart = data; - break; - case 'cfmPtPSEEnd': - if(this.isEndSelected === true && data.task !== this.selectCfmPtPSEEnd)this.selectCfmPtPSEStart = null; - data.category = 'To'; - this.selectCfmPtPSEEnd = data; - break; - // Waiting time - case 'cfmWtEteStart': - data.category = 'Start'; - this.selectCfmWtEteStart = [data]; - break; - case 'cfmWtEteEnd': - data.category = 'End'; - this.selectCfmWtEteEnd = [data]; - break; - case 'cfmWtEteSEStart': - if(this.isStartSelected === true && data.task !== this.selectCfmWtEteSEStart) this.selectCfmWtEteSEEnd = null; - data.category = 'Start'; - this.selectCfmWtEteSEStart = data; - break; - case 'cfmWtEteSEEnd': - if(this.isEndSelected === true && data.task !== this.selectCfmWtEteSEEnd)this.selectCfmWtEteSEStart = null; - data.category = 'End'; - this.selectCfmWtEteSEEnd = data; - break; - case 'cfmWtPStart': - data.category = 'From'; - this.selectCfmWtPStart = [data]; - break; - case 'cfmWtPEnd': - data.category = 'To'; - this.selectCfmWtPEnd = [data]; - break; - case 'cfmWtPSEStart': - if(this.isStartSelected === true && data.task !== this.selectCfmWtPSEStart) this.selectCfmWtPSEEnd = null; - data.category = 'From'; - this.selectCfmWtPSEStart = data; - break; - case 'cfmWtPSEEnd': - if(this.isEndSelected === true && data.task !== this.selectCfmWtPSEEnd)this.selectCfmWtPSEStart = null; - data.category = 'To'; - this.selectCfmWtPSEEnd = data; - break; - // Cycle time - case 'cfmCtEteStart': - data.category = 'Start'; - this.selectCfmCtEteStart = [data]; - break; - case 'cfmCtEteEnd': - data.category = 'End'; - this.selectCfmCtEteEnd = [data]; - break; - case 'cfmCtEteSEStart': - if(this.isStartSelected === true && data.task !== this.selectCfmCtEteSEStart) this.selectCfmCtEteSEEnd = null; - data.category = 'Start'; - this.selectCfmCtEteSEStart = data; - break; - case 'cfmCtEteSEEnd': - if(this.isEndSelected === true && data.task !== this.selectCfmCtEteSEEnd)this.selectCfmCtEteSEStart = null; - data.category = 'End'; - this.selectCfmCtEteSEEnd = data; - break; - default: - if(this.selectedRuleType === 'Activity duration') this.durationData = [data.task]; - break; - }; + let data = JSON.parse(JSON.stringify(newData)); // 深拷貝原始 cases 的內容 + + const categoryMapping = { + 'cfmSeqStart': ['Start', 'selectCfmSeqStart', 'selectCfmSeqEnd'], + 'cfmSeqEnd': ['End', 'selectCfmSeqEnd', 'selectCfmSeqStart'], + 'cfmPtEteStart': ['Start', 'selectCfmPtEteStart'], + 'cfmPtEteEnd': ['End', 'selectCfmPtEteEnd'], + 'cfmPtEteSEStart': ['Start', 'selectCfmPtEteSEStart', 'selectCfmPtEteSEEnd'], + 'cfmPtEteSEEnd': ['End', 'selectCfmPtEteSEEnd', 'selectCfmPtEteSEStart'], + 'cfmPtPStart': ['From', 'selectCfmPtPStart'], + 'cfmPtPEnd': ['To', 'selectCfmPtPEnd'], + 'cfmPtPSEStart': ['From', 'selectCfmPtPSEStart', 'selectCfmPtPSEEnd'], + 'cfmPtPSEEnd': ['To', 'selectCfmPtPSEEnd', 'selectCfmPtPSEStart'], + 'cfmWtEteStart': ['Start', 'selectCfmWtEteStart'], + 'cfmWtEteEnd': ['End', 'selectCfmWtEteEnd'], + 'cfmWtEteSEStart': ['Start', 'selectCfmWtEteSEStart', 'selectCfmWtEteSEEnd'], + 'cfmWtEteSEEnd': ['End', 'selectCfmWtEteSEEnd', 'selectCfmWtEteSEStart'], + 'cfmWtPStart': ['From', 'selectCfmWtPStart'], + 'cfmWtPEnd': ['To', 'selectCfmWtPEnd'], + 'cfmWtPSEStart': ['From', 'selectCfmWtPSEStart', 'selectCfmWtPSEEnd'], + 'cfmWtPSEEnd': ['To', 'selectCfmWtPSEEnd', 'selectCfmWtPSEStart'], + 'cfmCtEteStart': ['Start', 'selectCfmCtEteStart'], + 'cfmCtEteEnd': ['End', 'selectCfmCtEteEnd'], + 'cfmCtEteSEStart': ['Start', 'selectCfmCtEteSEStart', 'selectCfmCtEteSEEnd'], + 'cfmCtEteSEEnd': ['End', 'selectCfmCtEteSEEnd', 'selectCfmCtEteSEStart'] + }; + + const updateSelection = (key, mainSelector, secondarySelector) => { + if (this[mainSelector]) { + if (data.task !== this[mainSelector]) this[secondarySelector] = null; + } + data.category = categoryMapping[key][0]; + this[mainSelector] = data; + }; + + if (categoryMapping[data.category]) { + const [category, mainSelector, secondarySelector] = categoryMapping[data.category]; + if (secondarySelector) { + updateSelection(data.category, mainSelector, secondarySelector); + } else { + data.category = category; + this[mainSelector] = [data]; + } + } else if (this.selectedRuleType === 'Activity duration') { + this.durationData = [data.task]; + } }); this.$emitter.on('getListSequence', (data) => { switch (data.category) {