|
@@ -87,7 +87,7 @@ $(document).ready(function() {
|
|
|
invalidAll();
|
|
invalidAll();
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- let last = first, sameParent = true, nodeUsed = this.checkNodeUsed(tree, first);
|
|
|
|
|
|
|
+ let last = first, sameParent = true, specNode = false, nodeUsed = this.checkNodeUsed(tree, first);
|
|
|
if (sel.rowCount > 1 && first) {
|
|
if (sel.rowCount > 1 && first) {
|
|
|
for (let r = 1; r < sel.rowCount; r++) {
|
|
for (let r = 1; r < sel.rowCount; r++) {
|
|
|
const rNode = tree.nodes[sel.row + r];
|
|
const rNode = tree.nodes[sel.row + r];
|
|
@@ -95,6 +95,7 @@ $(document).ready(function() {
|
|
|
sameParent = false;
|
|
sameParent = false;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ if (!specNode) specNode = !!rNode.node_type;
|
|
|
nodeUsed = nodeUsed || this.checkNodeUsed(tree, rNode);
|
|
nodeUsed = nodeUsed || this.checkNodeUsed(tree, rNode);
|
|
|
if (rNode.tree_level > first.tree_level) continue;
|
|
if (rNode.tree_level > first.tree_level) continue;
|
|
|
if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
|
|
if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
|
|
@@ -110,7 +111,7 @@ $(document).ready(function() {
|
|
|
const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
|
|
const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
|
|
|
|
|
|
|
|
setObjEnable($('a[name=base-opr][type=add]'), valid && first && !isFixed);
|
|
setObjEnable($('a[name=base-opr][type=add]'), valid && first && !isFixed);
|
|
|
- setObjEnable($('a[name=base-opr][type=delete]'), valid && first && sameParent && !isFixed && !first.node_type);
|
|
|
|
|
|
|
+ setObjEnable($('a[name=base-opr][type=delete]'), valid && first && sameParent && !isFixed && specNode);
|
|
|
setObjEnable($('a[name=base-opr][type=up-move]'), valid && first && sameParent && preNode && !isFixed);
|
|
setObjEnable($('a[name=base-opr][type=up-move]'), valid && first && sameParent && preNode && !isFixed);
|
|
|
setObjEnable($('a[name=base-opr][type=down-move]'), valid && first && sameParent && !tree.isLastSibling(last) && !isFixed);
|
|
setObjEnable($('a[name=base-opr][type=down-move]'), valid && first && sameParent && !tree.isLastSibling(last) && !isFixed);
|
|
|
setObjEnable($('a[name=base-opr][type=up-level]'), valid && first && sameParent && tree.getParent(first) && !nodeUsed && first.tree_level > 2 && !isFixed);
|
|
setObjEnable($('a[name=base-opr][type=up-level]'), valid && first && sameParent && tree.getParent(first) && !nodeUsed && first.tree_level > 2 && !isFixed);
|
|
@@ -739,7 +740,7 @@ $(document).ready(function() {
|
|
|
const tree = sheet.zh_tree;
|
|
const tree = sheet.zh_tree;
|
|
|
if (!tree) return true;
|
|
if (!tree) return true;
|
|
|
const first = sheet.zh_tree.nodes[row];
|
|
const first = sheet.zh_tree.nodes[row];
|
|
|
- let last = first, sameParent = true, nodeUsed = billsObj.checkNodeUsed(tree, first);
|
|
|
|
|
|
|
+ let last = first, sameParent = true, specNode = false, nodeUsed = billsObj.checkNodeUsed(tree, first);
|
|
|
if (sel.rowCount > 1 && first) {
|
|
if (sel.rowCount > 1 && first) {
|
|
|
for (let r = 1; r < sel.rowCount; r++) {
|
|
for (let r = 1; r < sel.rowCount; r++) {
|
|
|
const rNode = tree.nodes[sel.row + r];
|
|
const rNode = tree.nodes[sel.row + r];
|
|
@@ -747,6 +748,7 @@ $(document).ready(function() {
|
|
|
sameParent = false;
|
|
sameParent = false;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ if (!specNode) specNode = !!rNode.node_type;
|
|
|
nodeUsed = nodeUsed || billsObj.checkNodeUsed(tree, rNode);
|
|
nodeUsed = nodeUsed || billsObj.checkNodeUsed(tree, rNode);
|
|
|
if (rNode.tree_level > first.tree_level) continue;
|
|
if (rNode.tree_level > first.tree_level) continue;
|
|
|
if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
|
|
if ((rNode.tree_level < first.tree_level) || (rNode.tree_level === first.tree_level && rNode.tree_pid !== first.tree_pid)) {
|
|
@@ -759,7 +761,7 @@ $(document).ready(function() {
|
|
|
const valid = !sheet.zh_setting.readOnly;
|
|
const valid = !sheet.zh_setting.readOnly;
|
|
|
const topParent = tree.getTopParent(first);
|
|
const topParent = tree.getTopParent(first);
|
|
|
const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
|
|
const isFixed = first.tree_level === 1 || [2,3,4].indexOf(topParent.node_type) >= 0;
|
|
|
- return !valid || !first || !sameParent || nodeUsed || isFixed;
|
|
|
|
|
|
|
+ return !valid || !first || !sameParent || nodeUsed || isFixed || specNode;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
billsContextMenuOptions.items.batchInsert = {
|
|
billsContextMenuOptions.items.batchInsert = {
|