|
@@ -13,7 +13,7 @@ let tender_obj={
|
|
|
{headerName: "类别", headerWidth: 50, dataCode: "subType", hAlign: "center", dataType: "String",spanRows: [2],getText:'getText.subType'},
|
|
|
{headerName: "项目名称", headerWidth: 200, dataCode: "name",showHint:true, hAlign: "left", dataType: "String",spanRows: [2]},
|
|
|
{headerName: "计量\n单位", headerWidth: 60, dataCode: "unit", hAlign: "center", dataType: "String",spanRows: [2]},
|
|
|
- {headerName: "工程量", headerWidth: 120, dataCode: "basePrice", hAlign: "right", dataType: "Number",validator:"number",spanRows: [2]},
|
|
|
+ {headerName: "工程量", headerWidth: 120, dataCode: "quantity", hAlign: "right", dataType: "Number",validator:"number",spanRows: [2],getText:'getText.quantity'},
|
|
|
{headerName: "不调价", headerWidth: 55, dataCode: "is_adjust_price", hAlign: "center", cellType : "checkBox",dataType: "Number",spanRows: [2]},
|
|
|
{headerName: ["初始报价","综合单价"], headerWidth: 80, dataCode: "feesIndex.common.unitFee", hAlign: "right", dataType: "Number",validator:"number",spanCols : [2,1]},
|
|
|
{headerName: ["","综合合价"], headerWidth: 80, dataCode: "feesIndex.common.totalFee", hAlign: "right", dataType: "Number",validator:"number",spanCols : [0,1]},
|
|
@@ -113,8 +113,6 @@ let tender_obj={
|
|
|
value = scMathUtil.roundForObj(value,getDecimal('process'));
|
|
|
me.updateChildrenValue(node,dataCode,value,datas,nodes);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
//在目标造价综合单价中输入数值,按项目属性中的清单单价精度取舍,并清空当前行的目标造价综合合价
|
|
|
if(dataCode == 'targetUnitFee'){
|
|
|
value = scMathUtil.roundForObj(value,getDecimal('unitPrice',node));
|
|
@@ -167,6 +165,15 @@ let tender_obj={
|
|
|
scMathUtil.isDef(node.data.targetTotalFee)?updateData.data["targetTotalFee"] = null:'';
|
|
|
return updateData;
|
|
|
},
|
|
|
+ cleanTenderPrice:function (updateData,node) {//清空调整后报价
|
|
|
+ if(node.data.fees){
|
|
|
+ for(let i =0; i< node.data.fees.length; i++){
|
|
|
+ node.data.fees[i].tenderUnitFee?updateData.data["fees."+i+'.tenderUnitFee'] = 0:'';
|
|
|
+ node.data.fees[i].tenderTotalFee?updateData.data["fees."+i+'.tenderTotalFee'] = 0:'';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
calcOptionsChecking:function (option) {//调整选项检查,返回需要更新的数组
|
|
|
let datas = [];
|
|
|
let me = tender_obj;
|
|
@@ -206,7 +213,7 @@ let tender_obj={
|
|
|
if(key == 'ID' || key == 'id'){
|
|
|
continue;
|
|
|
}
|
|
|
- _.set(temObj,key,d.data[key]);
|
|
|
+ me.setValue(temObj,key,d.data[key])
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -214,6 +221,32 @@ let tender_obj={
|
|
|
$.bootstrapLoading.end();
|
|
|
})
|
|
|
},
|
|
|
+ setValue:function (obj,key,value) {
|
|
|
+ let keyArray = key.split('.');
|
|
|
+ t_set(obj,value,keyArray,0);
|
|
|
+ function t_set(obj,value,arr,index) {
|
|
|
+ let nextIndex = index + 1;
|
|
|
+ let tkey = arr[index];
|
|
|
+ if(nextIndex < arr.length){
|
|
|
+ t_set(obj[tkey],value,arr,nextIndex)
|
|
|
+ }else if(nextIndex == arr.length){
|
|
|
+ obj[tkey] = value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ refreshTenderTreeByDatas:function (datas) {
|
|
|
+ let me = this;
|
|
|
+ let nodes = [];
|
|
|
+ for(let d of datas){
|
|
|
+ if(d.type == ModuleNames.bills || d.type == ModuleNames.ration){
|
|
|
+ let node = me.tenderTree.getNodeByID(d.data.ID);
|
|
|
+ node?nodes.push(node):'';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ me.tenderController.refreshTreeNode(nodes);
|
|
|
+ me.initPageContent();
|
|
|
+ },
|
|
|
treeSelectedChanged:function (node) {
|
|
|
let me = tender_obj;
|
|
|
//设置选中行底色和恢复前选中行底色
|
|
@@ -302,7 +335,21 @@ $(function () {
|
|
|
});
|
|
|
|
|
|
$('#cleanTender').bind('click',function () {
|
|
|
- console.log("clean tender")
|
|
|
+ let me = tender_obj,datas = [];
|
|
|
+ for(let node of me.tenderTree.items){
|
|
|
+ let tem_updateData = {type:node.sourceType,data:{}};
|
|
|
+ me.cleanTargetPrice(tem_updateData,node);
|
|
|
+ me.cleanTenderCoe(tem_updateData,node);
|
|
|
+ me.cleanTenderPrice(tem_updateData,node);
|
|
|
+ if(!_.isEmpty(tem_updateData.data)){//如果需要更新
|
|
|
+ tem_updateData.data.ID = node.data.ID;
|
|
|
+ datas.push(tem_updateData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ datas.push({type:ModuleNames.project,data:{'ID' : projectObj.project.ID(),'property.tenderSetting.gljPriceTenderCoe':1}});//恢复人材机单价调整系数为1。
|
|
|
+ me.updateTenderData(datas,function () {
|
|
|
+ me.refreshTenderTreeByDatas(datas);
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
$('#calcPriceOption').change(function(){
|
|
@@ -312,15 +359,7 @@ $(function () {
|
|
|
let updateData = {type:ModuleNames.project,data:{'ID' : projectObj.project.ID(),'property.tenderSetting.calcPriceOption':newVal}};
|
|
|
datas.push(updateData);
|
|
|
me.updateTenderData(datas,function () {
|
|
|
- let nodes = [];
|
|
|
- for(let d of datas){
|
|
|
- if(d.type == ModuleNames.bills || d.type == ModuleNames.ration){
|
|
|
- let node = me.tenderTree.getNodeByID(d.data.ID);
|
|
|
- node?nodes.push(node):'';
|
|
|
- }
|
|
|
- }
|
|
|
- me.tenderController.refreshTreeNode(nodes);
|
|
|
- me.initPageContent();
|
|
|
+ me.refreshTenderTreeByDatas(datas);
|
|
|
});
|
|
|
});
|
|
|
|