Преглед изворни кода

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

chenshilong пре 7 година
родитељ
комит
81582b1da0

+ 9 - 8
web/building_saas/js/global.js

@@ -1,17 +1,18 @@
 /*全局自适应高度*/
 function autoFlashHeight(){
-    var headerHeight = $(".header").height();
-    var toolsbarHeight = $(".toolsbar").height();
-    var ftoolsbarHeight = $(".toolsbar-f").height();
+    let headerHeight = $(".header").height();
+    let toolsbarHeight = $(".toolsbar").height();
+    let ftoolsbarHeight = $(".toolsbar-f").height();
    // var feeRateToolsbarHeight = $(".toolsbar_feeRate").height();
-    var bottomContentHeight = $(".bottom-content").height();
-    var toolsBarHeightQ = $(".tools-bar-height-q").height();
-    var toolsBarHeightD = $(".tools-bar-height-d").height();
+    let mainBottomContentHeight = $("#main .bottom-content").height();
+    let gljBottomContentHeight = $("#project-glj-main .bottom-content").height();
+    let toolsBarHeightQ = $(".tools-bar-height-q").height();
+    let toolsBarHeightD = $(".tools-bar-height-d").height();
     $(".main-data-side-q").height($(window).height()-headerHeight-toolsbarHeight-toolsBarHeightQ-302);
     $(".main-data-side-d").height($(window).height()-headerHeight-toolsbarHeight-toolsBarHeightD-302);
     //$("#main .main-data-top").height($(window).height()-headerHeight-toolsbarHeight-bottomContentHeight-1);
-    $("#billsSpread").height($(window).height()-headerHeight-toolsbarHeight-bottomContentHeight-1);
-    $("#project_glj_sheet").height($(window).height()-headerHeight-toolsbarHeight-bottomContentHeight-1);
+    $("#billsSpread").height($(window).height()-headerHeight-toolsbarHeight-mainBottomContentHeight-1);
+    $("#project_glj_sheet").height($(window).height()-headerHeight-toolsbarHeight-gljBottomContentHeight-25);
     $(".main-data-full").height($(window).height()-headerHeight-toolsbarHeight-1);
     $(".main-data-full-fl").height($(window).height()-headerHeight-toolsbarHeight-37);
     $(".main-data-full-feeRate").height($(window).height()-headerHeight-78);

+ 1 - 1
web/building_saas/main/html/main.html

@@ -1175,7 +1175,7 @@
         <!-- endinject -->
 
         <script type="text/javascript">
-            autoFlashHeight();
+           // autoFlashHeight();
         </script>
 
         <SCRIPT type="text/javascript">

+ 4 - 4
web/building_saas/main/js/main.js

@@ -21,10 +21,12 @@ $(function () {
         $(e.relatedTarget.hash).removeClass('active');
         $("#subItems").addClass('active');
         $(gljOprObj.activeTab).addClass('active');
-        loadSize("main", function() {
+        autoFlashHeight();
+        projectObj.refreshMainSpread();
+        /*loadSize("main", function() {
             projectObj.refreshMainSpread();
             refreshSubSpread();
-        });
+        });*/
     });
 
     slideResize($("#main"), function() {
@@ -129,8 +131,6 @@ function loadSize(tag, callback) {
         const navHeight = $("#"+ tag +" .bottom-content").children('ul.nav').height() + 4;
         topHeight = parseFloat(topHeight);
         bottomHeight = parseFloat(bottomHeight);
-        console.log(topHeight);
-        console.log(bottomHeight);
         $("#"+ tag +" .main-data-top").height(topHeight);
         $("#"+ tag +" .main-data-bottom").height(bottomHeight - navHeight);
     }

+ 2 - 2
web/building_saas/main/js/models/fee_rate.js

@@ -192,7 +192,7 @@ var FeeRate = {
                     calcProgramObj.showData(node);
                 }
             }
-            project.calcProgram.calcAllNodesAndSave(calcAllType.catBills);
+            project.calcProgram.calcAllNodesAndSave(calcAllType.catAll);
             project.markUpdateProject({projectID:project.ID(),feeRateID:this.getActivateFeeRateFileID()},"feeRate");
             socket.emit('feeRateChangeNotify', this.getActivateFeeRateFileID());
         };
@@ -205,7 +205,7 @@ var FeeRate = {
                     calcProgramObj.showData(node);
                 }
             }
-            project.calcProgram.calcAllNodesAndSave(calcAllType.catBills);
+            project.calcProgram.calcAllNodesAndSave(calcAllType.catAll);
             if(socketObject.roomInfo){
                 //判断费率文件ID是否改变了
                 if(socketObject.roomInfo.feeRate == this.getActivateFeeRateFileID()){//如果没变,则是重选了标准

+ 15 - 6
web/building_saas/main/js/models/installation_fee.js

@@ -179,7 +179,7 @@ var installation_fee = {
             };
             return updateData;
         };
-        installation_fee.prototype.submitInstallationUpdate = function (updateData,rationInstallations,callback) {
+       installation_fee.prototype.submitInstallationUpdate = function (updateData,rationInstallations,callback) {
             if(updateData){
                 let data = {'projectID':projectInfoObj.projectInfo.ID,'updateData':updateData};
                 if(rationInstallations){//是否附带更新定额安装费
@@ -201,7 +201,7 @@ var installation_fee = {
                 })
             }
         };
-        installation_fee.prototype.calcInstallationFee=function(callback){
+       installation_fee.prototype.calcInstallationFee=function(callback){
             let project = projectObj.project,me = this;
             let engineering = projectInfoObj.projectInfo.property.engineering;
             let installSetting = projectInfoObj.projectInfo.property.installSetting;
@@ -302,12 +302,13 @@ var installation_fee = {
                         glj.quantity = ur.quantity;
                         glj.rationItemQuantity = ur.rationItemQuantity;
                     }
-
+                    let selectedNode = projectObj.project.mainTree.selected;
                     //对树节点的操作并删除、添加清单、删除添加定额、删除对应的定额工料机缓存
                     TREE_SHEET_HELPER.massOperationSheet(projectObj.mainController.sheet, function () {
                         deleteOldNodes(deleteRationNodes,deleteBillsNodes);
                         addNewNodes(updateData);
                     });
+                    setTreeSelection(selectedNode);
                     projectObj.project.projectGLJ.loadData(function () {
                         cbTools.refreshFormulaNodes();
                         if(callback){
@@ -363,11 +364,19 @@ var installation_fee = {
                     Bill.tree.delete(bd.source);
                     Bill.removeByID(bd.getID());
                 }
-                let sels = controller.sheet.getSelections();
-                controller.setTreeSelected(controller.tree.items[sels[0].row]);
             }
 
-            
+            function setTreeSelection(oldSelect) {
+                let controller = projectObj.mainController;
+                let sel = controller.sheet.getSelections()[0];
+                if(controller.tree.getNodeByID(oldSelect.getID())){//如果旧选中节点还存在
+                    controller.sheet.setSelection(oldSelect.serialNo(),sel.col,sel.rowCount,sel.colCount);
+                    controller.setTreeSelected(oldSelect)
+                }else {//选中节点已被删除,自动选中新的节点
+                    controller.setTreeSelected(controller.tree.items[sel.row]);
+                }
+            }
+
             function checkRation(oldRation,newRation) {//检查定额是否需要更新
                 let gljs = project.ration_glj.getGljByRationID(oldRation.ID);
                 let modify = false;

+ 19 - 17
web/building_saas/main/js/views/fee_rate_view.js

@@ -400,11 +400,13 @@ var feeRateObject={
     },
     showMainFeeRateData:function () {
         let me = this;
+        let selected = me.mainFeeRateSheet.getSelections()[0];
         me.activateFeeRate = projectObj.project.FeeRate.getActivateFeeRate();
         me.mainFeeRateData = projectObj.project.FeeRate.getActivateFeeRate().rates;
         me.mainFeeRateSheet.setRowCount(0);
         me.mainFeeRateSheet.setRowCount(me.mainFeeRateData.length);
         me.showSelectTree(me.mainFeeRateSheet,me.mainFeeRateSetting,me.mainFeeRateData);
+        me.mainFeeRateSheet.setSelection(selected.row,selected.col,selected.rowCount,selected.colCount);
     },
     reFreshRateViews:function() {
         //feeRateObject.createSpreadView();
@@ -471,20 +473,20 @@ var feeRateObject={
         }
     },
     cascadeSetRates:function(selectedItem,sourceRow,mapID,selectMap){
-        var items=[];
+        let items=[];
         items.push({rateIndex:sourceRow,rate:selectedItem});
         _.forEach(this.mainFeeRateData,function (recode,Index) {
             if(Index!=sourceRow&&recode.subFeeRate){
-                var valueMaps = recode.subFeeRate.valueMaps;
-                var valueMap = _.find(valueMaps,{ID:mapID});
+                let valueMaps = recode.subFeeRate.valueMaps;
+                let valueMap = _.find(valueMaps,{ID:mapID});
                 if(valueMap){//选项完全一样的情况
                     if(valueMap.value==recode.rate){
                         return;
                     }else {
                         recode.rate = valueMap.value;
                         _.forEach(selectMap,function (value,key) {
-                            var tempRecode =  recode.subFeeRate.recodes[key];
-                            var optionList = tempRecode.optionList;
+                            let tempRecode =  recode.subFeeRate.recodes[key];
+                            let optionList = tempRecode.optionList;
                             _.forEach(optionList,function (o) {
                                 if(o.value==value){
                                     o.selected = true;
@@ -492,17 +494,17 @@ var feeRateObject={
                                     o.selected = false;
                                 }
                             })
-                        })
+                        });
                         items.push({rateIndex:Index,rate:recode});
                     }
                 }else {//某条选项一样的情况
-                    var needUpdate = false;
-                    var selectList = mapID.split('-');
-                    var newList=[];
+                    let needUpdate = false;
+                    let selectList = mapID.split('-');
+                    let newList=[];
                     _.forEach(recode.subFeeRate.recodes,function (r) {
-                        var oList = r.optionList;
-                        var oldSelectIndex=0;
-                        var hasChange=false;
+                        let oList = r.optionList;
+                        let oldSelectIndex=0;
+                        let hasChange=false;
                         _.forEach(oList,function (o,key) {
                             if(o.selected){
                                 oldSelectIndex = key;
@@ -515,14 +517,14 @@ var feeRateObject={
                             }else {
                                 o.selected=false;
                             }
-                        })
+                        });
                         if(!hasChange){
                             oList[oldSelectIndex].selected=true;
                             newList.push(oList[oldSelectIndex].value)
                         }
-                    })
+                    });
                     if(needUpdate){
-                      var newValue =   _.find(valueMaps,{ID:newList.join("-")})//取出费率值并更新
+                      let newValue =   _.find(valueMaps,{ID:newList.join("-")})//取出费率值并更新
                         if(newValue){
                           if(recode.rate != newValue.value){
                               recode.rate = newValue.value
@@ -532,7 +534,7 @@ var feeRateObject={
                     }
                 }
             }
-        })
+        });
         projectObj.project.FeeRate.batchUpdateFeeRate(items,feeRateObject.activateFeeRate);
     },
     loadPageContent:function(){
@@ -607,7 +609,7 @@ var feeRateObject={
                     feeRateObject.submitSaveAs(newName);
                 }
             }
-            projectObj.project.FeeRate.checkFeeRateName(newName,callback)
+            projectObj.project.FeeRate.checkFeeRateName(newName,callback);
         }else {
             feeRateObject.submitSaveAs(newName);
         }

+ 1 - 20
web/building_saas/main/js/views/glj_view.js

@@ -138,8 +138,6 @@ var gljOprObj = {
     },
     gljTreeSetting: {
         view: {
-            //addHoverDom: gljTypeTreeOprObj.addHoverDom,
-            //removeHoverDom: gljTypeTreeOprObj.removeHoverDom,
             expandSpeed: "",
             selectedMulti: false
         },
@@ -1103,23 +1101,6 @@ var gljOprObj = {
         installationFeeObj.rationInstallData = [];
         //this.detailData=[];
     },
-    /*   lockRationGLJCell:function(){
-     sheetCommonObj.lockCells(this.sheet,this.setting);
-     },
-     lockRationCoeCell:function () {
-     sheetCommonObj.lockCells(this.coeSheet,this.coeSetting);
-     /!*    if(this.coeSheetData){
-     for(var i =0;i<this.coeSheetData.length;i++){
-     if(this.coeSheetData[i].coeID==-1){
-     this.coeSheet.getCell(i, 1, GC.Spread.Sheets.SheetArea.viewport).locked(false);
-     }
-     }
-     }*!/
-
-     },
-     lockRationGLJCell:function(){
-     sheetCommonObj.lockCells(this.sheet,this.setting);
-     },*/
     updateRationGLJ: function (args) {
         var me = this;
         var updateField = me.setting.header[args.col].dataCode;
@@ -1649,7 +1630,7 @@ var gljOprObj = {
                 cellRect: cellRect,
                 sheetArea: context.sheetArea
             };
-        }
+        };
         TreeNodeCellType.prototype.processMouseDown = function (hitinfo) {
             var recode = data[hitinfo.row];
             if (recode && recode.hasOwnProperty('subList')) {

+ 3 - 4
web/building_saas/main/js/views/installation_fee_view.js

@@ -1110,7 +1110,6 @@ let installationFeeObj={
                 }
               me.refreshFeeDetailRow(info.row);
             }
-            //me.showFeeDetailData(feeDetail.libID,feeDetail.feeItemId);
         });
     },
     onDetailRangeChanged:function (e,info) {
@@ -1212,8 +1211,8 @@ let installationFeeObj={
                                          return
                                     }
                                     if (autoCreate == false){//不自动生成的时候才做检查
-                                        if(feeRule.billID&&feeRule.billID!=""){//先检查清单ID
-                                            let node = projectObj.project.mainTree.getNodeByID(item.billID);
+                                        if(feeRule.billID && feeRule.billID != ""){//先检查清单ID
+                                            let node = projectObj.project.mainTree.getNodeByID(feeRule.billID);
                                             if(!node){
                                                 let c = confirm("所选清单没有找到,需要自动生成吗?");
                                                 if(c){
@@ -1222,7 +1221,7 @@ let installationFeeObj={
                                                     return;
                                                 }
                                             }
-                                        }else if(feeRule.position && feeRule.position!=""){//再检查code
+                                        }else if(feeRule.position && feeRule.position != ""){//再检查code
                                             let bill = projectObj.project.Bills.getBillByCode(feeRule.position);
                                             if(!bill){
                                                 let c = confirm("所选清单没有找到,需要自动生成吗?");

+ 2 - 0
web/building_saas/main/js/views/project_glj_view.js

@@ -470,6 +470,7 @@ $(function () {
         me.showProjectGljData();
         loadSize("project-glj-main", function () {
             me.projectGljSpread.refresh();
+            me.mixRatioSpread?me.mixRatioSpread.refresh():'';
         });
     });
     $('#ration_link').on('shown.bs.tab', function (e) {
@@ -491,6 +492,7 @@ $(function () {
     });
     slideResize($("#project-glj-main"), function () {
         projectGljObject.projectGljSpread.refresh();
+        projectGljObject.mixRatioSpread?projectGljObject.mixRatioSpread.refresh():'';
     });
     $('#pop-used-list').popover({
             placement: "bottom",

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

@@ -600,6 +600,8 @@ var projectObj = {
                 that.project.projectMarkChecking();//是否需要重新进行造价计算
                 installationFeeObj.engineeringTypeChecking();//检查是否安装工程
                 //初始需要触发一次点击表格事件,sheet.getAutoFitWidth值(获取单元格文本长度)才正确
+                autoFlashHeight();
+                projectObj.refreshMainSpread();
             }
             else {