From c5de7f17bc63067230655b73745df76914808c41 Mon Sep 17 00:00:00 2001 From: chiayin Date: Wed, 23 Aug 2023 10:27:02 +0800 Subject: [PATCH] Conformance: processing time, waiting time, cycle time, show time Range done. --- .../Conformance/ConformanceSidebar.vue | 142 ++++++++++++++++-- .../ConformanceSidebar/ConformanceShowBar.vue | 21 ++- 2 files changed, 143 insertions(+), 20 deletions(-) diff --git a/src/components/Discover/Conformance/ConformanceSidebar.vue b/src/components/Discover/Conformance/ConformanceSidebar.vue index e7b3e9b..2efddd2 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar.vue @@ -59,9 +59,9 @@ export default { const loadingStore = LoadingStore(); const conformanceStore = ConformanceStore(); const { isLoading } = storeToRefs(loadingStore); - const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceAllTasks } = storeToRefs(conformanceStore); + const { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceAllTasks, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE } = storeToRefs(conformanceStore); - return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceStore, conformanceAllTasks } + return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceStore, conformanceAllTasks, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE } }, data() { return { @@ -76,6 +76,26 @@ export default { listSeq: [], selectDurationData: null, selectDurationTime: null, + selectCfmPtEteStart: null, // Processing time + selectCfmPtEteEnd: null, + selectCfmPtEteSEStart: null, + selectCfmPtEteSEEnd: null, + selectCfmPtPStart: null, + selectCfmPtPEnd: null, + selectCfmPtPSEStart: null, + selectCfmPtPSEEnd: null, + selectCfmWtEteStart: null, // Waiting time + selectCfmWtEteEnd: null, + selectCfmWtEteSEStart: null, + selectCfmWtEteSEEnd: null, + selectCfmWtPStart: null, + selectCfmWtPEnd: null, + selectCfmWtPSEStart: null, + selectCfmWtPSEEnd: null, + selectCfmCtEteStart: null, // Cycle time + selectCfmCtEteEnd: null, + selectCfmCtEteSEStart: null, + selectCfmCtEteSEEnd: null, isSubmit: false, isSubmitTask: null, isSubmitStartAndEnd: null, @@ -91,14 +111,35 @@ export default { }, methods: { /** - * get Activity duration Time Range(duration) - * @param {string} task + * get Time Range(duration) + * @param {array} data API data + * @param {string} category act | single | double + * @param {string} task select Radio task or start + * @param {string} taskTwo end * @returns {object} {min:12, max:345} */ - getDurationTime(task) { - this.conformanceAllTasks.forEach(i => { - if(i.label === task) this.selectDurationTime = i.duration; - }); + getDurationTime(data, category, task, taskTwo) { + switch (category) { + case 'act': + data.forEach(i => { + if(i.label === task) this.selectDurationTime = i.duration; + }); + break; + case 'single': + data.forEach(i => { + if(i.task === task) this.selectDurationTime = i.time; + }); + break; + case 'double': + data.forEach(i => { + if(i.start === task && i.end === taskTwo) this.selectDurationTime = i.time; + }); + break; + + default: + break; + } + }, /** * @param {boolean} massage true | false 清空選單選項, 選擇的結果 @@ -235,11 +276,94 @@ export default { case 'To': this.selectConformanceTo = data.task; break; + // Processing time + case 'cfmPtEteStart': + this.selectCfmPtEteStart = data.task; + this.getDurationTime(this.cfmPtEteStart, 'single', data.task); + break; + case 'cfmPtEteEnd': + this.selectCfmPtEteEnd = data.task; + this.getDurationTime(this.cfmPtEteEnd, 'single', data.task); + break; + case 'cfmPtEteSEStart': + this.selectCfmPtEteSEStart = data.task; + if(this.selectCfmPtEteSEEnd)this.getDurationTime(this.cfmPtEteSE, 'double', data.task, this.selectCfmPtEteSEEnd); + break; + case 'cfmPtEteSEEnd': + this.selectCfmPtEteSEEnd = data.task; + if(this.selectCfmPtEteSEStart)this.getDurationTime(this.cfmPtEteSE, 'double', this.selectCfmPtEteSEStart, data.task); + break; + case 'cfmPtPStart': + this.selectCfmPtPStart = data.task; + this.getDurationTime(this.cfmPtPStart, 'single', data.task); + break; + case 'cfmPtPEnd': + this.selectCfmPtPEnd = data.task; + this.getDurationTime(this.cfmPtPEnd, 'single', data.task); + break; + case 'cfmPtPSEStart': + this.selectCfmPtPSEStart = data.task; + if(this.selectCfmPtPSEEnd)this.getDurationTime(this.cfmPtPSE, 'double', data.task, this.selectCfmPtPSEEnd); + break; + case 'cfmPtPSEEnd': + this.selectCfmPtPSEEnd = data.task; + if(this.selectCfmPtPSEStart)this.getDurationTime(this.cfmPtPSE, 'double', this.selectCfmPtPSEStart, data.task); + break; + // Waiting time + case 'cfmWtEteStart': + this.selectCfmWtEteStart = data.task; + this.getDurationTime(this.cfmWtEteStart, 'single', data.task); + break; + case 'cfmWtEteEnd': + this.selectCfmWtEteEnd = data.task; + this.getDurationTime(this.cfmWtEteEnd, 'single', data.task); + break; + case 'cfmWtEteSEStart': + this.selectCfmWtEteSEStart = data.task; + if(this.selectCfmWtEteSEEnd)this.getDurationTime(this.cfmWtEteSE, 'double', data.task, this.selectCfmWtEteSEEnd); + break; + case 'cfmWtEteSEEnd': + this.selectCfmWtEteSEEnd = data.task; + if(this.selectCfmWtEteSEStart)this.getDurationTime(this.cfmWtEteSE, 'double', this.selectCfmWtEteSEStart, data.task); + break; + case 'cfmWtPStart': + this.selectCfmWtPStart = data.task; + this.getDurationTime(this.cfmWtPStart, 'single', data.task); + break; + case 'cfmWtPEnd': + this.selectCfmWtPEnd = data.task; + this.getDurationTime(this.cfmWtPEnd, 'single', data.task); + break; + case 'cfmWtPSEStart': + this.selectCfmWtPSEStart = data.task; + if(this.selectCfmWtPSEEnd)this.getDurationTime(this.cfmWtPSE, 'double', data.task, this.selectCfmWtPSEEnd); + break; + case 'cfmWtPSEEnd': + this.selectCfmWtPSEEnd = data.task; + if(this.selectCfmWtPSEStart)this.getDurationTime(this.cfmWtPSE, 'double', this.selectCfmWtPSEStart, data.task); + break; + // Cycle time + case 'cfmCtEteStart': + this.selectCfmCtEteStart = data.task; + this.getDurationTime(this.cfmPtEteStart, 'single', data.task); + break; + case 'cfmCtEteEnd': + this.selectCfmCtEteEnd = data.task; + this.getDurationTime(this.cfmCtEteEnd, 'single', data.task); + break; + case 'cfmCtEteSEStart': + this.selectCfmCtEteSEStart = data.task; + if(this.selectCfmCtEteSEEnd)this.getDurationTime(this.cfmCtEteSE, 'double', data.task, this.selectCfmCtEteSEEnd); + break; + case 'cfmCtEteSEEnd': + this.selectCfmCtEteSEEnd = data.task; + if(this.selectCfmCtEteSEStart)this.getDurationTime(this.cfmCtEteSE, 'double', this.selectCfmCtEteSEStart, data.task); + break; default: if(this.selectedRuleType === 'Activity sequence') this.listSequence = [data.task]; else if(this.selectedRuleType === 'Activity duration') { this.selectDurationData = [data.task]; - this.getDurationTime(data.task); + this.getDurationTime(this.conformanceAllTasks, 'act', data.task); }; break; }; diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue index 697e8a1..f5e9b2c 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceShowBar.vue @@ -18,28 +18,28 @@ - - + +
- - + +
- - + +
- - + +
- - + +
@@ -71,7 +71,6 @@ export default { }, data() { return { - data:['到到到到到到到到到到到到到到到到到到到到到到院', '住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住院', '開開開開開開開開開開開開開開開開開開開開開開刀', '第第第第第第第第第第一次醫囑', 'aaaaaaaaaaaaaaaa', 'bb ccc ddddd eeee', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院 到院 到院 到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院院院院院院院院院院院院院院院院院院院院院院院院院院院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院'], task: null, isStartSelected: null, isEndSelected: null,