fix: 修复字段拖拽排序功能

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
This commit is contained in:
user9994793890
2026-07-10 15:56:19 +08:00
parent 8f380c24ed
commit fe6a3dad00
2 changed files with 20 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -1199,14 +1199,27 @@
// 初始化拖拽排序
function initDragAndDrop() {
const orderList = document.getElementById('selected-fields-order');
if (!orderList) return;
const items = orderList.querySelectorAll('.selected-field-item');
let draggedItem = null;
// 为容器添加 dragover 和 drop 事件
orderList.addEventListener('dragover', function(e) {
e.preventDefault();
e.dataTransfer.dropEffect = 'move';
});
orderList.addEventListener('drop', function(e) {
e.preventDefault();
});
items.forEach(item => {
item.addEventListener('dragstart', function(e) {
draggedItem = this;
setTimeout(() => this.classList.add('dragging'), 0);
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/plain', this.dataset.field);
});
item.addEventListener('dragend', function() {
@@ -1218,9 +1231,10 @@
item.addEventListener('dragover', function(e) {
e.preventDefault();
e.stopPropagation();
e.dataTransfer.dropEffect = 'move';
if (this !== draggedItem) {
if (this !== draggedItem && draggedItem) {
const rect = this.getBoundingClientRect();
const midY = rect.top + rect.height / 2;
@@ -1231,6 +1245,11 @@
}
}
});
item.addEventListener('drop', function(e) {
e.preventDefault();
e.stopPropagation();
});
});
}