Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r14965 -r14968 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 14965) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 14968) @@ -872,13 +872,19 @@ height:((sstsConfig.showInspectorField || sstsConfig.showWrapperField || sstsConfig.showSterilizer) ? 230 : 297), border : true, layout:'fit', - items : [{ - xtype : 'image', - id : 'browseImage', - fieldLabel : "预览图片", - title:'双击预览图片', - src : Ext4.BLANK_IMAGE_URL - }], + items: [{ + xtype : 'panel', + layout:'absolute', + id: 'imageContentPanel', + items: [{ + xtype : 'image', + id : 'browseImage', + fieldLabel : "预览图片", + title:'双击预览图片', + src : Ext4.BLANK_IMAGE_URL + }] + } + ], bbar: [ { id:'imageName'}, {xtype:'hidden',id:'imageType'}, @@ -1689,15 +1695,69 @@ function loadGoodsImage(tousseName,type,materialId,currentPage,vedioName,td_id){ var url = WWWROOT + "/disinfectSystem/recyclingApplicationAction!getImage.do?imageType=" + type +'&materialId='+materialId+'&tousseId='+td_id+'&page='+currentPage + '&name='+encodeURIComponent(tousseName); - var image = Ext4.getCmp('browseImage'); - image.setSrc(''); - image.setSrc(url);// 覆盖原来的图片 +// var image = Ext4.getCmp('browseImage'); +// image.setSrc(''); +// image.setSrc(url);// 覆盖原来的图片 Ext4.getCmp('imageName').setText(tousseName); Ext4.getCmp('imageType').setValue(type); Ext4.getCmp('currentPage').setValue(currentPage); Ext4.getCmp('materialId').setValue(materialId); Ext4.getCmp('vedioName').setValue(vedioName); Ext4.getCmp('td_id').setValue(td_id); + + var panel = Ext4.getCmp('imageContentPanel'); + var image = Ext4.getCmp('browseImage'); + panel.remove(image); + + var newImage = Ext4.create('Ext4.Img', { + id : 'browseImage', + fieldLabel : "预览图片", + title:'双击预览图片', + listeners: { + render: function() { + var imgCmp = this; + var img = this.imgEl + img.on('load',function(){ + var img = this; + var panel = Ext4.getCmp('imageContentPanel'); + var panelSize = panel.getSize(true); + + var boundaryWidth = panelSize.width; + var boundaryHeight = panelSize.height; + var originalWidth = img.getWidth(); + var originalHeight = img.getHeight(); + var scaledWidth = originalWidth; + var scaledHeight = originalHeight; + var x=0,y=0; + // 计算出合适的大小 + var desScaleYX = boundaryHeight*1.0/boundaryWidth; // 屏幕的高宽比 + var srcScaleYX = originalHeight*1.0/originalWidth; // 图像的高宽比 + if(originalWidth > boundaryWidth || originalHeight > boundaryHeight) + { + // 任何一边大于屏幕时,等比例缩放 + if(srcScaleYX>desScaleYX) + { + scaledHeight = boundaryHeight; + scaledWidth = parseInt(boundaryHeight*1.0/originalHeight*originalWidth);// 保证为2的倍数 + }else + { + scaledWidth = boundaryWidth; + scaledHeight = parseInt(boundaryWidth*1.0/originalWidth*originalHeight); + } + x = (boundaryWidth - scaledWidth)/2; + y = (boundaryHeight - scaledHeight)/2; + } + imgCmp.setSize(scaledWidth,scaledHeight); + imgCmp.setPosition(x,y); +// Ext.Msg.alert('x='+x+',y='+y+',w='+scaledWidth+',h='+scaledHeight+',bw='+boundaryWidth+',bh='+boundaryHeight); + + }); + } + }, + src : url + }); + + panel.add(newImage); } function loadTousseInfo(tousseName,type,vedioName,td_id){