zhangweicheng 6 年之前
父節點
當前提交
5c21df5204

+ 1 - 1
public/web/tree_sheet/tree_sheet_helper.js

@@ -195,7 +195,7 @@ var TREE_SHEET_HELPER = {
                 if(colSetting.data.autoHeight == true){
                     colSetting.setAutoHeight(cell,node);
                 }
-                if(colSetting.editChecking&&colSetting.editChecking(node)){
+                if(colSetting.editChecking&&colSetting.editChecking(node,colSetting.data.field)){
                     cell.locked(true);
                 }else if (colSetting.readOnly) {
                     if(typeof projectReadOnly !== 'undefined' && projectReadOnly){

+ 1 - 1
web/building_saas/main/js/controllers/block_controller.js

@@ -552,7 +552,7 @@ let BlockController = {
             let newID = uuid.v1(); //新的清单ID
             billsIDMap[temData.ID] = newID;
             temData.ID = newID; //新的清单ID
-            if(temData.billsLibId && temData.billsLibId!="" && temData.code.length == 12){//是从清单库来的
+            if(temData.code.length == 12){//是从清单库来的  //temData.billsLibId && temData.billsLibId!=""    2019-09-03  修改需求,不做清单库ID判断
                 let value = temData.code.substr(0,9);
                 if (value&&value.length === 9) {//&& /^[\d]+$/.test(value) 去掉全数字判断    07-31 zhang
                     temData.code = me.newFormatCode(value);

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

@@ -172,14 +172,14 @@ let calcBaseView = {
         return this.billsCBClass.ALL;
     },
 
-    initCalctor: function (type) {//type = bills、ration
+    initCalctor: function (type,field) {//type = bills、ration
         let me = calcBaseView;
         let showDatas;
         me.inputExpr = $('#calcBaseExp');
         me.curType = type;
         if (type === me.type.bills) {
             //锁定的清单不显示
-            if(projectObj.project.isBillsLocked() && projectObj.project.withinBillsLocked(projectObj.project.mainTree.selected)){
+            if( MainTreeCol.lockBillChecking(projectObj.project.mainTree.selected,field)){
                 return;
             }
             //显示清单基数分类
@@ -356,7 +356,8 @@ let calcBaseView = {
         calcBaseView.confirmBtn.attr('toggle', 'calcBase');
         changeCalcBaseFeeRate('calcBase');
         $('#tabCalcBase').tab('show');
-        calcBaseView.initCalctor(type);
+        let field = projectObj.mainController.setting.cols[hitinfo.col].data.field;
+        calcBaseView.initCalctor(type,field);
     }
 };
 

+ 2 - 2
web/building_saas/main/js/views/fee_rate_view.js

@@ -478,9 +478,9 @@ var feeRateObject={
         return new FeeRateEditCellType();
     },
     showSelectModal:function (hitinfo) {
-        //锁定的清单不显示
         let project = projectObj.project;
-        if(project.isBillsLocked() && project.withinBillsLocked(project.mainTree.selected)){
+        let field = projectObj.mainController.setting.cols[hitinfo.col].data.field;
+        if(MainTreeCol.lockBillChecking(project.mainTree.selected,field)){ //锁定的清单不显示
             return;
         }
         //$("#fee_rate_tree").modal({show:true});

+ 9 - 3
web/building_saas/main/js/views/main_tree_col.js

@@ -419,15 +419,21 @@ let MainTreeCol = {
         //仅“分部分项工程”或“施工技术措施项目”下的分部、分项、补项、清单可编辑
         return ((Bills.isFBFX(node)||Bills.isTechMeasure(node))&&node.sourceType == ModuleNames.bills)
     },
-    editChecking:function(node){
-        if(node.sourceType==projectObj.project.Bills.getSourceType()&&projectObj.project.isBillsLocked()&&projectObj.project.withinBillsLocked(node)){
-            return true;
+    editChecking:function(node,field){
+        if(node.sourceType==projectObj.project.Bills.getSourceType()){
+            return MainTreeCol.lockBillChecking(node,field)
         }
         if(gljOprObj.isInstallationNode(node)){//如果是通过安装增加费自动生成的,都是只读类型
             return true;
         }
         return false;
     },
+    lockBillChecking:function (node,field) {//true就是不可编辑,被锁定
+        if(projectObj.project.isBillsLocked()&&projectObj.project.withinBillsLocked(node)){
+            return (field == "feesIndex.common.unitFee"||field=="feesIndex.common.totalFee"||field=="calcBase"||field=="feeRate")?false:true;// 锁定状态下,除了综合单价、综合合价、计算基数、费率这个几,其它的都不能编辑
+        }
+        return false
+    },
     setAutoHeight:function (cell,node) {//设置自动行高
         cell.wordWrap(MainTreeCol.needAutoFit(node));
     },

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

@@ -2008,7 +2008,8 @@ var projectObj = {
         calcBaseView.confirmBtn.attr('toggle', 'commonTotalFee');
         changeCalcBaseFeeRate('commonTotalFee');
         $('#tabCalcBase').tab('show');
-        calcBaseView.initCalctor('bills');
+        let field = projectObj.mainController.setting.cols[hitinfo.col].data.field;
+        calcBaseView.initCalctor('bills',field);
         feeRateObject.showSelectModal(hitinfo);
     },
     selectColAndFocus :function (newNode,field = 'code') {//选中单元格并设置焦点