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 loadingStore = LoadingStore();
|
||||||
const conformanceStore = ConformanceStore();
|
const conformanceStore = ConformanceStore();
|
||||||
const { isLoading } = storeToRefs(loadingStore);
|
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() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -76,6 +76,26 @@ export default {
|
|||||||
listSeq: [],
|
listSeq: [],
|
||||||
selectDurationData: null,
|
selectDurationData: null,
|
||||||
selectDurationTime: 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,
|
isSubmit: false,
|
||||||
isSubmitTask: null,
|
isSubmitTask: null,
|
||||||
isSubmitStartAndEnd: null,
|
isSubmitStartAndEnd: null,
|
||||||
@@ -91,14 +111,35 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/**
|
/**
|
||||||
* get Activity duration Time Range(duration)
|
* get Time Range(duration)
|
||||||
* @param {string} task
|
* @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}
|
* @returns {object} {min:12, max:345}
|
||||||
*/
|
*/
|
||||||
getDurationTime(task) {
|
getDurationTime(data, category, task, taskTwo) {
|
||||||
this.conformanceAllTasks.forEach(i => {
|
switch (category) {
|
||||||
if(i.label === task) this.selectDurationTime = i.duration;
|
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 清空選單選項, 選擇的結果
|
* @param {boolean} massage true | false 清空選單選項, 選擇的結果
|
||||||
@@ -235,11 +276,94 @@ export default {
|
|||||||
case 'To':
|
case 'To':
|
||||||
this.selectConformanceTo = data.task;
|
this.selectConformanceTo = data.task;
|
||||||
break;
|
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:
|
default:
|
||||||
if(this.selectedRuleType === 'Activity sequence') this.listSequence = [data.task];
|
if(this.selectedRuleType === 'Activity sequence') this.listSequence = [data.task];
|
||||||
else if(this.selectedRuleType === 'Activity duration') {
|
else if(this.selectedRuleType === 'Activity duration') {
|
||||||
this.selectDurationData = [data.task];
|
this.selectDurationData = [data.task];
|
||||||
this.getDurationTime(data.task);
|
this.getDurationTime(this.conformanceAllTasks, 'act', data.task);
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,28 +18,28 @@
|
|||||||
<ActRadio :title="'Start'" :select="'protimeStartAndEndRadioStart'" :data="cfmPtEteSEStartData" :category="'cfmPtEteSEStart'" @selected-task="selectStart" class="w-1/2" />
|
<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" />
|
<ActRadio :title="'End'" :select="'protimeStartAndEndRadioEnd'" :data="cfmPtEteSEEndData" :category="'cfmPtEteSEEnd'" @selected-task="selectEnd" class="w-1/2" />
|
||||||
</div>
|
</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 === '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" />
|
<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">
|
<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="'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" />
|
<ActRadio :title="'To'" :select="'protimeFromAndToRadioTo'" :data="cfmPtPSEEndData" class="w-1/2" :category="'cfmPtPSEEnd'" @selected-task="selectEnd" />
|
||||||
</div>
|
</div>
|
||||||
<!-- Waiting time -->
|
<!-- 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 === '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" />
|
<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">
|
<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="'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" />
|
<ActRadio :title="'End'" :select="'waittimeStartAndEndRadioEnd'" :data="cfmWtEteSEEndData" class="w-1/2" :category="'cfmWtEteSEEnd'" @selected-task="selectEnd" />
|
||||||
</div>
|
</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 === '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" />
|
<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">
|
<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="'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="'cfmWtEteSEEnd'" @selected-task="selectEnd" />
|
<ActRadio :title="'To'" :select="'waittimeFromAndToRadioTo'" :data="cfmWtPSEEndData" class="w-1/2" :category="'cfmWtPSEEnd'" @selected-task="selectEnd" />
|
||||||
</div>
|
</div>
|
||||||
<!-- Cycle time -->
|
<!-- 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 === '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" />
|
<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">
|
<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="'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" />
|
<ActRadio :title="'End'" :select="'cyctimeStartAndEndRadioEnd'" :data="cfmCtEteSEEndData" class="w-1/2" :category="'cfmCtEteSEEnd'" @selected-task="selectEnd" />
|
||||||
@@ -71,7 +71,6 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
data:['到到到到到到到到到到到到到到到到到到到到到到院', '住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住住院', '開開開開開開開開開開開開開開開開開開開開開開刀', '第第第第第第第第第第一次醫囑', 'aaaaaaaaaaaaaaaa', 'bb ccc ddddd eeee', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院 到院 到院 到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院院院院院院院院院院院院院院院院院院院院院院院院院院院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院', '到院', '住院', '開刀', '第一次醫囑', '第二次醫囑', '照會', '繳費', '領藥', '出院'],
|
|
||||||
task: null,
|
task: null,
|
||||||
isStartSelected: null,
|
isStartSelected: null,
|
||||||
isEndSelected: null,
|
isEndSelected: null,
|
||||||
|
|||||||
Reference in New Issue
Block a user