ソースを参照

工料机调价列显示

zhangweicheng 7 年 前
コミット
c90c233e28

+ 64 - 5
web/building_saas/main/js/views/glj_col.js

@@ -25,12 +25,71 @@ let gljCol = {
         // 工料机类型是混凝土、砂浆、配合比、机械台班时,价格不可编辑。
         editedTyep:[GLJTypeConst.MAIN_MATERIAL,GLJTypeConst.EQUIPMENT]//主材设备
     },
+    project_glj_setting:{
+        header: [
+            {headerName: "编码", headerWidth: 80, dataCode: "code", dataType: "String"},
+            {headerName: "名称", headerWidth: 160, dataCode: "name", dataType: "String"},
+            {headerName: "规格型号", headerWidth: 120, dataCode: "specs", hAlign: "left", dataType: "String"},
+            {headerName: "单位", headerWidth: 45, dataCode: "unit", hAlign: "center", dataType: "String"},
+            {headerName: "类型", headerWidth: 45, dataCode: "short_name", hAlign: "center", dataType: "String"},
+            {headerName: "总消耗量", headerWidth: 130, dataCode: "quantity", hAlign: "right", dataType: "Number",decimalField:'glj.quantity'},
+            {headerName: "定额价", headerWidth: 70, dataCode: "basePrice", hAlign: "right", dataType: "Number",decimalField:'glj.unitPrice',validator:"number"},
+            {headerName: "调整价", headerWidth: 70, dataCode: "adjustPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice"},
+            {headerName: "市场价", headerWidth: 70, dataCode: "marketPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice",validator:"number"},
+            {headerName: "是否暂估", headerWidth: 60, dataCode: "is_evaluate", hAlign: "center", dataType: "String",cellType:'checkBox'},
+            {headerName: "主要材料", headerWidth: 60, dataCode: "is_main_material", hAlign: "center", dataType: "String",cellType:'checkBox'},
+            {headerName: "供货方式", headerWidth: 80, dataCode: "supply", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:supplyComboMap},
+            {headerName: "甲供数量", headerWidth: 100, dataCode: "supply_quantity", hAlign: "right", dataType: "Number",validator:"number"},
+            {headerName: "三材类别", headerWidth: 80, dataCode: "materialType", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:materialComboMap},
+            {headerName: "三材系数", headerWidth: 100, dataCode: "materialCoe", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'material'
+            {headerName: "交货方式", headerWidth: 90, dataCode: "delivery", hAlign: "left", dataType: "String"},
+            {headerName: "送达地点", headerWidth: 100, dataCode: "delivery_address", hAlign: "left", dataType: "String"},
+            {headerName: "不调价", headerWidth: 55, dataCode: "is_adjust_price", dataType: "String",cellType: "checkBox"},
+            {headerName: "备注", headerWidth: 100, dataCode: "remark", hAlign: "left", dataType: "String"}
+        ],
+            view: {
+            lockColumns: [0,1,2,3,4,5,7]
+        }
+    },
+    mixRatio_Setting:{
+        header:[
+            {headerName: "编码", headerWidth: 120, dataCode: "code", dataType: "String"},
+            {headerName: "名称", headerWidth: 120, dataCode: "name", dataType: "String"},
+            {headerName: "规格型号", headerWidth: 120, dataCode: "specs", dataType: "String"},
+            {headerName: "单位", headerWidth: 120, dataCode: "unit", hAlign: "center", dataType: "String"},
+            {headerName: "类型", headerWidth: 120, dataCode: "short_name", hAlign: "center", dataType: "String"},
+            {headerName: "定额价", headerWidth: 120, dataCode: "basePrice", hAlign: "right", dataType: "Number",decimalField:'glj.unitPrice',validator:"number"},
+            {headerName: "调整价", headerWidth: 120, dataCode: "adjustPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice"},
+            {headerName: "市场价", headerWidth: 120, dataCode: "marketPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice",validator:"number"},
+            {headerName: "消耗量", headerWidth: 120, dataCode: "consumption", hAlign: "right", dataType: "Number",decimalField:"glj.quantity",validator:"number"}
+        ],
+        view: {
+            lockColumns: [0,1,2,3,4,5,6,7]
+        }
+    },
     removeCol:function (dataCode,setting) {
-       // let colIndex =
-
-
-
+        let colIndex = _.findIndex(setting.header,{'dataCode':dataCode});
+        if(colIndex != -1){
+            setting.header.splice(colIndex,1);//去掉列;
+            let newArray = [];
+            for(let l of setting.view.lockColumns){
+                if(l == colIndex)  continue;
+                if(l > colIndex)  l = l -1;
+                newArray.push(l);
+            }
+            setting.view.lockColumns = newArray;
+        }
+    },
+    initGljCol:function (showAdjustPrice) {
+        let me = gljCol;
+        if(showAdjustPrice !== true){
+            me.removeCol('adjustPrice',me.ration_glj_setting);
+            me.removeCol('adjustPrice',me.project_glj_setting);
+            me.removeCol('adjustPrice',me.mixRatio_Setting);
+        }
+        gljOprObj.setting = me.ration_glj_setting;
+        projectGljObject.projectGljSetting = me.project_glj_setting;
+        projectGljObject.mixRatioSetting = me.mixRatio_Setting;
     }
 
-
 };

