Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js =================================================================== diff -u -r22179 -r22222 --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 22179) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 22222) @@ -1,8 +1,11 @@ var grid; var currentSelectedTousseName; //物品名称选择下拉框的当前所选中的值 var barcodes = ''; +var notWarningStatus = ['已使用','已回收','已废弃','预回收']; var singleScanLabel = '单次扫描'; var repeatScanLabel = '多次扫描'; +var preciseQuery = '精确查询'; +var fuzzyQuery = '模糊查询'; function onAllChoosedOrNot(combo, record,index,nameOfFiled){ var choose = record.get(combo.checkField); @@ -47,6 +50,19 @@ ) }); +var sterilizerGroupStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/core/httpOptionAction!getHttpOptionsById.do', + method : 'POST' + }), + baseParams : { + optionId : 'sterilerGroup' + }, + reader : new Ext.data.JsonReader({ + root : 'data' + },[{name : 'sterilizerGroupName',mapping : 'value'}]) +}); + var departmentComboBoxStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getApplicationDepartJson.do', @@ -85,15 +101,29 @@ $Id('parm_s_frequency').value = $Id('frequency').value; //炉次 $Id('parm_s_tousseGroupName').value = $Id('tousseGroupName').value; //器械包分组 $Id('parm_s_idNumberSearch').value = $Id('idNumberSearch').value; - //如果当前所选中值与下拉框的值相同时,则采用精确匹配.否则采用模糊匹配 - if(currentSelectedTousseName == Ext.getCmp('tousseName').getRawValue()){ + + if(preciseQuery == Ext.getCmp('queryMode').getRawValue()){ $Id('parm_s_tousseName').value = Ext.getCmp('tousseName').getRawValue(); + $Id('parm_s_tousseNameFuzzy').value = ''; }else{ - $Id('parm_s_tousseName').value = ''; $Id('parm_s_tousseNameFuzzy').value = Ext.getCmp('tousseName').getRawValue(); + $Id('parm_s_tousseName').value = ''; } + $Id('parm_s_operationTime').value = $Id('operationTime').value; + $Id('parm_s_sterilizerGroup').value = $Id('sterilizerGroup').value; + + + //如果当前所选中值与下拉框的值相同时,则采用精确匹配.否则采用模糊匹配 +// if(currentSelectedTousseName == Ext.getCmp('tousseName').getRawValue()){ +// $Id('parm_s_tousseName').value = Ext.getCmp('tousseName').getRawValue(); +// }else{ +// $Id('parm_s_tousseName').value = ''; +// $Id('parm_s_tousseNameFuzzy').value = Ext.getCmp('tousseName').getRawValue(); +// } + + var barcode = $Id('barcodeSearch').value; //条码字符串 //var barcodeReg = /(\d){9}/; //if (barcode.length == 9 && barcodeReg.test(barcode)) { //条码字符串为9数字,扫描码才有意义,否则清空 @@ -153,7 +183,7 @@ } //验证器械包预警期、失效期 -function getColorFromRecordValidUntilAndWarningUntil(record,p){ +function getValidAndWarningStatus(record,p){ var validUntil = record.data.validUntil; var warningUntil = record.data.warningUntil; var date = new Date(); @@ -164,15 +194,41 @@ var b = compareDate(myDateFormat(warningUntil,p,record),currentDate);//预警期 var f = compareDate(myDateFormat(validUntil,p,record),currentDate);//失效期 var color = ""; + if(!f){ + return 2;//失效 + } if(!b){ - color = "yellow"; + return 1;//预警 } - if(!f){ + return 0; +} +function getColorFromRecordValidUntilAndWarningUntil(record,p){ + var color = ""; + if(notWarningStatus.contains(record.data.status)){ + return 0; + } + var status = getValidAndWarningStatus(record,p); + if(status == 1){ + color = "yellow"; + }else if(status == 2){ color = "#FF7575"; } return color; } function checkDate(v, p, record,rowIndex,columnIndex,store){ + + if(!isShowBySterilizationRecord(v,p,record)){ //对于没有灭菌记录的器械包,分情况判断是否显示失效日期 + if('消毒物品' == record.data['tousseDefinition.tousseType']){ + if('是' == record.data['tousseDefinition.isSterile']){ + return ""; //需要灭菌的消毒物品,都不显示失效日期(消毒物品默认为不需要灭菌) + } + }else{ + if('否' != record.data['tousseDefinition.isSterile']){ + return ""; //需要灭菌的其他物品,都不显示失效日期(其他器械包默认为需要灭菌) + } + } + } + var color = getColorFromRecordValidUntilAndWarningUntil(record); if(v != null){ return "

