线上课课时拖动为父子级时取消

This commit is contained in:
unknown 2023-10-31 15:46:52 +08:00
parent d06214aec0
commit e0bd169069

View File

@ -65,6 +65,7 @@ export const TreeHours = (props: PropInterface) => {
} }
props.onRemoveItem(id); props.onRemoveItem(id);
}; };
const onDrop: TreeProps["onDrop"] = (info) => { const onDrop: TreeProps["onDrop"] = (info) => {
const dropKey = info.node.key; const dropKey = info.node.key;
const dragKey = info.dragNode.key; const dragKey = info.dragNode.key;
@ -96,23 +97,35 @@ export const TreeHours = (props: PropInterface) => {
// Find dragObject // Find dragObject
let dragObj: DataNode; let dragObj: DataNode;
loop(data, dragKey, (item, index, arr) => { let dragLength = (info.dragNode as any).props.pos.split("-").length;
arr.splice(index, 1); let dropLength = (info.node as any).props.pos.split("-").length;
dragObj = item;
});
if (!info.dropToGap) { if (!info.dropToGap) {
// Drop on the content // Drop on the content
loop(data, dropKey, (item) => { if (
item.children = item.children || []; (dropPosition == 0 && dropPos.length == 3) ||
// where to insert 示例添加到头部,可以是随意位置 (dropPosition == 0 && dropPos.length == 2 && dragLength == 2)
item.children.unshift(dragObj); ) {
}); } else {
loop(data, dragKey, (item, index, arr) => {
arr.splice(index, 1);
dragObj = item;
});
loop(data, dropKey, (item) => {
item.children = item.children || [];
// where to insert 示例添加到头部,可以是随意位置
item.children.unshift(dragObj);
});
}
} else if ( } else if (
((info.node as any).props.children || []).length > 0 && // Has children ((info.node as any).props.children || []).length > 0 && // Has children
(info.node as any).props.expanded && // Is expanded (info.node as any).props.expanded && // Is expanded
dropPosition === 1 // On the bottom gap dropPosition === 1 // On the bottom gap
) { ) {
loop(data, dragKey, (item, index, arr) => {
arr.splice(index, 1);
dragObj = item;
});
loop(data, dropKey, (item) => { loop(data, dropKey, (item) => {
item.children = item.children || []; item.children = item.children || [];
// where to insert 示例添加到头部,可以是随意位置 // where to insert 示例添加到头部,可以是随意位置
@ -121,6 +134,16 @@ export const TreeHours = (props: PropInterface) => {
// item to the tail of the children // item to the tail of the children
}); });
} else { } else {
if (
(dragLength == 3 && dropLength == 2) ||
(dragLength == 2 && dropLength == 3)
) {
return;
}
loop(data, dragKey, (item, index, arr) => {
arr.splice(index, 1);
dragObj = item;
});
let ar: DataNode[] = []; let ar: DataNode[] = [];
let i: number; let i: number;
loop(data, dropKey, (_item, index, arr) => { loop(data, dropKey, (_item, index, arr) => {