Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardFormExt4.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardFormExt4.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardFormExt4.js (revision 13718) @@ -0,0 +1,737 @@ +var signBoardForm = null; +var gridPanel; +var idCardDefinitionStore; +var idCardInstancesGridStore; +var IDCardInstance; +var IDCard; +var idCardInstancesGridPanel; +var traceableMaterialGridPanel; +var signMaterilenStore; +var signMaterileGridStore; +var idCardInstanceState_using = '使用中'; +var idCardInstanceState_lost = '已丢失'; +var idCardsOriginalStr = ''; +var tousseDefinitionID = ''; +var recyclingErrorID = ''; +var packingTaskID = ''; +var forSupplement = false;// 是否装配补充弹出来的 +var supplementResult = false;// 补充结果 + +var idCardInstanceFields = [ + {name : 'id'}, + {name : 'idCardDefinitionID'}, + {name : 'barcode'}, + {name : 'status'}, + {name : 'useAmount'}, + {name : 'printDate'}, + {name : 'tousseInstanceStatusAndTime'} + ]; + +var traceableMaterialFields = [ + {name : 'id'}, + {name : 'count'}, + {name : 'nameSpecification'}, + {name : 'name'}, + {name : 'specification'}, + {name : 'serialNumber'}, + {name : 'materialDefinition'} + ]; +var materialFields = [ + {name : 'id'}, + {name : 'count'}, + {name : 'materileName'}, + {name : 'name'}, + {name : 'specification'} + ]; + +var idCardFields = [ + {name : 'id'}, + {name : 'number'}, + {name : 'deleted'}, + {name : 'status'}, + {name : 'barcode'}, + {name : 'idCardInstances'}, + {name : 'useAmount'}, + {name : 'traceableMaterials'}, + {name : 'description'} + ]; +//IDCardInstance = Ext.data.Record.create(idCardInstanceFields); +//IDCard = Ext.data.Record.create(idCardFields); +//var TraceableMaterial = Ext.data.Record.create(traceableMaterialFields); + + +// 显示标识牌表单 +function showIDCardListView(){ + supplementResult = false; + + Ext4.define('IdCardDefinitionModel', { + extend: 'Ext4.data.Model', + fields: idCardFields + }); + idCardDefinitionStore = new Ext4.data.Store({ + proxy : new Ext4.data.proxy.Ajax({ + url : WWWROOT + '/disinfectSystem/idCardDefinitionAction!loadIDCardInfo.do' + }), + model: 'IdCardDefinitionModel', + reader : new Ext4.data.reader.Json({ + model: 'IdCardDefinitionModel' + }) + }); +// idCardDefinitionStore.baseParams['id'] = id; +// idCardDefinitionStore.load({ +// callback:function(records,options,success){ +// if(success){ +// idCardsOriginalStr = buildJSONStringFromStore(idCardDefinitionStore); +// // 选中第一个标识牌 +// gridPanel.getSelectionModel().selectFirstRow(); +// } +// }}); + if(id != 0 && !sstsConfig.disableIdCard){ + loadIDCardDefinitions(); + } + + gridPanel = new top.Ext4.grid.Panel({ +// height : 200, + width:860, + store : idCardDefinitionStore, + columns: [ +// { xtype : 'checkcolumn', text : ''}, + { text : '编号', dataIndex : 'number' ,columnWidth: 50}, + { text : '当前条码', dataIndex : 'barcode' ,columnWidth: 70}, + { text : '使用次数', dataIndex : 'useAmount' ,columnWidth: 70}, + { text : '状态', dataIndex : 'status' ,columnWidth: 50}, + { text : '描述', dataIndex : 'description' ,columnWidth: 200} + + ], + frame : false, +// autoScroll : true, + autoExpandColumn : 'description', +// bodyStyle : 'border:1px solid #afd7af;overflow-y:auto;overflow-x:hidden', + bodyStyle : 'border:1px solid #afd7af', + viewConfig: { + forceFit:true + }, + clicksToEdit:2, +// autoScroll:true, + selModel : new Ext4.selection.CheckboxModel({ + mode : 'SINGLE', + listeners :{ + 'selectionchange':function(sm){ + var record = sm.getSelection(); + // 清除显示的列表 + idCardInstancesGridPanel.getStore().removeAll(); + traceableMaterialGridPanel.getStore().removeAll(); + if(record != null){ + loadDataToIdCardInstancesGridStore(); + loadDataToSignMaterileGridStore(); + } +// var fieldName = grid.getColumnModel().getDataIndex(columnIndex); +// if(fieldName != 'deleteButton' && fieldName != 'printButton'){ +// var record = grid.getSelectionModel().getSelected(); +// var id = record.data['id']; +// +// } +// Ext4.getCmp('rowNumber').setValue(rowIndex); + } + } + }), + + items:[{ + xtype:'hidden', + name:'rowNumber', + id:'rowNumber' + }] + }); + + Ext4.define('IdCardInstanceModel', { + extend: 'Ext4.data.Model', + fields: idCardInstanceFields + }); + idCardInstancesGridStore = new Ext4.data.Store({ + proxy : new Ext4.data.proxy.Memory({ + }), + model: 'IdCardInstanceModel', + reader : new Ext4.data.reader.Json({ + }) + }); + idCardInstancesGridPanel = new top.Ext4.grid.Panel({ + title:'标识牌实例(含使用中和已丢失的)', +// height:260, +// autoHeight:true, +// width:300, + store : idCardInstancesGridStore, + columns: [ + //{ xtype : 'checkcolumn', text : ''}, + { text : '条码', dataIndex : 'barcode' ,columnWidth: 60}, + { text : '使用次数', dataIndex : 'useAmount' ,columnWidth: 50}, + { text : '状态', dataIndex : 'status' ,columnWidth: 50}, + { text : '打印时间', dataIndex : 'printDate' ,columnWidth: 110}, + { text : '器械包状态', dataIndex : 'tousseInstanceStatusAndTime' ,columnWidth: 150} + ], + bodyStyle : 'border:1px solid #afd7af', + viewConfig: { + forceFit:true + }, + clicksToEdit:1, + selModel : new Ext4.selection.CheckboxModel({ + mode : 'SINGLE' + }), + tbar : [ + { + text : '打印', + iconCls : 'icon_print', + hidden:forSupplement, + handler : function() { + + var records = idCardInstancesGridPanel + .getSelectionModel().getSelection(); + + if (records.length == 0) { + showResult('请选择要打印的标识牌实例!'); + return; + } + Ext4.MessageBox.progress('打印中', '请稍候...'); + printIDCardInstanceByID(records[0].data.id); + hideMessageBox(true); + } + }, { + text : '转换', + hidden:forSupplement, + iconCls : 'btn_ext_refresh', + handler : function() { + rebindIDCardInstanceToIDCardDefinition(); + } + }, { + text : '修改使用次数', + hidden:forSupplement, + handler : function() { + modifyUseAmountOfIDCardInstance(); + } + } ] + }); + Ext4.define('TraceableMaterialModel', { + extend: 'Ext4.data.Model', + fields: traceableMaterialFields + }); + signMaterileGridStore = new Ext4.data.Store({ + proxy : new Ext4.data.proxy.Memory({ + }), + model: 'TraceableMaterialModel', + reader : new Ext4.data.JsonReader({ + }) + }); + traceableMaterialGridPanel = new top.Ext4.grid.Panel({ + id:'signMaterileID', + title:'单件器械列表', +// height:260, + width:280, + frame : false, + store : signMaterileGridStore, + columns: [ + //{ xtype : 'checkcolumn', text : ''}, + { text : '器械名称', dataIndex : 'nameSpecification' ,columnWidth: 150}, + { text : '序列号', dataIndex : 'serialNumber' ,columnWidth: 100} + ], + autoExpandColumn : 'serialNumber', + autoScroll : true, + viewConfig: { + forceFit:true + }, + bodyStyle : 'border:1px solid #afd7af', + clicksToEdit : 1, + selModel : new Ext4.selection.CheckboxModel({ + mode : 'SINGLE' + }) + + }); + // 标识牌表单 + signBoardForm = new top.Ext4.form.Panel({ + id : 'tousseSignBoardForm', +// frame : true, + width: 900, + height : 600, + layout:'column', + bodyStyle : 'padding:0px 0px 0px 0px;', + autoScroll : true, + items: [{ + xtype:'hidden', + hidden:true, + name:'signBoardMaterileData', + id:'signBoardMaterileData' + },{ + //region: 'north', + anchor:'100% 50%', + height:280, + columnWidth : 1, + layout : 'fit', + items:[gridPanel], + tbar:[{ + xtype:'button', + text:'添加', + hidden:forSupplement, + id : 'addBtn', + iconCls : 'btn_ext_application_add', + handler : function(){ + addIDCardDefinition(); + } + },{ + xtype:'button', + text:'废弃', + hidden:forSupplement, + iconCls : 'btn_ext_application_del', + id : 'discardBtn', + handler : function(){ + discardIDCards(); + } + },{ + xtype:'button', + text:'丢失打印', + hidden:true, + id : 'printNewBtn', + handler : function(){ + printNewIDCardInstance(); + } + },{ + xtype:'button', + text:'补充并打印', + hidden:!forSupplement, + handler : function(){ + printNewIDCardInstanceForSupplement(); + } + },{ + text : '打印全部', + iconCls : 'icon_print', + hidden:forSupplement, + handler : function() { + printAllIdCard(); + } + },{ + text : '标识牌标签:', + hidden:forSupplement + },{ + xtype : 'combo', + id : 'idCardPaperType2', + name : 'idCardPaperType2', + editable:false, + valueField : 'value', + displayField : 'value', + store : new Ext4.data.ArrayStore( { + fields : [ 'value'], + data : [['大标签'],['中标签'],['小标签']] + }), + value : '大标签', + forceSelection : true, + mode : 'local', + triggerAction : 'all', + anchor : '100%' + }] + },{ + anchor:'100% 50%', + layout : 'fit', + columnWidth : 1, + items : [{ + //region: 'center', + layout : 'column', + columnWidth : 1, + labelAlign : 'right', + items : [{ + height:250, + columnWidth : .65, + layout:'fit', + items : [idCardInstancesGridPanel] + },{ + height:250, + columnWidth : .35, + layout:'fit', + items : [traceableMaterialGridPanel] + }] + }] + } +// ,{ +// anchor:'100% 50%', +// height:250, +// //region: 'center', +// layout : 'column', +// columnWidth : 1, +// labelAlign : 'right', +// items : [{ +// columnWidth : .6, +// layout:'fit', +// items : [idCardInstancesGridPanel] +// },{ +// columnWidth : .39, +// layout:'fit', +// items : [traceableMaterialGridPanel] +// }] +// } + ], + buttonAlign : 'center', + buttons:[{ + text:'保存', + hidden:forSupplement, + handler:function(){} + },{ + text:'取消', +// hidden:forSupplement, + handler:cancel + }] + }); + function cancel() { + suppleIDCardWin.close(); + } + + function validateFormParams(){ + // 校验材料是否都已经填写 + var idCardDefinitionStore = gridPanel.getStore(); + for(var i=0;i"; + } + + function rebindIDCardInstanceToIDCardDefinition(serialNumber){} + function modifyUseAmountOfIDCardInstance(){} + function validatingForPrintNewIDCardInstance(){ + var idCardsRecords = gridPanel.getSelectionModel().getSelection(); + if(idCardsRecords.length == 0){ + showResult("请选择要打印的标识牌!"); + return false; + } + if(idCardsRecords.length > 1){ + showResult("一次只能打印一个标识牌!"); + return false; + } + for(var i=0;i 0 ){ + for(var i=0;i 0 ){ + for(var i=0;i - + 装配管理