|
@@ -139,7 +139,9 @@ var projectObj = {
|
|
|
}
|
|
|
return nodes;
|
|
|
}
|
|
|
- value = value.toDecimal(projectObj.project.Decimal.common.quantity);
|
|
|
+ if (value) {
|
|
|
+ value = value.toDecimal(projectObj.project.Decimal.common.quantity);
|
|
|
+ }
|
|
|
if (node.sourceType === projectObj.project.Bills.getSourceType()) {
|
|
|
calcFees.setFee(node.data, fieldName, value);
|
|
|
calc.calcNode(node, true);
|
|
@@ -250,15 +252,9 @@ var projectObj = {
|
|
|
this.updateRationCode(node, value);
|
|
|
}
|
|
|
},
|
|
|
- mainSpreadEditEnded: function (sender, info) {
|
|
|
- let project = projectObj.project;
|
|
|
- let node = project.mainTree.items[info.row];
|
|
|
- let colSetting = projectObj.mainController.setting.cols[info.col];
|
|
|
- let fieldName = projectObj.mainController.setting.cols[info.col].data.field;
|
|
|
- // 检查输入类型等
|
|
|
- let value = projectObj.checkSpreadEditingText(info.editingText, colSetting);
|
|
|
-
|
|
|
- if (value && value !== calcFees.getFee(node.data, fieldName)) {
|
|
|
+ updateCellValue: function (node, value, colSetting) {
|
|
|
+ let project = projectObj.project, fieldName = colSetting.data.field;
|
|
|
+ if (value !== calcFees.getFee(node.data, fieldName)) {
|
|
|
if (fieldName === 'code') {
|
|
|
projectObj.updateCode(node, value);
|
|
|
} else if (fieldName === 'quantity' && project.quantity_detail.quantityEditChecking(value,node,fieldName)) {
|
|
@@ -276,7 +272,7 @@ var projectObj = {
|
|
|
project.VolumePrice.updateField(node.source, fieldName, value, true);
|
|
|
}
|
|
|
if (colSetting.data.wordWrap) {
|
|
|
- info.sheet.autoFitRow(info.row);
|
|
|
+ info.sheet.autoFitRow(node.serialNo());
|
|
|
}
|
|
|
projectObj.mainController.refreshTreeNode([node]);
|
|
|
}
|
|
@@ -286,6 +282,29 @@ var projectObj = {
|
|
|
projectObj.mainController.refreshTreeNode([node], false);
|
|
|
}
|
|
|
},
|
|
|
+ mainSpreadEditEnded: function (sender, info) {
|
|
|
+ let project = projectObj.project;
|
|
|
+ let node = project.mainTree.items[info.row];
|
|
|
+ let colSetting = projectObj.mainController.setting.cols[info.col];
|
|
|
+ let fieldName = projectObj.mainController.setting.cols[info.col].data.field;
|
|
|
+ // 检查输入类型等
|
|
|
+ let value = projectObj.checkSpreadEditingText(info.editingText, colSetting);
|
|
|
+
|
|
|
+ projectObj.updateCellValue(node, value, colSetting);
|
|
|
+ },
|
|
|
+ mainSpreadRangeChanged: function (sender, info) {
|
|
|
+ let project = projectObj.project, setting = projectObj.mainController.setting;
|
|
|
+ if (info.changedCells.length > 0) {
|
|
|
+ for (let changedCell of info.changedCells) {
|
|
|
+ let cell = info.sheet.getCell(changedCell.row, changedCell.col);
|
|
|
+ let node = project.mainTree.items[changedCell.row];
|
|
|
+ let colSetting = setting.cols[changedCell.col];
|
|
|
+ let value = projectObj.checkSpreadEditingText(cell.text(), colSetting);
|
|
|
+
|
|
|
+ projectObj.updateCellValue(node, value, colSetting);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
checkMainSpread: function () {
|
|
|
if (!this.mainSpread) {
|
|
|
this.mainSpread = SheetDataHelper.createNewSpread($('#billsSpread')[0]);
|
|
@@ -338,6 +357,7 @@ var projectObj = {
|
|
|
that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, that.treeSelectedChanged);
|
|
|
|
|
|
that.mainSpread.bind(GC.Spread.Sheets.Events.EditEnded, that.mainSpreadEditEnded);
|
|
|
+ that.mainSpread.bind(GC.Spread.Sheets.Events.RangeChanged, that.mainSpreadRangeChanged);
|
|
|
that.loadMainSpreadContextMenu();
|
|
|
}
|
|
|
else {
|