|
@@ -44,28 +44,27 @@ var quantity_detail = {
|
|
|
console.log(data);
|
|
|
var me = this;
|
|
|
if(data.hasOwnProperty('resort')){
|
|
|
- this.resortData(data.doc);
|
|
|
+ this.resortData(data.doc,1);
|
|
|
_.forEach(data.update_task,function (item) {
|
|
|
me.refreshEachItme(item.query,item.doc);
|
|
|
})
|
|
|
+ gljOprObj.detailData.push(data.doc);
|
|
|
+ this.datas.push(data.doc);
|
|
|
}else {
|
|
|
this.datas.push(data);
|
|
|
gljOprObj.detailData.push(data);
|
|
|
}
|
|
|
gljOprObj.detailData=_.sortBy(gljOprObj.detailData,'seq');
|
|
|
- console.log(gljOprObj.detailData);
|
|
|
this.refreshSheetData();
|
|
|
};
|
|
|
- quantity_detail.prototype.resortData=function(data){
|
|
|
+ quantity_detail.prototype.resortData=function(data,req){
|
|
|
|
|
|
for(var i =0;i<gljOprObj.detailData.length;i++){
|
|
|
var item = gljOprObj.detailData[i];
|
|
|
if(item.seq>=data.seq){
|
|
|
- item.seq=item.seq+1;
|
|
|
+ item.seq=item.seq+req;
|
|
|
}
|
|
|
}
|
|
|
- gljOprObj.detailData.push(data);
|
|
|
- this.datas.push(data);
|
|
|
};
|
|
|
quantity_detail.prototype.refreshAfterUpdate=function(data){
|
|
|
var me = this;
|
|
@@ -79,6 +78,7 @@ var quantity_detail = {
|
|
|
}
|
|
|
var showList = _.filter(this.datas,filter_object);
|
|
|
gljOprObj.detailData=showList;
|
|
|
+ gljOprObj.detailData=_.sortBy(gljOprObj.detailData,'seq');
|
|
|
this.refreshSheetData();
|
|
|
};
|
|
|
quantity_detail.prototype.refreshEachItme = function(query,doc){
|
|
@@ -98,9 +98,15 @@ var quantity_detail = {
|
|
|
return filter_object;
|
|
|
};
|
|
|
quantity_detail.prototype.refreshAfterDelete=function(data){
|
|
|
- var glj_list = projectObj.project.ration_coe.datas;
|
|
|
- _.remove(glj_list,data.query);
|
|
|
- _.remove(gljOprObj.sheetData,data.query);
|
|
|
+ var me = this;
|
|
|
+ if(data.doc.seq != gljOprObj.detailData.length - 1){
|
|
|
+ this.resortData(data.doc,-1);
|
|
|
+ }
|
|
|
+ _.forEach(data.update_task,function (item) {
|
|
|
+ me.refreshEachItme(item.query,item.doc);
|
|
|
+ });
|
|
|
+ _.remove(this.datas,{ID:data.doc.ID});
|
|
|
+ _.remove(gljOprObj.detailData,{ID:data.doc.ID});
|
|
|
this.refreshSheetData();
|
|
|
};
|
|
|
quantity_detail.prototype.refreshSheetData=function () {
|
|
@@ -186,9 +192,57 @@ var quantity_detail = {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return deleteable;
|
|
|
};
|
|
|
+
|
|
|
+ quantity_detail.prototype.moveDown = function (row) {
|
|
|
+ this.swapRow(row);
|
|
|
+ };
|
|
|
+ quantity_detail.prototype.moveUp = function (row) {
|
|
|
+ this.swapRow(row-1);
|
|
|
+ };
|
|
|
+ quantity_detail.prototype.swapRow = function (preRow) {
|
|
|
+ var me = this;
|
|
|
+ var update_task = [];
|
|
|
+ var a_row = gljOprObj.detailData[preRow];//
|
|
|
+ var b_row = gljOprObj.detailData[preRow +1];//
|
|
|
+ var temA = a_row.seq;
|
|
|
+ var temB = b_row.seq;
|
|
|
+ a_row.seq = temB;
|
|
|
+ update_task.push({query:{ID:a_row.ID,projectID:a_row.projectID},doc:{seq:a_row.seq}});
|
|
|
+ b_row.seq = temA;
|
|
|
+ update_task.push({query:{ID:b_row.ID,projectID:b_row.projectID},doc:{seq:b_row.seq}});
|
|
|
+ gljOprObj.detailData.forEach(function (item) {
|
|
|
+ if(_.includes(item.referenceIndexs,temA+1)||_.includes(item.referenceIndexs,temB+1)){
|
|
|
+ var regex = item.regex;
|
|
|
+ for (var i=0;i<item.referenceIndexs.length;i++){
|
|
|
+ if(item.referenceIndexs[i]==temA+1){
|
|
|
+ regex = me.replaceAll('C'+item.referenceIndexs[i],'B'+(temB+1),regex);
|
|
|
+ regex = me.replaceAll('c'+item.referenceIndexs[i],'b'+(temB+1),regex);
|
|
|
+ item.referenceIndexs[i]=temB+1;
|
|
|
+ }else if(item.referenceIndexs[i]==temB+1){
|
|
|
+ regex = me.replaceAll('C'+item.referenceIndexs[i],'B'+(temA+1),regex);
|
|
|
+ regex = me.replaceAll('c'+item.referenceIndexs[i],'b'+(temA+1),regex);
|
|
|
+ item.referenceIndexs[i]=temA+1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ regex = me.replaceAll('B','C',regex);
|
|
|
+ regex = me.replaceAll('b','c',regex);
|
|
|
+ update_task.push({query:{ID:item.ID,projectID:item.projectID},doc:{regex:regex,referenceIndexs:item.referenceIndexs}});
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ var updateData=[];
|
|
|
+ update_task.forEach(function (task) {
|
|
|
+ updateData.push({'updateType': 'ut_update', 'query': task.query,'doc':task.doc});
|
|
|
+ })
|
|
|
+ project.pushNow('updateQuantityDetail',[this.getSourceType()],[updateData]);
|
|
|
+
|
|
|
+ };
|
|
|
+ quantity_detail.prototype.replaceAll=function(FindText, RepText,str) {
|
|
|
+ let regExp = new RegExp(FindText, "g");
|
|
|
+ return str.replace(regExp, RepText);
|
|
|
+ };
|
|
|
quantity_detail.prototype.updateQuantityDetail=function (args,dataCode,recode) {
|
|
|
var doc ={};
|
|
|
var query={
|
|
@@ -364,10 +418,32 @@ var quantity_detail = {
|
|
|
var temStr = x_arr.join('*');
|
|
|
temp = temp.replace(item, temStr);
|
|
|
});
|
|
|
- console.log(temp);
|
|
|
return temp;
|
|
|
};
|
|
|
-
|
|
|
+ quantity_detail.prototype.deleteByRation = function(ration){
|
|
|
+ var detail_list = this.datas;
|
|
|
+ var newList =_.filter(detail_list,(d)=>{
|
|
|
+ return d.rationID!=ration.ID;
|
|
|
+ });
|
|
|
+ if(newList!=undefined){
|
|
|
+ this.datas = newList;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ quantity_detail.prototype.deleteByBills=function(deleteData){
|
|
|
+ var detail_list = this.datas;
|
|
|
+ var billIDList = [];
|
|
|
+ for(var i=0;i<deleteData.length;i++){
|
|
|
+ if(deleteData[i].type=='delete'){
|
|
|
+ billIDList.push(deleteData[i].data.ID);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var newList =_.filter(detail_list,(d)=>{
|
|
|
+ return !_.includes(billIDList,d.billID);
|
|
|
+ });
|
|
|
+ if(newList!=undefined){
|
|
|
+ this.datas = newList;
|
|
|
+ }
|
|
|
+ };
|
|
|
return new quantity_detail(project);
|
|
|
}
|
|
|
|