Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardFormExt4.js =================================================================== diff -u -r13718 -r14886 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardFormExt4.js (.../idCardFormExt4.js) (revision 13718) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardFormExt4.js (.../idCardFormExt4.js) (revision 14886) @@ -121,7 +121,8 @@ // 清除显示的列表 idCardInstancesGridPanel.getStore().removeAll(); traceableMaterialGridPanel.getStore().removeAll(); - if(record != null){ + if(record != null && record.length == 1){ + loadIDCardInstanceAndTraceableMaterialInfoIfNeeded(record[0]); loadDataToIdCardInstancesGridStore(); loadDataToSignMaterileGridStore(); } @@ -544,9 +545,7 @@ // loadDataToIdCardInstancesGridStore(); // 重新加载数据 - idCardInstancesGridPanel.getStore().removeAll(); - traceableMaterialGridPanel.getStore().removeAll(); - loadIDCardDefinitions(); + reLoadIDCardDefinitions(); hideMessageBox(true); } @@ -584,9 +583,7 @@ // loadDataToIdCardInstancesGridStore(); // 重新加载数据 - idCardInstancesGridPanel.getStore().removeAll(); - traceableMaterialGridPanel.getStore().removeAll(); - loadIDCardDefinitions(); + reLoadIDCardDefinitions(); supplementResult = true;// 补充成功 }, callback : function(options,response,success) { @@ -657,8 +654,22 @@ } }); } - - + // dwr 方式加载实例和材料 + function loadIDCardInstanceAndTraceableMaterialInfoIfNeeded(record){ + if(!isUndefinedOrNullOrEmpty(record.data.idCardInstancesLoad)){ + return;// 已经加载过了。 + } + + DWREngine.setAsync(false); + IDCardDefinitionTableManager.loadIDCardInstanceAndTraceableMaterialInfo(record.data.id,function(idCardInstanceAndTraceableMaterialStr){ + var idCardInstanceAndTraceableMaterial = JSON.parse(idCardInstanceAndTraceableMaterialStr); + record.data.idCardInstances = idCardInstanceAndTraceableMaterial.idCardInstances; + record.data.traceableMaterials = idCardInstanceAndTraceableMaterial.traceableMaterials; + record.data.originalTraceableMaterialsStr = JSON.stringify(idCardInstanceAndTraceableMaterial.traceableMaterials); + record.data.idCardInstancesLoad = true; + }); + DWREngine.setAsync(true); + } function loadDataToIdCardInstancesGridStore(){ idCardInstancesGridStore.removeAll(); var records = gridPanel.getSelectionModel().getSelection();