|
@@ -1030,13 +1030,16 @@ class TreeService extends Service {
|
|
|
* @param {Array} block - 复制节点Id
|
|
|
* @return {Object} - 提价后的数据(其中新增粘贴数据,只返回第一层)
|
|
|
*/
|
|
|
- async pasteBlock(mid, kid, block) {
|
|
|
+ async pasteBlock(mid, kid, paste) {
|
|
|
if ((mid <= 0) || (kid <= 0)) return [];
|
|
|
|
|
|
+ console.log(mid);
|
|
|
+ console.log(kid);
|
|
|
+ console.log(paste);
|
|
|
const selectData = await this.getDataByKid(mid, kid);
|
|
|
if (!selectData) throw '数据错误';
|
|
|
|
|
|
- const copyNodes = await this.getDataByNodeIds(mid, block);
|
|
|
+ const copyNodes = await this.getDataByNodeIds(paste.tid, paste.block);
|
|
|
if (!copyNodes || copyNodes.length <= 0) throw '复制数据错误';
|
|
|
for (const node of copyNodes) {
|
|
|
if (node[this.setting.pid] !== copyNodes[0][this.setting.pid]) throw '复制数据错误:仅可操作同层节点';
|
|
@@ -1048,7 +1051,7 @@ class TreeService extends Service {
|
|
|
this.transaction = await this.db.beginTransaction();
|
|
|
try {
|
|
|
// 选中节点的所有后兄弟节点,order+粘贴节点个数
|
|
|
- await this._updateSelectNextsOrder(selectData, copyNodes.length);
|
|
|
+ await this._updateChildrenOrder(mid, selectData[this.setting.pid], selectData[this.setting.order], copyNodes.length);
|
|
|
for (let iNode = 0; iNode < copyNodes.length; iNode++) {
|
|
|
const node = copyNodes[iNode];
|
|
|
let datas = await this.getDataByFullPath(mid, node[this.setting.fullPath] + '%');
|
|
@@ -1102,13 +1105,7 @@ class TreeService extends Service {
|
|
|
}
|
|
|
|
|
|
// 查询应返回的结果
|
|
|
- const createData = await this.getDataByIds(newIds);
|
|
|
- const updateData = await this.getNextsData(selectData[this.setting.mid], selectData[this.setting.pid], selectData[this.setting.order] + copyNodes.length);
|
|
|
- //const posData = await this.ctx.service.pos.getPosData({ lid: newIds });
|
|
|
- return {
|
|
|
- ledger: { create: createData, update: updateData },
|
|
|
- //pos: posData,
|
|
|
- };
|
|
|
+ return await this.getPasteBlockResult(selectData, copyNodes);
|
|
|
}
|
|
|
|
|
|
}
|