|
@@ -7,25 +7,66 @@ var projectObj = {
|
|
|
mainSpread: null,
|
|
|
mainController: null,
|
|
|
gljSpreed:null,
|
|
|
+ checkCommonField: function (editingText, colSetting) {
|
|
|
+ let value;
|
|
|
+ if (colSetting.data.decimal) {
|
|
|
+ value = Number(editingText);
|
|
|
+ if (number_util.isNumber(value)) {
|
|
|
+ value = value.toDecimal(colSetting.data.decimal);
|
|
|
+ } else {
|
|
|
+ value = null;
|
|
|
+ alert('当前输入的数据类型不正确,请重新输入。');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ value = info.editingText;
|
|
|
+ }
|
|
|
+ return value;
|
|
|
+ },
|
|
|
+ checkQuantityField: function (editingText, colSetting) {
|
|
|
+ let value = Number(editingText);
|
|
|
+ if (!value) {
|
|
|
+ try {
|
|
|
+ let exp = new Expression('');
|
|
|
+ exp.Expression(editingText);
|
|
|
+ value = Number(exp.Evaluate());
|
|
|
+ } catch (error) {
|
|
|
+ value = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (value) {
|
|
|
+ value = value.toDecimal(colSetting.data.decimal);
|
|
|
+ } else {
|
|
|
+ value = null;
|
|
|
+ alert('当前输入的数据类型不正确,请重新输入。');
|
|
|
+ }
|
|
|
+ return value;
|
|
|
+ },
|
|
|
+ checkSpreadEditingText: function (editingText, colSetting) {
|
|
|
+ if (colSetting.data.field === 'quantity') {
|
|
|
+ return this.checkQuantityField(editingText, colSetting);
|
|
|
+ } else {
|
|
|
+ return this.checkCommonField(editingText, colSetting);
|
|
|
+ }
|
|
|
+ },
|
|
|
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 (colSetting.data.wordWrap) {
|
|
|
info.sheet.autoFitRow(info.row);
|
|
|
}
|
|
|
- if (node.sourceType === project.Bills.getSourceType()) {
|
|
|
-
|
|
|
- } else if (node.sourceType === project.Ration.getSourceType()) {
|
|
|
-
|
|
|
- } else if (node.sourceType === project.VolumePrice.getSourceType()) {
|
|
|
- project.VolumePrice.updateField(node.source, fieldName, info.editingText);
|
|
|
- if (node.source.needRefresh) {
|
|
|
- projectObj.mainController.refreshTreeNode([node]);
|
|
|
- node.source.needRefresh = false;
|
|
|
+ if (value) {
|
|
|
+ if (node.sourceType === project.Bills.getSourceType()) {
|
|
|
+ project.Bills.updateField(node.source, fieldName, value);
|
|
|
+ } else if (node.sourceType === project.Ration.getSourceType()) {
|
|
|
+ project.Ration.updateField(node.source, fieldName, value);
|
|
|
+ } else if (node.sourceType === project.VolumePrice.getSourceType()) {
|
|
|
+ project.VolumePrice.updateField(node.source, fieldName, value);
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
+ projectObj.mainController.refreshTreeNode([node]);
|
|
|
},
|
|
|
checkMainSpread: function () {
|
|
|
if (!this.mainSpread) {
|
|
@@ -51,6 +92,10 @@ var projectObj = {
|
|
|
if (col.readOnly && Object.prototype.toString.apply(col.readOnly) === "[object String]") {
|
|
|
col.readOnly = MainTreeCol.getEvent(col.readOnly);
|
|
|
}
|
|
|
+ if (col.data.digit && Object.prototype.toString.apply(col.data.digit) === "[object String]") {
|
|
|
+ col.data.decimal = that.project.getDecimal(col.data.digit);
|
|
|
+ col.data.formatter = MainTreeCol.getNumberFormatter(col.data.decimal);
|
|
|
+ }
|
|
|
});
|
|
|
that.mainController = TREE_SHEET_CONTROLLER.createNew(that.project.mainTree, that.mainSpread.getActiveSheet(), BillsGridSetting);
|
|
|
that.mainController.showTreeData();
|