Jelajahi Sumber

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

chenshilong 7 tahun lalu
induk
melakukan
7f7ea70822

+ 2 - 1
modules/complementary_ration_lib/controllers/compleViewController.js

@@ -44,7 +44,8 @@ class CompleViewController extends BaseController{
     }
 
     getRationLibs(req, res){
-        compleViewModel.getRationLibs(req.session.sessionCompilation._id, function (err, data) {
+        let data = JSON.parse(req.body.data);
+        compleViewModel.getRationLibs(req.session.sessionCompilation._id, data.ids, function (err, data) {
             callback(req, res, err, '', data);
         });
     }

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

@@ -167,7 +167,7 @@ class CompleRatoinDao {
                          glj = await complementaryGljModel.findOne({uesrId: userId, ID: rationGlj.gljId});
                     }
                     if(isDef(glj)){
-                        let unitHint = '' + glj.code + ' ' + glj.name + '' + glj.unit + ' ' + rationGlj.consumeAmt + '</br>';
+                        let unitHint = '' + glj.code + ' ' + glj.name + ' ' + glj.unit + ' ' + rationGlj.consumeAmt + '</br>';
                         hint += unitHint;
                     }
                 }

+ 2 - 2
modules/complementary_ration_lib/models/compleViewModel.js

@@ -15,9 +15,9 @@ class CompleViewModel {
         }
     }
 
