|
@@ -440,56 +440,71 @@ var projectObj = {
|
|
|
},
|
|
},
|
|
|
updateCellValue: function (node, value, colSetting,editingText) {
|
|
updateCellValue: function (node, value, colSetting,editingText) {
|
|
|
let project = projectObj.project, fieldName = colSetting.data.field;
|
|
let project = projectObj.project, fieldName = colSetting.data.field;
|
|
|
- if(node.sourceType==project.ration_glj.getSourceType()){
|
|
|
|
|
|
|
+ if(node.sourceType == ModuleNames.ration_glj){
|
|
|
project.ration_glj.updateFromMainSpread(value,node,fieldName);
|
|
project.ration_glj.updateFromMainSpread(value,node,fieldName);
|
|
|
- } else if(fieldName === 'remark'){
|
|
|
|
|
- projectObj.updateNodeField(node,value,'remark');
|
|
|
|
|
- } else if(calcTools.isGljRation(node)){
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ else if(calcTools.isGljRation(node)){
|
|
|
gljOprObj.updateRationTypeGLJ(value,node,fieldName,editingText);
|
|
gljOprObj.updateRationTypeGLJ(value,node,fieldName,editingText);
|
|
|
- } else if (value !== calcFees.getFee(node.data, fieldName)||fieldName == 'quantity') {//工程量需要进行转换,所以做特殊处理
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ else if(fieldName === 'remark'){
|
|
|
|
|
+ projectObj.updateNodeField(node,value,'remark');
|
|
|
|
|
+ }
|
|
|
|
|
+ else if(fieldName ==='feeRate' && value==null){
|
|
|
|
|
+ project.FeeRate.cleanFeeRateID(node);
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (value !== calcFees.getFee(node.data, fieldName) || fieldName == 'quantity') {//工程量需要进行转换,所以做特殊处理
|
|
|
if (fieldName === 'code' && value != '' && !calcTools.isVolumePrice(node)) {
|
|
if (fieldName === 'code' && value != '' && !calcTools.isVolumePrice(node)) {
|
|
|
projectObj.updateCode(node, value);
|
|
projectObj.updateCode(node, value);
|
|
|
}
|
|
}
|
|
|
|
|
+ else if (fieldName === 'unit' && node.sourceType == ModuleNames.bills){
|
|
|
|
|
+ node.updateData[fieldName] = value;
|
|
|
|
|
+ node.changed = true;
|
|
|
|
|
+ if(node.data.quantity){
|
|
|
|
|
+ node.updateData.quantity = scMathUtil.roundForObj(node.data.quantity,getDecimal("quantity",node));//修改清单单位的时候清单工程量要重新4舍5入;
|
|
|
|
|
+ }
|
|
|
|
|
+ project.calcProgram.calcAndSave(node);
|
|
|
|
|
+ }
|
|
|
else if(fieldName ==='feeRate'){
|
|
else if(fieldName ==='feeRate'){
|
|
|
project.FeeRate.updateFeeRateFromBills(value,node,fieldName);
|
|
project.FeeRate.updateFeeRateFromBills(value,node,fieldName);
|
|
|
}
|
|
}
|
|
|
else if(fieldName ==='contain'){//编辑含量
|
|
else if(fieldName ==='contain'){//编辑含量
|
|
|
project.Ration.updateContain(value,node);
|
|
project.Ration.updateContain(value,node);
|
|
|
}
|
|
}
|
|
|
- else if (fieldName === 'quantity' || fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee' || fieldName === 'programID' ||
|
|
|
|
|
- fieldName === 'subType' || fieldName === 'calcBase' || fieldName === 'isSubcontract'){
|
|
|
|
|
|
|
+ else if (fieldName === 'quantity' ||
|
|
|
|
|
+ fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee' ||
|
|
|
|
|
+ fieldName === 'calcBase' ||
|
|
|
|
|
+ fieldName === 'programID' || fieldName === 'subType' || fieldName === 'isSubcontract'){
|
|
|
if (fieldName === 'quantity') {
|
|
if (fieldName === 'quantity') {
|
|
|
|
|
+ node.modifyFlag = 1;
|
|
|
quantityEditObj.checkingAndUpdate(editingText,node);
|
|
quantityEditObj.checkingAndUpdate(editingText,node);
|
|
|
- // project.quantity_detail.editMainTreeNodeQuantity(value,node,fieldName,editingText);
|
|
|
|
|
return;
|
|
return;
|
|
|
- } else if (fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee') {
|
|
|
|
|
- if(isNaN(value)){//说明输入的是无效的字符
|
|
|
|
|
- //value == null && editingText!=null && editingText!=""
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (fieldName === 'marketUnitFee' || fieldName === 'feesIndex.common.unitFee'||fieldName === 'feesIndex.common.totalFee') {
|
|
|
|
|
+ if(isNaN(value)){// 输入的是无效的字符
|
|
|
alert("当前输入的数据类型不正确,请重新输入。");
|
|
alert("当前输入的数据类型不正确,请重新输入。");
|
|
|
projectObj.mainController.refreshTreeNode([node]);
|
|
projectObj.mainController.refreshTreeNode([node]);
|
|
|
return
|
|
return
|
|
|
- }
|
|
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
if (value) {
|
|
if (value) {
|
|
|
if(fieldName === 'feesIndex.common.unitFee') {
|
|
if(fieldName === 'feesIndex.common.unitFee') {
|
|
|
value = parseFloat(value).toDecimal(decimalObj.decimal("unitPrice", node));
|
|
value = parseFloat(value).toDecimal(decimalObj.decimal("unitPrice", node));
|
|
|
|
|
+
|
|
|
//当前是量价/人材机,综合单价可输入,输入的值读取到市场单价,重算综合单价。
|
|
//当前是量价/人材机,综合单价可输入,输入的值读取到市场单价,重算综合单价。
|
|
|
if(node.sourceType == ModuleNames.ration && node.data.type != rationType.ration){
|
|
if(node.sourceType == ModuleNames.ration && node.data.type != rationType.ration){
|
|
|
fieldName = 'marketUnitFee';
|
|
fieldName = 'marketUnitFee';
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- else if(fieldName === 'feesIndex.common.totalFee'){//修改了综合合价后,反算综合单价,然后再由计算程序算个综合合价出来
|
|
|
|
|
- let unitfee = 0;
|
|
|
|
|
- if(node.data.quantity){//如果工程量为0或空,综合合单直接填到综合单价
|
|
|
|
|
- let t_quantity = scMathUtil.roundForObj(node.data.quantity,getDecimal("quantity",node));
|
|
|
|
|
- value = scMathUtil.roundForObj(value,getDecimal("unitPrice", node));
|
|
|
|
|
- unitfee = scMathUtil.roundForObj(value/t_quantity,getDecimal("totalPrice", node));
|
|
|
|
|
- }else {
|
|
|
|
|
- unitfee = scMathUtil.roundForObj(value,getDecimal("totalPrice", node));
|
|
|
|
|
|
|
+ else if (node.sourceType == ModuleNames.bills){
|
|
|
|
|
+ node.modifyFlag = 2;
|
|
|
}
|
|
}
|
|
|
- calcTools.setFieldValue(node, 'feesIndex.common.unitFee', unitfee);
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ else if(fieldName === 'feesIndex.common.totalFee'){
|
|
|
|
|
+ value = scMathUtil.roundForObj(value, getDecimal("totalPrice", node));
|
|
|
|
|
+ node.modifyFlag = 3;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- } else if (fieldName === 'calcBase') {
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (fieldName === 'calcBase') {
|
|
|
//zhong
|
|
//zhong
|
|
|
if(value === undefined ||value === null || value.toString().trim() === ''){
|
|
if(value === undefined ||value === null || value.toString().trim() === ''){
|
|
|
value = '';
|
|
value = '';
|
|
@@ -508,21 +523,15 @@ var projectObj = {
|
|
|
}
|
|
}
|
|
|
// if (value) {value = parseFloat(value).toDecimal(decimalObj.decimal("totalPrice", node))};
|
|
// if (value) {value = parseFloat(value).toDecimal(decimalObj.decimal("totalPrice", node))};
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
//计算基数赋值要经过解析和标准化,已在calculate里赋值
|
|
//计算基数赋值要经过解析和标准化,已在calculate里赋值
|
|
|
- if(fieldName !== 'calcBase'){
|
|
|
|
|
|
|
+ if(fieldName !== 'calcBase')
|
|
|
calcTools.setFieldValue(node, fieldName, value);
|
|
calcTools.setFieldValue(node, fieldName, value);
|
|
|
- };
|
|
|
|
|
|
|
+
|
|
|
project.calcProgram.calcAndSave(node);
|
|
project.calcProgram.calcAndSave(node);
|
|
|
gljOprObj.showRationGLJSheetData();
|
|
gljOprObj.showRationGLJSheetData();
|
|
|
}
|
|
}
|
|
|
- else if (node.sourceType === project.Bills.getSourceType()&&fieldName === 'unit'){
|
|
|
|
|
- node.updateData[fieldName] = value;
|
|
|
|
|
- node.changed = true;
|
|
|
|
|
- if(node.data.quantity){
|
|
|
|
|
- node.updateData.quantity = scMathUtil.roundForObj(node.data.quantity,getDecimal("quantity",node));//修改清单单位的时候清单工程量要重新4舍5入;
|
|
|
|
|
- }
|
|
|
|
|
- project.calcProgram.calcAndSave(node);
|
|
|
|
|
- } else {//不涉及计算的,只改updateData的值就好了
|
|
|
|
|
|
|
+ else {//不涉及计算的,只改updateData的值就好了
|
|
|
node.updateData[fieldName] = value;
|
|
node.updateData[fieldName] = value;
|
|
|
node.changed = true;
|
|
node.changed = true;
|
|
|
if (colSetting.data.wordWrap) {
|
|
if (colSetting.data.wordWrap) {
|
|
@@ -531,11 +540,10 @@ var projectObj = {
|
|
|
project.calcProgram.calcAndSave(node);
|
|
project.calcProgram.calcAndSave(node);
|
|
|
// projectObj.mainController.refreshTreeNode([node]);
|
|
// projectObj.mainController.refreshTreeNode([node]);
|
|
|
}
|
|
}
|
|
|
- } else if(value==null && fieldName ==='feeRate'){
|
|
|
|
|
- project.FeeRate.cleanFeeRateID(node);
|
|
|
|
|
- } else {
|
|
|
|
|
- projectObj.mainController.refreshTreeNode([node], false);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ else {
|
|
|
|
|
+ projectObj.mainController.refreshTreeNode([node], false);
|
|
|
|
|
+ };
|
|
|
},
|
|
},
|
|
|
mainSpreadLeaveCell: function (sender, info) {
|
|
mainSpreadLeaveCell: function (sender, info) {
|
|
|
let colSetting = projectObj.mainController.setting.cols[info.col];
|
|
let colSetting = projectObj.mainController.setting.cols[info.col];
|