|
@@ -139,7 +139,9 @@ var projectObj = {
|
|
}
|
|
}
|
|
return nodes;
|
|
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()) {
|
|
if (node.sourceType === projectObj.project.Bills.getSourceType()) {
|
|
calcFees.setFee(node.data, fieldName, value);
|
|
calcFees.setFee(node.data, fieldName, value);
|
|
calc.calcNode(node, true);
|
|
calc.calcNode(node, true);
|
|
@@ -250,15 +252,9 @@ var projectObj = {
|
|
this.updateRationCode(node, value);
|
|
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') {
|
|
if (fieldName === 'code') {
|
|
projectObj.updateCode(node, value);
|
|
projectObj.updateCode(node, value);
|
|
} else if (fieldName === 'quantity' && project.quantity_detail.quantityEditChecking(value,node,fieldName)) {
|
|
} 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);
|
|
project.VolumePrice.updateField(node.source, fieldName, value, true);
|
|
}
|
|
}
|
|
if (colSetting.data.wordWrap) {
|
|
if (colSetting.data.wordWrap) {
|
|
- info.sheet.autoFitRow(info.row);
|
|
|
|
|
|
+ info.sheet.autoFitRow(node.serialNo());
|
|
}
|
|
}
|
|
projectObj.mainController.refreshTreeNode([node]);
|
|
projectObj.mainController.refreshTreeNode([node]);
|
|
}
|
|
}
|
|
@@ -286,6 +282,29 @@ var projectObj = {
|
|
projectObj.mainController.refreshTreeNode([node], false);
|
|
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 () {
|
|
checkMainSpread: function () {
|
|
if (!this.mainSpread) {
|
|
if (!this.mainSpread) {
|
|
this.mainSpread = SheetDataHelper.createNewSpread($('#billsSpread')[0]);
|
|
this.mainSpread = SheetDataHelper.createNewSpread($('#billsSpread')[0]);
|
|
@@ -338,6 +357,7 @@ var projectObj = {
|
|
that.mainController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, that.treeSelectedChanged);
|
|
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.EditEnded, that.mainSpreadEditEnded);
|
|
|
|
+ that.mainSpread.bind(GC.Spread.Sheets.Events.RangeChanged, that.mainSpreadRangeChanged);
|
|
that.loadMainSpreadContextMenu();
|
|
that.loadMainSpreadContextMenu();
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
@@ -425,7 +445,7 @@ var projectObj = {
|
|
return !selected;
|
|
return !selected;
|
|
},
|
|
},
|
|
callback: function () {
|
|
callback: function () {
|
|
- var selected = controller.tree.selected;
|
|
|
|
|
|
+ var selected = controller.tree.selected, parent = selected.parent;
|
|
if (selected) {
|
|
if (selected) {
|
|
if (selected.sourceType === project.Bills.getSourceType()) {
|
|
if (selected.sourceType === project.Bills.getSourceType()) {
|
|
project.Bills.deleteBills(selected.source);
|
|
project.Bills.deleteBills(selected.source);
|
|
@@ -437,6 +457,7 @@ var projectObj = {
|
|
project.VolumePrice.delete(selected.source);
|
|
project.VolumePrice.delete(selected.source);
|
|
controller.delete();
|
|
controller.delete();
|
|
};
|
|
};
|
|
|
|
+ projectObj.converseCalculateBills(parent);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -452,16 +473,18 @@ var projectObj = {
|
|
},
|
|
},
|
|
// 计算node及node的所有父项
|
|
// 计算node及node的所有父项
|
|
converseCalculateBills: function (node) {
|
|
converseCalculateBills: function (node) {
|
|
- let calc = new BillsCalcHelper(this.project);
|
|
|
|
- calc.calcNode(node, true);
|
|
|
|
- let cur = node, nodes = [];
|
|
|
|
- while (cur) {
|
|
|
|
- nodes.push(cur);
|
|
|
|
- cur = cur.parent;
|
|
|
|
|
|
+ if (node) {
|
|
|
|
+ let calc = new BillsCalcHelper(this.project);
|
|
|
|
+ calc.calcNode(node, true);
|
|
|
|
+ let cur = node, nodes = [];
|
|
|
|
+ while (cur) {
|
|
|
|
+ nodes.push(cur);
|
|
|
|
+ cur = cur.parent;
|
|
|
|
+ }
|
|
|
|
+ this.mainController.refreshTreeNode(nodes, false);
|
|
|
|
+ this.project.Bills.updateNodes(nodes, true);
|
|
|
|
+ calc = null;
|
|
}
|
|
}
|
|
- this.mainController.refreshTreeNode(nodes, false);
|
|
|
|
- this.project.Bills.updateNodes(nodes, true);
|
|
|
|
- calc = null;
|
|
|
|
},
|
|
},
|
|
// 计算全部清单
|
|
// 计算全部清单
|
|
calculateAll: function () {
|
|
calculateAll: function () {
|
|
@@ -487,7 +510,7 @@ $('#insert').click(function () {
|
|
});
|
|
});
|
|
$('#delete').click(function () {
|
|
$('#delete').click(function () {
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
- var selected = controller.tree.selected;
|
|
|
|
|
|
+ var selected = controller.tree.selected, parent = selected.parent;
|
|
|
|
|
|
if (selected) {
|
|
if (selected) {
|
|
if (selected.sourceType === project.Bills.getSourceType()) {
|
|
if (selected.sourceType === project.Bills.getSourceType()) {
|
|
@@ -500,15 +523,17 @@ $('#delete').click(function () {
|
|
project.VolumePrice.delete(selected.source);
|
|
project.VolumePrice.delete(selected.source);
|
|
controller.delete();
|
|
controller.delete();
|
|
};
|
|
};
|
|
|
|
+ projectObj.converseCalculateBills(parent);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
$('#upLevel').click(function () {
|
|
$('#upLevel').click(function () {
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
- var selected = controller.tree.selected;
|
|
|
|
|
|
+ var selected = controller.tree.selected, orgParent = selected.parent;
|
|
|
|
|
|
if (selected && selected.sourceType === project.Bills.getSourceType()) {
|
|
if (selected && selected.sourceType === project.Bills.getSourceType()) {
|
|
project.Bills.upLevelBills(selected.source);
|
|
project.Bills.upLevelBills(selected.source);
|
|
controller.upLevel();
|
|
controller.upLevel();
|
|
|
|
+ projectObj.converseCalculateBills(orgParent);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
$('#downLevel').click(function () {
|
|
$('#downLevel').click(function () {
|
|
@@ -516,12 +541,13 @@ $('#downLevel').click(function () {
|
|
var selected = controller.tree.selected;
|
|
var selected = controller.tree.selected;
|
|
if (selected && selected.sourceType === project.Bills.getSourceType()) {
|
|
if (selected && selected.sourceType === project.Bills.getSourceType()) {
|
|
project.Bills.downLevelBills(selected.source);
|
|
project.Bills.downLevelBills(selected.source);
|
|
- controller.downLevel();
|
|
|
|
|
|
+ controller.downLevel();
|
|
|
|
+ projectObj.converseCalculateBills(selected.parent);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
$('#upMove').click(function () {
|
|
$('#upMove').click(function () {
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
- var selected = controller.tree.selected, pre, preSerialNo;
|
|
|
|
|
|
+ var selected = controller.tree.selected, pre = selected.preSibling, preSerialNo;
|
|
|
|
|
|
if (selected.sourceType === project.Bills.getSourceType()) {
|
|
if (selected.sourceType === project.Bills.getSourceType()) {
|
|
project.Bills.upMoveBills(selected.source);
|
|
project.Bills.upMoveBills(selected.source);
|
|
@@ -538,15 +564,17 @@ $('#downMove').click(function () {
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
var controller = projectObj.mainController, project = projectObj.project;
|
|
var selected = controller.tree.selected, next, nextSerialNo;
|
|
var selected = controller.tree.selected, next, nextSerialNo;
|
|
|
|
|
|
- if (selected.sourceType === project.Bills.getSourceType()) {
|
|
|
|
- project.Bills.downMoveBills(selected.source);
|
|
|
|
- controller.downMove();
|
|
|
|
- } else if (selected.sourceType === project.Ration.getSourceType()) {
|
|
|
|
- project.Ration.changePos(selected.source, selected.nextSibling.source);
|
|
|
|
- controller.downMove();
|
|
|
|
- } else if (selected.sourceType === project.VolumePrice.getSourceType()) {
|
|
|
|
- project.VolumePrice.changePos(selected.source, selected.nextSibling.source);
|
|
|
|
- controller.downMove();
|
|
|
|
|
|
+ if (selected) {
|
|
|
|
+ if (selected.sourceType === project.Bills.getSourceType()) {
|
|
|
|
+ project.Bills.downMoveBills(selected.source);
|
|
|
|
+ controller.downMove();
|
|
|
|
+ } else if (selected.sourceType === project.Ration.getSourceType()) {
|
|
|
|
+ project.Ration.changePos(selected.source, selected.nextSibling.source);
|
|
|
|
+ controller.downMove();
|
|
|
|
+ } else if (selected.sourceType === project.VolumePrice.getSourceType()) {
|
|
|
|
+ project.VolumePrice.changePos(selected.source, selected.nextSibling.source);
|
|
|
|
+ controller.downMove();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|