|
@@ -937,9 +937,23 @@ const projTreeObj = {
|
|
let shareImg = document.getElementById('share_pic'),
|
|
let shareImg = document.getElementById('share_pic'),
|
|
shareImgWidth = 13,
|
|
shareImgWidth = 13,
|
|
shareImgHeight = 13;
|
|
shareImgHeight = 13;
|
|
|
|
+ let defaultHeight; // 单元格默认高度
|
|
let TreeNodeCellType = function () {
|
|
let TreeNodeCellType = function () {
|
|
};
|
|
};
|
|
TreeNodeCellType.prototype = new GC.Spread.Sheets.CellTypes.Text();
|
|
TreeNodeCellType.prototype = new GC.Spread.Sheets.CellTypes.Text();
|
|
|
|
+ // 自动行高处理 此函数在每次调用autoFitRow后调用,返回的值作为新的单元格高度
|
|
|
|
+ // 在单元格设置为自动行高后,单元格的内容有空格时,spreadjs会将空格认为是换行,会导致高度计算不正确,因此在setCellValue中处理空格
|
|
|
|
+ TreeNodeCellType.prototype.getAutoFitHeight = function(value, text, cellStyle, zoomFactor, context){
|
|
|
|
+ if (!defaultHeight) {
|
|
|
|
+ defaultHeight = context.sheet.getCell(context.row, -1).height();
|
|
|
|
+ }
|
|
|
|
+ const node = me.tree.items[context.row];
|
|
|
|
+ const nodeIndent = node ? (node.depth() + 1) * indent + node.depth() * levelIndent + imgWidth + 5 : 0;
|
|
|
|
+ const cellWidth = context.sheet.getCell(-1, context.col).width();
|
|
|
|
+ const textLength = this.getAutoFitWidth(...arguments);
|
|
|
|
+ const lineNum = Math.ceil(textLength / (cellWidth - nodeIndent));
|
|
|
|
+ return lineNum * defaultHeight;
|
|
|
|
+ };
|
|
TreeNodeCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
|
|
TreeNodeCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
|
|
if (style.backColor) {
|
|
if (style.backColor) {
|
|
ctx.save();
|
|
ctx.save();
|
|
@@ -1142,7 +1156,11 @@ const projTreeObj = {
|
|
const {row, col} = cell;
|
|
const {row, col} = cell;
|
|
let dataCode = setting.header[col]['dataCode'];
|
|
let dataCode = setting.header[col]['dataCode'];
|
|
let value = '';
|
|
let value = '';
|
|
- if(dataCode === 'unitPriceFile'){
|
|
|
|
|
|
+ if (dataCode === 'name') {
|
|
|
|
+ // 在单元格设置为自动行高后,单元格的内容有空格时,spreadjs会将空格认为是换行,因此需要处理空格
|
|
|
|
+ value = node.data.name && node.data.name.replace(new RegExp(' ', 'g'), '\t') || '';
|
|
|
|
+ }
|
|
|
|
+ else if(dataCode === 'unitPriceFile'){
|
|
if(node.data.projType === projectType.tender){
|
|
if(node.data.projType === projectType.tender){
|
|
value = node.data.property && node.data.property.unitPriceFile && node.data.property.unitPriceFile.name ? node.data.property.unitPriceFile.name : '';
|
|
value = node.data.property && node.data.property.unitPriceFile && node.data.property.unitPriceFile.name ? node.data.property.unitPriceFile.name : '';
|
|
}
|
|
}
|
|
@@ -1194,7 +1212,7 @@ const projTreeObj = {
|
|
sheet.setRowVisible(nodes[i].serialNo(), nodes[i].visible);
|
|
sheet.setRowVisible(nodes[i].serialNo(), nodes[i].visible);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- //sheetCommonObj.setRowsAutoFit(sheet, rows, 0, true);
|
|
|
|
|
|
+ sheetCommonObj.setRowsAutoFit(sheet, rows, 0, true);
|
|
};
|
|
};
|
|
me.renderSheetFuc(sheet, fuc);
|
|
me.renderSheetFuc(sheet, fuc);
|
|
},
|
|
},
|
|
@@ -2647,7 +2665,7 @@ $(document).ready(function() {
|
|
dialog.modal('hide');
|
|
dialog.modal('hide');
|
|
select.data.name = newName;
|
|
select.data.name = newName;
|
|
let sheet = projTreeObj.workBook.getActiveSheet();
|
|
let sheet = projTreeObj.workBook.getActiveSheet();
|
|
- sheet.setValue(sheet.getActiveRowIndex(), 0, newName);
|
|
|
|
|
|
+ projTreeObj.setCellValue({ row: sheet.getActiveRowIndex(), col: 0 }, select, sheet, projTreeObj.setting);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
@@ -2970,6 +2988,17 @@ function initProjects(callback) {
|
|
projTreeObj.tree = pmTree.createNew(projTreeObj.setting, datas);
|
|
projTreeObj.tree = pmTree.createNew(projTreeObj.setting, datas);
|
|
projTreeObj.tree.selected = projTreeObj.tree.items[0];
|
|
projTreeObj.tree.selected = projTreeObj.tree.items[0];
|
|
projTreeObj.workBook = projTreeObj.buildSheet(projTreeObj.workBook,'projSpread',projTreeObj.setting);
|
|
projTreeObj.workBook = projTreeObj.buildSheet(projTreeObj.workBook,'projSpread',projTreeObj.setting);
|
|
|
|
+ // 调整列后自适应行高
|
|
|
|
+ /* projTreeObj.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ColumnWidthChanged, function (e, info) {
|
|
|
|
+ info.sheet.suspendPaint();
|
|
|
|
+ info.sheet.suspendEvent();
|
|
|
|
+ const rowCount = info.sheet.getRowCount();
|
|
|
|
+ for (let i = 0; i < rowCount; i++) {
|
|
|
|
+ info.sheet.autoFitRow(i);
|
|
|
|
+ }
|
|
|
|
+ info.sheet.resumePaint();
|
|
|
|
+ info.sheet.resumeEvent();
|
|
|
|
+ }); */
|
|
const sheet = projTreeObj.workBook.getSheet(0);
|
|
const sheet = projTreeObj.workBook.getSheet(0);
|
|
sheet.options.frozenlineColor = '#ababab';
|
|
sheet.options.frozenlineColor = '#ababab';
|
|
sheet.frozenColumnCount(2);
|
|
sheet.frozenColumnCount(2);
|
|
@@ -3240,8 +3269,8 @@ function AddTenderItems(selected, projName, engName, tenderName, property, callb
|
|
let pojNode = projTreeObj.insert(projData, parent, next);
|
|
let pojNode = projTreeObj.insert(projData, parent, next);
|
|
let engNode = projTreeObj.insert(engData, pojNode, null);
|
|
let engNode = projTreeObj.insert(engData, pojNode, null);
|
|
let tenderNode = projTreeObj.insert(tenderData, engNode, null);
|
|
let tenderNode = projTreeObj.insert(tenderData, engNode, null);
|
|
- /* const rows = [pojNode.serialNo(), engNode.serialNo(), tenderNode.serialNo()];
|
|
|
|
- sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), rows, 0, true) */
|
|
|
|
|
|
+ const rows = [pojNode.serialNo(), engNode.serialNo(), tenderNode.serialNo()];
|
|
|
|
+ sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), rows, 0, true)
|
|
callback();
|
|
callback();
|
|
}, errCB);
|
|
}, errCB);
|
|
}, errCB);
|
|
}, errCB);
|
|
@@ -3281,8 +3310,8 @@ function AddTenderItems(selected, projName, engName, tenderName, property, callb
|
|
});
|
|
});
|
|
let engNode = projTreeObj.insert(engData, tempProj, next);
|
|
let engNode = projTreeObj.insert(engData, tempProj, next);
|
|
let tenderNode = projTreeObj.insert(tenderData, engNode, null);
|
|
let tenderNode = projTreeObj.insert(tenderData, engNode, null);
|
|
- /* const rows = [engNode.serialNo(), tenderNode.serialNo()];
|
|
|
|
- sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), rows, 0, true); */
|
|
|
|
|
|
+ const rows = [engNode.serialNo(), tenderNode.serialNo()];
|
|
|
|
+ sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), rows, 0, true);
|
|
callback();
|
|
callback();
|
|
}, errCB);
|
|
}, errCB);
|
|
}, errCB);
|
|
}, errCB);
|
|
@@ -3304,8 +3333,8 @@ function AddTenderItems(selected, projName, engName, tenderName, property, callb
|
|
setInitSummaryData(data.updateData);
|
|
setInitSummaryData(data.updateData);
|
|
data.updateData.feeStandardName = data.updateData.property.feeStandardName || '';
|
|
data.updateData.feeStandardName = data.updateData.property.feeStandardName || '';
|
|
let tenderNode = projTreeObj.insert(data.updateData, tempEng, null);
|
|
let tenderNode = projTreeObj.insert(data.updateData, tempEng, null);
|
|
- /* const rows = [tenderNode.serialNo()];
|
|
|
|
- sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), rows, 0, true); */
|
|
|
|
|
|
+ const rows = [tenderNode.serialNo()];
|
|
|
|
+ sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), rows, 0, true);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
callback();
|
|
callback();
|
|
@@ -3346,7 +3375,7 @@ function AddChildrenItem(selected, name, property, type, existCallback, sucCallb
|
|
data.updateData.shareInfo = [];
|
|
data.updateData.shareInfo = [];
|
|
setInitSummaryData(data.updateData);
|
|
setInitSummaryData(data.updateData);
|
|
let node = projTreeObj.insert(data.updateData, parent, null);
|
|
let node = projTreeObj.insert(data.updateData, parent, null);
|
|
- //sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), [node.serialNo()], 0, true);
|
|
|
|
|
|
+ sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), [node.serialNo()], 0, true);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
sucCallback();
|
|
sucCallback();
|
|
@@ -3386,7 +3415,7 @@ function AddSiblingsItem(selected, name, property, type, existCallback, sucCallb
|
|
data.updateData.shareInfo = [];
|
|
data.updateData.shareInfo = [];
|
|
setInitSummaryData(data.updateData);
|
|
setInitSummaryData(data.updateData);
|
|
const node = projTreeObj.insert(data.updateData, parent, next);
|
|
const node = projTreeObj.insert(data.updateData, parent, next);
|
|
- //sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), [node.serialNo()], 0, true)
|
|
|
|
|
|
+ sheetCommonObj.setRowsAutoFit(projTreeObj.workBook.getSheet(0), [node.serialNo()], 0, true)
|
|
}
|
|
}
|
|
});
|
|
});
|
|
sucCallback();
|
|
sucCallback();
|