chenshilong 7 years ago
parent
commit
9b60bebec0

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

@@ -63,7 +63,7 @@
                     <!--<a href="javascript:void(0)" class="btn btn-sm" title="复制" ><i class="fa fa-files-o" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" title="剪切"><i class="fa fa-scissors" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" title="粘贴"><i class="fa fa-clipboard" aria-hidden="true"></i></a>-->
-                 <!--   <a href="javascript:void(0)" class="btn btn-sm" id="insert" title="插入"><i class="fa fa-sign-in" aria-hidden="true"></i></a>-->
+                    <a href="javascript:void(0)" class="btn btn-sm" id="insertRation" title="插入定额"><i class="fa fa-sign-in" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" id="delete" title="删除"><i class="fa fa-remove" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" id="upLevel" title="升级"><i class="fa fa-arrow-left" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" id="downLevel" title="降级"><i class="fa fa-arrow-right" aria-hidden="true"></i></a>

+ 28 - 0
web/building_saas/main/js/views/fee_rate_view.js

@@ -185,9 +185,37 @@ var feeRateObject={
         sheet.rowOutlines.group(22, 6);*/
        // sheet.getRange(-1, 0, -1, 1).width(300);
         sheet.showRowOutline(false);
+        feeRateObject.locate();
         sheet.resumeEvent();
         sheet.resumePaint(false);
     },
+    locate: function(){   // CSL,2018.07.18
+        let sheet = feeRateObject.feeRateSpreads.getSheet(0);
+        let fID = calcProgramManage.getSelectionInfo().calcItem.feeRateID;
+        let rates = projectObj.project.FeeRate.getActivateFeeRate().rates;
+        let rowIdx = 0, pID = 0;
+
+        if (fID){
+            for (let i in rates) {
+                if (rates[i].ID == fID){
+                    rowIdx = parseFloat(i);
+                    pID = rates[i].ParentID;
+                    break;
+                };
+            }
+        };
+
+        for (let i in rates){
+            if (!rates[i].ParentID){
+                sheet.rowOutlines.setCollapsed(parseFloat(i), true);
+                if (rates[i].ID == pID)
+                    sheet.rowOutlines.setCollapsed(parseFloat(i), false);
+            };
+        };
+
+        sheet.setSelection(rowIdx, -1, 1, -1);
+        sheet.showRow(rowIdx, GC.Spread.Sheets.VerticalPosition.center);
+    },
     getTreeNodeCellType:function () {
         var ns = GC.Spread.Sheets;
         function TreeNodeCellType() {

+ 33 - 9
web/building_saas/main/js/views/project_view.js

@@ -155,7 +155,8 @@ var projectObj = {
             }
             return false
         };
-        
+
+        setButtonValid(canInsertRationNode(selected), $('#insertRation'));
         setButtonValid(ifCanDelete(), $('#delete'));
         setButtonValid(canUpLevel(selected), $('#upLevel'));
         setButtonValid(canDownLevel(selected), $('#downLevel'));
@@ -423,7 +424,7 @@ var projectObj = {
         }  else if(calcTools.isGljRation(node)){
             gljOprObj.updateRationTypeGLJ(value,node,fieldName,editingText);
         } else if (value !== calcFees.getFee(node.data, fieldName)||fieldName == 'quantity') {//工程量需要进行转换,所以做特殊处理
-            if (fieldName === 'code' && !calcTools.isVolumePrice(node)) {
+            if (fieldName === 'code' && value != '' && !calcTools.isVolumePrice(node)) {
                 projectObj.updateCode(node, value);
             }
             else if(fieldName ==='feeRate'){
@@ -541,6 +542,12 @@ var projectObj = {
         }
 
     },
+    onColumnWidthChanged: function (sender, info) {
+        projectObj.mainSpread.getActiveSheet().setColumnVisible(4, false);
+        projectObj.mainSpread.getActiveSheet().setColumnVisible(4, true);
+        projectObj.mainSpread.refresh();
+        projectObj.mainSpread.repaint();
+    },
     mainSpreadEditEnded: function (sender, info) {
         let project = projectObj.project;
         let node = project.mainTree.items[info.row];
@@ -577,7 +584,7 @@ var projectObj = {
                 let node = project.mainTree.items[changedCell.row];
                 let colSetting = setting.cols[changedCell.col];
                 let value = projectObj.checkSpreadEditingText(changedCell.text, colSetting)
-                if(colSetting.data.field=='code'&& node.sourceType == project.Ration.getSourceType()&&node.data.type==rationType.ration){//如果是更新定额的编码
+                if(colSetting.data.field=='code' && value != '' && node.sourceType == project.Ration.getSourceType()&&node.data.type==rationType.ration){//如果是更新定额的编码
                     updateRationCodes.push({'node':node,value:value});
                 }else {
                     projectObj.updateCellValue(node, value, colSetting,changedCell.text);
@@ -701,6 +708,7 @@ var projectObj = {
                 that.mainSpread.bind(GC.Spread.Sheets.Events.ClipboardChanged, that.msClipboardChanged);
                 that.mainSpread.bind(GC.Spread.Sheets.Events.ButtonClicked, that.onButtonClick);
                 that.mainSpread.bind(GC.Spread.Sheets.Events.CellDoubleClick, that.onCellDoubleClick);
+                that.mainSpread.bind(GC.Spread.Sheets.Events.ColumnWidthChanged, that.onColumnWidthChanged);
 
                 //let loadOtherStartTime = +new Date();
                 if(!projectReadOnly){
@@ -861,10 +869,7 @@ var projectObj = {
                     },
                     visible: function(key, opt){
                         var selected = project.mainTree.selected;
-                        if(selected){
-                          return canInsertRationNode(selected);
-                        }
-                       return false;
+                        return canInsertRationNode(selected);
                     }
                 },
                 "insertLJ": {
@@ -1967,14 +1972,33 @@ function ifCanDelete() {
 }
 
 function canInsertRationNode(selected) {//判断是否能插入定额、量价、定额类型工料机, false 不能,true能
+    if(!selected)
+        return false;
     let project = projectObj.project;
-    if(selected.sourceType == ModuleNames.bills&&selected.data.type == billType.DXFY){
+    if(selected.sourceType == ModuleNames.bills && selected.data.type == billType.DXFY){
         return false
     }else if(!(project.Bills.isMeasure(selected)||project.Bills.isFBFX(selected))){
         return false
-    }else {
+    }else if(selected.sourceType == ModuleNames.bills && selected.source.children.length > 0){
+        return false
+    }
+    else {
         return true
     }
+
+/*    if (selected) {// Vincent, 2018-01-02
+        if(selected.sourceType === project.Ration.getSourceType()){ // 焦点行是定额/量价/工料机,有效显示。
+            return false;
+        }else if(selected.sourceType === project.Bills.getSourceType()){
+            if(selected.data.type == billType.FX || selected.data.type == billType.BX){//焦点行是分项,有效显示。
+                return false
+            }
+            if(selected.data.type == billType.BILL && selected.source.children.length === 0){//焦点行是清单,且没有子项,有效显示。
+                return false
+            }
+        }
+    }
+    return true;*/
 }
 
 //导入类型(09表、广联达)