Browse Source

bills: upMove/dowMove/upLevel/downLevel/delete, upload Data to DB

MaiXinRong 8 years ago
parent
commit
454963fa55

+ 35 - 14
web/building_saas/main/js/models/bills.js

@@ -9,15 +9,16 @@ var Bills = {
             pid: 'ParentID',
             nid: 'NextSiblingID',
             rootId: -1,
-            autoUpdate: false
+            autoUpdate: true
         };
 
         // 用户定义private方法
         var tools = {
-            coverseTreeUpdateData: function (datas) {
+            coverseTreeUpdateData: function (datas, projectID) {
                 var updateDatas = [];
                 datas.forEach(function (data) {
                     var updateData = {};
+                    data.data.projectID = projectID;
                     if (data.type === idTree.updateType.new) {
                         updateData.updateType = 'ut_create';
                         updateData.updateData = data.data;
@@ -108,47 +109,67 @@ var Bills = {
 
         bills.prototype.insertBills = function (parentId, nextSiblingId) {
             var insertData = this.tree.getInsertData(parentId, nextSiblingId);
-            var that = this;
+            var that = this, newData = null;
             insertData.forEach(function (data) {
-                data.data.projectID = that.project.ID();
                 if (data.type === idTree.updateType.new) {
-                    that.datas.push(data.data);
+                    newData = data.data;
                 }
             });
             this.project.pushNow('insertBills', [this.getSourceType(), this.project.projCounter()],
-                [ tools.coverseTreeUpdateData(insertData), this.getCounterData()]);
+                [ tools.coverseTreeUpdateData(insertData, this.project.ID()), this.getCounterData()]);
             //project.pushNow('insertBills', ModuleNames.bills, tools.coverseTreeUpdateData(insertData));
 
+            this.datas.push(newData);
             return this.tree.insert(parentId, nextSiblingId);
         };
-
         bills.prototype.insertStdBills = function (parentId, nextSiblingId, stdBillsData) {
             var insertData = this.tree.getInsertData(parentId, nextSiblingId);
             var newData = null, that = this;
             insertData.forEach(function (data) {
-                data.data.projectID = that.project.ID();
                 if (data.type === idTree.updateType.new) {
                     data.data.code = stdBillsData.code;
                     data.data.name = stdBillsData.name;
                     data.data.unit = stdBillsData.unit;
-                    that.datas.push(data.data);
                     newData = data.data;
                 }
             });
             this.project.pushNow('insertStdBills', [this.getSourceType(), this.project.projCounter()],
-                [ tools.coverseTreeUpdateData(insertData), this.getCounterData()]);
-            //project.pushNow('insertStdBills', ModuleNames.bills, tools.coverseTreeUpdateData(insertData));
+                [ tools.coverseTreeUpdateData(insertData, this.project.ID()), this.getCounterData()]);
 
+            this.datas.push(newData);
             return this.tree.insertByData(newData, parentId, nextSiblingId);
-        }
-
+        };
         bills.prototype.deleteBills = function (node) {
             var deleteData = this.tree.getDeleteData(node);
             project.beginUpdate('deleteBills');
-            project.push(ModuleNames.bills, tools.coverseTreeUpdateData(deleteData, project.ID()));
+            project.push(ModuleNames.bills, tools.coverseTreeUpdateData(deleteData, this.project.ID()));
             project.endUpdate();
 
             return this.tree.delete(node);
+        };
+        bills.prototype.upMoveBills = function (node) {
+            var upMoveData = node.getUpMoveData();
+            project.pushNow('upMoveBills', this.getSourceType(), tools.coverseTreeUpdateData(upMoveData, this.project.ID()));
+
+            return node.upMove();
+        };
+        bills.prototype.downMoveBills = function (node) {
+            var downMoveData = node.getDownMoveData();
+            project.pushNow('downMoveBills', this.getSourceType(), tools.coverseTreeUpdateData(downMoveData, this.project.ID()));
+
+            return node.downMove();
+        };
+        bills.prototype.upLevelBills = function (node) {
+            var upLevelData = node.getUpLevelData();
+            project.pushNow('upLevelBills', this.getSourceType(), tools.coverseTreeUpdateData(upLevelData, this.project.ID()));
+
+            return node.upLevel();
+        };
+        bills.prototype.downLevelBills = function (node) {
+            var downLevelData = node.getDownLevelData();
+            project.pushNow('downLevelBills', [this.getSourceType()], [tools.coverseTreeUpdateData(downLevelData, this.project.ID())]);
+
+            return node.downLevel();
         }
 
         return new bills(project);

+ 4 - 4
web/building_saas/main/js/views/project_view.js

@@ -155,7 +155,7 @@ $('#upLevel').click(function () {
     var selected = controller.tree.selected;
 
     if (selected && selected.sourceType === project.Bills.getSourceType()) {
-        selected.source.upLevel();
+        project.Bills.upLevelBills(selected.source);
         controller.upLevel();
     }
 });
@@ -163,7 +163,7 @@ $('#downLevel').click(function () {
     var controller = projectObj.mainController, project = projectObj.project;
     var selected = controller.tree.selected;
     if (selected && selected.sourceType === project.Bills.getSourceType()) {
-        selected.source.upLevel();
+        project.Bills.downLevelBills(selected.source);
         controller.downLevel();
     }
 });
@@ -173,7 +173,7 @@ $('#upMove').click(function () {
 
     if (selected) {
         if (selected.sourceType === project.Bills.getSourceType()) {
-            selected.source.upLevel();
+            project.Bills.upMoveBills(selected.source);
             controller.upMove();
         } else if (selected.sourceType === project.Ration.getSourceType()) {
             project.Ration.changePos(selected.source, selected.preSibling.source);
@@ -187,7 +187,7 @@ $('#downMove').click(function () {
 
     if (selected) {
         if (selected.sourceType === project.Bills.getSourceType()) {
-            selected.source.downLevel();
+            project.Bills.downMoveBills(selected.source);
             controller.downMove();
         } else if (selected.sourceType === project.Ration.getSourceType()) {
             project.Ration.changePos(selected.source, selected.nextSibling.source);