vue2-client 1.2.71 → 1.2.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -64,7 +64,14 @@
|
|
|
64
64
|
</a-form-model-item>
|
|
65
65
|
<a-form-model-item label="数据字段" prop="column">
|
|
66
66
|
<a-button type="primary" @click="addColumnItem()">增加</a-button>
|
|
67
|
-
<div
|
|
67
|
+
<div
|
|
68
|
+
v-for="(columnItem, index) in form.column"
|
|
69
|
+
:key="index"
|
|
70
|
+
draggable="true"
|
|
71
|
+
@dragstart="handleDragStart($event, columnItem)"
|
|
72
|
+
@dragover.prevent="handleDragOver($event, columnItem)"
|
|
73
|
+
@dragenter="handleDragEnter($event, columnItem)"
|
|
74
|
+
@dragend="handleDragEnd($event, columnItem)">
|
|
68
75
|
<a-row :gutter="16">
|
|
69
76
|
<a-col :span="16">
|
|
70
77
|
<span style="font-weight: bold">{{ columnItem.title }}({{ columnItem.key }})</span>
|
|
@@ -173,6 +180,8 @@ export default {
|
|
|
173
180
|
tableName: [{ required: true, message: '请输入查询表名', trigger: 'blur' }],
|
|
174
181
|
orderBy: [{ required: true, message: '请输入排序方式', trigger: 'blur' }]
|
|
175
182
|
},
|
|
183
|
+
ending: null,
|
|
184
|
+
dragging: null
|
|
176
185
|
}
|
|
177
186
|
},
|
|
178
187
|
mounted () {
|
|
@@ -475,6 +484,37 @@ export default {
|
|
|
475
484
|
return false
|
|
476
485
|
}
|
|
477
486
|
}
|
|
487
|
+
},
|
|
488
|
+
// 拖拽事件
|
|
489
|
+
handleDragStart (e, item) {
|
|
490
|
+
this.dragging = item
|
|
491
|
+
},
|
|
492
|
+
handleDragEnd (e, item) {
|
|
493
|
+
if (this.ending.key === this.dragging.key) {
|
|
494
|
+
return
|
|
495
|
+
}
|
|
496
|
+
const newItems = [...this.form.column]
|
|
497
|
+
const src = newItems.indexOf(this.dragging)
|
|
498
|
+
const dst = newItems.indexOf(this.ending)
|
|
499
|
+
// newItems.splice(src, 1, ...newItems.splice(dst, 1, newItems[src])) 替换位置
|
|
500
|
+
// 挪移位置
|
|
501
|
+
newItems.splice(src, 1)
|
|
502
|
+
newItems.splice(dst, 0, this.dragging)
|
|
503
|
+
this.form.column = newItems
|
|
504
|
+
this.$nextTick(() => {
|
|
505
|
+
this.dragging = null
|
|
506
|
+
this.ending = null
|
|
507
|
+
})
|
|
508
|
+
},
|
|
509
|
+
handleDragOver (e) {
|
|
510
|
+
// 首先把div变成可以放置的元素,即重写dragenter/dragover
|
|
511
|
+
// e.dataTransfer.dropEffect="move";//在dragenter中针对放置目标来设置!
|
|
512
|
+
e.dataTransfer.dropEffect = 'move'
|
|
513
|
+
},
|
|
514
|
+
handleDragEnter (e, item) {
|
|
515
|
+
// 为需要移动的元素设置dragstart事件
|
|
516
|
+
e.dataTransfer.effectAllowed = 'move'
|
|
517
|
+
this.ending = item
|
|
478
518
|
}
|
|
479
519
|
}
|
|
480
520
|
}
|