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,