Ver código fonte

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

Chenshilong 8 anos atrás
pai
commit
4f08eeb058

+ 0 - 10
modules/ration_repository/controllers/ration_controller.js

@@ -18,16 +18,6 @@ module.exports = {
             }
         });
     },
-    getRationItem: function (req, res) {
-        var sId = req.body.sectionId, code = req.body.code;
-        var rationData = {}
-        rationItem.getRationItem(sId, code).then(function (result) {
-            rationData = result._doc;
-            callback(req, res, null, '', rationData);
-        }).catch(function (err, message) {
-            callback(req, res, err, message, null);
-        })
-    },
     mixUpdateRationItems: function(req, res){
         var sectionId = req.body.sectionID,
             rationLibId = req.body.rationLibId,

+ 30 - 0
modules/ration_repository/controllers/search_controller.js

@@ -0,0 +1,30 @@
+/**
+ * Created by Mai on 2017/6/5.
+ */
+var rationItem = require('../models/ration_item');
+var callback = function(req, res, err, message, data){
+    res.json({error: err, message: message, data: data});
+};
+
+module.exports = {
+    getRationItem: function (req, res) {
+        var rId = req.body.rationLibId, code = req.body.code;
+        var rationData = {}
+        rationItem.getRationItem(rId, code).then(function (result) {
+            rationData = result._doc;
+            callback(req, res, null, '', rationData);
+        }).catch(function (err, message) {
+            callback(req, res, err, message, null);
+        })
+    },
+    findRation: function (req, res) {
+        var rId = req.body.rationLibId, keyword = req.body.keyword;
+        rationItem.findRation(rId, keyword, function (err, message, rst) {
+            if (err) {
+                callback(req, res, err, message, null);
+            } else {
+                callback(req, res, 0, '', rst);
+            }
+        });
+    }
+};

+ 19 - 3
modules/ration_repository/models/ration_item.js

@@ -81,9 +81,25 @@ rationItemDAO.prototype.getRationItemsByCode = function(repId, code,callback){
     })
 };
 
