|
@@ -51,7 +51,7 @@ let tender_obj={
|
|
|
this.tenderController = TREE_SHEET_CONTROLLER.createNew(this.tenderTree, this.tenderSheet, this.tenderTreeSetting);
|
|
|
this.tenderSheet.bind(GC.Spread.Sheets.Events.ValueChanged, this.onSheetValueChange);
|
|
|
this.tenderSheet.bind(GC.Spread.Sheets.Events.EditStarting,this.onEditStarting);
|
|
|
-
|
|
|
+ this.tenderController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, this.treeSelectedChanged);
|
|
|
// this.tenderController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, this.onSelectionChange);
|
|
|
},
|
|
|
createTenderTreeSetting:function () {
|
|
@@ -104,6 +104,9 @@ let tender_obj={
|
|
|
}else if(value == false){
|
|
|
value = 0;
|
|
|
}
|
|
|
+ if(value == 1){
|
|
|
+ updateData = me.cleanTenderCoe(updateData,node);//打勾不调价后清空消耗量调整系数
|
|
|
+ }
|
|
|
me.updateChildrenValue(node,dataCode,value,datas,nodes);
|
|
|
}
|
|
|
if(updateData&&dataCode.indexOf("Coe") != -1 ){//如果是调整系统项,级联更新子项
|
|
@@ -134,15 +137,53 @@ let tender_obj={
|
|
|
updateChildrenValue:function (node,dataCode,value,datas,nodes) {
|
|
|
if(node.children.length > 0){
|
|
|
for(let c of node.children){
|
|
|
+ this.updateChildrenValue(c,dataCode,value,datas,nodes);
|
|
|
let updateData = {type:c.sourceType,data:{'ID' : c.data.ID}};
|
|
|
updateData.data[dataCode] = value;
|
|
|
+ if(dataCode == 'is_adjust_price' && value == 1){
|
|
|
+ updateData = this.cleanTenderCoe(updateData,c);
|
|
|
+ }else if(dataCode.indexOf("Coe")!= -1 && c.data.is_adjust_price == 1){//更新调整系数时忽略不调价的行
|
|
|
+ continue;
|
|
|
+ }
|
|
|
datas.push(updateData);
|
|
|
nodes.push(c);
|
|
|
- this.updateChildrenValue(c,dataCode,value,datas,nodes);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
},
|
|
|
+ cleanTenderCoe:function (updateData,node) {//清空调整系数
|
|
|
+ scMathUtil.isDef(node.data.rationQuantityCoe)?updateData.data["rationQuantityCoe"] = null:'';
|
|
|
+ if(scMathUtil.isDef(node.data.quantityCoe)){
|
|
|
+ scMathUtil.isDef(node.data.quantityCoe.labour)?updateData.data["quantityCoe.labour"] = null:'';
|
|
|
+ scMathUtil.isDef(node.data.quantityCoe.material)?updateData.data["quantityCoe.material"] = null:'';
|
|
|
+ scMathUtil.isDef(node.data.quantityCoe.machine)?updateData.data["quantityCoe.machine"] = null:'';
|
|
|
+ scMathUtil.isDef(node.data.quantityCoe.main)?updateData.data["quantityCoe.main"] = null:'';
|
|
|
+ scMathUtil.isDef(node.data.quantityCoe.equipment)?updateData.data["quantityCoe.equipment"] = null:'';
|
|
|
+ }
|
|
|
+ return updateData;
|
|
|
+ },
|
|
|
+ cleanTargetPrice:function (updateData,node) {//清空目标报价
|
|
|
+ scMathUtil.isDef(node.data.targetUnitFee)?updateData.data["targetUnitFee"] = null:'';
|
|
|
+ scMathUtil.isDef(node.data.targetTotalFee)?updateData.data["targetTotalFee"] = null:'';
|
|
|
+ return updateData;
|
|
|
+ },
|
|
|
+ calcOptionsChecking:function (option) {//调整选项检查,返回需要更新的数组
|
|
|
+ let datas = [];
|
|
|
+ let me = tender_obj;
|
|
|
+ for(let node of me.tenderTree.items){
|
|
|
+ let tem_updateData = {type:node.sourceType,data:{}};
|
|
|
+ if(option == 'coeBase') { //当值为“根据调整系数计算报价”时,清空目标报价。
|
|
|
+ me.cleanTargetPrice(tem_updateData,node);
|
|
|
+ }else if(option == 'priceBase'){//当值为“根据报价计算调整系数”时,清空调整系数。
|
|
|
+ me.cleanTenderCoe(tem_updateData,node);
|
|
|
+ }
|
|
|
+ if(!_.isEmpty(tem_updateData.data)){//如果需要更新
|
|
|
+ tem_updateData.data.ID = node.data.ID;
|
|
|
+ datas.push(tem_updateData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return datas;
|
|
|
+ },
|
|
|
|
|
|
updateTenderData:function (datas,callback) {
|
|
|
let me = tender_obj;
|
|
@@ -173,8 +214,20 @@ let tender_obj={
|
|
|
$.bootstrapLoading.end();
|
|
|
})
|
|
|
},
|
|
|
-
|
|
|
-
|
|
|
+ treeSelectedChanged:function (node) {
|
|
|
+ let me = tender_obj;
|
|
|
+ //设置选中行底色和恢复前选中行底色
|
|
|
+ let refreshNodes = [node];
|
|
|
+ if(!me.tenderTree.preSelected){
|
|
|
+ refreshNodes.push(me.tenderTree.items[0]);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ refreshNodes.push(me.tenderTree.preSelected);
|
|
|
+ }
|
|
|
+ me.tenderTree.preSelected = node;
|
|
|
+ projectObj.setNodesStyle(me.tenderSheet, refreshNodes,me.tenderTree);
|
|
|
+ //console.log(node);
|
|
|
+ },
|
|
|
onEditStarting:function (sender,args) {
|
|
|
let me = tender_obj, row = args.row, col = args.col;
|
|
|
if(me.editChecking(row,col) == false){
|
|
@@ -245,14 +298,28 @@ $(function () {
|
|
|
});
|
|
|
|
|
|
$('#tenderGLJQuantity').bind('click',function () {
|
|
|
- console.log($('#gljPriceTenderCoe').val()) ;
|
|
|
+ //console.log($('#gljPriceTenderCoe').val()) ;
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#cleanTender').bind('click',function () {
|
|
|
+ console.log("clean tender")
|
|
|
});
|
|
|
|
|
|
$('#calcPriceOption').change(function(){
|
|
|
let me = tender_obj;
|
|
|
let newVal = $(this).val();
|
|
|
+ let datas = me.calcOptionsChecking(newVal);
|
|
|
let updateData = {type:ModuleNames.project,data:{'ID' : projectObj.project.ID(),'property.tenderSetting.calcPriceOption':newVal}};
|
|
|
- me.updateTenderData([updateData],function () {
|
|
|
+ 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();
|
|
|
});
|
|
|
});
|