| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |