|  | @@ -5,34 +5,84 @@
 | 
	
		
			
				|  |  |  let labourCoeView = {
 | 
	
		
			
				|  |  |      datas: [],
 | 
	
		
			
				|  |  |      spread: null,
 | 
	
		
			
				|  |  | +    sheet: null,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      buildSheet: function (){
 | 
	
		
			
				|  |  |          let me = this;
 | 
	
		
			
				|  |  |          me.datas = calcLabourCoes;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if (me.spread) {
 | 
	
		
			
				|  |  |              me.spread.destroy();
 | 
	
		
			
				|  |  |              me.spread = null;
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          me.spread = new GC.Spread.Sheets.Workbook($("#labourCoeSpread")[0], { sheetCount: 1 });
 | 
	
		
			
				|  |  |          me.spread.options.tabStripVisible = false;
 | 
	
		
			
				|  |  |          me.spread.options.showVerticalScrollbar = false;
 | 
	
		
			
				|  |  |          me.spread.options.showHorizontalScrollbar = false;
 | 
	
		
			
				|  |  | +        me.spread.options.rowHeight = 50;
 | 
	
		
			
				|  |  |          let sheetArea = GC.Spread.Sheets.SheetArea;
 | 
	
		
			
				|  |  |          let sheet = me.spread.getSheet(0);
 | 
	
		
			
				|  |  | +        me.sheet = sheet;
 | 
	
		
			
				|  |  |          sheet.suspendPaint();
 | 
	
		
			
				|  |  |          sheet.suspendEvent();
 | 
	
		
			
				|  |  | +        sheet.setColumnCount(1, sheetArea.viewport);
 | 
	
		
			
				|  |  | +        sheet.setColumnWidth(0, 180, sheetArea.viewport);
 | 
	
		
			
				|  |  |          sheet.setRowCount(1, sheetArea.colHeader);
 | 
	
		
			
				|  |  | -        sheet.setColumnCount(4, sheetArea.viewport);
 | 
	
		
			
				|  |  | +        sheet.setRowCount(20, sheetArea.viewport);
 | 
	
		
			
				|  |  |          sheet.setRowHeight(0, 30, sheetArea.colHeader);
 | 
	
		
			
				|  |  | -        sheet.setRowCount(7);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          sheet.resumeEvent();
 | 
	
		
			
				|  |  |          sheet.resumePaint();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    loadData(){          // 树结构转换二维表显示,行列转换
 | 
	
		
			
				|  |  | +        let me = this;
 | 
	
		
			
				|  |  | +        let libArr = [];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        for (let v of me.datas) {
 | 
	
		
			
				|  |  | +            if (!v.ParentID) libArr.push(v);
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +        me.sheet.setColumnCount(libArr.length + 1, GC.Spread.Sheets.SheetArea.viewport);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 行名
 | 
	
		
			
				|  |  | +        let id = libArr[0].ID;
 | 
	
		
			
				|  |  | +        let row = 0;
 | 
	
		
			
				|  |  | +        for (let v of me.datas) {
 | 
	
		
			
				|  |  | +            if (v.ParentID == id) {
 | 
	
		
			
				|  |  | +                me.sheet.setText(row, 0, v.name, GC.Spread.Sheets.SheetArea.viewport);
 | 
	
		
			
				|  |  | +                row++;
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +        me.sheet.setRowCount(row, GC.Spread.Sheets.SheetArea.viewport);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 列名
 | 
	
		
			
				|  |  | +        me.sheet.setText(0, 0, "定额工种", GC.Spread.Sheets.SheetArea.colHeader);
 | 
	
		
			
				|  |  | +        for (let c = 0; c <= libArr.length - 1; c++) {
 | 
	
		
			
				|  |  | +            me.sheet.setText(0, c + 1, libArr[c].name, GC.Spread.Sheets.SheetArea.colHeader);
 | 
	
		
			
				|  |  | +            me.sheet.setColumnWidth(c + 1, 100, GC.Spread.Sheets.SheetArea.viewport);
 | 
	
		
			
				|  |  | +            // 值明细
 | 
	
		
			
				|  |  | +            let libID = libArr[c].ID;
 | 
	
		
			
				|  |  | +            for (let r = 0; r < row; r++) {
 | 
	
		
			
				|  |  | +                let rowName = me.sheet.getText(r, 0);
 | 
	
		
			
				|  |  | +                for (let v of me.datas) {
 | 
	
		
			
				|  |  | +                    if ((v.ParentID == libID) && (v.name == rowName)) {
 | 
	
		
			
				|  |  | +                        me.sheet.setValue(r, c + 1, v.coe);
 | 
	
		
			
				|  |  | +                        // break;
 | 
	
		
			
				|  |  | +                    };
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    showData(){
 | 
	
		
			
				|  |  | +        let me = this;
 | 
	
		
			
				|  |  | +        me.buildSheet();
 | 
	
		
			
				|  |  | +        me.loadData();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  $(document).ready(function(){
 | 
	
		
			
				|  |  |      $("#tab_poj-settings-6").on('shown.bs.tab', function (e) {
 | 
	
		
			
				|  |  | -        labourCoeView.buildSheet();
 | 
	
		
			
				|  |  | +        labourCoeView.showData();
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  });
 |