-rationItemDAO.prototype.getRationItem = function (sectionId, code, callback) {
+rationItemDAO.prototype.findRation = function (repId, keyword, callback) {
+    rationItemModel.find({'rationRepId': repId,
+        '$and': [{
+            '$or': [{'code': /keyword/}, {'name': /keyword/}]
+        }, {
+            '$or': [{'isDeleted': null}, {'isDeleted': false}]
+        }]
+    }, function (err, data) {
+        if (err) {
+            callback(true, 'Fail to find ration', null);
+        } else {
+            callback(false, '', data);
+        }
+    })
+}
+
+rationItemDAO.prototype.getRationItem = function (repId, code, callback) {
     if (callback) {
-        rationItemModel.findOne({sectionId: sectionId, code: code}, '-_id').exec()
+        rationItemModel.findOne({rationRepId: repId, code: code, "$or": [{"isDeleted": null}, {"isDeleted": false}]}, '-_id').exec()
             .then(function (result, err) {
                 if (err) {
                     callback(1, '找不到定额“' + code +'”' , null);
@@ -93,7 +109,7 @@ rationItemDAO.prototype.getRationItem = function (sectionId, code, callback) {
             });
         return null;
     } else {
-        return rationItemModel.findOne({sectionId: sectionId, code: code}, '-_id').exec();
+        return rationItemModel.findOne({rationRepId: repId, code: code, "$or": [{"isDeleted": null}, {"isDeleted": false}]}, '-_id').exec();
     }
 };
 

+ 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,

+ 3 - 1
modules/ration_repository/routes/ration_rep_routes.js

@@ -10,6 +10,7 @@ var rationChapterTreeController = require("../controllers/ration_section_tree_co
 var rationController = require("../controllers/ration_controller");
 var repositoryGljController = require("../controllers/repository_glj_controller");
 var coeListController = require("../controllers/coe_controller");
+var searchController = require('../controllers/search_controller');
 
 apiRouter.post("/getRationDisplayNames",rationRepositoryController.getDisPlayRationLibs);
 apiRouter.post("/editRationLibs",rationRepositoryController.updateRationRepositoryName);
@@ -24,7 +25,6 @@ apiRouter.post("/updateNodes",rationChapterTreeController.updateNodes);
 apiRouter.post("/deleteNodes",rationChapterTreeController.deleteNodes);
 
 apiRouter.post("/getRationItems",rationController.getRationItemsBySection);
-apiRouter.post('/getRationItem', rationController.getRationItem);
 apiRouter.post("/mixUpdateRationItems",rationController.mixUpdateRationItems);
 
 apiRouter.post("/createNewGljTypeNode",repositoryGljController.createNewGljTypeNode);
@@ -39,5 +39,7 @@ apiRouter.post("/getGljItemsByCodes",repositoryGljController.getGljItemsByCodes)
 apiRouter.post("/getCoeList",coeListController.getCoeList);
 apiRouter.post("/saveCoeList",coeListController.saveCoeList);
 
+apiRouter.post('/getRationItem', searchController.getRationItem);
+apiRouter.post('/findRation', searchController.findRation);
 
 module.exports = apiRouter;

+ 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


+ 19 - 2
web/building_saas/main/html/main.html

@@ -224,8 +224,25 @@
                                           <select class="form-control form-control-sm col-6" id="stdRationLibSelect">
                                           </select>
                                           <div class="input-group col-6">
-                                              <div class="input-group-addon form-control-sm"><i class="fa fa-search" aria-hidden="true"></i></div>
-                                              <input type="text" class="form-control form-control-sm" placeholder="搜索定额">
+                                              <input type="text" class="form-control form-control-sm" placeholder="搜索定额" value="" id="rationSearchKeyword">
+                                              <span class="input-group-btn">
+                                                  <button class="btn btn-secondary btn-sm" type="button" id="rationSearch"><i class="fa fa-search" aria-hidden="true"></i></button>
+                                              </span>
+                                          </div>
+                                          <!--搜索结果窗体-->
+                                          <div class="side-search-box col-12 p-2" id="rationSearchResult" style="display: none;">
+                                              <div class="d-flex justify-content-between">
+                                                  <span>搜索结果:5</span><a title="关闭搜索" class="btn btn-link btn-sm" href="javascript:void(0)"><i class="fa fa-remove" aria-hidden="true"></i></a>
+                                              </div>
+                                              <div class="result-box w-100">
+                                                  <table class="table">
+                                                      <thead><tr><th></th><th>编号</th><th>名称</th><th>单位</th><th>基价</th></tr></thead>
+                                                      <tbody>
+                                                      <tr><td>1</td><td>1-1-8-2</td><td>机动翻斗车运第1个100m石方</td><td>1000m3</td><td>6249</td></tr>
+                                                      <tr><td>1</td><td>1-1-8-2</td><td>机动翻斗车运第1个100m石方</td><td>1000m3</td><td>6249</td></tr>
+                                                      </tbody>
+                                                  </table>
+                                              </div>
                                           </div>
                                       </div>
                                   </div>

+ 36 - 1
web/building_saas/main/js/views/std_ration_lib.js

@@ -19,7 +19,7 @@ var rationLibObj = {
             this.sectionRationsSpread.bind(GC.Spread.Sheets.Events.CellDoubleClick, function (sender, args) {
                 var select = $('#stdRationLibSelect'), rationCode = args.sheet.getText(args.row, 0);
                 if (rationCode !== '') {
-                    CommonAjax.postRationLib('/rationRepository/api/getRationItem', {user_id: userID, sectionId: rationLibObj.rationChapterTreeController.tree.selected.getID(), code: rationCode}, function (data) {
+                    CommonAjax.postRationLib('/rationRepository/api/getRationItem', {user_id: userID, rationLibId: select.val(), code: rationCode}, function (data) {
                         ProjectController.addRation(project, controller, data);
                     });
                 }
@@ -202,3 +202,38 @@ $('#stdRationLibSelect').change(function () {
         rationLibObj.loadStdRation(select.val());
     }
 });
+$('#rationSearch').click(function () {
+    var keyword = $('#rationSearchKeyword').val(), rationLibID = $('#stdRationLibSelect').val();
+    var getResultHtml = function (result) {
+        var html = [], i;
+        html.push('<div class="d-flex justify-content-between">');
+        html.push('<span>搜索结果:');
+        html.push(result.length.toString());
+        html.push('</span>');
+        html.push('<a title="关闭搜索" class="btn btn-link btn-sm" href="javascript:void(0)"><i class="fa fa-remove" aria-hidden="true"></i></a>');
+        html.push('</div>');
+
+        html.push('<div class="result-box w-100">');
+        html.push('<table class="table">');
+        html.push('<thead><tr><th></th><th>编号</th><th>名称</th><th>单位</th><th>基价</th></tr></thead>');
+        html.push('<tbody>');
+        for (i = 0; i < result.length; i++) {
+            html.push('<tr>');
+            html.push('<td>' + i.toString() + '</td>');
+            html.push('<td>' + result[i].code + '</td>');
+            html.push('<td>' + result[i].name + '</td>');
+            html.push('<td>' + result[i].unit + '</td>');
+            html.push('</tr>');
+        }
+        html.push('</tbody>');
+        html.push('</table>');
+        html.push('</div>');
+        return html.join('');
+    }
+    CommonAjax.postRationLib('/rationRepository/api/findRation', {'user_id': userID, 'rationLibId': rationLibID, 'keyword': keyword}, function (result) {
+        var resultObj = $('#rationSearchResult');
+        resultObj.empty();
+        resultObj.append(getResultHtml(result));
+        resultObj.show();
+    });
+});

+ 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>