Parcourir la source

check in for Mai's code debug

TonyKang il y a 8 ans
Parent
commit
a68f2c1b65

+ 1 - 1
modules/ration_repository/models/ration_section_tree.js

@@ -8,7 +8,7 @@ var chapterTreeDb = dbm.getCfgConnection("rationRepository")
 var async = require("async");
 var Schema = mongoose.Schema;
 
-var rationChapterTreeSchema = mongoose.Schema({//章节树  //生成唯一id改为sectionID  改成string
+var rationChapterTreeSchema = new Schema({//章节树  //生成唯一id改为sectionID  改成string
     rationRepId: Number,
     ID:Number,
     ParentID:Number,

+ 16 - 0
modules/reports/controllers/rpt_tpl_controller.js

@@ -10,6 +10,22 @@ var callback = function(req, res, err, message, data){
 }
 
 module.exports = {
+    getRptTplTree: function(req, res) {
+        var params = JSON.parse(req.body.params),
+            grpType = params.grpType,
+            userId = params.userId,
+            tplType = params.tplType;
+        TplNode.getTplTreeNodes(grpType, userId, tplType, function(err, data){
+            callback(req,res,err,"", data);
+        })
+    },
+    updateTreeNodes: function(req, res) {
+        var params = JSON.parse(req.body.params),
+            nodes = params.nodes;
+        TplNode.updateTreeNodes(nodes, function(err,results){
+            callback(req,res, err, "", results)
+        });
+    },
     createTplTreeNode: function(req, res){
         var params = JSON.parse(req.body.params),
             lastNodeId = params.lastNodeId,

+ 31 - 2
modules/reports/models/tpl_tree_node.js

@@ -4,6 +4,8 @@
 var mongoose = require('mongoose');
 var dbm = require("../../../config/db/db_manager");
 var db = dbm.getCfgConnection("Reports");
+var async = require("async");
+var rptTplDef = require("../../../public/rpt_tpl_def").getUtil();
 var Schema = mongoose.Schema;
 var TreeNodeSchema = new Schema({
     ID:Number,
@@ -23,8 +25,35 @@ var counter = require('../../../public/counter/counter');
 
 var RplTplTreeDAO = function(){};
 
-RplTplTreeDAO.prototype.getTplTreeNodes = function(grp_type, userId, tpl_Type, callback) {
-    //
+RplTplTreeDAO.prototype.getTplTreeNodes = function(grpType, userId, tplType, callback) {
+    var filter = {"grpType": grpType};
+    if (userId) {
+        filter.userId = userId;
+    }
+    if ((tplType && tplType !== rptTplDef.TplType.ALL)) {
+        filter.tplType = tplType;
+    }
+    TreeNodeModel.find(filter, '-_id', function(err, data){
+        if (err) {
+            callback(true, null);
+        } else callback(false,data);
+    });
+};
+
+RplTplTreeDAO.prototype.updateTreeNodes = function(nodes, callback) {
+    var functions = [];
+    for (var i=0; i < nodes.length; i++) {
+        //var md = new rationChapterTreeModel(nodes[i]);
+        //md.isNew = false;
+        functions.push((function(doc) {
+            return function(cb) {
+                TreeNodeModel.update({ID: doc.ID}, doc, cb);
+            };
+        })(nodes[i]));
+    }
+    async.parallel(functions, function(err, results) {
+        callback(err, results);
+    });
 };
 
 RplTplTreeDAO.prototype.createTplTreeNode = function(nodeData, lastNodeId, callback) {

+ 2 - 0
modules/reports/routes/rpt_tpl_router.js

@@ -7,5 +7,7 @@ var reportTplController = require('./../controllers/rpt_tpl_controller');
 
 //rptTplRouter.post('/getReport', reportTplController.getReportAllPages);
 rptTplRouter.post('/createTplTreeNode', reportTplController.createTplTreeNode);
+rptTplRouter.post('/getRptTplTree', reportTplController.getRptTplTree);
+rptTplRouter.post('/updateTptTplNodes', reportTplController.updateTreeNodes);
 
 module.exports = rptTplRouter;

+ 1 - 1
operation.js

@@ -66,7 +66,7 @@ app.get('/report',  function(req, res) {
 });
 app.use("/report_api", rpt_Router);
 
-var rptTpl_Router = require("./modules/reports/routes/report_router");
+var rptTpl_Router = require("./modules/reports/routes/rpt_tpl_router");
 app.get('/rpt_tpl',  function(req, res) {
     if (!req.session.userAccount) {
         res.redirect('/login');

+ 17 - 0
public/rpt_tpl_def.js

@@ -0,0 +1,17 @@
+/**
+ * Created by Tony on 2017/6/5.
+ */
+
+const fs = require('fs');
+var rptTplDef = null;
+
+getTreeNodeUtil = function() {
+    if (!(rptTplDef)) {
+        var data = fs.readFileSync(__dirname + '/web/rpt_tpl_def.js', 'utf8', 'r');
+        eval(data);
+        rptTplDef = RT;
+    }
+    return rptTplDef;
+}
+
+exports.getUtil = getTreeNodeUtil;

+ 1 - 1
public/web/common_ajax.js

@@ -68,7 +68,7 @@ var CommonAjax = {
             cache: false,
             timeout: dftTimeOutMilSec,
             success: function(result){
-                if (result.error) {
+                if (!result.error) {
                     if (successCallback) {
                         successCallback(result.data);
                     }

+ 1 - 1
public/web/rpt_tpl_def.js

@@ -4,6 +4,6 @@
 
 var RT = {
     GrpType: {CONSTRUCT: 1, ROAD: 2},
-    NodeType: {NODE: 'node', TEMPLATE: 'rptTpl'},
+    NodeType: {NODE: 1, TEMPLATE: 2},
     TplType: {ALL: 1, TENDER: 2, BILLS: 3, BUDGET: 4, OTHERS: 99}
 }

web/maintain/ration_repository/js/sheet_common.js → public/web/sheet/sheet_common.js


web/maintain/ration_repository/js/ztree_common.js → public/web/ztree_common.js


+ 2 - 2
web/maintain/ration_repository/dinge.html

@@ -503,8 +503,8 @@
         <script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
         <script type="text/javascript" src="/lib/ztree/jquery.ztree.exedit.js"></script>
         <script type="text/javascript" src="/web/maintain/ration_repository/js/section_tree.js"></script>
-        <script type="text/javascript" src="/web/maintain/ration_repository/js/ztree_common.js"></script>
-        <script type="text/javascript" src="/web/maintain/ration_repository/js/sheet_common.js"></script>
+        <script type="text/javascript" src="/public/web/ztree_common.js"></script>
+        <script type="text/javascript" src="/public/web/sheet/sheet_common.js"></script>
         <script type="text/javascript" src="/web/maintain/ration_repository/js/ration.js"></script>
         <script type="text/javascript" src="/web/maintain/ration_repository/js/ration_glj.js"></script>
         <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>

+ 2 - 2
web/maintain/ration_repository/gongliao.html

@@ -181,8 +181,8 @@
     <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
     <script type="text/javascript" src="/public/web/QueryParam.js"></script>
     <script type="text/javascript" src="/web/maintain/ration_repository/js/repository_glj.js"></script>
-    <script type="text/javascript" src="/web/maintain/ration_repository/js/ztree_common.js"></script>
-    <script type="text/javascript" src="/web/maintain/ration_repository/js/sheet_common.js"></script>
+    <script type="text/javascript" src="/public/web/ztree_common.js"></script>
+    <script type="text/javascript" src="/public/web/sheet/sheet_common.js"></script>
     <script type="text/javascript" src="/public/web/storageUtil.js"></script>
     <script type="text/javascript">
         var gljSetting = {

+ 0 - 1
web/maintain/ration_repository/js/section_tree.js

@@ -163,7 +163,6 @@ var zTreeOprObj = {
     },
     addHoverDom: function(treeId, treeNode) {
         var me = zTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
-        //if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0||(treeNode.level==2)) return;
         if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;
         var addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增子节点' onfocus='this.blur();'></span>";
         sObj.after(addStr);

+ 51 - 24
web/maintain/report/js/rpt_tpl_main.js

@@ -11,10 +11,12 @@ var rptTplObj = {
 var zTreeOprObj = {
     treeObj: null,
     getReportTemplateTree: function(grpType) {
-        var me = this, params = {};
+        var me = zTreeOprObj, params = {};
         params.grpType = grpType;
-        CommonAjax.postEx("api/getRptTplTree", params, 20000, function(result){
-                zTreeHelper.createTree(result.data, setting, "rationChapterTree", me);
+        params.userId = userID;
+        params.tplType = RT.TplType.ALL;
+        CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, function(result){
+                zTreeHelper.createTree(result, setting, "rptTplTree", me);
             }, null, null
         );
     },
@@ -27,20 +29,29 @@ var zTreeOprObj = {
             }
             me.addNewNode(rawNode, lastNodeId, function(rst){
                 var newNodes = [], isSilent = false;
-                rawNode.ID = rst.data.ID;
+                rawNode.ID = rst.ID;
                 rawNode.isParent = false;
                 rawNode.items = [];
                 newNodes.push(rawNode);
                 if (me.treeObj) {
                     me.treeObj.addNodes(null, -1, newNodes, isSilent);
                 } else {
-                    me.treeObj = $.fn.zTree.init($("#rationChapterTree"), setting, newNodes);
+                    me.treeObj = $.fn.zTree.init($("#rptTplTree"), setting, newNodes);
                 }
             }, null);
         }
     },
-    addSubNode: function() {
-        //
+    updateNodes: function(nodes){
+        if (nodes && nodes.length > 0) {
+            var me = this;
+            for (var i = 0; i < nodes.length; i++) {
+                if (nodes[i].__v != null) node.__v = nodes[i].__v + 1
+                else nodes[i].__v = 0;
+            }
+            var params = {};
+            params.nodes = nodes;
+            CommonAjax.postEx("report_tpl_api/updateTptTplNodes", params, 5000, null, null, null);
+        }
     },
     addTplNode: function (){
         //
@@ -49,7 +60,7 @@ var zTreeOprObj = {
         var params = {};
         params.lastNodeId = lastNodeId;
         params.rawNodeData = rawNode;
-        CommonAjax.postEx("api/createTplTreeNode", params, 5000, callback, failcallback, null);
+        CommonAjax.postEx("report_tpl_api/createTplTreeNode", params, 5000, callback, failcallback, null);
     },
     createIniRootNode: function() {
         var rst = {
@@ -65,6 +76,19 @@ var zTreeOprObj = {
         };
         return rst;
     },
+    createNodeFromZTreeNode: function(treeNode) {
+        var rst = {};
+        rst.ID = treeNode.ID;
+        rst.ParentID = treeNode.ParentID;
+        rst.NextSiblingID = treeNode.NextSiblingID;
+        rst.grpType = treeNode.grpType;
+        rst.nodeType = treeNode.nodeType;
+        rst.tplType = treeNode.tplType;
+        rst.userId = treeNode.userId;
+        rst.refId = treeNode.refId;
+        rst.name = treeNode.name;
+        return rst;
+    },
     addHoverDom: function(treeId, treeNode) {
         var me = zTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
         if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;
@@ -72,22 +96,25 @@ var zTreeOprObj = {
         sObj.after(addStr);
         var btn = $("#addBtn_"+treeNode.tId);
         if (btn) btn.bind("click", function(){
-            var rawNode = {ParentID: treeNode.ID, NextSiblingID: -1, name: "新增子节点"}, lastNodeId = -1;
+            var rawNode = me.createIniRootNode(), lastNodeId = -1;
+            rawNode.ParentID = treeNode.ID;
+            rawNode.name = "新增子节点";
             if (treeNode.items.length > 0) {
                 lastNodeId = treeNode.items[treeNode.items.length - 1].ID;
             }
-            //zTreeOprObj.addNewNode(rawNode, lastNodeId, function(err, rst){
-            //    if (!(err)) {
-            //        var newNodes = [], isSilent = false;
-            //        newNodes.push({ rationRepId: rst.data.rationRepId, ID: rst.data.ID, ParentID: rst.data.ParentID, NextSiblingID:-1, name:"新增子节点",isParent:false, items:[]});
-            //        treeNode.isParent = true;
-            //        if (me.treeObj) {
-            //            me.treeObj.addNodes(treeNode, -1, newNodes, isSilent);
-            //        } else {
-            //            me.treeObj = $.fn.zTree.init($("#rationChapterTree"), setting, newNodes);
-            //        }
-            //    }
-            //});
+            zTreeOprObj.addNewNode(rawNode, lastNodeId, function(rst){
+                var newNodes = [], isSilent = false;
+                rawNode.ID = rst.ID;
+                rawNode.isParent = false;
+                rawNode.items = [];
+                newNodes.push(rawNode);
+                treeNode.isParent = true;
+                if (me.treeObj) {
+                    me.treeObj.addNodes(treeNode, -1, newNodes, isSilent);
+                } else {
+                    me.treeObj = $.fn.zTree.init($("#rptTplTree"), setting, newNodes);
+                }
+            }, null);
         });
     },
     removeHoverDom: function(treeId, treeNode) {
@@ -143,9 +170,9 @@ var zTreeOprObj = {
         return true;
     },
     onRename : function(e, treeId, treeNode, isCancel) {
-        var nodes = [];
-        nodes.push(treeNode);
-        //zTreeOprObj.updateNodes(nodes);
+        var me = zTreeOprObj, nodes = [];
+        nodes.push(me.createNodeFromZTreeNode(treeNode));
+        me.updateNodes(nodes);
     },
     onClick: function(event,treeId,treeNode) {
         var sectionID = treeNode.ID;

+ 5 - 1
web/maintain/report/rpt_tpl_main.html

@@ -42,7 +42,7 @@
                         <a onclick="zTreeOprObj.addRootNode()" class="btn btn-secondary btn-sm">增加根节点</a>
                     </div>
                     <div class="tab-content">
-                        <ul id="rationChapterTree" class="ztree"></ul>
+                        <ul id="rptTplTree" class="ztree"></ul>
                     </div>
                 </div>
             </div>
@@ -59,9 +59,12 @@
 <script type="text/javascript" src="/public/web/date_util.js"></script>
 <script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
 <script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
+<script type="text/javascript" src="/lib/ztree/jquery.ztree.exedit.js"></script>
 <script type="text/javascript" src="/public/web/storageUtil.js"></script>
 <script type="text/javascript" src="/public/web/rpt_tpl_def.js"></script>
 <script type="text/javascript" src="/public/web/common_ajax.js"></script>
+<script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
+<script type="text/javascript" src="/public/web/ztree_common.js"></script>
 </body>
 <script type="text/javascript">
     var setting = {
@@ -103,6 +106,7 @@
         }
     };
     autoFlashHeight();
+    rptTplObj.iniPage();
 </script>
 
 </html>