|
@@ -430,6 +430,11 @@ var gljOprObj = {
|
|
|
var me = gljOprObj;
|
|
|
var header = me.setting.header;
|
|
|
var disable = null;
|
|
|
+ if(me.sheetData[args.row]!=undefined){
|
|
|
+ if(me.sheetData[args.row].isMixRatio){
|
|
|
+ disable = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
if(header[args.col]&&header[args.col].dataCode=='marketPrice'){
|
|
|
var type = me.sheetData[args.row].shortName;
|
|
|
var index= _.indexOf(me.setting.notEditedType,type);
|
|
@@ -546,22 +551,25 @@ var gljOprObj = {
|
|
|
}
|
|
|
},
|
|
|
showRationGLJSheetData:function (init) {
|
|
|
- if(init){
|
|
|
- this.sheet.getRange(0,-1,this.sheet.getRowCount(),-1).visible(true);
|
|
|
- this.sheetData=_.sortBy(this.sheetData,'type');
|
|
|
- this.addMixRatioToShow();
|
|
|
- this.initRationTree();
|
|
|
- }
|
|
|
+ this.sheet.getRange(0,-1,this.sheet.getRowCount(),-1).visible(true);
|
|
|
+ this.sheetData=_.sortBy(this.sheetData,'type');
|
|
|
+ this.addMixRatioToShow();
|
|
|
+ this.initRationTree(init);
|
|
|
sheetCommonObj.showData(this.sheet,this.setting,this.sheetData);
|
|
|
|
|
|
},
|
|
|
- initRationTree:function () {
|
|
|
+ initRationTree:function (init) {
|
|
|
this.sheet.getRange(-1, 0, -1, 1).cellType(this.getTreeNodeCellType(this.sheetData));
|
|
|
for(var i =0;i<this.sheetData.length;i++){
|
|
|
if(this.sheetData[i].hasOwnProperty('subList')){
|
|
|
- this.sheet.setTag(i,0,true);
|
|
|
- this.sheet.getRange(i+1, -1, this.sheetData[i].subList.length, -1).visible(false);
|
|
|
- this.sheet.getRange(i+1, -1, this.sheetData[i].subList.length, -1).locked(true);
|
|
|
+ var collapsed = false;
|
|
|
+ if(init){
|
|
|
+ this.sheetData[i].collapsed=true;
|
|
|
+ collapsed = true;
|
|
|
+ }else {
|
|
|
+ collapsed = this.sheetData[i].collapsed==undefined?true:this.sheetData[i].collapsed;
|
|
|
+ }
|
|
|
+ this.sheet.getRange(i+1, -1, this.sheetData[i].subList.length, -1).visible(!collapsed);// this.sheet.getRange(i+1, -1, this.sheetData[i].subList.length, -1).locked(true);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -709,10 +717,14 @@ var gljOprObj = {
|
|
|
var recode = me.sheetData[args.row];
|
|
|
var newval;
|
|
|
if(updateField=='marketPrice'||updateField=='customQuantity'||updateField=='basePrice'){
|
|
|
- newval = number_util.checkNumberValue(args.editingText,this.decimalSetting[updateField]);
|
|
|
- if(!newval){
|
|
|
- me.sheet.getCell(args.row, args.col).value(recode[updateField]);
|
|
|
- return;
|
|
|
+ if(args.editingText==null){
|
|
|
+ newval="";
|
|
|
+ }else {
|
|
|
+ newval = number_util.checkNumberValue(args.editingText,this.decimalSetting[updateField]);
|
|
|
+ if(newval==null){
|
|
|
+ me.sheet.getCell(args.row, args.col).value(recode[updateField]);
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
if(updateField=='name'||updateField=='unit'){
|
|
@@ -724,6 +736,9 @@ var gljOprObj = {
|
|
|
}
|
|
|
newval=args.editingText==null?"":args.editingText;
|
|
|
}
|
|
|
+ if(newval === recode[updateField]){//如果值完全相等,则不需要更新
|
|
|
+ return
|
|
|
+ }
|
|
|
if(updateField=='marketPrice'||updateField=='basePrice'){
|
|
|
projectObj.project.projectGLJ.updatePriceFromRG(recode,updateField,newval);
|
|
|
} else {
|
|
@@ -899,15 +914,17 @@ var gljOprObj = {
|
|
|
return _.find(gljOprObj.sheetData,{'code':n})?false:true;
|
|
|
})
|
|
|
if(gljOprObj.GLJSelection.length>0&&selected&&selected.sourceType==ModuleNames.ration){
|
|
|
+ $("#glj_tree_div").modal('hide');
|
|
|
project.ration_glj.addGLJByLib(gljOprObj.GLJSelection,selected.data,function (result) {
|
|
|
if(result){
|
|
|
selected.data.adjustState=result.adjustState;
|
|
|
- project.ration_glj.datas = project.ration_glj.datas.concat(result.newRecodes);
|
|
|
+ //project.ration_glj.datas = project.ration_glj.datas.concat(result.newRecodes);//显示和缓存统一,这样的话就不用更新两个位置了
|
|
|
+ project.ration_glj.datas = project.ration_glj.datas.concat(result.showData);
|
|
|
gljOprObj.sheetData = gljOprObj.sheetData.concat(result.showData)
|
|
|
gljOprObj.showRationGLJSheetData();
|
|
|
project.projectGLJ.loadData();
|
|
|
projectObj.mainController.refreshTreeNode([selected]);
|
|
|
- $("#glj_tree_div").modal('hide');
|
|
|
+ $.bootstrapLoading.end();
|
|
|
}
|
|
|
});//doc.rationID=selected.data.ID;
|
|
|
}else {
|
|
@@ -921,6 +938,7 @@ var gljOprObj = {
|
|
|
var project= projectObj.project;
|
|
|
var selectCode=gljOprObj.GLJSelection[0];
|
|
|
var selected = projectObj.project.mainTree.selected;
|
|
|
+ $("#glj_tree_div").modal('hide');
|
|
|
project.ration_glj.replaceGLJ(selectCode,oldData,function (result) {
|
|
|
if(result){
|
|
|
//result.adjustState;
|
|
@@ -932,7 +950,7 @@ var gljOprObj = {
|
|
|
selected.data.adjustState=result.adjustState;
|
|
|
projectObj.mainController.refreshTreeNode([selected]);
|
|
|
}
|
|
|
- $("#glj_tree_div").modal('hide');
|
|
|
+ $.bootstrapLoading.end();
|
|
|
})
|
|
|
},
|
|
|
doMReplaceGLJ:function () {
|
|
@@ -940,18 +958,21 @@ var gljOprObj = {
|
|
|
var oldData=me.sheetData[gljContextMenu.selectedRow];
|
|
|
var project= projectObj.project;
|
|
|
var selectCode=me.GLJSelection[0];
|
|
|
+ $("#glj_tree_div").modal('hide');
|
|
|
project.ration_glj.mReplaceGLJ(selectCode,oldData,function (result) {
|
|
|
var data=result.data;
|
|
|
var stateList= result.stateList;
|
|
|
+ var n_index = me.getIndex(data.query,['code','name','specs','unit','type']);
|
|
|
_.forEach(project.ration_glj.datas,function (t) {
|
|
|
- if(t.code==data.query.code&&t.name==data.query.name){
|
|
|
+ var t_index =me.getIndex(t,['code','name','specs','unit','type']);
|
|
|
+ if(n_index==t_index){
|
|
|
me.updateProperty(t,data.doc);
|
|
|
}
|
|
|
})
|
|
|
me.showRationGLJSheetData();
|
|
|
project.projectGLJ.loadData();
|
|
|
me.refreshStateAfterMreplace(stateList);
|
|
|
- $("#glj_tree_div").modal('hide');
|
|
|
+ $.bootstrapLoading.end();
|
|
|
})
|
|
|
},
|
|
|
updateProperty:function (obj,doc) {
|
|
@@ -1043,7 +1064,7 @@ var gljOprObj = {
|
|
|
var recode = data[options.row];
|
|
|
if(recode&&recode.hasOwnProperty('subList')){
|
|
|
drowRect(ctx,x,y,w,h);
|
|
|
- var collapsed = options.sheet.getTag(options.row,options.col);
|
|
|
+ var collapsed = recode.collapsed==undefined?true:recode.collapsed;//options.sheet.getTag(options.row,options.col);
|
|
|
drowSymbol(ctx,x,y,w,h,collapsed);
|
|
|
}else if(recode&&recode.isMixRatio){
|
|
|
offset= drowSubItem(ctx,x,y,w,h,offset,data[options.row+1]);
|
|
@@ -1069,9 +1090,10 @@ var gljOprObj = {
|
|
|
if(recode&&recode.hasOwnProperty('subList')){
|
|
|
var hoffset= hitinfo.cellRect.x+3;
|
|
|
if (hitinfo.x > hoffset && hitinfo.x < hoffset + 10){
|
|
|
- var collapsed = hitinfo.sheet.getTag(hitinfo.row,hitinfo.col,hitinfo.sheetArea);
|
|
|
- collapsed = !collapsed;
|
|
|
- hitinfo.sheet.setTag(hitinfo.row,hitinfo.col,collapsed);
|
|
|
+ var collapsed = recode.collapsed==undefined?true:recode.collapsed;
|
|
|
+ collapsed = !collapsed
|
|
|
+ recode.collapsed=collapsed;
|
|
|
+ //hitinfo.sheet.setTag(hitinfo.row,hitinfo.col,collapsed);
|
|
|
hitinfo.sheet.getRange(hitinfo.row+1, -1, recode.subList.length, -1).visible(!collapsed);
|
|
|
hitinfo.sheet.invalidateLayout();
|
|
|
hitinfo.sheet.repaint();
|