Browse Source

Merge branch 'master' of http://192.168.1.12:3000/SmartCost/ConstructionCost

TonyKang 7 years ago
parent
commit
d6713dab79

+ 29 - 13
config/config.js

@@ -1,7 +1,28 @@
 module.exports = {
     current: {server: "192.168.1.184", port: "60666",redis:{server:'192.168.1.184',port:'6379',pwd:'smartCost'}},
     local: {server: "localhost", port: "27017"},
-    qa: {server: "192.168.1.184", port: "60666"},
+    qa: {server: "192.168.1.184", port: "60666", options:{
+        user:'smartcost',
+        pass:'smartcost3850888',
+        auth: {
+            "authdb": "admin"
+        },
+        connectTimeoutMS: 20000,
+        useMongoClient: true
+    }},
+    test_auth: {
+            server: "120.78.150.216",
+            port: "27017",
+            options:{
+                user:'smartcost',
+                pass:'smartcost3850888',
+                auth: {
+                    "authdb": "scConstruct"
+                },
+                connectTimeoutMS: 20000,
+                useMongoClient: true
+            }
+    },
     pp:{server: "172.18.111.228", port: "27017"},
     prod: {server: "", port: ""},
     redis_local:{server:'127.0.0.1',port:'6379',pwd:'smartCost'},
@@ -12,17 +33,12 @@ module.exports = {
         me.current.port = me[env].port;
         me.current.redis=me["redis_"+env];
     },
-    options:{
-            "user": "",
-            "pass": "",
-            "auth": {
-                "authdb": ""
-            },
-            "server": {
-                 "socketOptions": {
-                 "connectTimeoutMS": 20000
-                }
-            }/*,
-           'useMongoClient': true*/ //报 DeprecationWarning: `open()` is deprecated in mongoose这个错时可以用这句配置
+    getSessionURL:function (env="local") {
+        let me = this;
+        if(me[env].options){
+            return 'mongodb://'+ me[env].options.user +':'+ me[env].options.pass+'@'+ me[env].server+ ':'+ me[env].port + '/usersManages?authSource=admin';
+        }else {
+            return  'mongodb://' + me[env].server + ':' + me[env].port + '/usersManages';
         }
+    }
 }

+ 6 - 2
config/db/db_manager.js

@@ -46,10 +46,14 @@ module.exports = {
         return mg;
         //*/
     },
-    connect:function () {
+    connect:function (env="local") {
         var config = require("../config.js");
         var dbURL = 'mongodb://' + config.current.server + ":" + config.current.port + '/scConstruct';
-        mg.connect(dbURL, config.options);
+        if(config[env].options){
+            mg.connect(dbURL,config[env].options);
+        }else {
+            mg.connect(dbURL,{connectTimeoutMS: 20000,useMongoClient: true});//useMongoClient': true*! //报 DeprecationWarning: `open()` is deprecated in mongoose这个错
+        }
         var db = mg.connection;
         db.on("error",function (err) {
             console.log('Could not connect to MongoDB!');

+ 5 - 2
config/gulpConfig.js

@@ -22,10 +22,13 @@ module.exports = {
         'public/web/url_util.js',
         'web/users/js/login.js'
     ],
-    pm_css:['lib/ztree/css/zTreeStyle.css'],
+    pm_css:[
+        'lib/ztree/css/zTreeStyle.css',
+        'lib/spreadjs/sheets/css/gc.spread.sheets.excel2013lightGray.10.0.1.css'
+    ],
     pm_jspaths:[
         'public/web/date_util.js',
-        'public/web/tree_table/tree_table.js',
+        'public/web/tree_sheet/tree_sheet_helper.js',
         'public/web/common_ajax.js',
         'lib/JSExpressionEval_src/Date.js',
         'web/building_saas/pm/js/**/*.js',

+ 13 - 13
modules/bills_lib/models/bills_lib_interfaces.js

@@ -65,7 +65,7 @@ billsLibDao.prototype.getStdBillsLib = function(callback){
 
 billsLibDao.prototype.createStdBillsLib = function(clibData, callback){
     counter.counterDAO.getIDAfterCount(counter.moduleName.billsLib, 1, function(err, result){
-        let billsLibId = result.value.sequence_value;
+        let billsLibId = result.sequence_value;
         let userAccount = clibData.userAccount;
         let billsLibName = clibData.name;
         let compilationId = clibData.compilationId;
@@ -1464,7 +1464,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newJobId = result.value.sequence_value;
+                            let newJobId = result.sequence_value;
                             let newJobContent = {
                                 id: newJobId,
                                 billsLibId: billsLibId,
@@ -1521,7 +1521,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newJobId = result.value.sequence_value;
+                            let newJobId = result.sequence_value;
                             let newJobContent = {
                                 id: newJobId,
                                 billsLibId: billsLibId,
@@ -1576,7 +1576,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newItemId = result.value.sequence_value;
+                            let newItemId = result.sequence_value;
                             let newItemContent = {
                                 id: newItemId,
                                 billsLibId: billsLibId,
@@ -1631,7 +1631,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newItemId = result.value.sequence_value;
+                            let newItemId = result.sequence_value;
                             let newItemContent = {
                                 id: newItemId,
                                 billsLibId: billsLibId,
@@ -1812,7 +1812,7 @@ billsLibDao.prototype.createJobContent = function(cJobData, callback){
                     cb(err)
                 }
                 else {
-                    let newJobId = result.value.sequence_value;
+                    let newJobId = result.sequence_value;
                     newJobContent = {
                         id: newJobId,
                         billsLibId: billsLibId,
@@ -2053,7 +2053,7 @@ billsLibDao.prototype.pasteJobs = function (data, callback) {
                         cb(err);
                     }
                     else {
-                        let newJobId = result.value.sequence_value;
+                        let newJobId = result.sequence_value;
                         jobObj.id = newJobId;
                         data.newJobId = newJobId
                         JobContent.create(jobObj, function(err){
@@ -2101,7 +2101,7 @@ billsLibDao.prototype.edCreateJob = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newJobId = result.value.sequence_value;
+                    let newJobId = result.sequence_value;
                     cb(null, newJobId);
                 }
             })
@@ -2180,7 +2180,7 @@ billsLibDao.prototype.edUpdateJob = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newJobId = result.value.sequence_value;
+                    let newJobId = result.sequence_value;
                     cb(null, newJobId);
                 }
             })
@@ -2270,7 +2270,7 @@ billsLibDao.prototype.createItemCharacter = function(cItemData, callback){
                     cb(err);
                 }
                 else{
-                    let newItemId = result.value.sequence_value;
+                    let newItemId = result.sequence_value;
                     newItemCharacter = {
                         id: newItemId,
                         billsLibId: billsLibId,
@@ -2696,7 +2696,7 @@ billsLibDao.prototype.pasteItems = function (data, callback) {
                         cb(err);
                     }
                     else{
-                        let newItemId = result.value.sequence_value;
+                        let newItemId = result.sequence_value;
                         itemObj.id = newItemId;
                         data.newItemId = newItemId;
                         ItemCharacter.create(itemObj, function(err){
@@ -2885,7 +2885,7 @@ billsLibDao.prototype.edCreateItem = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newItemId = result.value.sequence_value;
+                    let newItemId = result.sequence_value;
                     cb(null, newItemId);
                 }
             })
@@ -2964,7 +2964,7 @@ billsLibDao.prototype.edUpdateItem = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newItemId = result.value.sequence_value;
+                    let newItemId = result.sequence_value;
                     cb(null, newItemId);
                 }
             })

+ 1 - 1
modules/complementary_glj_lib/models/gljModel.js

@@ -217,7 +217,7 @@ class GljDao {
     static addGljItems (userId, compilationId, items, callback) {
         if (items && items.length > 0) {
             counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, items.length, function(err, result){
-                var maxId = result.value.sequence_value;
+                var maxId = result.sequence_value;
                 var arr = [];
                 for (var i = 0; i < items.length; i++) {
                     var obj = new complementaryGljModel(items[i]);

+ 1 - 1
modules/complementary_ration_lib/models/compleRationModel.js

@@ -385,7 +385,7 @@ class CompleRatoinDao {
      addRationItems(userID, compilationId, rationLibId, sectionId, items,callback){
         if (items && items.length > 0) {
             counter.counterDAO.getIDAfterCount(counter.moduleName.rations, items.length, function(err, result){
-                let maxId = result.value.sequence_value;
+                let maxId = result.sequence_value;
                 let arr = [];
                 for (let i = 0; i < items.length; i++) {
                     let obj = new compleRationModel(items[i]);

+ 1 - 1
modules/complementary_ration_lib/models/sectionTreeModel.js

@@ -14,7 +14,7 @@ class SectionTreeDao {
                 callback(err, null);
             }
             else {
-                callback(0, result.value.sequence_value);
+                callback(0, result.sequence_value);
             }
         });
 

+ 0 - 17
modules/main/models/GLJ_route.js

@@ -1,17 +0,0 @@
-/*
-/!**
- * Created by jimiz on 2017/4/17.
- *!/
-let express = require('express');
-
-module.exports = function (app) {
-    let GLJRouter = express.Router();
-    let GLJController = require('../controllers/GLJ_controller');
-
-    GLJRouter.post('/getData', GLJController.getData);
-    GLJRouter.post('/getItemTemplate', GLJController.getItemTemplate);
-    GLJRouter.post('/allocIDs', GLJController.allocIDs);
-
-    app.use('/glj_bak', GLJRouter);
-};
-*/

+ 2 - 1
modules/pm/models/project_model.js

@@ -365,7 +365,8 @@ ProjectsDAO.prototype.beforeOpenProject = function (userId, projectId, updateDat
 
 ProjectsDAO.prototype.getNewProjectID = function (count, callback) {
     counter.counterDAO.getIDAfterCount(counter.moduleName.project, count, function (err, result) {
-        let highID = result.value.sequence_value;
+        console.log(result);
+        let highID = result.sequence_value;
         if (!err) {
             callback(0, '', {lowID: highID - count + 1, highID: highID});
         } else {

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

@@ -71,7 +71,7 @@ coeListDAO.prototype.saveToCoeList = function(data, callback) {
 coeListDAO.prototype.addItems = function(addArr, callback) {
     if (addArr && addArr.length > 0) {
         counter.counterDAO.getIDAfterCount(counter.moduleName.coeList, addArr.length, function(err, result){
-            var maxId = result.value.sequence_value;
+            var maxId = result.sequence_value;
             for (var i = 0; i < addArr.length; i++) {
                 var obj = new coeListModel(addArr[i]);
                 obj.ID = (maxId - (addArr.length - 1) + i);

+ 2 - 2
modules/ration_repository/models/glj_repository.js

@@ -92,7 +92,7 @@ gljItemDAO.prototype.removeGljItems = function(rIds, callback) {
 gljItemDAO.prototype.addGljItems = function(repId, items, callback) {
     if (items && items.length > 0) {
         counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, items.length, function(err, result){
-            var maxId = result.value.sequence_value;
+            var maxId = result.sequence_value;
             var arr = [];
             for (var i = 0; i < items.length; i++) {
                 var obj = new gljItemModel(items[i]);
@@ -171,7 +171,7 @@ gljItemDAO.prototype.removeNodes =  function(nodeIds, preNodeId, preNodeNextId,
 gljItemDAO.prototype.createNewNode = function(repId, lastNodeId, nodeData, callback) {
     return counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, 1, function(err, result){
         nodeData.repositoryId = repId;
-        nodeData.ID = result.value.sequence_value;
+        nodeData.ID = result.sequence_value;
         var node = new gljTypeModel(nodeData);
         node.save(function (err, result) {
             if (err) {

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

@@ -131,7 +131,7 @@ rationItemDAO.prototype.getRationItem = function (repId, code, callback) {
 rationItemDAO.prototype.addRationItems = function(rationLibId, sectionId, items,callback){
     if (items && items.length > 0) {
         counter.counterDAO.getIDAfterCount(counter.moduleName.rations, items.length, function(err, result){
-            var maxId = result.value.sequence_value;
+            var maxId = result.sequence_value;
             var arr = [];
             for (var i = 0; i < items.length; i++) {
                 var obj = new rationItemModel(items[i]);

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

@@ -28,7 +28,7 @@ rationChapterTreeDAO.prototype.getRationChapterTreeByRepId = function(repId,call
 rationChapterTreeDAO.prototype.createNewNode = function(libId, lastNodeId, nodeData,callback){
     counter.counterDAO.getIDAfterCount(counter.moduleName.rationTree, 1, function(err, result){
         nodeData.rationRepId = libId;
-        nodeData.ID = result.value.sequence_value;
+        nodeData.ID = result.sequence_value;
         var node = new rationChapterTreeModel(nodeData);
         node.save(function (err, result) {
             if (err) {

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

@@ -61,7 +61,7 @@ rationRepositoryDao.prototype.getRepositoryById = function(repId,callback){
 rationRepositoryDao.prototype.addRationRepository = function( rationLibObj,callback){
     counter.counterDAO.getIDAfterCount(counter.moduleName.rationMap, 1, function(err, result){
         var rMap = createNewLibModel(rationLibObj);
-        rMap.ID = result.value.sequence_value;
+        rMap.ID = result.sequence_value;
         new rationRepository(rMap).save(function(err, result) {
             if (err) callback("Error", null)
             else

+ 1 - 1
modules/reports/controllers/rpt_tpl_controller.js

@@ -243,7 +243,7 @@ let mExport = {
         let params = JSON.parse(req.body.params),
             scope = params.scope;
         counter.counterDAO.getIDAfterCount(counter.moduleName.report, scope, function(err, result){
-            callback(req,res, false, "", result.value.sequence_value);
+            callback(req,res, false, "", result.sequence_value);
         });
     },
     createDftRptTpl: function(req, res) {

+ 1 - 1
modules/templates/models/bills_template.js

@@ -59,7 +59,7 @@ BillsTemplateDAO.prototype.updateTemplate = function (userID, tempType, datas, c
 };
 BillsTemplateDAO.prototype.getNewBillsTemplateID = function (count, callback) {
     counter.counterDAO.getIDAfterCount(counter.moduleName.template_bills, count, function (err, result) {
-        var highID = result.value.sequence_value;
+        var highID = result.sequence_value;
         if (!err) {
             callback(0, '', {lowID: highID - count + 1, highID: highID});
         } else {

+ 1 - 1
package.json

@@ -8,7 +8,7 @@
     "babel-preset-es2015": "^6.24.1",
     "babel-preset-stage-2": "^6.24.1",
     "express": "^4.13.1",
-    "mongoose": "~4.10.7",
+    "mongoose": "~4.13.12",
     "async": "^2.1.5",
     "connect-mongo": "^1.3.2",
     "cookie-parser": "~1.4.3",

+ 2 - 2
server.js

@@ -15,7 +15,7 @@ let fs = require('fs');
 let URL = require('url');
 
 
-dbm.connect();
+dbm.connect(process.env.NODE_ENV);
 //这里现在只引入了定额工料机里的models,当其它模块的models修改后使用:./modules/**/models/*.js引入所有的模块
 fileUtils.getGlobbedFiles('./modules/all_models/*.js').forEach(function(modelPath) {
     require(path.resolve(modelPath));
@@ -47,7 +47,7 @@ app.use(session({
     saveUninitialized: true
     //*
     ,store: new DBStore({
-        url: 'mongodb://' + config.current.server + ':' + config.current.port + '/usersManages'
+        url: config.getSessionURL(process.env.NODE_ENV)
     })
     //*/
 }));

+ 2 - 2
test/unit/counter/testCounter.js

@@ -31,8 +31,8 @@ test('test counter\'s usage 1:', function(t) {
 
 test('test counter\'s usage 2:', function(t) {
     counter.counterDAO.getIDAfterCount(counter.moduleName.report, 1, function(err, result){
-        console.log('result 2: ' + result.value.sequence_value);
-        t.equal(result.value.sequence_value, 1);
+        console.log('result 2: ' + result.sequence_value);
+        t.equal(result.sequence_value, 1);
         t.end();
     });
 })

+ 26 - 23
web/building_saas/main/js/models/calc_program.js

@@ -443,6 +443,12 @@ let calcTools = {
                 if(supply.code == composition.code && supply.name == composition.name && supply.unit == composition.unit &&
                     supply.specs == composition.specs && supply.type == composition.type ){
                     composition.basePrice = supply.unit_price.base_price;
+                    composition.supply = supply.supply;
+                    composition.supplyX = 1;
+                    if (composition.supply == supplyType.BFJG){
+                        let Q = supply.quantity ? supply.quantity : 1;
+                        composition.supplyX = supply.supply_quantity / Q;
+                    }
                     return true;
                 }
             };
@@ -451,37 +457,34 @@ let calcTools = {
 
         let sum = 0;
         for (let glj of treeNode.data.gljList){
-            // 组成物的母体。母体如果有组成物,则母体无法作为甲供材料,无法设置,此时要看其组成物是否是甲供材料;母体如果没有组成物,则母体有可能成为甲供材料。
-            if (compT.includes(glj.type)) {
-                if (supplyGLJsIdx[glj.projectGLJID]) {  // 组成物的母体是甲供材料
-                    sum = (sum + glj.basePrice * glj.quantity).toDecimal(decimalObj.process);
+            let X = 1;    // 部分甲供系数(默认1,即完全甲供)
+            let tempSGLJ = supplyGLJsIdx[glj.projectGLJID];
+            // 当前材料是甲供材料:①普通 ②商品硂等不计组成物的母体材料
+            if (tempSGLJ) {
+                // 处理部分甲供
+                if (baseName.includes('甲供') && (tempSGLJ.supply == supplyType.BFJG)){
+                    let Q = tempSGLJ.quantity ? tempSGLJ.quantity : 1;
+                    X = tempSGLJ.supply_quantity / Q;
                 }
-                else{  // 组成物明细
+                sum = (sum + glj.basePrice * glj.quantity * X).toDecimal(decimalObj.process);
+            }
+            else{   // 当前材料不是甲供材料
+                if (compT.includes(glj.type)) {   // 混凝土等。组成物的母体,母体如果有组成物,则母体无法作为甲供材料,无法设置,此时要看其组成物是否是甲供材料;母体如果没有组成物,则母体有可能成为甲供材料。
                     let pGLJ = projectGLJ.getDataByID(glj.projectGLJID);
-                    let compositions = pGLJ.ratio_data;
+                    let compositions = pGLJ.ratio_data;    // 组成物明细
                     if (compositions.length > 0){
                         for (let c of compositions){
                             if (isSupply(c, supplyGLJs)) {
-                                sum = (sum + c.basePrice * c.consumption * glj.quantity).toDecimal(decimalObj.process);
+                                X = 1;
+                                if (baseName.includes('甲供') && (c.supply == supplyType.BFJG)){
+                                    X = c.supplyX;
+                                };
+                                sum = (sum + c.basePrice * c.consumption * glj.quantity * X).toDecimal(decimalObj.process);
                             }
-                        };
-                    }
-                }
-            }
-            else {
-                let tempSGLJ = supplyGLJsIdx[glj.projectGLJID];
-                if (tempSGLJ) {
-                    // 处理部分甲供
-                    if (baseName.includes('甲供') && (tempSGLJ.supply == supplyType.BFJG)){
-                        let Q = tempSGLJ.quantity ? tempSGLJ.quantity : 1;
-                        let X = tempSGLJ.supply_quantity / Q;
-                        sum = (sum + glj.basePrice * glj.quantity * X).toDecimal(decimalObj.process);
-                    }
-                    else
-                        sum = (sum + glj.basePrice * glj.quantity).toDecimal(decimalObj.process);
+                        }
+                    };
                 }
             };
-
         };
         sum = sum.toDecimal(decimalObj.ration.unitPrice);
         return sum;

+ 3 - 0
web/building_saas/main/js/views/project_view.js

@@ -979,6 +979,9 @@ var projectObj = {
             FX: 'FX', BX: 'BX', UNCBBILL: 'UNCBBILL', CBBILL: 'CBBILL', ZCSB: 'ZCSB'};
         let styleMap = null;
         //中文字段名,由于同一节点中,中文字体大小和数字字体大小不同
+        if(colorSetting == null){
+            return null;
+        }
         let stringFields = [
             'code',
             'subType',

+ 1 - 4
web/building_saas/pm/html/project-management.html

@@ -485,22 +485,19 @@
     </div>
 </div>
 <!-- JS. -->
-<script src="/lib/jquery/jquery-3.2.1.min.js"></script>
 <script src="/lib/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
 <script>GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";</script>
 <!-- inject:js -->
 <script src="/lib/popper/popper.min.js"></script>
 <script src="/lib/bootstrap/bootstrap.min.js"></script>
 <script src="/web/building_saas/js/global.js"></script>
+<script src="/public/web/PerfectLoad.js"></script>
 <script src="/public/web/date_util.js"></script>
-<script src="/public/web/tree_table/tree_table.js"></script>
-<script src="/public/web/id_tree.js"></script>
 <script src="/web/building_saas/pm/js/pm_tree.js"></script>
 <script src="/public/web/tree_sheet/tree_sheet_helper.js"></script>
 <script type="text/javascript" src="/public/web/common_ajax.js"></script>
 <script src="/lib/JSExpressionEval_src/Date.js"></script>
 <script src="/web/building_saas/pm/js/pm_ajax.js"></script>
-<!--<script src="/web/building_saas/pm/js/pm_main.js" charset="UTF-8"></script>-->
 <script src="/web/building_saas/pm/js/pm_newMain.js"></script>
 <script src="/web/building_saas/pm/js/pm_gc.js"></script>
 <!-- zTree -->

File diff suppressed because it is too large
+ 0 - 2048
web/building_saas/pm/js/pm_main.js


+ 21 - 7
web/building_saas/pm/js/pm_newMain.js

@@ -439,6 +439,15 @@ const projTreeObj = {
         this.addRow(node);
         return node;
     },
+    remove: function (sheet) {
+        let me = this;
+        me.renderSheetFuc(sheet, function () {
+            let rIdx = me.tree.items.indexOf(me.tree.selected);
+            sheet.deleteRows(rIdx - 1, me.tree.selected.posterityCount());
+            sheet.setRowCount(me.tree.items.length);
+            me.initSelection(sheet.getActiveRowIndex());
+        });
+    }
 };
 
 $(document).ready(function() {
@@ -688,6 +697,9 @@ $(document).ready(function() {
             UpdateProjectData(updateData, function () {
                 dialog.modal('hide');
                 projTreeObj.tree.removeNode(projTreeObj.tree.selected);
+                //delete view
+                let sheet = projTreeObj.workBook.getActiveSheet();
+                projTreeObj.remove(sheet);
             });
         }
     });
@@ -729,14 +741,14 @@ $(document).ready(function() {
 
     // 移动到按钮点击
     $('#move-to-btn').click(function () {
-        if (Tree && Tree.selected()) {
+        if (projTreeObj.tree && projTreeObj.tree.selected) {
             $('#move-to-dialog').modal('show');
         }
     });
 
     // 移动到窗口内容重组
     $('#move-to-dialog').on('show.bs.modal', function () {
-        movetoZTree = ConvertTreeToZtree(Tree, $('#treeDemo'), Tree.selected());
+        movetoZTree = ConvertTreeToZtree(projTreeObj.tree, $('#treeDemo'), projTreeObj.tree.selected);
     });
 
     // 移动到操作
@@ -744,7 +756,7 @@ $(document).ready(function() {
         let updateData = null;
         let dialog = $('#move-to-dialog');
         let target = GetTargetTreeNode($.fn.zTree.getZTreeObj('treeDemo'));
-        let cur = Tree.selected();
+        let cur = projTreeObj.tree.selected;
 
         if (!target) {
             dialog.modal('hide');
@@ -774,10 +786,10 @@ $(document).ready(function() {
                 updateType: 'update',
                 projectType: null
             };
-            updateData = GetUpdateData(null, parent, next, '', null, Tree.selected().id(), typeInfo);
+            updateData = GetUpdateData(null, parent, next, '', null, projTreeObj.tree.selected.id(), typeInfo);
             UpdateProjectData(updateData, function (data) {
                 dialog.modal('hide');
-                Tree.move(Tree.selected(), parent, next);
+                projTreeObj.tree.move(projTreeObj.tree.selected, parent, next);
             });
         } else {
             dialog.modal('hide');
@@ -916,6 +928,7 @@ function init() {
     billValuation = billValuation.replace(/\n/g, '\\n');
     rationValuation = rationValuation.replace(/\n/g, '\\n');
     //init spread and pmTree
+    $.bootstrapLoading.start();
     GetAllProjectData(function (datas) {
         projTreeObj.getShowData(datas);
         projTreeObj.tree = pmTree.createNew(projTreeObj.setting, datas);
@@ -924,6 +937,7 @@ function init() {
         projTreeObj.showTreeData(projTreeObj.tree.items, projTreeObj.setting.header);
         //初始选择
         projTreeObj.initSelection(0);
+        $.bootstrapLoading.end();
     });
     engineering = engineeringList !== null && engineeringList !== undefined ? JSON.parse(engineeringList) : [];
 }
@@ -1857,12 +1871,12 @@ function ConvertTreeToZtree(Tree, zTreeObj, filterNode) {
  * @return {object}
  */
 function GetTargetTreeNode(zTreeObj) {
-    if (!zTreeObj || !Tree) {
+    if (!zTreeObj || !projTreeObj.tree) {
         return null;
     }
 
     let ztree_selected = zTreeObj.getSelectedNodes().length === 0 ? null : zTreeObj.getSelectedNodes()[0];
-    return ztree_selected ? Tree.findNode(ztree_selected.id) : null;
+    return ztree_selected ? projTreeObj.tree.findNode(ztree_selected.id) : null;
 }
 
 /**

+ 1 - 1
web/building_saas/pm/js/pm_tree.js

@@ -233,7 +233,7 @@ const pmTree = {
                     }
                     node.parent.children.splice(iIndex, 1);
                 }
-                _view._removeNodesRowDom([node]);
+                sortTreeItems(this);
             };
 
             Tree.prototype.loadData = function (arrData) {

+ 0 - 1
web/src/html/pm/project-management.html

@@ -503,7 +503,6 @@
 <script src="/public/web/tree_table/tree_table.js"></script>
 <script type="text/javascript" src="/public/web/common_ajax.js"></script>
 <script src="/web/building_saas/pm/js/pm_ajax.js"></script>
-<script src="/web/building_saas/pm/js/pm_main.js" charset="UTF-8"></script>
 
 
 <!-- zTree -->