zhongzewei 7 лет назад
Родитель
Сommit
fdfaa745cc

+ 31 - 12
web/building_saas/complementary_ration_lib/js/installation.js

@@ -13,9 +13,9 @@ let feeItemObj = {
     currentFeeItem: null,
     setting: {
         header:[
-            {headerName:"费用项",headerWidth:120,dataCode:"feeItem", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
-            {headerName:"费用类型",headerWidth:260,dataCode:"feeType", dataType: "String", hAlign: "center", vAlign: "center"},
-            {headerName:"记取位置",headerWidth:260,dataCode:"position", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"}
+            {headerName:"费用项",headerWidth:200,dataCode:"feeItem", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
+            {headerName:"费用类型",headerWidth:80,dataCode:"feeType", dataType: "String", hAlign: "center", vAlign: "center"},
+            {headerName:"记取位置",headerWidth:100,dataCode:"position", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"}
         ],
         view: {lockColumns: []},
         options: {
@@ -215,13 +215,13 @@ let feeRuleObj = {
     cache: [],
     setting: {
         header:[
-            {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
-            {headerName:"费用规则",headerWidth:240,dataCode:"rule", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
-            {headerName:"基数",headerWidth:120,dataCode:"base", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
-            {headerName:"费率(%)",headerWidth:120,dataCode:"feeRate", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center"},
-            {headerName:"其中人工(%)",headerWidth:120,dataCode:"labour", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center"},
-            {headerName:"其中材料(%)",headerWidth:120,dataCode:"material", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center"},
-            {headerName:"其中机械(%)",headerWidth:120,dataCode:"machine", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center"}
+            {headerName:"编码",headerWidth:80,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center", span:{row: 0, rowCount: 2, colCount: 1}},
+            {headerName:"费用规则",headerWidth:280,dataCode:"rule", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center", span:{row: 0, rowCount: 2, colCount: 1}},
+            {headerName:"基数",headerWidth:140,dataCode:"base", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center", span:{row: 0, rowCount: 2, colCount: 1}},
+            {headerName:"费率(%)",headerWidth:70,dataCode:"feeRate", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center", span:{row: 0, rowCount: 2, colCount: 1}},
+            {headerName:"人工(%)",headerWidth:70,dataCode:"labour", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center", span:{row: 1, rowCount: 1, colCount: 1}},
+            {headerName:"材料(%)",headerWidth:70,dataCode:"material", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center", span:{row: 1, rowCount: 1, colCount: 1}},
+            {headerName:"机械(%)",headerWidth:70,dataCode:"machine", dataType: "String", formatter: "@", hAlign: "center", vAlign: "center", span:{row: 1, rowCount: 1, colCount: 1}}
         ],
         view: {lockColumns: []},
         options: {
@@ -242,12 +242,31 @@ let feeRuleObj = {
             workbook.options[opt] = opts[opt];
         }
     },
+    buildHeader: function () {
+        if(!this.sheet){
+            return;
+        }
+        this.sheet.suspendPaint();
+        this.sheet.suspendEvent();
+        let ch = GC.Spread.Sheets.SheetArea.colHeader;
+        this.sheet.setRowCount(2, ch);
+        for(let i = 0; i < this.setting.header.length; i++){
+            let header = this.setting.header[i];
+            this.sheet.addSpan(header.span.row, i, header.span.rowCount, header.span.colCount, ch);
+            this.sheet.setValue(header.span.row, i, header.headerName, ch);
+            if(header.dataCode === 'feeRate'){
+                this.sheet.addSpan(header.span.row, i + 1, 1, 3, ch);
+                this.sheet.setValue(header.span.row, i + 1, '其中', ch);
+            }
+        }
+        this.sheet.resumePaint();
+        this.sheet.resumeEvent();
+    },
     buildSheet: function () {
         if(!this.isDef(this.workBook)){
             this.workBook = sheetCommonObj.buildSheet($('#instFeeRuleSpread')[0], this.setting, 10);
-            console.log(`this.workBook`);
-            console.log(this.workBook);
             this.sheet = this.workBook.getActiveSheet();
+            this.buildHeader();
             this.setOptions(this.workBook, this.setting.options);
             this.bindEvents(this.sheet);
         }

+ 6 - 6
web/building_saas/complementary_ration_lib/js/repository_glj.js

@@ -42,12 +42,12 @@ repositoryGljObj = {
     distTypeTree: null,//add
     setting: {
         header:[
-            {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
-            {headerName:"名称",headerWidth:260,dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center"},
-            {headerName:"规格型号",headerWidth:260,dataCode:"specs", dataType: "String", hAlign: "left", vAlign: "center"},
-            {headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
-            {headerName:"定额价",headerWidth:120,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
-            {headerName:"类型",headerWidth:120,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"}
+            {headerName:"编码",headerWidth:90,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
+            {headerName:"名称",headerWidth:200,dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center"},
+            {headerName:"规格型号",headerWidth:110,dataCode:"specs", dataType: "String", hAlign: "left", vAlign: "center"},
+            {headerName:"单位",headerWidth:60,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
+            {headerName:"定额价",headerWidth:80,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
+            {headerName:"类型",headerWidth:90,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"}
         ],
         view:{
             comboBox:[

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

@@ -76,6 +76,9 @@ let ConfirmModal = {
             if (!this.spread) {
                 this.spread = SheetDataHelper.createNewSpread($('#std_bills_unit_spread')[0], {sheetCount: 1});
                 this.spread.options.showScrollTip = GC.Spread.Sheets.ShowScrollTip.vertical;
+                this.spread.bind(GC.Spread.Sheets.Events.CellDoubleClick, function (sender, args) {
+                    ConfirmModal.stdBillsUnit.okObj.click();
+                });
                 SheetDataHelper.loadSheetHeader(this.setting, this.spread.getActiveSheet());
             }
             let sheet = ConfirmModal.stdBillsUnit.spread.getActiveSheet();

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

@@ -883,7 +883,13 @@ var gljOprObj = {
     filterLibGLJByType: function () {
         var me = this;
         var selected = me.sheetData[gljContextMenu.selectedRow];
-        me.gljLibSheetData = _.filter(me.gljLibSheetData, {'gljType': selected.type});
+        //当前人材机类型是“混凝土、砂浆、配合比、商品混凝土、商品砂浆”时,筛选的可替换的人材机类型应是“混凝土、或砂浆、或配合比、或商品混凝土、或商品砂浆”。
+        let materialTypes = [202, 203, 204, 205, 206];//除了普通材料
+        let filterTypes = materialTypes.includes(selected.type) ? materialTypes : [selected.type];
+        me.gljLibSheetData = _.filter(me.gljLibSheetData, function (data) {
+            return filterTypes.includes(data.gljType);
+        });
+        //me.gljLibSheetData = _.filter(me.gljLibSheetData, {'gljType': selected.type});
     },
     getComboData: function (gljDistType) {
         let me = this;