Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js =================================================================== diff -u -r34767 -r34885 --- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 34767) +++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 34885) @@ -144,6 +144,7 @@ fields: [ {name : 'id'}, {name : 'tousseDefinitionId'}, + {name : 'disposableGoodsId'}, {name : 'oldTousseName'}, {name : 'tousseName'}, {name : 'packed'}, @@ -747,22 +748,38 @@ msg = "外来器械材料必须填写名称!"; break; } + + var disposableGoodsId = materialNode.get("disposableGoodsId"); + var type = materialNode.get("type"); if(materialNameJson[materialName]){ msg = "【"+ foreignTousseName +"】的材料【"+ materialName +"】重复,请删除重复的材料!"; repeatMaterialName = materialName; break; } - if(!materialNode.get("includeImplant")){ - msg = "外来器械材料必须填写是否植入物!"; - break; + + if(materialNode.get("type") == '一次性物品'){ + if(materialNode.get("tousseName") !== materialNode.get("oldName")){ + disposableGoodsId = '' + type = 'material'; + } } + + if(materialNode.get("type") !== '一次性物品'){ + if(!materialNode.get("includeImplant")){ + msg = "外来器械材料必须填写是否植入物!"; + break; + } + } + if(materialNode.get("amount") > 0){ materialAmountPass = true; } materials.push({ materialInstanceId : materialNode.get("id"), materialName : materialName, + disposableGoodsId:disposableGoodsId, + type:type, amount : materialNode.get("amount"), includeImplant : materialNode.get('includeImplant'), usedAmountOfIncludeImplant : materialNode.get('usedAmountOfIncludeImplant'), @@ -1455,6 +1472,30 @@ ] }); + //材料一次性物品store + var getForeignMaterialDefinitionStore = new Ext4.data.Store({ + pageSize : 12, + proxy : { + type : 'ajax', + url : WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getForeignMaterialDefinitionData.do', + extraParams : {supplierType : supplierType}, + reader : { + type : 'json', + totalProperty:'totalCount', + root : 'data' + } + }, + fields : [ + {name : 'materialDefinitionId',mapping : 'materialDefinitionId'}, + {name : 'name',mapping : 'name'}, + {name : 'showName',mapping : 'showName'}, + {name : 'displayName',mapping : 'displayName'}, + {name : 'type',mapping : 'type'}, + {name : 'price',mapping : 'price'}, + {name : 'isImplant',mapping : 'isImplant'} + ] + }); + var tousseNameQueryDelay1 = 0; var tousseNameForceSelection1 = false; var supplerQueryDelay1 = 0; @@ -2126,13 +2167,28 @@ sortable: true, dataIndex: 'tousseName', editor: { - xtype: 'textfield', - allowDecimals :false, - minValue: 0, - listeners : { - 'focus':function(){ - this.selectText(); - } + xtype : 'combo', + valueField : 'name', + displayField : 'name', + store : getForeignMaterialDefinitionStore, + pageSize : 12, + listConfig: {width : 270}, + queryParam : 'spell', + minChars : 0, + matchFieldWidth: false, + forceSelection : false, + lazyInit : true, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : false, + listeners : { + select: function(v,r,p) { + currentRecord.set("type",r[0].data.type); + currentRecord.set("price",r[0].data.price); + currentRecord.set("oldName",r[0].data.name); + currentRecord.set("disposableGoodsId",r[0].data.id); + } } } },{ Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js =================================================================== diff -u -r34312 -r34885 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 34312) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 34885) @@ -77,7 +77,7 @@ queryParam : 'spell', minChars : 0, valueField : 'id', - displayField : 'showName', + displayField : 'name', store : new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getForeignMaterialDefinitionData.do', @@ -90,6 +90,8 @@ {name : 'materialDefinitionId',mapping : 'materialDefinitionId'}, {name : 'name',mapping : 'name'}, {name : 'showName',mapping : 'showName'}, + {name : 'displayName',mapping : 'displayName'}, + {name : 'type',mapping : 'type'}, {name : 'isImplant',mapping : 'isImplant'} ]) }), @@ -103,12 +105,17 @@ anchor : '97%', listeners : { select : function(combo, record, index) { - var materialName = record.data.showName; + var materialName = record.data.name; var isExist = isExistMaterial(materialName); if(!isExist){ combo.setValue(materialName); var editRecord = foreignMaterialDefinitionStore.getAt(eventEdit.row); - editRecord.data.includeImplant = record.data.isImplant; + var isImplant = record.data.isImplant; + if(record.data.isImplant == ''){ + isImplant = '否'; + } + editRecord.data.includeImplant = isImplant; + editRecord.data.tousseType = record.data.type; }else{ showResult(materialName + ",已添加!"); } @@ -689,6 +696,29 @@ },{ columnWidth : .33, layout : 'form', + labelWidth :120, + items:[{ + xtype : 'combo', + fieldLabel : '自动扣包内材料', + id : 'autoOutStockForPacking', + name : 'autoOutStockForPacking', + valueField : 'value', + displayField : 'value', + store : new Ext.data.SimpleStore( { + fields : [ 'value'], + data : [['是'],['否']] + }), + editable : false, + forceSelection : true, + allowBlank : false, + value : '否', + mode : 'local', + triggerAction : 'all', + anchor : '95%' + }] + },{ + columnWidth : .33, + layout : 'form', labelWidth : 90, hidden:!sstsConfig.enableForeignTousseIsTemporaryPurchaseField, items:[{ @@ -881,6 +911,7 @@ var amount = record.get('count'); var washClassifyType = record.get('washClassifyType'); var includeImplant = record.get('includeImplant'); + var tousseType = record.get('tousseType'); if (materialDefinitionConfigResult.indexOf(name) != -1) { showResult("存在相同的材料明细记录,请删除其中一条!"); top.Ext.getCmp('saveBtn').enable(); @@ -889,7 +920,7 @@ var length = jsonArray.length; jsonArray[length] = {}; jsonArray[length].name = name; - jsonArray[length].tousseType = '器械'; + jsonArray[length].tousseType = tousseType; jsonArray[length].count = amount; jsonArray[length].washClassifyType = washClassifyType; jsonArray[length].includeImplant = includeImplant; @@ -922,7 +953,7 @@ foreignTousseDefinitionWin.close(); }, failure : function(form, action) { - showResult('保存失败!'); + showResult(action.result.msg); top.Ext.getCmp('saveBtn').enable(); } });