|
@@ -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();
|
|
|
});
|
|
|
});
|