Issue #68: done.

This commit is contained in:
chiayin
2023-09-13 17:40:51 +08:00
parent 86940d6887
commit 47ca3d8f21
4 changed files with 63 additions and 35 deletions

View File

@@ -21,7 +21,8 @@
:isSubmit="isSubmit"
:isSubmitTask="isSubmitTask"
:isSubmitStartAndEnd="isSubmitStartAndEnd"
:isSubmitListSeq="isSubmitListSeq"
:isSubmitCfmSeqDirectly="isSubmitCfmSeqDirectly"
:isSubmitCfmSeqEventually="isSubmitCfmSeqEventually"
:isSubmitDurationData="isSubmitDurationData"
:isSubmitCfmPtEteStart="isSubmitCfmPtEteStart"
:isSubmitCfmPtEteEnd="isSubmitCfmPtEteEnd"
@@ -74,7 +75,8 @@
:isSubmit="isSubmit"
:isSubmitTask="isSubmitTask"
:isSubmitStartAndEnd="isSubmitStartAndEnd"
:isSubmitListSeq="isSubmitListSeq"
:isSubmitCfmSeqDirectly="isSubmitCfmSeqDirectly"
:isSubmitCfmSeqEventually="isSubmitCfmSeqEventually"
:isSubmitDurationData="isSubmitDurationData"
:isSubmitCfmPtEteStart="isSubmitCfmPtEteStart"
:isSubmitCfmPtEteEnd="isSubmitCfmPtEteEnd"
@@ -119,13 +121,12 @@ export default {
isShowBar: false,
visibleLeft: false,
selectConformanceTask: null,
selectConformanceStartAndEnd: null,
selectConformanceStartAndEnd: null, // Activity sequence
selectCfmSeqStart: null,
selectCfmSeqEnd: null,
selectConformanceFrom: null,
selectConformanceTo: null,
listSeq: [],
selectDurationData: null,
selectCfmSeqDirectly: [],
selectCfmSeqEventually: [],
selectDurationData: null, // Activity duration
selectDurationTime: { min: 0, max: 0},
selectTimeRangeMin: 0, // Time Range min
selectTimeRangeMax: 0, // Time Range max
@@ -152,8 +153,9 @@ export default {
isSubmit: false,
isSubmitData: null, // 已 Apply 後,沒有重新改變規則的 Data
isSubmitTask: null,
isSubmitStartAndEnd: null,
isSubmitListSeq: [],
isSubmitStartAndEnd: null, // Activity sequence
isSubmitCfmSeqDirectly: [],
isSubmitCfmSeqEventually: [],
isSubmitDurationData: null, // Activity duration
isSubmitCfmPtEteStart: null, // Processing time
isSubmitCfmPtEteEnd: null,
@@ -231,9 +233,8 @@ export default {
this.selectConformanceStartAndEnd = null; // Activity Sequence
this.selectCfmSeqStart = null;
this.selectCfmSeqEnd = null;
this.selectConformanceFrom = null;
this.selectConformanceTo = null;
this.listSeq = [];
this.selectCfmSeqDirectly = [];
this.selectCfmSeqEventually = [];
this.selectDurationData = null; // Activity durations
this.selectTimeRangeMin = 0; // Time Range min
this.selectTimeRangeMax = 0; // Time Range max
@@ -262,10 +263,11 @@ export default {
* is submit select Reset
*/
isSubmitReset() {
// 沒有 isSubmitData
// 不包含 isSubmitData
this.isSubmitTask = null;
this.isSubmitStartAndEnd = null;
this.isSubmitListSeq = [];
this.isSubmitCfmSeqDirectly = [];
this.isSubmitCfmSeqEventually = [];
this.isSubmitDurationData = null;
this.isSubmitDurationTime = null;
this.isSubmitCfmPtEteStart = null; // Processing time
@@ -364,18 +366,22 @@ export default {
case 'Sequence': // Activity Sequence 選 Sequence 的行為
switch (this.selectedMode) {
case 'Directly follows':
if(this.listSeq.length < 2) return this.$toast.error('Select two or more.');
if(this.selectCfmSeqDirectly.length < 2) return this.$toast.error('Select two or more.');
else data = {
type: 'directly-follows',
task_seq: this.listSeq,
task_seq: this.selectCfmSeqDirectly,
};
this.isSubmitReset();
this.isSubmitCfmSeqDirectly = this.selectCfmSeqDirectly;
break;
case 'Eventually follows':
if(this.listSeq.length < 2) return this.$toast.error('Select two or more.');
if(this.selectCfmSeqEventually.length < 2) return this.$toast.error('Select two or more.');
else data = {
type: 'eventually-follows',
task_seq: this.listSeq,
task_seq: this.selectCfmSeqEventually,
};
this.isSubmitReset();
this.isSubmitCfmSeqEventually = this.selectCfmSeqEventually;
break;
case 'Short loop(s)':
data = {
@@ -390,8 +396,6 @@ export default {
default:
break;
};
this.isSubmitReset();
this.isSubmitListSeq = this.listSeq;
default:
break;
}
@@ -822,15 +826,23 @@ export default {
this.selectCfmCtEteSEEnd = data.task;
break;
default:
if(this.selectedRuleType === 'Activity sequence') this.listSequence = [data.task];
else if(this.selectedRuleType === 'Activity duration') {
if(this.selectedRuleType === 'Activity duration') {
this.selectDurationData = [data.task];
};
break;
};
});
this.$emitter.on('getListSequence', (data) => {
this.listSeq = data;
switch (data.category) {
case 'cfmSeqDirectly':
this.selectCfmSeqDirectly = data.task;
break;
case 'cfmSeqEventually':
this.selectCfmSeqEventually = data.task;
break;
default:
break;
}
});
// Radio 切換時,資料要清空
this.$emitter.on('isRadioChange', (data) => {
@@ -842,7 +854,8 @@ export default {
this.$emitter.on('isRadioSeqChange', (data) => {
if(data) {
this.selectConformanceStartAndEnd = null;
this.listSeq = [];
this.selectCfmSeqDirectly = [];
this.selectCfmSeqEventually = [];
};
});
this.$emitter.on('isRadioProcessScopeChange', (data) => {

View File

@@ -44,7 +44,7 @@
import sortNumEngZhtw from '@/module/sortNumEngZhtw.js';
export default {
props: ['data', 'listSeq', 'isSubmit'],
props: ['data', 'listSeq', 'isSubmit', 'category'],
data() {
return {
listSequence: [],
@@ -84,7 +84,10 @@ export default {
* get listSequence
*/
getComponentData(){
this.$emitter.emit('getListSequence',this.listSequence);
this.$emitter.emit('getListSequence',{
category: this.category,
task: this.listSequence,
});
},
/**
* Element dragging started

View File

@@ -4,7 +4,8 @@
<ResultCheck v-if="selectedRuleType === 'Have activity'" :data="containstTasksData" :select="isSubmitTask"></ResultCheck>
<!-- Activity sequence -->
<ResultDot v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Start & End'" :timeResultData="selectCfmSeqSE" :select="isSubmitStartAndEnd"></ResultDot>
<ResultArrow v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Sequence' && (selectedMode === 'Directly follows' || selectedMode === 'Eventually follows')" :data="listSequence" :select="isSubmitListSeq"></ResultArrow>
<ResultArrow v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Sequence' && selectedMode === 'Directly follows'" :data="selectCfmSeqDirectly" :select="isSubmitCfmSeqDirectly"></ResultArrow>
<ResultArrow v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Sequence' && selectedMode === 'Eventually follows'" :data="selectCfmSeqEventually" :select="isSubmitCfmSeqEventually"></ResultArrow>
<!-- Activity duration -->
<ResultCheck v-if="selectedRuleType === 'Activity duration'" :title="'Activities include'" :data="durationData" :select="isSubmitDurationData"></ResultCheck>
<!-- Processing time -->
@@ -41,7 +42,7 @@ export default {
return { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo }
},
props: ['isSubmit', 'isSubmitTask', 'isSubmitStartAndEnd', 'isSubmitListSeq', 'isSubmitDurationData', 'isSubmitCfmPtEteStart', 'isSubmitCfmPtEteEnd', 'isSubmitCfmPtEteSE', 'isSubmitCfmPtPStart', 'isSubmitCfmPtPEnd', 'isSubmitCfmPtPSE', 'isSubmitCfmWtEteStart', 'isSubmitCfmWtEteEnd', 'isSubmitCfmWtEteSE', 'isSubmitCfmWtPStart', 'isSubmitCfmWtPEnd', 'isSubmitCfmWtPSE', 'isSubmitCfmCtEteStart', 'isSubmitCfmCtEteEnd', 'isSubmitCfmCtEteSE'],
props: ['isSubmit', 'isSubmitTask', 'isSubmitStartAndEnd', 'isSubmitCfmSeqDirectly', 'isSubmitCfmSeqEventually', 'isSubmitDurationData', 'isSubmitCfmPtEteStart', 'isSubmitCfmPtEteEnd', 'isSubmitCfmPtEteSE', 'isSubmitCfmPtPStart', 'isSubmitCfmPtPEnd', 'isSubmitCfmPtPSE', 'isSubmitCfmWtEteStart', 'isSubmitCfmWtEteEnd', 'isSubmitCfmWtEteSE', 'isSubmitCfmWtPStart', 'isSubmitCfmWtPEnd', 'isSubmitCfmWtPSE', 'isSubmitCfmCtEteStart', 'isSubmitCfmCtEteEnd', 'isSubmitCfmCtEteSE'],
components: {
ResultCheck,
ResultArrow,
@@ -53,7 +54,8 @@ export default {
startEndData: null,
selectCfmSeqStart: null,
selectCfmSeqEnd: null,
listSequence: null,
selectCfmSeqDirectly: [],
selectCfmSeqEventually: [],
durationData: null,
selectCfmPtEteStart: null, // Processing time
selectCfmPtEteEnd: null,
@@ -171,7 +173,8 @@ export default {
this.startEndData = null;
this.selectCfmSeqStart = null;
this.selectCfmSeqEnd = null;
this.listSequence = null;
this.selectCfmSeqDirectly = [];
this.selectCfmSeqEventually = [];
this.durationData = null;
this.selectCfmPtEteStart = null;
this.selectCfmPtEteEnd = null;
@@ -296,13 +299,21 @@ export default {
this.selectCfmCtEteSEEnd = data;
break;
default:
if(this.selectedRuleType === 'Activity sequence') this.listSequence = [data.task];
else if(this.selectedRuleType === 'Activity duration') this.durationData = [data.task];
if(this.selectedRuleType === 'Activity duration') this.durationData = [data.task];
break;
};
});
this.$emitter.on('getListSequence', (data) => {
this.listSequence = data;
switch (data.category) {
case 'cfmSeqDirectly':
this.selectCfmSeqDirectly = data.task;
break;
case 'cfmSeqEventually':
this.selectCfmSeqEventually = data.task;
break;
default:
break;
}
});
this.$emitter.on('reset', (data) => {
this.reset();

View File

@@ -8,7 +8,8 @@
<ActRadio :title="'End activity'" :select="isSubmitStartAndEnd?.[1].task" :data="cfmSeqEndData" :category="'cfmSeqEnd'" @selected-task="selectEnd" class="w-1/2" />
</div>
<!-- actSeqDrag -->
<ActSeqDrag v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Sequence' && (selectedMode === 'Directly follows' || selectedMode === 'Eventually follows')" :data="conformanceTask" :listSeq="isSubmitListSeq" :isSubmit="isSubmit"></ActSeqDrag>
<ActSeqDrag v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Sequence' && selectedMode === 'Directly follows'" :data="conformanceTask" :listSeq="isSubmitCfmSeqDirectly" :isSubmit="isSubmit" :category="'cfmSeqDirectly'"></ActSeqDrag>
<ActSeqDrag v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Sequence' && selectedMode === 'Eventually follows'" :data="conformanceTask" :listSeq="isSubmitCfmSeqEventually" :isSubmit="isSubmit" :category="'cfmSeqEventually'"></ActSeqDrag>
<!-- Activity duration -->
<ActRadio v-if="selectedRuleType === 'Activity duration'" :title="'Activities include'" :select="isSubmitDurationData?.[0]" :data="conformanceTask" :category="'cfmDur'"/>
<!-- Processing time -->
@@ -63,7 +64,7 @@ export default {
return { isLoading, selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo, conformanceTask, cfmSeqStart, cfmSeqEnd, cfmPtEteStart, cfmPtEteEnd, cfmPtEteSE, cfmPtPStart, cfmPtPEnd, cfmPtPSE, cfmWtEteStart, cfmWtEteEnd, cfmWtEteSE, cfmWtPStart, cfmWtPEnd, cfmWtPSE, cfmCtEteStart, cfmCtEteEnd, cfmCtEteSE }
},
props: ['isSubmit', 'isSubmitTask', 'isSubmitStartAndEnd', 'isSubmitListSeq', 'isSubmitDurationData', 'isSubmitCfmPtEteStart', 'isSubmitCfmPtEteEnd', 'isSubmitCfmPtEteSE', 'isSubmitCfmPtPStart', 'isSubmitCfmPtPEnd', 'isSubmitCfmPtPSE', 'isSubmitCfmWtEteStart', 'isSubmitCfmWtEteEnd', 'isSubmitCfmWtEteSE', 'isSubmitCfmWtPStart', 'isSubmitCfmWtPEnd', 'isSubmitCfmWtPSE', 'isSubmitCfmCtEteStart', 'isSubmitCfmCtEteEnd', 'isSubmitCfmCtEteSE'],
props: ['isSubmit', 'isSubmitTask', 'isSubmitStartAndEnd', 'isSubmitCfmSeqDirectly', 'isSubmitCfmSeqEventually', 'isSubmitDurationData', 'isSubmitCfmPtEteStart', 'isSubmitCfmPtEteEnd', 'isSubmitCfmPtEteSE', 'isSubmitCfmPtPStart', 'isSubmitCfmPtPEnd', 'isSubmitCfmPtPSE', 'isSubmitCfmWtEteStart', 'isSubmitCfmWtEteEnd', 'isSubmitCfmWtEteSE', 'isSubmitCfmWtPStart', 'isSubmitCfmWtPEnd', 'isSubmitCfmWtPSE', 'isSubmitCfmCtEteStart', 'isSubmitCfmCtEteEnd', 'isSubmitCfmCtEteSE'],
components: {
ActList,
ActRadio,