Index: ssts-web/src/main/webapp/disinfectsystem/packing/comboToussePackingView.js =================================================================== diff -u -r22651 -r25037 --- ssts-web/src/main/webapp/disinfectsystem/packing/comboToussePackingView.js (.../comboToussePackingView.js) (revision 22651) +++ ssts-web/src/main/webapp/disinfectsystem/packing/comboToussePackingView.js (.../comboToussePackingView.js) (revision 25037) @@ -4,6 +4,7 @@ var continuePacking = false; var packing = false; var waitAmount = {}; +var fromPortal = false; /** * 聚合包装配界面 */ @@ -143,6 +144,105 @@ resetComboTousseTotolAmount(); } +// 聚合 +function combo_confirm(){ + var waitComboTousseGrid = top.Ext4.getCmp("waitComboTousseGrid"); + var waitComboTousseStore = waitComboTousseGrid.getStore(); + var comboGridStore = top.Ext4.getCmp("comboGrid").getStore(); + + var records = waitComboTousseGrid.getSelectionModel().getSelection(); + if (records.length == 0) { + showResult("请选择!" , null , sstsConfig.messagePauseTimeOnPackingPage); + return false; + } + var items = []; + for(var i = 0 ; i < records.length ; i++){ + var id = records[i].data["id"]; + var tousseName = records[i].data["tousseName"]; + var amount = records[i].data['amount'];//拆分数量 + var maxAmount = records[i].data["maxAmount"];//总数量 + var packageType = records[i].data["packageType"]; + + if(amount > maxAmount){ + showResult("聚合数量不能大于总数量!" , null , sstsConfig.messagePauseTimeOnPackingPage); + return false; + } + var isExist = isExistErrorOrDamage(records[i]); + if(!isExist){ +// addTousseToTousseGrid(comboGridStore,id,tousseName,amount,packageType); + var addItem = { + id : id, + tousseName : tousseName, + amount : amount, + packageType : packageType + }; + items.push(addItem); + if(amount == maxAmount){ + waitComboTousseStore.remove(records[i]); + }else{ + var num = Number(maxAmount) - Number(amount); + records[i].set('amount', num); + records[i].set('maxAmount', num); + } + } + } + addToComboTousseGrid(items); + +// resetComboTousseTotolAmount(); +} + +function addToComboTousseGrid(items){ + if(items.length == 0){ + return; + } + var comboTousse_name = top.Ext4.getCmp('comboTousseName').getRawValue(); + var comboTousse_id = top.Ext4.getCmp('comboTousseName').getValue(); + + var tousseDetail = ""; + var tousseJsonArray = []; + + for ( var i = 0; i < items.length; i++) { + var record = items[i]; + var id = record.id; + var tousseName = record.tousseName; + var amount = record.amount; + var packageType = record.packageType; + + var temp = tousseName + "x" +amount; + if (tousseDetail == null || tousseDetail.length <= 0) { + tousseDetail = temp; + } else { + tousseDetail = tousseDetail + ";" + temp; + } + + var tousseObj = {}; + tousseObj.id = id; + tousseObj.tousseName = tousseName; + tousseObj.amount = amount; + tousseObj.packageType = packageType; + tousseJsonArray.push(tousseObj); + } + var type = top.Ext4.getCmp("comboToussePackageType").getValue(); + + var comboTousseDataGridStore = top.Ext4.getCmp("comboTousseDataGrid").getStore(); + + + if(tousseDetail != ""){ + var item = [{ + comboId : comboTousse_id, + tousseName : comboTousse_name, + printAmount: 1, + amount: 1, + includeTousseDetail : tousseDetail, + includeTousseJsonArray : tousseJsonArray, + packageType : type + }]; + comboTousseDataGridStore.add(item); + }else{ + showResult("请选择聚合的器械包!" , null , sstsConfig.messagePauseTimeOnPackingPage); + } +} + /** *<< 或 <<<< */ @@ -358,6 +458,28 @@ ] }) + comboTousseStore.on("beforeload", function(thiz, options) { + comboTousseStore.proxy.extraParams["comboTousseOrgUnitCoding"] = top.Ext4.getCmp("comboToussePacking_orgUnit").getValue(); + + }); + + //申请科室Store + var allComboTousseDefinitionDepartStoreExt2 = new Ext4.data.Store({ + proxy : { + type : 'ajax', + url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getAllComboTousseDefinitionDepart.do', + reader : { + type : 'json', + totalProperty : 'totalCount', + root : 'data' + } + }, + fields : [ + {name : 'id',mapping : 'id'}, + {name : 'name',mapping : 'name'} + ] + }) + var tbar = [{ text:'聚合包名称:' },{ @@ -466,7 +588,7 @@ var waitComboTousseGrid = top.Ext4.create('cellEditingGrid', { id : 'waitComboTousseGrid', title : '器械包列表', - height: 250, + height: 328, selModel: selModel, border : false, tbar : tbar, @@ -548,8 +670,8 @@ var comboTousseDataGrid = top.Ext4.create('cellEditingGrid', { id : 'comboTousseDataGrid', title : '聚合包列表', - width:300, - height: 300, +// width:300, + height: 328, border : false, store: new Ext4.data.Store({ fields : [ @@ -588,7 +710,7 @@ header : "聚合包名称", dataIndex : 'tousseName', sortable:false, - width : 280 + width : 200 }, { header : "打印数量", dataIndex : 'printAmount', @@ -622,7 +744,7 @@ },{ header : "包装类型", dataIndex : 'packageType', - width : 170, + width : 100, sortable:false, editor : new top.Ext4.form.field.ComboBox({ typeAhead: true, @@ -638,6 +760,25 @@ dataIndex : 'includeTousseDetail', sortable:false, width : 380 + }], + tbar:[{ + xtype:'button', + text : '删除', + handler: function(){ + var records = comboTousseDataGrid.getSelectionModel().getSelection(); + if (records.length == 0) { + showResult("请选择要删除的聚合包!" , null , sstsConfig.messagePauseTimeOnPackingPage); + return false; + } + for(var i = 0 ; i < records.length ; i++){ + var record = records[i]; + var amount = record.data['amount']; + + addRestAmount(record,amount); + + comboTousseDataGrid.getStore().remove(record); + } + } }] }); @@ -884,11 +1025,13 @@ var comboTousseDataGrid = top.Ext4.getCmp("comboTousseDataGrid").getStore(); comboTousseDataGrid.removeAll(); + comboTousseStore.reload(); } } }], buttons : [{ text : packingBtnText, + hidden :fromPortal, handler : function() { continuePacking = false; onPackingBtnClick(this); @@ -905,8 +1048,8 @@ var comboTousseWin = new top.Ext4.window.Window( { id : 'comboTousseWin', title : '装配聚合包', - width : 850, - height: 630, + width : 1000, + height: 500, resizable :false, modal : true, border : false, @@ -924,46 +1067,51 @@ items : [ { layout : 'form', - columnWidth : 0.47, + columnWidth : 0.4, items : [ waitComboTousseGrid ] },{ layout : 'form', - columnWidth : 0.06, + columnWidth : 0.05, buttonAlign:'center', - height : 250, + height : 328, items : [ { height :60, border:false }, { xtype :'button', + hidden: true, text : '>>', minWidth:48, handler : function(){ toComboTousseGrid(false); } }, { xtype :'button', + hidden: true, text : '<<', minWidth:48, handler : function(){ toTousseGrid(false); } }, { xtype :'button', + hidden: true, text : '>>>>', minWidth:48, handler : function(){ toComboTousseGrid(true); } }, { xtype :'button', + hidden: true, text : '<<<<', minWidth:48, handler : function(){ toTousseGrid(true); } },{ xtype :'button', + hidden: true, text:'确定', border:false, minWidth:48, @@ -972,17 +1120,20 @@ var id = top.Ext4.getCmp('comboTousseName').getValue(); comboTousseGrid(id,tousseName); } + },{ + xtype :'button', + text:'聚合', + border:false, + minWidth:48, + handler : function(){ + combo_confirm(); + } } ] }, { layout : 'form', - columnWidth : 0.47, - items : [ comboGrid ] + columnWidth : 0.55, + items : [ comboTousseDataGrid ] } ] - }, { - region : 'south', - height : 220, - layout : 'fit', - items : [ comboTousseDataGrid ] }] });