+ 10 - 153
web/building_saas/main/js/views/glj_view.js

@@ -14,96 +14,12 @@ var gljOprObj = {
     selectedGLJClass: null,
     parentNodeIds: {},
     activeTab: '#linkGLJ',
-    setting: {
-        header: [
-            {headerName: "编码", headerWidth: 100, dataCode: "code", dataType: "String", formatter: "@"},
-            {headerName: "名称", headerWidth: 160, dataCode: "name", dataType: "String"},
-            {headerName: "规格型号", headerWidth: 90, dataCode: "specs", dataType: "String", hAlign: "left"},
-            {headerName: "单位", headerWidth: 45, dataCode: "unit", dataType: "String", hAlign: "center"},
-            {headerName: "类型", headerWidth: 45, dataCode: "shortName", dataType: "String", hAlign: "center"},
-            {
-                headerName: "定额消耗",
-                headerWidth: 80,
-                dataCode: "rationItemQuantity",
-                dataType: "Number",
-                hAlign: "right",
-                decimalField: "glj.quantity"
-            },    // dataType: "Number", formatter: "0.00"
-            {
-                headerName: "自定消耗",
-                headerWidth: 80,
-                dataCode: "customQuantity",
-                dataType: "Number",
-                hAlign: "right",
-                decimalField: "glj.quantity"
-            },
-            {
-                headerName: "消耗量",
-                headerWidth: 80,
-                dataCode: "quantity",
-                dataType: "Number",
-                hAlign: "right",
-                decimalField: "glj.quantity"
-            },
-            {
-                headerName: "总消耗量",
-                headerWidth: 80,
-                dataCode: "totalQuantity",
-                dataType: "Number",
-                hAlign: "right",
-                decimalField: "glj.quantity"
-            },
-            {
-                headerName: "定额价",
-                headerWidth: 80,
-                dataCode: "basePrice",
-                dataType: "Number",
-                hAlign: "right",
-                decimalField: "glj.unitPrice"
-            },
-            {
-                headerName: "调整价",
-                headerWidth: 80,
-                dataCode: "adjustPrice",
-                dataType: "Number",
-                hAlign: "right",
-                decimalField: "glj.unitPrice"
-            },
-            {
-                headerName: "市场价",
-                headerWidth: 80,
-                dataCode: "marketPrice",
-                dataType: "Number",
-                hAlign: "right",
-                decimalField: "glj.unitPrice"
-            },
-            {
-                headerName: "是否暂估",
-                headerWidth: 65,
-                dataCode: "isEstimate",
-                dataType: "String",
-                hAlign: "center",
-                vAlign: "center",
-                cellType: "checkBox"
-            }
-        ],
-        view: {
-            lockColumns: [0, 4, 5, 7, 8, 10, 12]
-        },
-        // 工料机类型是混凝土、砂浆、配合比、机械台班时,价格不可编辑。
-        editedTyep:[GLJTypeConst.MAIN_MATERIAL,GLJTypeConst.EQUIPMENT]//主材设备
-    },
+    setting: {},
     detailSetting: {
         header: [
             {headerName: "名称", headerWidth: 100, dataCode: "name", dataType: "String"},
             {headerName: "计算式", headerWidth: 120, dataCode: "regex", dataType: "String"},
-            {
-                headerName: "结果(C)",
-                headerWidth: 120,
-                dataCode: "result",
-                dataType: "Number",
-                decimalField: "quantity_detail"
-            },
+            {headerName: "结果(C)", headerWidth: 120, dataCode: "result", dataType: "Number", decimalField: "quantity_detail"},
             {headerName: "累加", headerWidth: 120, dataCode: "isSummation", dataType: "String", cellType: "checkBox"}
         ],
         view: {
@@ -164,73 +80,14 @@ var gljOprObj = {
     gljLibSheetSetting: {
         owner: 'gljTree',
         header: [
-            {
-                headerName: "选择",
-                headerWidth: 40,
-                dataCode: "select",
-                hAlign: "center",
-                vAlign: "center",
-                cellType: "checkBox"
-            },
-            {
-                headerName: "编码",
-                headerWidth: 80,
-                dataCode: "code",
-                dataType: "String",
-                formatter: "@",
-                hAlign: "left",
-                vAlign: "center"
-            },
-            {
-                headerName: "名称",
-                headerWidth: 120,
-                dataCode: "name",
-                dataType: "String",
-                hAlign: "left",
-                vAlign: "center"
-            },
-            {
-                headerName: "规格型号",
-                headerWidth: 80,
-                dataCode: "specs",
-                dataType: "String",
-                hAlign: "center",
-                vAlign: "center"
-            },
-            {
-                headerName: "单位",
-                headerWidth: 40,
-                dataCode: "unit",
-                dataType: "String",
-                hAlign: "center",
-                vAlign: "center"
-            },
-            {
-                headerName: "单价",
-                headerWidth: 80,
-                dataCode: "basePrice",
-                dataType: "Number",
-                formatter: "0.00",
-                hAlign: "right",
-                vAlign: "center"
-            },
-            {
-                headerName: "类型",
-                headerWidth: 80,
-                dataCode: "gljType",
-                dataType: "String",
-                hAlign: "center",
-                vAlign: "center"
-            },
-            {
-                headerName: "是否新增",
-                headerWidth: 80,
-                dataCode: "isComplementary",
-                dataType: "String",
-                hAlign: "center",
-                vAlign: "center",
-                cellType: "checkBox"
-            }
+            {headerName: "选择", headerWidth: 40, dataCode: "select", hAlign: "center", vAlign: "center", cellType: "checkBox"},
+            {headerName: "编码", headerWidth: 80, dataCode: "code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
+            {headerName: "名称", headerWidth: 120, dataCode: "name", dataType: "String", hAlign: "left", vAlign: "center"},
+            {headerName: "规格型号", headerWidth: 80, dataCode: "specs", dataType: "String", hAlign: "center", vAlign: "center"},
+            {headerName: "单位", headerWidth: 40, dataCode: "unit", dataType: "String", hAlign: "center", vAlign: "center"},
+            {headerName: "单价", headerWidth: 80, dataCode: "basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
+            {headerName: "类型", headerWidth: 80, dataCode: "gljType", dataType: "String", hAlign: "center", vAlign: "center"},
+            {headerName: "是否新增", headerWidth: 80, dataCode: "isComplementary", dataType: "String", hAlign: "center", vAlign: "center", cellType: "checkBox"}
         ],
         view: {
             lockColumns: [0, 1, 2, 3, 4, 5, 6]

+ 4 - 42
web/building_saas/main/js/views/project_glj_view.js

@@ -7,52 +7,12 @@ projectGljObject={
     displayType:filterType.ALL,
     mixRatioType: [gljType.CONCRETE, gljType.MORTAR, gljType.MIX_RATIO,gljType.MAIN_MATERIAL],
     machineType: [gljType.GENERAL_MACHINE],
-    projectGljSetting:{
-        header: [
-            {headerName: "编码", headerWidth: 80, dataCode: "code", dataType: "String"},
-            {headerName: "名称", headerWidth: 160, dataCode: "name", dataType: "String"},
-            {headerName: "规格型号", headerWidth: 120, dataCode: "specs", hAlign: "left", dataType: "String"},
-            {headerName: "单位", headerWidth: 45, dataCode: "unit", hAlign: "center", dataType: "String"},
-            {headerName: "类型", headerWidth: 45, dataCode: "short_name", hAlign: "center", dataType: "String"},
-            {headerName: "总消耗量", headerWidth: 130, dataCode: "quantity", hAlign: "right", dataType: "Number",decimalField:'glj.quantity'},
-            {headerName: "定额价", headerWidth: 70, dataCode: "basePrice", hAlign: "right", dataType: "Number",decimalField:'glj.unitPrice',validator:"number"},
-            {headerName: "调整价", headerWidth: 70, dataCode: "adjustPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice"},
-            {headerName: "市场价", headerWidth: 70, dataCode: "marketPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice",validator:"number"},
-            {headerName: "是否暂估", headerWidth: 60, dataCode: "is_evaluate", hAlign: "center", dataType: "String",cellType:'checkBox'},
-            {headerName: "主要材料", headerWidth: 60, dataCode: "is_main_material", hAlign: "center", dataType: "String",cellType:'checkBox'},
-            {headerName: "供货方式", headerWidth: 80, dataCode: "supply", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:supplyComboMap},
-            {headerName: "甲供数量", headerWidth: 100, dataCode: "supply_quantity", hAlign: "right", dataType: "Number",validator:"number"},
-            {headerName: "三材类别", headerWidth: 80, dataCode: "materialType", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:materialComboMap},
-            {headerName: "三材系数", headerWidth: 100, dataCode: "materialCoe", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'material'
-            {headerName: "交货方式", headerWidth: 90, dataCode: "delivery", hAlign: "left", dataType: "String"},
-            {headerName: "送达地点", headerWidth: 100, dataCode: "delivery_address", hAlign: "left", dataType: "String"},
-            {headerName: "不调价", headerWidth: 55, dataCode: "is_adjust_price", dataType: "String",cellType: "checkBox"},
-            {headerName: "备注", headerWidth: 100, dataCode: "remark", hAlign: "left", dataType: "String"}
-        ],
-        view: {
-            lockColumns: [0,1,2,3,4,5,7]
-        }
-    },
+    projectGljSetting:{},
     projectGljSpread:null,
     projectGljSheet:null,
     materialTreeSheet:null,
     projectGljSheetData:[],
-    mixRatioSetting:{
-        header:[
-            {headerName: "编码", headerWidth: 120, dataCode: "code", dataType: "String"},
-            {headerName: "名称", headerWidth: 120, dataCode: "name", dataType: "String"},
-            {headerName: "规格型号", headerWidth: 120, dataCode: "specs", dataType: "String"},
-            {headerName: "单位", headerWidth: 120, dataCode: "unit", hAlign: "center", dataType: "String"},
-            {headerName: "类型", headerWidth: 120, dataCode: "short_name", hAlign: "center", dataType: "String"},
-            {headerName: "定额价", headerWidth: 120, dataCode: "basePrice", hAlign: "right", dataType: "Number",decimalField:'glj.unitPrice',validator:"number"},
-            {headerName: "调整价", headerWidth: 120, dataCode: "adjustPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice"},
-            {headerName: "市场价", headerWidth: 120, dataCode: "marketPrice", hAlign: "right", dataType: "Number",decimalField:"glj.unitPrice",validator:"number"},
-            {headerName: "消耗量", headerWidth: 120, dataCode: "consumption", hAlign: "right", dataType: "Number",decimalField:"glj.quantity",validator:"number"}
-        ],
-        view: {
-            lockColumns: [0,1,2,3,4,5,6,7]
-        }
-    },
+    mixRatioSetting:{},
     materialTreeSetting:{
         "emptyRows":0,
         "headRows":1,
@@ -245,6 +205,7 @@ projectGljObject={
         let data = null, setting=null;
         let sheet = me.projectGljSpread.getActiveSheet();
         if(sheet.name() ==  'projectGljSheet'){
+            if(row>=me.projectGljSheetData.length) return false;
             data = me.projectGljSheetData[row];
             setting = me.projectGljSetting;
         }else if(sheet.name() ==  'materialTreeSheet'){
@@ -866,6 +827,7 @@ projectGljObject={
         parentMarketPrice = parentMarketPrice.toDecimal(getDecimal("glj.unitPrice"));
         parentBasePrice = parentBasePrice.toDecimal(getDecimal("glj.unitPrice"));
         return [parentMarketPrice, parentBasePrice];
+        
     },
     onProjectGLJValueChange:function (e,info) {//me.projectGljSetting
         let projectGLJ = projectObj.project.projectGLJ;

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

@@ -602,6 +602,9 @@ var projectObj = {
             console.log(`get data时间——${mTime - startTime}`);
             if (!err) {
                 that.project.projectGLJ.calcQuantity(true);//计算分部分项和技术措施项目消耗量;
+                gljCol.initGljCol(that.project.projSetting.glj_col?that.project.projSetting.glj_col.showAdjustPrice:false);
+                subObj.initSubSpread();//初始化主界面下方的表格
+
                 let quantityTime = +new Date();
                 console.log(`计算quantity时间——${quantityTime - mTime}`);
                 that.project.property = projectInfoObj.projectInfo.property;

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

@@ -93,8 +93,6 @@ var subRateObject={
         }
         subRateObject.datas = projectObj.project.FeeRate.getSubViewData(item);
         subRateObject.valueMap=projectObj.project.FeeRate.getValueMap(item);
-        console.log(subRateObject.datas);
-        console.log(subRateObject.valueMap);
         subRateObject.showSubRateData();
         disableRightMenu("subRate",this.subRateSpread);
     },

+ 36 - 28
web/building_saas/main/js/views/sub_view.js

@@ -6,33 +6,41 @@
 //特征及内容spread,解决不能正确显示spread
 
 //zhang 5-31  删除附注条件、辅助定额tab,增加子目换算tab
-contentOprObj.buildSheet($("#jobSpread")[0]);
-characterOprObj.buildSheet($("#itemSpread")[0]);
-$("#tzjnrCon").hide();
-$("#subSpread").show();
-var subSpread = sheetCommonObj.createSpread($("#subSpread")[0], 4);
-subSpread.options.allowUserDragDrop = false;
-subSpread.options.allowUserDragFill = false;
-subSpread.getSheet(2).name('JSCX');
-
-pageCCOprObj.active = false;
-
-// 工料机
-gljOprObj.initSheet(subSpread.getSheet(0));
-//sheetCommonObj.shieldAllCells(subSpread.getSheet(0), gljOprObj.setting);
-SheetDataHelper.protectdSheet(subSpread.getSheet(0));
-// assistOprObj.initSheet(subSpread.getSheet(1));
-// sheetCommonObj.shieldAllCells(subSpread.getSheet(1), assistOprObj.setting);
-
-
-//工程量明细
-gljOprObj.initDetailSheet(subSpread.getSheet(1));
-SheetDataHelper.protectdSheet(subSpread.getSheet(1));
-
-//安装增加费
-installationFeeObj.initRationInstallSheet(subSpread.getSheet(3));
-SheetDataHelper.protectdSheet(subSpread.getSheet(3));
-gljContextMenu.loadGLJSpreadContextMenu();
+
+let subSpread = null;
+let subObj = {
+  initSubSpread:function () {
+      contentOprObj.buildSheet($("#jobSpread")[0]);
+      characterOprObj.buildSheet($("#itemSpread")[0]);
+      $("#tzjnrCon").hide();
+      $("#subSpread").show();
+      subSpread = sheetCommonObj.createSpread($("#subSpread")[0], 4);
+      subSpread.options.allowUserDragDrop = false;
+      subSpread.options.allowUserDragFill = false;
+      subSpread.getSheet(2).name('JSCX');
+
+      pageCCOprObj.active = false;
+
+       // 工料机
+      gljOprObj.initSheet(subSpread.getSheet(0));
+        //sheetCommonObj.shieldAllCells(subSpread.getSheet(0), gljOprObj.setting);
+      SheetDataHelper.protectdSheet(subSpread.getSheet(0));
+        // assistOprObj.initSheet(subSpread.getSheet(1));
+        // sheetCommonObj.shieldAllCells(subSpread.getSheet(1), assistOprObj.setting);
+
+
+        //工程量明细
+      gljOprObj.initDetailSheet(subSpread.getSheet(1));
+      SheetDataHelper.protectdSheet(subSpread.getSheet(1));
+
+        //安装增加费
+      installationFeeObj.initRationInstallSheet(subSpread.getSheet(3));
+      SheetDataHelper.protectdSheet(subSpread.getSheet(3));
+      gljContextMenu.loadGLJSpreadContextMenu();
+  }
+};
+
+
 
 $("#linkGLJ").click(function(){
     $("#subItems").children().hide();//控制显示subSpread,隐藏特征及内容spread
@@ -309,7 +317,7 @@ function refreshSubSpread(){
         characterOprObj.workBook.refresh();
     }
     else{
-        subSpread.refresh();
+        subSpread?subSpread.refresh():'';
     }
 }