|
@@ -451,19 +451,30 @@ $(document).ready(() => {
|
|
|
parent: {type: 'warning', msg: '含有子项的清单,不可粘贴数量、单价、金额'},
|
|
|
gcl: {type: 'warning', msg: '工程量清单,不可粘贴项目节数量'},
|
|
|
posXmj: {type: 'warning', msg: '清单含有计量单元,不可粘贴项目节编号'},
|
|
|
+ sameParent: {type: 'warning', msg: '仅可粘贴同层节点'},
|
|
|
};
|
|
|
const datas = [], filterNodes = [];
|
|
|
|
|
|
+ let pid, level, filterRow = 0;
|
|
|
for (let iRow = 0; iRow < info.cellRange.rowCount; iRow ++) {
|
|
|
const curRow = info.cellRange.row + iRow;
|
|
|
const node = tree.nodes[curRow];
|
|
|
if (!node) continue;
|
|
|
+ if (!pid) pid = node.ledger_pid;
|
|
|
+ if (!level) level = node.level;
|
|
|
+ if (node.ledger_pid !== pid) {
|
|
|
+ toastMessageUniq(hint.sameParent);
|
|
|
+ filterRow+=1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (node.level < level) break;
|
|
|
|
|
|
let bPaste = false;
|
|
|
const data = info.sheet.zh_tree.getNodeKeyData(node);
|
|
|
for (let iCol = 0; iCol < info.cellRange.colCount; iCol++) {
|
|
|
const curCol = info.cellRange.col + iCol;
|
|
|
const colSetting = info.sheet.zh_setting.cols[curCol];
|
|
|
+ const value = trimInvalidChar(pasteData[iRow-filterRow][iCol]);
|
|
|
if (node.children && node.children.length > 0 && invalidFields.parent.indexOf(colSetting.field) >= 0) {
|
|
|
toastMessageUniq(hint.parent);
|
|
|
continue;
|
|
@@ -491,7 +502,6 @@ $(document).ready(() => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- const value = trimInvalidChar(pasteData[iRow][iCol]);
|
|
|
if (tree.checkNodeUsed(node, pos) && col.field === 'unit_price') {
|
|
|
toastMessageUniq (hint.usedUp);
|
|
|
continue;
|