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

View File

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

View File

@@ -4,7 +4,8 @@
<ResultCheck v-if="selectedRuleType === 'Have activity'" :data="containstTasksData" :select="isSubmitTask"></ResultCheck> <ResultCheck v-if="selectedRuleType === 'Have activity'" :data="containstTasksData" :select="isSubmitTask"></ResultCheck>
<!-- Activity sequence --> <!-- Activity sequence -->
<ResultDot v-if="selectedRuleType === 'Activity sequence' && selectedActivitySequence === 'Start & End'" :timeResultData="selectCfmSeqSE" :select="isSubmitStartAndEnd"></ResultDot> <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 --> <!-- Activity duration -->
<ResultCheck v-if="selectedRuleType === 'Activity duration'" :title="'Activities include'" :data="durationData" :select="isSubmitDurationData"></ResultCheck> <ResultCheck v-if="selectedRuleType === 'Activity duration'" :title="'Activities include'" :data="durationData" :select="isSubmitDurationData"></ResultCheck>
<!-- Processing time --> <!-- Processing time -->
@@ -41,7 +42,7 @@ export default {
return { selectedRuleType, selectedActivitySequence, selectedMode, selectedProcessScope, selectedActSeqMore, selectedActSeqFromTo } 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: { components: {
ResultCheck, ResultCheck,
ResultArrow, ResultArrow,
@@ -53,7 +54,8 @@ export default {
startEndData: null, startEndData: null,
selectCfmSeqStart: null, selectCfmSeqStart: null,
selectCfmSeqEnd: null, selectCfmSeqEnd: null,
listSequence: null, selectCfmSeqDirectly: [],
selectCfmSeqEventually: [],
durationData: null, durationData: null,
selectCfmPtEteStart: null, // Processing time selectCfmPtEteStart: null, // Processing time
selectCfmPtEteEnd: null, selectCfmPtEteEnd: null,
@@ -171,7 +173,8 @@ export default {
this.startEndData = null; this.startEndData = null;
this.selectCfmSeqStart = null; this.selectCfmSeqStart = null;
this.selectCfmSeqEnd = null; this.selectCfmSeqEnd = null;
this.listSequence = null; this.selectCfmSeqDirectly = [];
this.selectCfmSeqEventually = [];
this.durationData = null; this.durationData = null;
this.selectCfmPtEteStart = null; this.selectCfmPtEteStart = null;
this.selectCfmPtEteEnd = null; this.selectCfmPtEteEnd = null;
@@ -296,13 +299,21 @@ export default {
this.selectCfmCtEteSEEnd = data; this.selectCfmCtEteSEEnd = data;
break; break;
default: default:
if(this.selectedRuleType === 'Activity sequence') this.listSequence = [data.task]; if(this.selectedRuleType === 'Activity duration') this.durationData = [data.task];
else if(this.selectedRuleType === 'Activity duration') this.durationData = [data.task];
break; break;
}; };
}); });
this.$emitter.on('getListSequence', (data) => { 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.$emitter.on('reset', (data) => {
this.reset(); 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" /> <ActRadio :title="'End activity'" :select="isSubmitStartAndEnd?.[1].task" :data="cfmSeqEndData" :category="'cfmSeqEnd'" @selected-task="selectEnd" class="w-1/2" />
</div> </div>
<!-- actSeqDrag --> <!-- 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 --> <!-- Activity duration -->
<ActRadio v-if="selectedRuleType === 'Activity duration'" :title="'Activities include'" :select="isSubmitDurationData?.[0]" :data="conformanceTask" :category="'cfmDur'"/> <ActRadio v-if="selectedRuleType === 'Activity duration'" :title="'Activities include'" :select="isSubmitDurationData?.[0]" :data="conformanceTask" :category="'cfmDur'"/>
<!-- Processing time --> <!-- 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 } 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: { components: {
ActList, ActList,
ActRadio, ActRadio,