Skip to content

Commit 9457547

Browse files
author
liweisen
committed
任务排序优化
1 parent 67ac39b commit 9457547

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

src/views/project/space/task.vue

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
<wrapper-content :showHeader="false">
5757
<draggable v-model="taskStages"
5858
:options="{group:'stages',filter:'.undraggables',handle:'.ui-sortable-handle',ghostClass:'stage-ghost',animation: 200,forceFallback:false}"
59-
id="board-scrum-stages" class="board-scrum-stages" :move="stageMove" @update="stageSort">
59+
id="board-scrum-stages" class="board-scrum-stages" @end="stageSort">
6060
<div class="scrum-stage" v-for="(stage,index) in taskStages" :key="index" :id="stage.code"
6161
:class="{ 'fixed-creator': stage.fixedCreator == true}">
6262
<!--<a-spin wrapperClassName="tasks-loading" :spinning="stage.tasksLoading">-->
@@ -628,6 +628,9 @@
628628
preCode: '',
629629
nextCode: '',
630630
631+
preTaskCode: '',
632+
nextTaskCode: '',
633+
631634
taskSearchParams: {},
632635
633636
stageKeys: [],
@@ -1151,24 +1154,28 @@
11511154
taskDetail(code, stageIndex) {
11521155
this.$router.push(`${this.$route.path}/detail/${code}?from=${stageIndex}`);
11531156
},
1154-
stageMove(evt) {
1155-
this.preCode = evt.draggedContext.element.code;
1156-
this.nextCode = evt.relatedContext.element.code;
1157-
1157+
stageSort(event) {
1158+
const list = this.getPreAndNextCode(event);
1159+
sort(list[0], list[1], this.code);
11581160
},
1159-
stageSort() {
1160-
sort(this.preCode, this.nextCode, this.code);
1161+
getPreAndNextCode(event) {
1162+
const preCode = event.clone.getAttribute('id');
1163+
let toList = [];
1164+
let nextCode = '';
1165+
for (let i = 0, len = event.to.children.length; i < len; i++) {
1166+
toList.push(event.to.children[i].getAttribute('id'));
1167+
}
1168+
const preCodeIndex = toList.findIndex(item => item === preCode)
1169+
if (preCodeIndex < toList.length) {
1170+
nextCode = toList[preCodeIndex + 1];
1171+
}
1172+
return [preCode, nextCode];
11611173
},
11621174
taskSort(event) {
1163-
console.log(event);
1175+
const list = this.getPreAndNextCode(event);
1176+
console.log(list);
11641177
const toStageCode = event.to.parentNode.parentNode.parentNode.getAttribute('id');
1165-
let codes = '';
1166-
for (let i = 0, len = event.to.children.length; i < len; i++) {
1167-
codes += ',' + event.to.children[i].getAttribute('id');
1168-
}
1169-
sortTask({stageCode: toStageCode, codes: codes.substr(1)}).then(res => {
1170-
this.getTaskStages(false);
1171-
});
1178+
sortTask({preTaskCode: list[0], nextTaskCode: list[1], toStageCode: toStageCode});
11721179
},
11731180
handleResize(vertical, stageIndex) {
11741181
if (vertical.barSize) {

0 commit comments

Comments
 (0)