Quellcode durchsuchen

Merge remote-tracking branch 'origin/1.0.0_xusdz_prod' into 1.0.0_xusdz_prod

caosy vor 3 Wochen
Ursprung
Commit
fe69384534
1 geänderte Dateien mit 198 neuen und 187 gelöschten Zeilen
  1. 198 187
      WebContent/app/view/core/button/BatchPrint.js

+ 198 - 187
WebContent/app/view/core/button/BatchPrint.js

@@ -74,21 +74,29 @@ Ext.define('erp.view.core.button.BatchPrint',{
     		   	}
     	    }); 			
          	 me.beforePrint(lps_Barcaller,function(data){
-    				if(data.datas.length>1){		
-    					this.window = Ext.create('Ext.window.Window', {
+				if(data.datas.length>1){
+					var win = Ext.getCmp('pt-win-bp');
+					if(win) {
+						win.destroy();
+					}
+					this.window = Ext.create('Ext.window.Window', {
     						autoShow: true,
     						title: '选择打印类型',
     						width: 400,
     						height: 300,
     						layout: 'anchor',
+							id :'pt-win-bp',
+							modal:true,
+							closable: false,
+							closeAction:'destroy',
     						items: [{ 							    					
   							  anchor:'100% 100%',
   							  xtype:'form',
-  							  id :'printbycondition',
+  							  id :'printbycondition-bp',
   							  buttonAlign : 'center',
   							  items:[{
   							        xtype: 'combo',
-  									id: 'template',
+  									id: 'template-bp',
   									fieldLabel: '选择打印类型', 									
   									store: Ext.create('Ext.data.Store', {
   										autoLoad: true,
@@ -113,7 +121,7 @@ Ext.define('erp.view.core.button.BatchPrint',{
     						buttons: [{
     							text: '确定',
     							handler: function(b) {
-    								var temp = Ext.getCmp('template');
+    								var temp = Ext.getCmp('template-bp');
     								if(temp &&  temp.value!= null){
     									var selData = temp.valueModels[0].data;
     									me.jasperReportPrint(lps_Barcaller,selData.REPORTNAME,idS);
@@ -166,6 +174,10 @@ Ext.define('erp.view.core.button.BatchPrint',{
        		// 获取选择打印文件,用户选择分辨率,和打印机
     		var me = this;
     		var bo = false;
+			var win = Ext.getCmp('template-win-bp');
+			if(win) {
+				win.destroy();
+			}
 			Ext.Ajax.request({
 	    		url: basePath + 'ma/setting/config.action?caller=BarCodeSetting&code=zebraOrderPrint',
 	    		method: 'GET',
@@ -181,87 +193,85 @@ Ext.define('erp.view.core.button.BatchPrint',{
 	    			}
 	    		}
 	    	});
-    		if(!me.window){
-	    		setup_web_print(function(printers,selected_printer){
-	    			me.window = Ext.create('Ext.window.Window', {
-						autoShow: true,
-						title: '选择打印模板',
-						width: 400,
-						height: bo?200:300,
-						layout: 'anchor',
-						id :'template-win',
-						closeAction:'hide',
-						items: [{ 							    					
-							  anchor:'100% 100%',
-							  xtype:'form',  							
-							  buttonAlign : 'center',
-							  items:[{
-							        xtype: 'combo',
-									id: 'printers',
-									fieldLabel: '打印机列表', 									
-									store: Ext.create('Ext.data.Store', {
-										autoLoad: true,
-									    fields: ['display', 'value'],
-									    data:printers 									 
-									}),
-									queryMode: 'local',
-								    displayField: 'display',
-								    valueField: 'value',
-									width:361,
-								    allowBlank:false,
-								    value:selected_printer.uid,
-								    selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录  
-									style:'margin-left:15px;margin-top:15px;'
-							  },{
-							        xtype: 'combo',
-									id: 'dpi',
-									fieldLabel: '打印机分辨率', 		
-									style:'margin-left:15px;margin-top:15px;',
-									store: Ext.create('Ext.data.Store', {
-									   fields: ['display', 'value'],
-									   data : [{"display": '203dpi', "value": '203'},
-									           {"display": '300dpi', "value": '300'},
-									           {"display": '600dpi', "value": '600'},
-									           {"display": '1200dpi', "value": '1200'}]
-								   }),
-								    displayField: 'display',
-								    valueField: 'value',
-								    queryMode: 'local',
-								    value:resolutionCookie||'203',
-									width:bo?0:361,
-								    allowBlank:false,
-								    selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录  
-								    hidden:bo?true:false
-								}]	 							    	     				    							           	
-						 }], 
-						buttonAlign: 'center',
-						buttons: [{
-							text: '确定',
-							handler: function(b) {
-								var printers = Ext.getCmp('printers');
-								var dpi = Ext.getCmp('dpi');
-								if(printers && printers.value!= null){
-									if(bo){
-										me.getLabelInfo(caller,printers.value,dpi.value);
-									}else{										
-										me.zebraPrint(caller,printers.value,dpi.value);
-									}
-									b.ownerCt.ownerCt.close();
+			setup_web_print(function(printers,selected_printer){
+				me.window = Ext.create('Ext.window.Window', {
+					autoShow: true,
+					title: '选择打印模板',
+					width: 400,
+					height: bo?200:300,
+					layout: 'anchor',
+					id :'template-win-bp',
+					modal:true,
+					closable: false,
+					closeAction:'destroy',
+					items: [{
+						  anchor:'100% 100%',
+						  xtype:'form',
+						  buttonAlign : 'center',
+						  items:[{
+								xtype: 'combo',
+								id: 'printers-bp',
+								fieldLabel: '打印机列表',
+								store: Ext.create('Ext.data.Store', {
+									autoLoad: true,
+									fields: ['display', 'value'],
+									data:printers
+								}),
+								queryMode: 'local',
+								displayField: 'display',
+								valueField: 'value',
+								width:361,
+								allowBlank:false,
+								value:selected_printer.uid,
+								selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
+								style:'margin-left:15px;margin-top:15px;'
+						  },{
+								xtype: 'combo',
+								id: 'dpi',
+								fieldLabel: '打印机分辨率',
+								style:'margin-left:15px;margin-top:15px;',
+								store: Ext.create('Ext.data.Store', {
+								   fields: ['display', 'value'],
+								   data : [{"display": '203dpi', "value": '203'},
+										   {"display": '300dpi', "value": '300'},
+										   {"display": '600dpi', "value": '600'},
+										   {"display": '1200dpi', "value": '1200'}]
+							   }),
+								displayField: 'display',
+								valueField: 'value',
+								queryMode: 'local',
+								value:resolutionCookie||'203',
+								width:bo?0:361,
+								allowBlank:false,
+								selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
+								hidden:bo?true:false
+							}]
+					 }],
+					buttonAlign: 'center',
+					buttons: [{
+						text: '确定',
+						handler: function(b) {
+							var printers = Ext.getCmp('printers-bp');
+							var dpi = Ext.getCmp('dpi');
+							if(printers && printers.value!= null){
+								if(bo){
+									me.getLabelInfo(caller,printers.value,dpi.value);
 								}else{
-									alert("请选择打印机 ");
-								}   
-							}
-						}, {
-							text: '取消',
-							handler: function(b) {
+									me.zebraPrint(caller,printers.value,dpi.value);
+								}
 								b.ownerCt.ownerCt.close();
+							}else{
+								alert("请选择打印机 ");
 							}
-						}]
-					});   			
-	    		});
-    		}else if(me.window.isHidden()){
-    			me.window.show();
-    		}
+						}
+					}, {
+						text: '取消',
+						handler: function(b) {
+							b.ownerCt.ownerCt.close();
+						}
+					}]
+				});
+			});
        	},
        	
        zebraPrint:function(caller,printer,dpi){
@@ -278,109 +288,110 @@ Ext.define('erp.view.core.button.BatchPrint',{
 		 },
 	  getLabelInfo:function(caller,printer,dpi){
 		     var me = this;
-			if(!me.window1){
-				Ext.Ajax.request({
-  	            url : basePath + 'vendbarcode/label/getLabelInfo.action',
-  	            async: false,
-  	            params: {
-  	            	   formCaller:caller
-  	            },
-  	            method : 'post',
-  	            callback : function(opt, s, res){
-  	                var r = new Ext.decode(res.responseText);
-  	                if(r.exceptionInfo){
-  	                    showError(r.exceptionInfo);return;
-  	                } else if(r.success){
-  	                	if(r.count == 0){   //r.filemodel   r.label
-  	                		showError("未配置标签模板");return;
-  	                	}else if(r.count == 1){
-  	                		me.fastPrintOrder(caller,printer,dpi,r.label[0].FM_ID);
-  	                	}else if(r.count >1){
-  	                		me.window1 = Ext.create('Ext.window.Window', {
-  	    						autoShow: true,
-  	    						title: '选择打印标签模板',
-  	    						width: 400,
-  	    						height: 180,
-  	    						layout: 'anchor',
-  	    						id :'labels-win',
-  	    						closeAction:'hide',
-  	    						autoscroll:true,
-  	    						items: [{ 							    					
-	    							  anchor:'100% 100%',
-	    							  xtype:'form',
-	    							  buttonAlign : 'center',
-	    							  items:[{
-	    							        xtype: 'combo',
-	    									id: 'labels',
-	    									fieldLabel: '标签列表',
-	    									editable:false,
-	    									queryMode: 'local',
-	    									store: Ext.create('Ext.data.Store', {
-	    										autoLoad: true,
-	    									    fields: ['fm_name','fm_id'],
-	    									    proxy: {
-	    								             type: 'ajax',
-	    								             async : false,
-	    										     url : basePath + 'vendbarcode/label/getLabelInf.action',				           
-	    										     extraParams:{caller:caller},
-	    										     reader: {
-	    										          type: 'json',
-	    										          root: 'datas'
-	    										     },
-	    										     headers: {
-	    								                 'Content-Type': 'application/json;charset=utf-8'
-	    								             }		                   
-	    								           },
-	    								          listeners:{
-	    								          	load : function (store){
-	    								          		var myCookieVal = Ext.util.Cookies.get('beforeFmid');
-	    								          		var bo = false;
-	    								          		 Ext.each(store.data.items, function(item, index){
-	    								          			 if(item.data.fm_id == myCookieVal){
-	    								          				 bo = true;
-	    								          			 }
-	    								          		 });
-	    								          	   if(myCookieVal == null || myCookieVal  =='' || !bo){
-	    								          		   Ext.getCmp('labels').select(store.getAt(0));								
-	    								          	   }else{
-	    								          		   Ext.getCmp('labels').select(myCookieVal);	
-	    								          	   }
-	    								          	}							
-	    								           }
-	    									}),
-	    								    displayField: 'fm_name',
-	    								    valueField: 'fm_id',
-	    								    width:361,
-	    								    triggerAction : 'all',
-	    								    selectOnFocus:true,
-	    								    allowBlank:false,
-	    									style:'margin-left:15px;margin-top:15px;',	
-	    							   }]
-	    							}], 
-  	    						buttonAlign: 'center',
-  	    						buttons: [{
-  	    							text: '确定',
-  	    							handler: function(b) {
-  	    								Ext.util.Cookies.set('beforeFmid',Ext.getCmp('labels').value);
-  	    								if(r.filemodel == null || r.filemodel == ''){
-  	    									showError('未找到对应附件');return;
-  	    								}
-  	    								me.fastPrintOrder(caller,printer,dpi,Ext.getCmp('labels').value);
-      	    	  	                    b.ownerCt.ownerCt.close();
-  	    							}
-  	    						}, {
-  	    							text: '取消',
-  	    							handler: function(b) {
-  	    								b.ownerCt.ownerCt.close();
-  	    							}
-  	    						}]
-  	    					}); 
-  	                	} 
-  	                	}
-  	            }});
-	    			 			
-  		}else if(me.window1.isHidden()){
-  			me.window1.show();
-  		}
+		  var win = Ext.getCmp('labels-win-bp');
+		  if(win) {
+			  win.destroy();
+		  }
+		 Ext.Ajax.request({
+			url : basePath + 'vendbarcode/label/getLabelInfo.action',
+			async: false,
+			params: {
+				   formCaller:caller
+			},
+			method : 'post',
+			callback : function(opt, s, res){
+				var r = new Ext.decode(res.responseText);
+				if(r.exceptionInfo){
+					showError(r.exceptionInfo);return;
+				} else if(r.success){
+					if(r.count == 0){   //r.filemodel   r.label
+						showError("未配置标签模板");return;
+					}else if(r.count == 1){
+						me.fastPrintOrder(caller,printer,dpi,r.label[0].FM_ID);
+					}else if(r.count >1){
+						me.window1 = Ext.create('Ext.window.Window', {
+							autoShow: true,
+							title: '选择打印标签模板',
+							width: 400,
+							height: 180,
+							layout: 'anchor',
+							id :'labels-win-bp',
+							modal:true,
+							closable: false,
+							closeAction:'destroy',
+							autoscroll:true,
+							items: [{
+								  anchor:'100% 100%',
+								  xtype:'form',
+								  buttonAlign : 'center',
+								  items:[{
+										xtype: 'combo',
+										id: 'labels-bp',
+										fieldLabel: '标签列表',
+										editable:false,
+										queryMode: 'local',
+										store: Ext.create('Ext.data.Store', {
+											autoLoad: true,
+											fields: ['fm_name','fm_id'],
+											proxy: {
+												 type: 'ajax',
+												 async : false,
+												 url : basePath + 'vendbarcode/label/getLabelInf.action',
+												 extraParams:{caller:caller},
+												 reader: {
+													  type: 'json',
+													  root: 'datas'
+												 },
+												 headers: {
+													 'Content-Type': 'application/json;charset=utf-8'
+												 }
+											   },
+											  listeners:{
+												load : function (store){
+													var myCookieVal = Ext.util.Cookies.get('beforeFmid');
+													var bo = false;
+													 Ext.each(store.data.items, function(item, index){
+														 if(item.data.fm_id == myCookieVal){
+															 bo = true;
+														 }
+													 });
+												   if(myCookieVal == null || myCookieVal  =='' || !bo){
+													   Ext.getCmp('labels-bp').select(store.getAt(0));
+												   }else{
+													   Ext.getCmp('labels-bp').select(myCookieVal);
+												   }
+												}
+											   }
+										}),
+										displayField: 'fm_name',
+										valueField: 'fm_id',
+										width:361,
+										triggerAction : 'all',
+										selectOnFocus:true,
+										allowBlank:false,
+										style:'margin-left:15px;margin-top:15px;',
+								   }]
+								}],
+							buttonAlign: 'center',
+							buttons: [{
+								text: '确定',
+								handler: function(b) {
+									Ext.util.Cookies.set('beforeFmid',Ext.getCmp('labels-bp').value);
+									if(r.filemodel == null || r.filemodel == ''){
+										showError('未找到对应附件');return;
+									}
+									me.fastPrintOrder(caller,printer,dpi,Ext.getCmp('labels-bp').value);
+									b.ownerCt.ownerCt.close();
+								}
+							}, {
+								text: '取消',
+								handler: function(b) {
+									b.ownerCt.ownerCt.close();
+								}
+							}]
+						});
+					}
+					}
+			}});
 	  }
 	});