Selaa lähdekoodia

dbController,idTree操作同步到数据库

zhongzewei 8 vuotta sitten
vanhempi
commit
9ee6e2a745

+ 1 - 1
modules/billsLib/billsLibControllers/billsLibControllers.js

@@ -74,7 +74,7 @@ module.exports = {
     },
     deleteBills: function(req, res){
         var data = JSON.parse(req.body.data);
-        billsDao.deleteBills(data.deleteIds, function(err, message){
+        billsDao.deleteBills(data, function(err, message){
             callback(req, res, err, message, null);
         });
     },

+ 18 - 20
modules/billsLib/billsLibModel/billsLibInterfaces.js

@@ -98,8 +98,7 @@ billsDao.prototype.getBills = function (billsLibId, callback) {
 }
 
 billsDao.prototype.createBills = function(cbillsData, callback){
-    counter.getIDAfterCount('bills', 1, function(err, result){
-        var newId = result.value.sequence_value;
+        var newId = cbillsData.newId;
         var pid = cbillsData.ParentID;
         var nid = cbillsData.NextSiblingID;
         var billsLibId = cbillsData.billsLibId;
@@ -117,17 +116,15 @@ billsDao.prototype.createBills = function(cbillsData, callback){
                 callback(0, "");
             }
         });
-
-    })
-
 }
 
 billsDao.prototype.updatePNId= function(updateData, callback){
+    var billsLibId = updateData.billsLibId;
     var updateId = updateData.updateId;
     var updatepid= updateData.ParentID;
     var updatenid = updateData.NextSiblingID;
     if(!updatepid){
-        Bills.update({ID: updateId}, {$set: {NextSiblingID: updatenid}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {NextSiblingID: updatenid}}, function(err){
             if(err){
                 callback(1, "Error")
             }
@@ -137,7 +134,7 @@ billsDao.prototype.updatePNId= function(updateData, callback){
         });
     }
     else if(!updatenid){
-        Bills.update({ID: updateId}, {$set: {ParentID: updatepid}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ParentID: updatepid}}, function(err){
             if(err){
                 callback(1, "Error")
             }
@@ -147,7 +144,7 @@ billsDao.prototype.updatePNId= function(updateData, callback){
         });
     }
     else {
-        Bills.update({ID: updateId}, {$set: {ParentID: updatepid, NextSiblingID: updatenid}}, function(err){
+        Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ParentID: updatepid, NextSiblingID: updatenid}}, function(err){
             if(err){
                 callback(1, "Error")
             }
@@ -212,19 +209,20 @@ billsDao.prototype.updateBills = function(ubillsData, callback){
     }
 }
 
-billsDao.prototype.deleteBills = function(deleteIds, callback){
-   //ǰ�˿��Ƶõ���ɾ�������нڵ�deleteIds
+billsDao.prototype.deleteBills = function(delData, callback){
+    var deleteIds = delData.deleteIds;
+    var billsLibId = delData.billsLibId;
     if(deleteIds){
-        for(var i=0; i<deleteIds.length; i++){
-            Bills.remove({ID: deleteIds[i]}, function(err){
-                if(err){
-                    callback(1, "Error");
-                }
-                else{
-                    callback(0, "");
-                }
-            });
-        }
+        //deleteIds.forEach(function(deleteId){
+           Bills.remove({billsLibId: billsLibId, ID: {$in: deleteIds}}, function(err){
+               if(err){
+                   callback(1, 'Error');
+               }
+               else {
+                   callback(0, '');
+               }
+           });
+      //  });
     }
 }
 

+ 29 - 115
web/billsLib/html/qingdan.html

@@ -55,7 +55,7 @@
                               <a class="nav-link text-primary" id="upLevel"  href="javascript: void(0);"><i class="fa fa-arrow-left" aria-hidden="true"></i>升级</a>
                           </li>
                           <li class="nav-item">
-                              <a class="nav-link text-primary" id="downLevl" href="javascript: void(0);"><i class="fa fa-arrow-right" aria-hidden="true"></i>降级</a>
+                              <a class="nav-link text-primary" id="downLevel" href="javascript: void(0);"><i class="fa fa-arrow-right" aria-hidden="true"></i>降级</a>
                           </li>
                           <li class="nav-item">
                               <a class="nav-link text-primary" id="upMove" href="javascript: void(0);"><i class="fa fa-arrow-up" aria-hidden="true"></i>上移</a>
@@ -222,6 +222,7 @@
     <script src="web/billsLib/scripts/billsLibTree.js"></script>
     <!--<script src="test/tmp_data/data_15690.js"></script>-->
     <script src="test/tmp_data/bills_grid_setting.js"></script>
+    <script src="web/billsLib/scripts/dbController.js"></script>
 </body>
 <script type="text/javascript">
     autoFlashHeight();
@@ -236,132 +237,31 @@
     //test
     //test
 
-    var dbOperation = {
-        insert: function(controller){
-            if(controller.tree.items.length === 0){
-                billsAjax.createBills(billsLibId, -1 , -1);
-                controller.insert();
-            }
-            else {
-                var node = controller.tree.selected;
-                if(node){
-                    var updateId = tagId, createpid = node.getParentID(), createnid = node.getNextSiblingID();
-                    controller.insert();
-                    billsAjax.createBills(billsLibId, createpid, createnid);
-                    billsAjax.updatePNId(updateId, -1, node.getNextSiblingID());
-                }
-                else {
-                    var updateNode = controller.tree.roots[controller.tree.roots.length - 1];
-                    var updateId = updateNode.getID();
-                    controller.insert();
-                    billsAjax.createBills(billsLibId, -1, -1);
-                    billsAjax.updatePNId(updateId, -1, updateNode.getNextSiblingID());
-                }
-            }
-        },
-
-        delete: function(controller){
-            var node = controller.tree.selected;
-            var deleteIds = [];
-            var getDeleteIds = function(node){
-                if(node){
-                    deleteIds.push(node.getID());
-                    if(node.children.length > 0){
-                        for(var i=0; i<node.children.length; i++){
-                            getDeleteIds(node.children[i]);
-                        }
-                    }
-                }
-            };
-            getDeleteIds(node);
-            billsAjax.deleteBills(deleteIds);
-            controller.delete;
-        },
-
-        upLevel: function(controller){
-            var node = controller.tree.selected;
-            if(node){
-                if(node.parent){
-                    //node
-                    billsAjax.updatePNId(node.getID(), node.parent.getParentID(), node.parent.getNextSiblingID());
-                    //parent
-                    billsAjax.updatePNId(node.getParentID(), null, node.getID());
-                    if(node.nextSibling){
-                        //node.nextSibling
-                        billsAjax.updatePNId(node.getNextSiblingID(), node.getID(), null);
-                    }
-                    if(node.preSibling){
-                        billsAjax.updatePNId(node.preSibling.getID(), null, -1);
-                    }
-                }
-                //controllerOp
-                controller.upLevel();
-            }
-
-        },
-
-        downLevel: function(controller){
-            var node = controller.tree.selected;
-            if(node){
-                if(node.preSibling){
-                    billsAjax.updatePNId(node.preSibling.getID(), null, node.getNextSiblingID());
-                    billsAjax.updatePNId(node.getID(), node.preSibling.getID(), -1);
-                    if(node.preSibling.children.length > 0){
-                        billsAjax.updatePNId(node.preSibling.children[node.preSibling.children.length -1].getID(), null, node.getID());
-                    }
-                    controller.downLevel();
-                }
-            }
-        },
-
-        upMove: function(controller){
-            var node = controller.tree.selected;
-            if(node){
-                if(node.preSibling){
-                    billsAjax.updatePNId(node.preSibling.getID(), null, node.getNextSiblingID());
-                    billsAjax.updatePNId(node.getID(), null, node.preSibling.getID());
-                    if(node.preSibling.preSibling){
-                        billsAjax.updatePNId(node.preSibling.preSibling.getID(), null, node.getID());
-                    }
-                    controller.upMove();
-                }
-            }
-        },
-
-        downMove: function(controller){
-            var node = controller.tree.selected;
-            if(node){
-                if(node.nextSibling){
-                    billsAjax.updatePNId(node.getNextSiblingID(), null, node.getID());
-                    billsAjax.updatePNId(node.getID(), null, node.nextSibling.getNextSiblingID());
-                    if(node.preSibling){
-                        billsAjax.updatePNId(node.preSibling.getID(), null, node.getNextSiblingID());
-                    }
-                    controller.downMove();
-                }
-            }
-        }
-    }
 
     function nodeOpration(controller,sheet){
         $('#insert').click(function(){
-            //dbOperation.insert(controller, sheet);
-            controller.insert();
+            //controller.insert();
+            dbController.insert(controller);
         });
         $('#delete').click(function(){
-            controller.delete();
+            dbController.delete(controller);
+            //controller.delete();
         });
         $('#upLevel').click(function(){
-            controller.upLevel();
+            //controller.upLevel();
+            dbController.upLevel(controller);
         });
-        $('#downLevl').click(function(){
-            controller.downLevel();
+        $('#downLevel').click(function(){
+            //controller.downLevel();
+            dbController.downLevel(controller);
         });
         $('#upMove').click(function(){
-            controller.upMove();
+            dbController.upMove(controller);
+           // controller.upMove();
         });
         $('#downMove').click(function(){
-            controller.downMove();
+            //controller.downMove();
+            dbController.downMove(controller);
         });
     }
 
@@ -371,6 +271,20 @@
         billsTree.loadDatas(datas);
         var controller = TREE_SHEET_CONTROLLER.createNew(billsTree.tree, billsSpread.getActiveSheet(), billsLibSetting);
         controller.showTreeData();
+        controller.bind('refreshBaseActn', function (tree) {
+            var showButton = function (show, btn) {
+                if (show) {
+                    btn.show();
+                } else {
+                    btn.hide();
+                }
+            };
+            showButton(tree.selected && tree.selected.canUpLevel(), $('#upLevel'));
+            showButton(tree.selected && tree.selected.canDownLevel(), $('#downLevel'));
+            showButton(tree.selected && tree.selected.canUpMove(), $('#upMove'));
+            showButton(tree.selected && tree.selected.canDownMove(), $('#downMove'));
+            showButton(tree.selected ? true : false, $('#delete'));
+        });
         nodeOpration(controller, billsSpread.getActiveSheet());
     }
 

+ 6 - 6
web/billsLib/scripts/billsLibAjax.js

@@ -112,32 +112,32 @@ var billsAjax = {
             }
         });
     },
-    createBills: function(billsLibId, pid, nid){
+    createBills: function(billsLibId, newId, pid, nid){
         $.ajax({
             type: 'post',
             url: 'stdBillsEditor/createBills',
-            data: {data: JSON.stringify({billsLibId: billsLibId, ParentID: pid, NextSiblingID: nid})},
+            data: {data: JSON.stringify({billsLibId: billsLibId, newId: newId, ParentID: pid, NextSiblingID: nid})},
             dataType: 'json',
             success: function(result){
             }
         });
     },
-    updatePNId: function(updateId, pid, nid){
+    updatePNId: function(billsLibId, updateId, pid, nid){
         $.ajax({
             type: 'post',
             url: 'stdBillsEditor/updatePNId',
-            data: {data: JSON.stringify({updateId: updateId, ParentID: pid, NextSiblingID: nid})},
+            data: {data: JSON.stringify({billsLibId: billsLibId, updateId: updateId, ParentID: pid, NextSiblingID: nid})},
             dataType: 'json',
             success: function(result){
 
             }
         });
     },
-    deleteBills: function(deleteIds){
+    deleteBills: function(billsLibId, deleteIds){
         $.ajax({
             type: 'post',
             url: 'stdBillsEditor/deleteBills',
-            data: {data: JSON.stringify({deleteIds: deleteIds})},
+            data: {data: JSON.stringify({billsLibId: billsLibId, deleteIds: deleteIds})},
             dataType: 'json',
             success: function(result){
 

+ 111 - 0
web/billsLib/scripts/dbController.js

@@ -0,0 +1,111 @@
+/**
+ * Created by vian on 2017/4/12.
+ */
+var dbController = {
+    insert: function(controller){
+        if(controller.tree.items.length === 0){
+            billsAjax.createBills(billsLibId, 1, -1 , -1);
+            controller.insert();
+        }
+        else {
+            var node = controller.tree.selected;
+            if(node){
+                var updateId = node.getID(), createpid = node.getParentID(), createnid = node.getNextSiblingID();
+                controller.insert();
+                billsAjax.createBills(billsLibId, node.getNextSiblingID(), createpid, createnid);
+                billsAjax.updatePNId(billsLibId, updateId, -1, node.getNextSiblingID());
+            }
+            else {
+                var updateNode = controller.tree.roots[controller.tree.roots.length - 1];
+                var updateId = updateNode.getID();
+                controller.insert();
+                billsAjax.createBills(billsLibId, updateNode.getNextSiblingID(), -1, -1);
+                billsAjax.updatePNId(billsLibId, updateId, -1, updateNode.getNextSiblingID());
+            }
+        }
+    },
+
+    delete: function(controller){
+        var node = controller.tree.selected;
+        var deleteIds = [];
+        var getDeleteIds = function(node){
+            if(node){
+                deleteIds.push(node.getID());
+                if(node.children.length > 0){
+                    for(var i=0; i<node.children.length; i++){
+                        getDeleteIds(node.children[i]);
+                    }
+                }
+            }
+        };
+        getDeleteIds(node);
+        billsAjax.deleteBills(billsLibId, deleteIds);
+        if(node.preSibling){
+            billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, node.getNextSiblingID());
+        }
+        controller.delete();
+    },
+
+    upLevel: function(controller){
+        var node = controller.tree.selected;
+        if(node){
+            if(node.parent){
+                //node
+                billsAjax.updatePNId(billsLibId, node.getID(), node.parent.getParentID(), node.parent.getNextSiblingID());
+                //parent
+                billsAjax.updatePNId(billsLibId, node.getParentID(), null, node.getID());
+                if(node.nextSibling){
+                    //node.nextSibling
+                    billsAjax.updatePNId(billsLibId, node.getNextSiblingID(), node.getID(), null);
+                }
+                if(node.preSibling){
+                    billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, -1);
+                }
+            }
+            controller.upLevel();
+        }
+
+    },
+
+    downLevel: function(controller){
+        var node = controller.tree.selected;
+        if(node){
+            if(node.preSibling){
+                billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, node.getNextSiblingID());
+                billsAjax.updatePNId(billsLibId, node.getID(), node.preSibling.getID(), -1);
+                if(node.preSibling.children.length > 0){
+                    billsAjax.updatePNId(billsLibId, node.preSibling.children[node.preSibling.children.length -1].getID(), null, node.getID());
+                }
+                controller.downLevel();
+            }
+        }
+    },
+
+    upMove: function(controller){
+        var node = controller.tree.selected;
+        if(node){
+            if(node.preSibling){
+                billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, node.getNextSiblingID());
+                billsAjax.updatePNId(billsLibId, node.getID(), null, node.preSibling.getID());
+                if(node.preSibling.preSibling){
+                    billsAjax.updatePNId(billsLibId, node.preSibling.preSibling.getID(), null, node.getID());
+                }
+                controller.upMove();
+            }
+        }
+    },
+
+    downMove: function(controller){
+        var node = controller.tree.selected;
+        if(node){
+            if(node.nextSibling){
+                billsAjax.updatePNId(billsLibId, node.getNextSiblingID(), null, node.getID());
+                billsAjax.updatePNId(billsLibId, node.getID(), null, node.nextSibling.getNextSiblingID());
+                if(node.preSibling){
+                    billsAjax.updatePNId(billsLibId, node.preSibling.getID(), null, node.getNextSiblingID());
+                }
+                controller.downMove();
+            }
+        }
+    }
+}