Skip to content

Commit 154b43b

Browse files
author
hikki
committed
v3.2
1 parent 1ed6c19 commit 154b43b

File tree

2 files changed

+51
-19
lines changed

2 files changed

+51
-19
lines changed

resources/assets/component.js

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,7 +1166,7 @@ window.ComponentCascadeLine = class {
11661166
});
11671167

11681168
for (let D of this.DOM.querySelectorAll('i.right')) {
1169-
this.nodeMovement(D);
1169+
this.nodeMigrate(D);
11701170
}
11711171
}
11721172

@@ -1688,7 +1688,7 @@ window.ComponentCascadeLine = class {
16881688
DOM.click();
16891689
}
16901690

1691-
nodeMovement(dom) {
1691+
nodeMigrate(dom) {
16921692
let D = dom.parentNode;
16931693
let object = this;
16941694
let aim = null;
@@ -1729,22 +1729,7 @@ window.ComponentCascadeLine = class {
17291729
stack = parseInt(D.getAttribute('data-stack'));
17301730
index = parseInt(D.getAttribute('data-k'));
17311731
let node_data = object.dimensional_data[stack][index];
1732-
object.dialog(`<span class="dlp-text title" title="${node_data.val}">${node_data.val}</span> 迁移`,90);
1733-
let M = document.createElement('div');
1734-
M.className = 'dlp dlp-text dlp-label';
1735-
M.addEventListener('click', (() => {
1736-
if (object.submit_block) return;
1737-
object.submit_block = true;
1738-
1739-
}));
1740-
M.insertAdjacentHTML('afterbegin', `<span>${node_data.val}</span><i class="right">${_component.check_circle}</i>`);
1741-
object.PLANE_BODY.insertAdjacentHTML('afterbegin', `<div class="dlp dlp-text dlp-label"><span>${aim_node_data.val}</span></div>`);
1742-
if(aim_node_data.parentNodes.indexOf(node_data.key) !== -1){
1743-
object.PLANE_BODY.insertAdjacentHTML('beforeend', `<div style="font-size: 20px!important;">⇵</div>`);
1744-
}else {
1745-
object.PLANE_BODY.insertAdjacentHTML('beforeend', `<div style="font-size: 18px!important;">↑</div>`);
1746-
}
1747-
object.PLANE_BODY.append(M);
1732+
object.nodeMigrateConfirm(node_data,aim_node_data);
17481733
}
17491734
}
17501735
dom.addEventListener('mousedown', ()=>{
@@ -1766,5 +1751,39 @@ window.ComponentCascadeLine = class {
17661751
}
17671752
});
17681753
}
1754+
1755+
nodeMigrateConfirm(node_data,aim_node_data){
1756+
this.dialog(`<span class="dlp-text title" title="${node_data.val}">${node_data.val}</span> 迁移`,90);
1757+
let M = document.createElement('div');
1758+
let object = this;
1759+
M.className = 'dlp dlp-text dlp-label';
1760+
M.insertAdjacentHTML('afterbegin', `<span>${node_data.val}</span><i class="right">${_component.check_circle}</i>`);
1761+
this.PLANE_BODY.insertAdjacentHTML('afterbegin', `<div class="dlp dlp-text dlp-label"><span>${aim_node_data.val}</span></div>`);
1762+
let event;
1763+
if(aim_node_data.parentNodes.indexOf(node_data.key) !== -1){
1764+
this.PLANE_BODY.insertAdjacentHTML('beforeend', `<div style="font-size: 20px!important;">⇵</div>`);
1765+
event = 'exchange';
1766+
}else {
1767+
this.PLANE_BODY.insertAdjacentHTML('beforeend', `<div style="font-size: 18px!important;">↑</div>`);
1768+
event = 'migrate';
1769+
}
1770+
M.addEventListener('click', (() => {
1771+
if (this.submit_block) return;
1772+
this.submit_block = true;
1773+
M.querySelector('.right').innerHTML = _component.sub_loading;
1774+
_component.request(this.URL, 'GET', {event:event, node_key:node_data.key, aim_node_key:aim_node_data.key}, function (response) {
1775+
object.submit_block = false;
1776+
if (response.code !== 0) return _component.alert(response.message, 3);
1777+
object.nodeMigrateExec();
1778+
}, function () {
1779+
object.submit_block = false;
1780+
});
1781+
}));
1782+
this.PLANE_BODY.append(M);
1783+
}
1784+
1785+
nodeMigrateExec(){
1786+
1787+
}
17691788
};
17701789

src/Traits/CascadeLineTrait.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,22 @@ trait CascadeLineTrait
1818
{
1919
public function index(Content $content)
2020
{
21-
21+
try {
22+
$this->migrate();
23+
} catch (\Exception $e) {
24+
return Assistant::result(false, $e->getMessage());
25+
}
26+
return Assistant::result(true, 'OK');
2227
}
2328

29+
/**
30+
* 迁移节点
31+
* event 迁移事件 migrate:节点转移 exchange:主节点与子节点交换
32+
* node_key 被迁移的节点
33+
* aim_node_key 迁移到目标节点
34+
*/
35+
abstract function migrate();
36+
2437
public function create(Content $content)
2538
{
2639
$formPanel = new FormPanel();

0 commit comments

Comments
 (0)