" + myDateFormat(v) + "

"; @@ -272,7 +328,7 @@ function renderCallTousseInstanceInfoShowFun(v, p, record){ var color = getColorFromRecordValidUntilAndWarningUntil(record); var isComboTousse = (record.data['tousseDefinition.tousseType'] == '聚合包'); - if(!isUndefinedOrNullOrEmpty(record.data.validUntil)){ + if(!isUndefinedOrNullOrEmpty(record.data.validUntil) && isShowBySterilizationRecord(v,p,record)){ return "

" + record.data['showTousseName'] + "

"; }else{ return "" + record.data['showTousseName'] + ""; @@ -287,6 +343,19 @@ return ""; } +function isShowBySterilizationRecord(v,p,record){ + if(isUndefinedOrNullOrEmpty(record.data.sterilizationRecord_id)){ + return false; + }else + return true; +} + +function showOrHideBySterilizationRecord(v,p,record){ + if(isShowBySterilizationRecord(v,p,record)){ + return v; + }else + return ""; +} Ext.onReady(function() { var columns = new Array(); columns.push( @@ -322,7 +391,7 @@ {header : "灭菌篮筐",width : 80,dataIndex : 'sterilizationBasket',sortable: false}, {header : "灭菌员",width : 60,dataIndex : 'sterilizationUser',sortable: false}, {header : "灭菌完成时间",width : 125,dataIndex : 'sterileEndTime',sortable: false,menuDisabled : true,renderer : myDateFormatBySecond}, - {header : "灭菌程序",width : 70,sortable: false,menuDisabled : true,dataIndex : 'sterilingType'}, + {header : "灭菌程序",width : 70,sortable: false,menuDisabled : true,dataIndex : 'sterilingType',renderer : showOrHideBySterilizationRecord}, {header : "灭菌批号",width : 150,dataIndex : 'sterileFrequency',sortable: false,menuDisabled : true,renderer:nameAndFrequency}, {header : "发货人",width : 60,dataIndex : 'invoiceSender',sortable: false,menuDisabled : true}, {header : "发货时间",width : 125,dataIndex : 'invoiceSendTime',menuDisabled : false,renderer:myDateFormatBySecond,sortable: false}, @@ -380,7 +449,10 @@ {name : 'sterilizationBasket'}, {name : 'sterileEndTime'}, {name : 'sterileFrequency'}, - {name : 'sterilizerName'} +// {name : 'validStatus'}, + {name : 'sterilizerName'}, + {name : 'sterilizationRecord_id'}, + {name : 'tousseDefinition.isSterile'} ]; var filters = new Ext.grid.GridFilters({ @@ -425,10 +497,10 @@ height : fontSize == 12 ? 115 : 150, // height : fontSize == 12 ? 88 : 130, items : [{ - width : fontSize == 12 ? 840 : 980, + width : fontSize == 12 ? 980 : 980, layout : 'column', items:[{ - columnWidth : .27, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 81 : 110, labelAlign:"right", @@ -451,7 +523,7 @@ }) }] },{ - columnWidth : .23, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 45 : 65, labelAlign:"right", @@ -470,7 +542,7 @@ } }] },{ - columnWidth : .25, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 70 : 90, labelAlign:"right", @@ -489,7 +561,7 @@ } }] },{ - columnWidth : .25, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 70 : 90, labelAlign:"right", @@ -515,8 +587,24 @@ store : taskGroupMultiSelectStore }] },{ - columnWidth : .27, + columnWidth : .2, layout : 'form', + labelWidth : fontSize == 12 ? 60 : 90, + labelAlign:"right", + items : [{ + xtype : 'datefieldWithMin', + fieldLabel : '装配时间', + name : 'operationTime', + id : 'operationTime', + width : 120, + altFormats:'Y-m-d H:i|Y-n-j H:i|y-n-j H:i|y-m-j H:i|y-m-d H:i|y-n-d H:i|Y-n-d H:i|Y-m-j H:i|Ymd H:i|Ynj H:i|ynj H:i|ymj H:i|ymd H:i|ynd H:i|Ynd H:i|Ymj H:i|Y/m/d H:i|Y/n/j H:i|y/n/j H:i|y/m/j H:i|y/m/d H:i|y/n/d H:i|Y/n/d H:i|Y/m/j|Y-m-d G:i|Y-n-j G:i|y-n-j G:i|y-m-j G:i|y-m-d G:i|y-n-d G:i|Y-n-d G:i|Y-m-j G:i|Ymd G:i|Ynj G:i|ynj G:i|ymj G:i|ymd G:i|ynd G:i|Ynd G:i|Ymj G:i|Y/m/d G:i|Y/n/j G:i|y/n/j G:i|y/m/j G:i|y/m/d G:i|y/n/d G:i|Y/n/d G:i|Y/m/j|G:i|H:i', + selectOnFocus :true, + format : 'Y-m-d H:i' + }] + }, + { + columnWidth : .2, + layout : 'form', labelWidth : fontSize == 12 ? 81 : 110, labelAlign:"right", items : [{ @@ -530,8 +618,9 @@ format : 'Y-m-d', anchor : '95%' }] - },{ - columnWidth : .23, + }, + { + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 45 : 65, labelAlign:"right", @@ -554,7 +643,7 @@ anchor : '95%' }] },{ - columnWidth : .25, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 70 : 90, labelAlign: "right", @@ -587,7 +676,7 @@ anchor : '95%' }] },{ - columnWidth : .25, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 70 : 90, labelAlign:"right", @@ -632,8 +721,31 @@ } }] },{ - columnWidth : .27, + columnWidth : .2, layout : 'form', + labelWidth : fontSize == 12 ? 100 : 110, + labelAlign:"right", + items : [{ + xtype : 'combo', + id : 'queryMode', + name : 'queryMode', + valueField : 'queryMode', + displayField : 'queryMode', + anchor : '95%', + fieldLabel : '器械包查询模式', + mode : 'local', + readOnly : true, + value : preciseQuery, + triggerAction : 'all', + forceSelection : true, + store : new Ext.data.SimpleStore({ + fields : ['queryMode'], + data : [[preciseQuery],[fuzzyQuery]] + }) + }] + },{ + columnWidth : .2, + layout : 'form', labelWidth : fontSize == 12 ? 81 : 110, labelAlign:"right", items : [{ @@ -648,7 +760,7 @@ anchor : '95%' }] },{ - columnWidth : .23, + columnWidth : .2, layout : 'form', labelAlign:"right", labelWidth : fontSize == 12 ? 45 : 65, @@ -660,7 +772,7 @@ anchor : '95%' }] },{ - columnWidth : .25, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 70 : 90, labelAlign: "right", @@ -684,7 +796,7 @@ anchor : '95%' }] },{ - columnWidth : .25, + columnWidth : .2, layout : 'form', labelWidth : fontSize == 12 ? 70 : 90, labelAlign: "right", @@ -727,7 +839,31 @@ editable : false, anchor : '95%' }] - }] + } + ,{ + columnWidth : .2, + layout : 'form', + labelWidth : fontSize == 12 ? 70 : 90, + labelAlign: "right", + items : [{ + xtype : 'combo', + fieldLabel : '灭菌炉分组', + id : 'sterilizerGroup', + name : 'sterilizerGroup', + valueField : 'sterilizerGroupName', + displayField : 'sterilizerGroupName', + store : sterilizerGroupStore, + triggerAction : 'all', + mode : 'remote', + forceSelection : true, + allowBlank : true, + queryParam : 'spell', + minChars : 0, + listWidth : 180, + anchor : '95%' + }] + } + ] },{ width : fontSize == 12 ? 120 : 150, layout : 'column', @@ -757,6 +893,13 @@ $Id('taskGroup').value=""; Ext.getCmp('taskGroup').setValue(""); barcodes = ''; + Ext.getCmp('queryMode').setValue(preciseQuery); + $Id('queryMode').value = preciseQuery; +// Ext.getCmp('operationTime').setValue(""); + $Id('operationTime').value = ""; + $Id('sterilizerGroup').value = ""; + + } }] },{ Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp =================================================================== diff -u -r22163 -r22222 --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp (.../tousseInstanceView.jsp) (revision 22163) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp (.../tousseInstanceView.jsp) (revision 22222) @@ -110,7 +110,11 @@ - + + + + +