MaiXinRong 1 рік тому
батько
коміт
47001caad8
1 змінених файлів з 6 додано та 11 видалено
  1. 6 11
      app/service/sub_project.js

+ 6 - 11
app/service/sub_project.js

@@ -96,18 +96,13 @@ module.exports = app => {
         }
 
         async getLastChild(tree_pid) {
-            if (tree_pid === -1) {
-                const result = await this.getAllDataByCondition({ where: { tree_pid, project_id: this.ctx.session.sessionProject.id }, orders: [['tree_order', 'asc']], limit: 1, offset: 0 });
-                return result[0];
-            } else {
-                const result = await this.getAllDataByCondition({ where: { tree_pid }, orders: [['tree_order', 'asc']], limit: 1, offset: 0 });
-                return result[0];
-            }
+            const result = await this.getAllDataByCondition({ where: { tree_pid, project_id: this.ctx.session.sessionProject.id }, orders: [['tree_order', 'desc']], limit: 1, offset: 0 });
+            return result[0];
         }
 
         async getPosterityData(id){
             const result = [];
-            let cur = await this.getAllDataByCondition({ where: { tree_pid: id } });
+            let cur = await this.getAllDataByCondition({ where: { tree_pid: id, project_id: this.ctx.session.sessionProject.id } });
             let iLevel = 1;
             while (cur.length > 0 && iLevel < 6) {
                 result.push(...cur);
@@ -127,7 +122,7 @@ module.exports = app => {
                     step = step + 1;
                 }
             }
-            return await this.getAllDataByCondition({ where: { tree_pid: node.tree_pid, tree_order, project_id: this.ctx.session.sessionProject.id }, orders: [['tree_order', 'desc']]});
+            return await this.getAllDataByCondition({ where: { tree_pid: node.tree_pid, tree_order, project_id: this.ctx.session.sessionProject.id }, orders: [['tree_order', 'asc']]});
         }
 
         async addFolder(data) {
@@ -271,12 +266,12 @@ module.exports = app => {
         }
 
         async _topMove(node) {
-            const lastChild = await this.getLastChild(-1);
+            const lastChild = await this.getLastChild(rootId);
             const posterity = await this.getPosterityData(node.id);
 
             const conn = await this.db.beginTransaction();
             try {
-                const updateData = { id: node.id, tree_pid: -1, tree_level: 1, tree_order: lastChild ? lastChild.tree_order + 1 : 1 };
+                const updateData = { id: node.id, tree_pid: rootId, tree_level: 1, tree_order: lastChild ? lastChild.tree_order + 1 : 1 };
                 await conn.update(this.tableName, updateData);
                 if (node.tree_level !== 1 && posterity.length > 0) {
                     const posterityUpdateData = posterity.map(x => {