-    async getRationLibs(compilationId, callback){
+    async getRationLibs(compilationId, ids, callback){
         try{
-            let rationLibs = await rationRepositoryModel.find({compilationId: compilationId, $or: [{deleted: null}, {deleted: false}]});
+            let rationLibs = await rationRepositoryModel.find({compilationId: compilationId, ID: {$in: ids}, $or: [{deleted: null}, {deleted: false}]});
             callback(0, rationLibs);
         }
         catch(err) {

+ 6 - 5
public/web/tree_sheet/tree_sheet_helper.js

@@ -161,6 +161,7 @@ var TREE_SHEET_HELPER = {
     },
     showTreeData: function (setting, sheet, tree) {
         let indent = 20;
+        let levelIndent = -5;
         let halfBoxLength = 5;
         let halfExpandLength = 3;
 
@@ -229,7 +230,7 @@ var TREE_SHEET_HELPER = {
             let showTreeLine = true;
             if (!node) { return; }
 
-            let centerX = Math.floor(x) + node.depth() * indent + indent / 2;
+            let centerX = Math.floor(x) + node.depth() * indent + node.depth() * levelIndent + indent / 2;
             let x1 = centerX + indent / 2;
             let centerY = Math.floor((y + (y + h)) / 2);
             let y1;
@@ -255,7 +256,7 @@ var TREE_SHEET_HELPER = {
             }
             // Draw Parent Line
             if (showTreeLine) {
-                var parent = node.parent, parentCenterX = centerX - indent;
+                var parent = node.parent, parentCenterX = centerX - indent - levelIndent;
                 while (parent) {
                     if (!parent.isLast()) {
                         if (parentCenterX < x + w) {
@@ -263,11 +264,11 @@ var TREE_SHEET_HELPER = {
                         }
                     }
                     parent = parent.parent;
-                    parentCenterX -= indent;
+                    parentCenterX -= (indent + levelIndent);
                 }
             };
             // Draw Text
-            x = x + (node.depth() + 1) * indent;
+            x = x + (node.depth() + 1) * indent +  node.depth() * levelIndent;
             GC.Spread.Sheets.CellTypes.Text.prototype.paint.apply(this, arguments);
         };
         TreeNodeCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) {
@@ -286,7 +287,7 @@ var TREE_SHEET_HELPER = {
             let node = tree.items[hitinfo.row];
             tree.selected = node;
             if (!node || node.children.length === 0) { return; }
-            let centerX = hitinfo.cellRect.x + offset + node.depth() * indent + indent / 2;
+            let centerX = hitinfo.cellRect.x + offset + node.depth() * indent + node.depth() * levelIndent + indent / 2;
             let centerY = (hitinfo.cellRect.y + offset + (hitinfo.cellRect.y + offset + hitinfo.cellRect.height)) / 2;
 
             if (hitinfo.x > centerX - halfBoxLength && hitinfo.x < centerX + halfBoxLength && hitinfo.y > centerY - halfBoxLength && hitinfo.y < centerY + halfBoxLength) {

+ 6 - 1
web/building_saas/complementary_ration_lib/js/main.js

@@ -22,7 +22,12 @@ let compleRationMain = {
                 }
             }
         };
-        CommonAjax.post('/complementaryRation/api/getRationLibs', {user_id: userID}, scFunc);
+        let ration_lib = projectInfoObj.projectInfo.engineeringInfo.ration_lib;
+        let ids = [];
+        for(lib of ration_lib){
+            ids.push(parseInt(lib.id));
+        }
+        CommonAjax.post('/complementaryRation/api/getRationLibs', {user_id: userID, ids: ids}, scFunc);
     }
 };
 

+ 27 - 11
web/building_saas/main/js/views/main_tree_col.js

@@ -49,9 +49,20 @@ let MainTreeCol = {
         }
     },
     readOnly: {
-        // CSL, 2017-11-28
+        // Vincent, 2018-01-09
         subType: function (node) {
-            return MainTreeCol.readOnly.bills(node)||(node.data.type != 2 && node.data.type != 3 && !MainTreeCol.readOnly.glj(node)) || (node.data.type == rationType.gljRation && MainTreeCol.readOnly.non_editSubType(node));
+            if(MainTreeCol.readOnly.bills(node)){
+                return true;
+            }
+            if(MainTreeCol.readOnly.ration(node)){
+                return true;
+            }
+            if(MainTreeCol.readOnly.non_editSubType(node)){
+                return true;
+            }else if(gljOprObj.hasComposition(node.data,node.sourceType === ModuleNames.ration)){
+                return true;
+            }
+            return false;
         },
         calcProgramName: function (node) {
             if (
@@ -181,20 +192,25 @@ let MainTreeCol = {
             }
         },
 
-        // CSL, 2017-11-28
+        // Vincent, 2018-01-09
         subType: function (node) {
             if(node.sourceType!=projectObj.project.Bills.getSourceType()){
-                if (node.data.type == rationType.volumePrice || node.data.type == rationType.gljRation || node.sourceType === projectObj.project.ration_glj.getSourceType()) {
-                    let VPType = sheetCommonObj.getDynamicCombo();
-                    if (node.data.type == rationType.volumePrice)
+                let VPType = sheetCommonObj.getDynamicCombo();
+                if(node.sourceType == projectObj.project.Ration.getSourceType()){//是定额类型
+                    if(node.data.type == rationType.volumePrice){
                         VPType.itemHeight(5).items(["人工", "材料", "机械", "主材", "设备"])
-                    else if (node.data.type == rationType.gljRation || node.sourceType === projectObj.project.ration_glj.getSourceType())
-                        if (!MainTreeCol.readOnly.non_editSubType(node)) {
+                        return VPType;
+                    }else if(node.data.type == rationType.gljRation){
+                        if(!MainTreeCol.readOnly.non_editSubType(node)&&gljOprObj.hasComposition(node.data,true)==false){
                             VPType.itemHeight(3).items(["材料", "主材", "设备"]);
-                        } else {
-                            return null;
+                            return VPType;
                         }
-                    return VPType;
+                    }
+                }else if(node.sourceType === projectObj.project.ration_glj.getSourceType()){//是工料机类型
+                    if(!MainTreeCol.readOnly.non_editSubType(node)&&gljOprObj.hasComposition(node.data)==false){
+                        VPType.itemHeight(3).items(["材料", "主材", "设备"]);
+                        return VPType;
+                    }
                 }
             }
         },

+ 7 - 4
web/building_saas/main/js/views/project_view.js

@@ -66,10 +66,11 @@ var projectObj = {
         let canDelete = function (node) {
             if (selected) {
                 if (selected.sourceType === that.project.Bills.getSourceType()) {
-                    return !(selected.data.flagsIndex && selected.data.flagsIndex.fixed && selected.data.flagsIndex.fixed.flag > 0);
-                } else {
-                    return true;
+                    if(selected.data.type == billType.DXFY&&selected.data.isAdd!=1){
+                        return false;
+                    }
                 }
+                return true;
             } else {
                 return false;
             }
@@ -846,7 +847,9 @@ $('#delete').click(function () {
         }else if(selected.sourceType==ModuleNames.ration_glj){
             project.ration_glj.updataOrdelete(selected.source);
         };
-        projectObj.converseCalculateBills(parent);
+        if(parent){
+            projectObj.converseCalculateBills(parent);
+        }
     };
 });
 $('#upLevel').click(function () {