|
@@ -163,6 +163,50 @@ var projectObj = {
|
|
|
this.mainController.refreshTreeNode(nodes, false);
|
|
|
calc = null;
|
|
|
},
|
|
|
+ updateBillsCode: function (node, value) {
|
|
|
+ let project = projectObj.project;
|
|
|
+ let stdMatchCode, formatCode;
|
|
|
+ let searchStdBillsAndUpdate = function (stdCode, formatCode) {
|
|
|
+ if (projectInfoObj.projectInfo.engineeringInfo.bill_lib.length > 0) {
|
|
|
+ let libId = projectInfoObj.projectInfo.engineeringInfo.bill_lib[0].id;
|
|
|
+ CommonAjax.post('/stdBillsEditor/getStdBillsByCode', {userId: userID, billsLibId: libId, code: stdCode}, function (data) {
|
|
|
+ if (data) {
|
|
|
+ data.itemCharacter = pageCCOprObj.safeItemCharater(data.itemCharacter);
|
|
|
+ project.Bills.replaceBills(node.source, data, formatCode);
|
|
|
+ } else {
|
|
|
+ project.Bills.updateField(node.source, 'code', formatCode, true);
|
|
|
+ }
|
|
|
+ projectObj.mainController.refreshTreeNode([node], false);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ project.Bills.updateField(node.source, 'code', value, true);
|
|
|
+ projectObj.mainController.refreshTreeNode([node], false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (value.length === 9 && /^[\d]+$/.test(value)) {
|
|
|
+ stdMatchCode = value;
|
|
|
+ formatCode = project.Bills.formatCode(stdMatchCode);
|
|
|
+ searchStdBillsAndUpdate(stdMatchCode, formatCode);
|
|
|
+ } else if (value.length === 12 && /^[\d]+$/.test(value)) {
|
|
|
+ stdMatchCode = value.substr(0, 9);
|
|
|
+ formatCode = project.Bills.formatCode(stdMatchCode, value);
|
|
|
+ searchStdBillsAndUpdate(stdMatchCode, formatCode);
|
|
|
+ } else {
|
|
|
+ project.Bills.updateField(node.source, 'code', value, true);
|
|
|
+ this.mainController.refreshTreeNode([node], false);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ updateRationCode: function (node, value) {
|
|
|
+
|
|
|
+ },
|
|
|
+ updateCode: function (node, value) {
|
|
|
+ let project = projectObj.project;
|
|
|
+ if (node.sourceType === project.Bills.getSourceType()) {
|
|
|
+ this.updateBillsCode(node, value);
|
|
|
+ } else if (node.sourceType === project.Ration.getSourceType()) {
|
|
|
+ this.updateRationCode(node, value);
|
|
|
+ }
|
|
|
+ },
|
|
|
mainSpreadEditEnded: function (sender, info) {
|
|
|
let project = projectObj.project;
|
|
|
let node = project.mainTree.items[info.row];
|
|
@@ -173,7 +217,7 @@ var projectObj = {
|
|
|
|
|
|
if (value && value !== calcFees.getFee(node.data, fieldName)) {
|
|
|
if (fieldName === 'code') {
|
|
|
-
|
|
|
+ projectObj.updateCode(node, value);
|
|
|
} else if (fieldName === 'quantity' && project.quantity_detail.quantityEditChecking(value,node,fieldName)) {
|
|
|
projectObj.updateAndReCalculate(node, fieldName, value);
|
|
|
} else if (fieldName === 'feesIndex.common.unitFee') {
|
|
@@ -232,6 +276,9 @@ var projectObj = {
|
|
|
col.data.decimal = that.project.getDecimal(col.data.digit);
|
|
|
col.data.formatter = MainTreeCol.getNumberFormatter(col.data.decimal);
|
|
|
}
|
|
|
+ if (col.data.field === 'code') {
|
|
|
+ col.data.formatter = '@';
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
that.project.calcProgram = new CalcProgram(that.project);
|