Conformance: processing time, waiting time, cycle time, show time Range done.
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
@@ -18,28 +18,28 @@
|
||||
<ActRadio :title="'Start'" :select="'protimeStartAndEndRadioStart'" :data="cfmPtEteSEStartData" :category="'cfmPtEteSEStart'" @selected-task="selectStart" class="w-1/2" />
|
||||
<ActRadio :title="'End'" :select="'protimeStartAndEndRadioEnd'" :data="cfmPtEteSEEndData" :category="'cfmPtEteSEEnd'" @selected-task="selectEnd" class="w-1/2" />
|
||||
</div>
|
||||
<ActRadio v-if="selectedRuleType === 'Processing time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'From'" :title="'From'" :select="'protimeFromRadio'" :data="cfmPtPStartData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Processing time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'To'" :title="'To'" :select="'protimeToRadio'" :data="cfmPtPEndData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Processing time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'From'" :title="'From'" :select="'protimeFromRadio'" :data="cfmPtPStartData" :category="'cfmPtPStart'"/>
|
||||
<ActRadio v-if="selectedRuleType === 'Processing time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'To'" :title="'To'" :select="'protimeToRadio'" :data="cfmPtPEndData" :category="'cfmPtPEnd'"/>
|
||||
<div v-if="selectedRuleType === 'Processing time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'From & To'" class="flex justify-between items-center w-full h-full">
|
||||
<ActRadio :title="'From'" :select="'protimeFromAndToRadioFrom'" :data="cfmPtPSEStartData" class="w-1/2" :category="'cfmPtPSEStart'" @selected-task="selectStart" />
|
||||
<ActRadio :title="'To'" :select="'protimeFromAndToRadioTo'" :data="cfmPtPSEEndData" class="w-1/2" :category="'cfmPtPSEEnd'" @selected-task="selectEnd" />
|
||||
</div>
|
||||
<!-- Waiting time -->
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'Start'" :title="'Start'" :select="'waittimeStartRadio'" :data="cfmWtEteStartData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'End'" :title="'End'" :select="'waittimeEndRadio'" :data="cfmWtEteEndData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'Start'" :title="'Start'" :select="'waittimeStartRadio'" :data="cfmWtEteStartData" :category="'cfmWtEteStart'"/>
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'End'" :title="'End'" :select="'waittimeEndRadio'" :data="cfmWtEteEndData" :category="'cfmWtEteEnd'"/>
|
||||
<div v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'Start & End'" class="flex justify-between items-center w-full h-full">
|
||||
<ActRadio :title="'Start'" :select="'waittimeStartAndEndRadioStart'" :data="cfmWtEteSEStartData" class="w-1/2" :category="'cfmWtEteSEStart'" @selected-task="selectStart" />
|
||||
<ActRadio :title="'End'" :select="'waittimeStartAndEndRadioEnd'" :data="cfmWtEteSEEndData" class="w-1/2" :category="'cfmWtEteSEEnd'" @selected-task="selectEnd" />
|
||||
</div>
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'From'" :title="'From'" :select="'waittimeFromRadio'" :data="cfmWtPStartData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'To'" :title="'To'" :select="'waittimeToRadio'" :data="cfmWtPEndData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'From'" :title="'From'" :select="'waittimeFromRadio'" :data="cfmWtPStartData" :category="'cfmWtPStart'"/>
|
||||
<ActRadio v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'To'" :title="'To'" :select="'waittimeToRadio'" :data="cfmWtPEndData" :category="'cfmWtPEnd'"/>
|
||||
<div v-if="selectedRuleType === 'Waiting time' && selectedProcessScope === 'Partial' && selectedActSeqFromTo === 'From & To'" class="flex justify-between items-center w-full h-full">
|
||||
<ActRadio :title="'From'" :select="'waittimeFromAndToRadioFrom'" :data="cfmWtPSEStartData" class="w-1/2" :category="'cfmWtEteSEStart'" @selected-task="selectStart" />
|
||||
<ActRadio :title="'To'" :select="'waittimeFromAndToRadioTo'" :data="cfmWtPSEEndData" class="w-1/2" :category="'cfmWtEteSEEnd'" @selected-task="selectEnd" />
|
||||
<ActRadio :title="'From'" :select="'waittimeFromAndToRadioFrom'" :data="cfmWtPSEStartData" class="w-1/2" :category="'cfmWtPSEStart'" @selected-task="selectStart" />
|
||||
<ActRadio :title="'To'" :select="'waittimeFromAndToRadioTo'" :data="cfmWtPSEEndData" class="w-1/2" :category="'cfmWtPSEEnd'" @selected-task="selectEnd" />
|
||||
</div>
|
||||
<!-- Cycle time -->
|
||||
<ActRadio v-if="selectedRuleType === 'Cycle time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'Start'" :title="'Start'" :select="'cyctimeStartRadio'" :data="cfmCtEteStartData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Cycle time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'End'" :title="'End'" :select="'cyctimeEndRadio'" :data="cfmCtEteEndData" />
|
||||
<ActRadio v-if="selectedRuleType === 'Cycle time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'Start'" :title="'Start'" :select="'cyctimeStartRadio'" :data="cfmCtEteStartData" :category="'cfmCtEteStart'"/>
|
||||
<ActRadio v-if="selectedRuleType === 'Cycle time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'End'" :title="'End'" :select="'cyctimeEndRadio'" :data="cfmCtEteEndData" :category="'cfmCtEteEnd'"/>
|
||||
<div v-if="selectedRuleType === 'Cycle time' && selectedProcessScope === 'End to end' && selectedActSeqMore === 'Start & End'" class="flex justify-between items-center w-full h-full">
|
||||
<ActRadio :title="'Start'" :select="'cyctimeStartAndEndRadioStart'" :data="cfmCtEteSEStartData" class="w-1/2" :category="'cfmCtEteSEStart'" @selected-task="selectStart" />
|
||||
<ActRadio :title="'End'" :select="'cyctimeStartAndEndRadioEnd'" :data="cfmCtEteSEEndData" class="w-1/2" :category="'cfmCtEteSEEnd'" @selected-task="selectEnd" />
|
||||
@@ -71,7 +71,6 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
data:['到到到到到到到到到到到到到到到到到到到到到到院', '住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住院', '開開開開開開開開開開開開開開開開開開開開開開刀', '第第第第第第第第第第一次醫囑', 'aaaaaaaaaaaaaaaa', 'bb ccc ddddd eeee', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院 到院 到院 到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院院院院院院院院院院院院院院院院院院院院院院院院院院院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院'],
|
||||
task: null,
|
||||
isStartSelected: null,
|
||||
isEndSelected: null,
|
||||
|
||||
Reference in New Issue
Block a user