Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r18158 -r18211 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 18158) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 18211) @@ -1244,7 +1244,7 @@ triggerAction : 'all', typeAhead : false, allowBlank : true - },{ + },{ columnWidth :.5, xtype : 'textfield', fieldLabel : '备注', @@ -1259,6 +1259,21 @@ },{ columnWidth :.99, xtype : 'textfield', + fieldLabel : '丢失材料', + componentCls:'formItemMgn', + id : 'errorMaterialsTip', + name : 'errorMaterialsTip', + maxLength : '30', + labelWidth:90, + anchor : '95%', + allowBlank : true, + readOnly : true, + hidden:!sstsConfig.enablePackingMaterialErrorDamageRemark, + cls : 'fieldReadOnlyNoRemove', + labelAlign:'right' + },{ + columnWidth :.99, + xtype : 'textfield', fieldLabel : '丢失备注', componentCls:'formItemMgn', id : 'errorRemark', @@ -1274,6 +1289,21 @@ },{ columnWidth :.99, xtype : 'textfield', + fieldLabel : '报废材料', + componentCls:'formItemMgn', + id : 'damageMaterialsTip', + name : 'damageMaterialsTip', + maxLength : '30', + labelWidth:90, + anchor : '95%', + allowBlank : true, + readOnly : true, + hidden:!sstsConfig.enablePackingMaterialErrorDamageRemark, + cls : 'fieldReadOnlyNoRemove', + labelAlign:'right' + },{ + columnWidth :.99, + xtype : 'textfield', fieldLabel : '报废备注', componentCls:'formItemMgn', id : 'damageRemark', @@ -1739,7 +1769,56 @@ hideScanIDCardBarcode();// 只要左边有选中的项,那么隐藏标识牌输入框 } } - +function formatMaterialCount(materialArray){ + var materials = ""; + if(isUndefinedOrNull(materialArray)){ + return materials; + } + for(var i = 0; i < materialArray.length;++i){ + var amount = parseInt(materialArray[i].amount); + if(amount > 0){ + materials += materialArray[i].materialName + "*" + amount + ";"; + } + } + return materials.length > 0?materials.substring(0,materials.length - 1):""; +} +function refreshErrorAndDamageMaterials(record){ + if(record){ + var isLeaf = record.get('leaf'); + var errorMaterials = ""; + var damageMaterials = ""; + if(!isLeaf){ + var children = record.childNodes; + if(!isUndefinedOrNull(children)){ + for(var i = 0; i < children.length;++i){ + var child = children[i].data; + var materials = formatMaterialCount(child.errors); + if(!isUndefinedOrNullOrEmpty(materials)){ + errorMaterials += materials + ";"; + } + materials = formatMaterialCount(child.damages); + if(!isUndefinedOrNullOrEmpty(materials)){ + damageMaterials += materials + ";"; + } + } + } + }else{ + var materials = formatMaterialCount(record.get("errors")); + if(!isUndefinedOrNullOrEmpty(materials)){ + errorMaterials += materials + ";"; + } + materials = formatMaterialCount(record.get("damages")); + if(!isUndefinedOrNullOrEmpty(materials)){ + damageMaterials += materials + ";"; + } + } + errorMaterials = errorMaterials.length > 0?errorMaterials.substring(0,errorMaterials.length - 1):""; + damageMaterials = damageMaterials.length > 0?damageMaterials.substring(0,damageMaterials.length - 1):""; + + Ext4.getCmp('errorMaterialsTip').setValue(errorMaterials); + Ext4.getCmp('damageMaterialsTip').setValue(damageMaterials); + } +} function refreshErrorAndDamageRemark(record){ if(record){ var errorRemark = record.get("errorRemark"); @@ -1752,6 +1831,8 @@ } Ext4.getCmp('errorRemark').setValue(errorRemark); Ext4.getCmp('damageRemark').setValue(damageRemark); + + refreshErrorAndDamageMaterials(record); } }