浏览代码

report of main page - kick start

TonyKang 8 年之前
父节点
当前提交
f99f5e923e

+ 11 - 0
modules/reports/routes/rpt_tpl_router_fe.js

@@ -0,0 +1,11 @@
+/**
+ * Created by Tony on 2017/6/26.
+ * 报表模板路由 - 前台专用(无任何update)
+ */
+let express = require("express");
+let rptTplRouter = express.Router();
+let reportTplController = require('./../controllers/rpt_tpl_controller');
+
+rptTplRouter.post('/getRptTplTree', reportTplController.getRptTplTree);
+
+module.exports = rptTplRouter;

+ 2 - 4
modules/reports/rpt_component/jpc_value_define.js

@@ -1,12 +1,10 @@
 const fs = require('fs');
 let VAL_DEF = null;
 
-getValDefine = function() {
+let getValDefine = function() {
     if (!(VAL_DEF)) {
         let data = fs.readFileSync(__dirname.slice(0, __dirname.length - 30) + '/public/web/rpt_value_define.js', 'utf8', 'r');
-        eval(data);
-        VAL_DEF = JV;
-        JV = null;
+        eval(data + ' ; VAL_DEF = JV;');
     }
     return VAL_DEF;
 }

+ 2 - 3
public/rpt_tpl_def.js

@@ -5,11 +5,10 @@
 const fs = require('fs');
 var rptTplDef = null;
 
-getTreeNodeUtil = function() {
+let getTreeNodeUtil = function() {
     if (!(rptTplDef)) {
         var data = fs.readFileSync(__dirname + '/web/rpt_tpl_def.js', 'utf8', 'r');
-        eval(data);
-        rptTplDef = RT;
+        eval(data + ' ; rptTplDef = RT;');
     }
     return rptTplDef;
 }

+ 1 - 1
public/web/rpt_value_define.js

@@ -1,7 +1,7 @@
 /**
  * Created by Tony on 2017/6/7.
  */
-var JV = {
+let JV = {
     NODE_CROSS_INFO: "交叉表_信息",
     NODE_CROSS_ROW: "交叉行",
     NODE_CROSS_COL: "交叉列",

+ 5 - 0
server.js

@@ -158,6 +158,11 @@ app.use("/stdBillsEditor", billsLibRouter);
 let rationRouter = require("./modules/ration_repository/routes/ration_front_end_routes");
 app.use("/rationRepository/api", rationRouter);
 
+let rpt_Router = require("./modules/reports/routes/report_router");
+app.use("/report_api", rpt_Router);
+let rptTpl_Router = require("./modules/reports/routes/rpt_tpl_router_fe");
+app.use("/report_tpl_api", rptTpl_Router);
+
 //-----------------
 
 app.use(function(req, res, next) {

+ 1 - 1
test/calculation/testCalc.js

@@ -409,7 +409,7 @@ let dummyRation = {
     "rationRepId" : 3
 }
 
-/*
+//*
 test('计算式测试', function(t){
     calcUtil.init(dummyCalcTpl, dummyFee);
     calcUtil.compile();

+ 9 - 20
web/building_saas/main/html/main.html

@@ -90,7 +90,7 @@
             <ul class="nav nav-tabs flex-column" role="tablist">
                 <li class="nav-item"><a class="active" data-toggle="tab" href="#zaojiashu" role="tab">造价书</a></li>
                 <li class="nav-item"><a data-toggle="tab" href="#gongliaoji" role="tab">工料机</a></li>
-                <li class="nav-item"><a data-toggle="tab" href="#baobiao" role="tab">报表</a></li>
+                <li class="nav-item"><a data-toggle="tab" href="#baobiao" role="tab" onclick="">报表</a></li>
             </ul>
         </div>
         <div class="content">
@@ -335,7 +335,7 @@
                       <button class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#editForm"><i class="fa fa-cog"></i> 管理报表</button>
                     </div>
                       <div class="form-list">
-                        <ul id="treeDemo" class="ztree"></ul>
+                        <ul id="rptTplTree" class="ztree"></ul>
                       </div>
                     </div>
                   </div>
@@ -527,25 +527,13 @@
     <script type="text/javascript" src="/web/building_saas/main/js/views/side_tools.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/std_bills_lib.js"></script>
     <script type="text/javascript" src="/web/building_saas/main/js/views/std_ration_lib.js"></script>
+    <!-- reports -->
+    <script type="text/javascript" src="/public/web/rpt_tpl_def.js"></script>
+    <script type="text/javascript" src="/web/building_saas/main/js/rpt/rpt_main.js"></script>
+    <script type="text/javascript" src="/web/building_saas/main/js/rpt/rpt_cfg_const.js"></script>
+
     <SCRIPT type="text/javascript">
   		<!--
-  		var setting = {
-  			view: {
-  				selectedMulti: false
-  			},
-  			check: {
-  				enable: true
-  			},
-  			data: {
-  				simpleData: {
-  					enable: true
-  				}
-  			},
-  			callback: {
-  				onCheck: onCheck
-  			}
-  		};
-
   		var zNodes =[
   			{ id:1, pId:0, name:"随意勾选 1", open:true},
   			{ id:11, pId:1, name:"随意勾选 1-1"},
@@ -589,7 +577,8 @@
   		}
 
   		$(document).ready(function(){
-  			createTree();
+  			//createTree();
+            rptTplObj.iniPage();
   		});
   		//-->
   	</SCRIPT>

+ 20 - 0
web/building_saas/main/js/rpt/rpt_cfg_const.js

@@ -0,0 +1,20 @@
+/**
+ * Created by Tony on 2017/6/26.
+ */
+
+let setting = {
+    view: {
+        selectedMulti: false
+    },
+    check: {
+        enable: true
+    },
+    data: {
+        simpleData: {
+            enable: true
+        }
+    },
+    callback: {
+        onCheck: zTreeOprObj.onCheck
+    }
+};

+ 66 - 0
web/building_saas/main/js/rpt/rpt_main.js

@@ -0,0 +1,66 @@
+/**
+ * Created by Tony on 2017/6/26.
+ */
+'use strict'
+
+let rptTplObj = {
+    iniPage: function() {
+        let me = this
+        zTreeOprObj.getReportTemplateTree(RT.GrpType.CONSTRUCT);
+    }
+}
+
+let zTreeOprObj = {
+    treeObj: null,
+    currentNode: null,
+    getReportTemplateTree: function(grpType) {
+        let me = zTreeOprObj, params = {};
+        params.grpType = grpType;
+        params.userId = userID;
+        params.tplType = RT.TplType.ALL;
+        CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function(result){
+                zTreeHelper.createTree(result, setting, "rptTplTree", me);
+                me.refreshNodes();
+            }, null, null
+        );
+    },
+    refreshNodes: function() {
+        let me = this;
+        let private_setupIsParent = function(node){
+            if (node.nodeType == RT.NodeType.NODE) {
+                node.isParent = true;
+            } else {
+                node.isParent = false;
+            }
+            if (node.items && node.items.length) {
+                for (let i = 0; i < node.items.length; i++) {
+                    private_setupIsParent(node.items[i]);
+                }
+            }
+        };
+        let topNodes = me.treeObj.getNodes();
+        for (let i = 0; i < topNodes.length; i++) {
+            private_setupIsParent(topNodes[i]);
+        }
+        me.treeObj.refresh();
+    },
+    onCheck: function() {
+        //count();
+        //if (clearFlag) {
+        //    clearCheckedOldNodes();
+        //}
+    },
+    onClick: function(event,treeId,treeNode) {
+        let me = zTreeOprObj;
+        if (treeNode.nodeType == RT.NodeType.NODE) {
+            me.currentNode = treeNode;
+            $("#rpt_tpl_display_label")[0].innerText = "...";
+        } else if (treeNode.nodeType == RT.NodeType.TEMPLATE) {
+            me.currentNode = null;
+            $("#rpt_tpl_display_label")[0].innerText = treeNode.name;
+            if (treeNode.refId < 0) {
+                //创建新报表模板
+            }
+        }
+    }
+}