Index: ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js
===================================================================
diff -u -r25135 -r25908
--- ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js (.../reviewView.js) (revision 25135)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js (.../reviewView.js) (revision 25908)
@@ -1,3 +1,130 @@
+var materialForReviewViewStore = new Ext.data.Store({
+ proxy : new Ext.data.HttpProxy({
+ url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getMaterialDefinitionByTousseName.do',
+ method : 'POST'
+ }),
+ reader : new Ext.data.JsonReader({
+ fields : [
+ {name : 'id'},
+ {name : 'name'},
+ {name : 'count'},
+ {name : 'type'},
+ {name : 'notice'},
+ {name : 'hasNotice'},
+ {name : 'washQualityCheckPoint'},
+ {name : 'washQualityCheckMethod'},
+ {name : 'detachable'},
+ {name : 'functionCheck'}
+ ]
+ }),
+ listeners : {
+ load : function(thiz,records,options){
+ var len = records.length;
+ var materialTotalAmount = 0;
+ var diposableGoodsTotalAmount = 0;
+ for(var i = 0 ; i < len ; i++){
+ var type = records[i].data.type;
+ if(type == '一次性物品'){
+ diposableGoodsTotalAmount += records[i].data.count;
+ }else{
+ materialTotalAmount += records[i].data.count;
+ }
+ }
+ Ext.getCmp('materialForReviewViewAmount').setText("器械总数:" + materialTotalAmount);
+ Ext.getCmp('materialForReviewViewDiposableGoodsAmount').setText("一次性物品总数:" + diposableGoodsTotalAmount);
+ }
+ }
+});
+
+function showTousseImgBtns(){
+ curSelMaterialName = null;
+ curSelMaterialId = null;
+
+ Ext.getCmp('btn_washQualityCheckPoint').hide();
+ Ext.getCmp('btn_washQualityCheckMethod').hide();
+ Ext.getCmp('btn_functionCheck').hide();
+
+ if(!teachingPicture){
+ Ext4.getCmp('btn_packingNote').show();
+ Ext4.getCmp('btn_teachingPicture').show();
+ }
+ if(!specificationPicture){
+ Ext4.getCmp('btn_specification').show();
+ }
+ if(!teachingVideo){
+ Ext4.getCmp('btn_watchVideoBar').show();
+ }
+}
+function loadTousseInfo(td_id,tousseName){
+ //将点击或者扫描的器械包导入材料清单
+ materialForReviewViewStore.load({params: {tousseName:tousseName,tousseDefinitionId:td_id}});
+}
+var materialForReviewViewGrid = new Ext.grid.GridPanel({
+ id :'rightMaterial',
+ store: materialForReviewViewStore,
+ region: 'east',
+ margin: '0 0 0 0',
+ sm: new Ext.grid.CheckboxSelectionModel(),
+ frame:true,
+ cm:new Ext.grid.ColumnModel([
+ new Ext.grid.CheckboxSelectionModel(),
+ {header : "id",dataIndex : 'id',hidden : true},
+ {header : "材料名称",width : 120,flex: 1,menuDisabled: true,dataIndex : 'name'},
+ {header : "数量",width : 50,menuDisabled: true,dataIndex : 'count'},
+ {header : "是否可拆",width :100,menuDisabled: true,dataIndex : 'detachable',renderer: function(v , ctx , record){
+ if(v == '是'){
+ var materialName = record.get('name');
+ var materialId = record.get('materialDefinitionId');
+ return "";
+ }else{
+ return v;
+ }
+ }}
+ ]),
+ tbar:[{
+ xtype:'button',
+ id:"materialForReviewViewAmount"
+ },'-',{
+ xtype:'button',
+ id:"materialForReviewViewDiposableGoodsAmount"
+ },'-',{
+ xtype:'button',
+ text : '添加质量监测',
+ hidden:SSTS_QualityRecord_Create,
+ id:"addMaterialQualityMonitoring",
+ handler: function(){
+ materialCountRecords = Ext.getCmp("rightMaterial").getSelectionModel().getSelections();
+ otherPartAddQM = true;
+ addQualityMonitoringByResponPart("清洗消毒");
+ }
+ }]
+
+});
+materialForReviewViewGrid.on('mouseover', function(e) {// 添加mouseover事件
+ var index = materialForReviewViewGrid.getView().findRowIndex(e.getTarget());// 根据mouse所在的target可以取到列的位置
+ if (index !== false) {// 当取到了正确的列时,(因为如果传入的target列没有取到的时候会返回false)
+ var record = this.getStore().getAt(index);
+ tableContent = record.data['htmlContent'];//
+ var content = "
 "
+ + record.data['washQualityCheckMethod']
+ +" |  "
+ + record.data['washQualityCheckPoint']
+ + " |  "
+ + record.data['functionCheck']
+ + " |
";
+ var tableContent = (""
+ + "" +
+ "清洗质量检查方法 | 清洗质量检查关注点 | 功能检查 | ");
+ tableContent += "
"
+ + content
+ + "
";
+ record.set("htmlContent",tableContent);
+ var rowEl = Ext4.fly(e.getTarget());// 把target转换成Ext.Element对象
+ rowEl.set({'data-qtip' : tableContent,'data-qwidth':350,'data-qtitle':' 质量、功能检查:'},false);
+
+ }
+});
+
var grid;
var reviewedPanel;
var tousseInstanceRecord;
@@ -400,6 +527,11 @@
}
sterilingTypeCanAddToReview = false;
}
+ //导入材料清单需要用到tousseDefinitionId,tousseDefinitionName
+ if(records[i].data['tousseDefinition.name'] && records[i].data['tousseDefinition.id']){
+ records[i].data.tousseDefinitionId = records[i].data['tousseDefinition.id'];
+ records[i].data.tousseDefinitionName = records[i].data['tousseDefinition.name']
+ }
});
DWREngine.setAsync(true);
if(sterilingTypeCanAddToReview == false){
@@ -613,6 +745,7 @@
var logItems = [];
for ( var i = 0;i' + v + '';
}else{
return '' + '否' + '';
}
}
},
- {header : "灭菌开始日期",width : 80,dataIndex : 'sterileStartDate',sortable:false},
+ {header : "灭菌日期",width : 80,dataIndex : 'sterileStartDate',sortable:false},
{header : "装配人",width : 50,dataIndex : 'operator',sortable:false},
{header : "装配时间",width : 105,dataIndex : 'operationTime', renderer : myDateFormatByMinute,sortable:false},
{header : "灭菌程序",width : 60,dataIndex : 'sterilingType',sortable:false},
@@ -1360,6 +1494,20 @@
}
});
+ //点击待审核任务列表的行并将其信息引入材料清单
+ grid.on('rowclick',function(e){
+ if(sstsConfig.showTousseMaterialsInPackingReview && sstsConfig.showTousseMaterialsInPackingReview == true){
+ var index = grid.store.indexOf(grid.getSelectionModel().getSelected());// 根据mouse所在的target可以取到列的位置
+ if (index !== false) {// 当取到了正确的列时,(因为如果传入的target列没有取到的时候会返回false)
+ var record = this.getStore().getAt(index);
+ var tousseDefinitionId = record.get("tousseDefinition.id");
+ var tousseDefinitionName = record.get("tousseDefinition.name");
+ var tousseDefinitionName = record.get("tousseDefinition.tousseType");
+ loadTousseInfo(tousseDefinitionId,tousseDefinitionName);
+ }
+ }
+ });
+
var store = new Ext.data.SimpleStore({
fields: [
{name: 'id',type: 'long'},
@@ -1381,20 +1529,20 @@
border : false,
bodyBorder : false,
columns: [
- {id:'tousseName',header: "器械包名称", width: 180, menuDisabled: true, dataIndex: 'tousseDefinitionName'},
- {id:'barcode',header: "条码",width: 60, menuDisabled: true, dataIndex: 'barcode'},
+ {id:'tousseName',header: "器械包名称", width: 120, menuDisabled: true, dataIndex: 'tousseDefinitionName'},
+ {id:'barcode',header: "条码",width: 120, menuDisabled: true, dataIndex: 'barcode'},
+ {id : 'deleteItem',header : '删除',width : 30,menuDisabled : true,
+ renderer : function(v, p, record) {
+ var str = "
";
+ return str;
+ },
+ dataIndex : 'button'
+ },
{header : "包装类型",width : 80,dataIndex : 'packageType',sortable:false},
- {header : "灭菌开始日期",width : 80,dataIndex : 'sterileStartDate',sortable:false},
- {header : "灭菌程序",width : 80,dataIndex : 'sterilingMethod',hidden:false},
- {header : "灭菌方式",width : 80,dataIndex : 'sterilingMode',hidden:false},
- {id:'operationRemark',header : "虚拟篮筐",width : 80,dataIndex : 'virtualBasketSeqNum',hidden:true},
- {id : 'deleteItem',header : '删除',width : 60,menuDisabled : true,
- renderer : function(v, p, record) {
- var str = "
";
- return str;
- },
- dataIndex : 'button'
- }
+ {header : "灭菌日期",width : 60,dataIndex : 'sterileStartDate',sortable:false},
+ {header : "灭菌程序",width : 60,dataIndex : 'sterilingMethod',hidden:false},
+ {header : "灭菌方式",width : 60,dataIndex : 'sterilingMode',hidden:false},
+ {id:'operationRemark',header : "虚拟篮筐",width : 80,dataIndex : 'virtualBasketSeqNum',hidden:true}
//{header : "炉号",width : 120,dataIndex : 'sterilizer',hidden:false},
//{header : "炉次",width : 50,dataIndex : 'frequency',hidden:false}
],
@@ -1439,26 +1587,7 @@
var basketBarcode = Ext.getCmp("basketBarcode").getValue();
reviewTousse(basketName,basketBarcode);
}
- },'-',{
- text : '打印分组类型:'
- },
- {
- xtype : 'combo',
- id : 'printGroupType',
- name : 'printGroupType',
- editable:false,
- valueField : 'value',
- displayField : 'value',
- store : new Ext.data.SimpleStore( {
- fields : [ 'value'],
- data : [['默认'],['按科室分组'],['科室包名']]
- }),
- value : taskGroupObj.printGroupType,
- forceSelection : true,
- mode : 'local',
- triggerAction : 'all',
- anchor : '100%'
- }]
+ }]
});
tbar.render(forReviewGrid.tbar);
}
@@ -1551,6 +1680,7 @@
var tousseInstance = new tousseInstanceRecord({
id: obj.tousseId,
+ tousseDefinitionId : obj.tousseDefinitionId,
tousseDefinitionName: obj.tousseName,
barcode: obj.barcode,
packageType: obj.packageType,
@@ -1563,6 +1693,10 @@
clearScanText();
onScannedTousseAmountChanged();// 待审核包数量数量变化处理
speaker.speak(obj.tousseName);
+ if(sstsConfig.showTousseMaterialsInPackingReview && sstsConfig.showTousseMaterialsInPackingReview == true){
+ //如果启用材料清单,则将扫描的条码的信息导入材料清单
+ loadTousseInfo(obj.tousseDefinitionId,obj.tousseName);
+ }
} else if(returnType == "multiTousseInstancesSuccess"){//扫描的是虚拟篮框(单个或首尾)或首尾器械包(返回结果为单个器械包,暂保留)
var tousseInstanceArray = obj.tousseInstances;
if(tousseInstanceArray && tousseInstanceArray.length > 0){
@@ -1791,9 +1925,28 @@
},{
xtype:'textfield',
readOnly :true,
+ width : 50,
id:'alreadyScanAmount',
cls:'fieldReadOnlyNoRemove',
value:0
+ },{
+ text : '打印分组类型:'
+ },{
+ xtype : 'combo',
+ id : 'printGroupType',
+ name : 'printGroupType',
+ editable:false,
+ valueField : 'value',
+ displayField : 'value',
+ store : new Ext.data.SimpleStore( {
+ fields : [ 'value'],
+ data : [['默认'],['按科室分组'],['科室包名']]
+ }),
+ value : taskGroupObj.printGroupType,
+ forceSelection : true,
+ mode : 'local',
+ triggerAction : 'all',
+ anchor : '100%'
}]
});
var reviewTableContent;
@@ -1819,6 +1972,19 @@
'data-qtip' : reviewTableContent,'data-qwidth':450,'data-qtitle':' 器械包信息:'},false);
}
});
+ //审核确认列表点击行,将其信息引入材料清单
+ forReviewGrid.on('rowclick',function(e){
+ if(sstsConfig.showTousseMaterialsInPackingReview && sstsConfig.showTousseMaterialsInPackingReview == true){
+ //如果启用材料清单,则将点击的行的条码的信息导入材料清单
+ var index = forReviewGrid.store.indexOf(forReviewGrid.getSelectionModel().getSelected());// 根据mouse所在的target可以取到列的位置
+ if (index !== false) {// 当取到了正确的列时,(因为如果传入的target列没有取到的时候会返回false)
+ var record = this.getStore().getAt(index);
+ var tousseDefinitionId = record.get("tousseDefinitionId");
+ var tousseDefinitionName = record.get("tousseDefinitionName");
+ loadTousseInfo(tousseDefinitionId,tousseDefinitionName);
+ }
+ }
+ });
function clearBarcodeAndBasketName(){
Ext.getCmp('barcode').setValue('');
Ext.getCmp('basketName').setValue('');
@@ -1980,40 +2146,47 @@
}
},
items:[{
- id : 'reviewGridTab',
- layout : 'fit',
- title: '审核任务',
-// autoHeight : true,
- items:[new Ext.Panel({
- layout : 'border',
- items : [ {
- region : 'west',
- title : '审核确认列表',
- margins : '0 0 0 0',
- items : forReviewGrid,
- layout:'fit',
- width : '50%'
- }, {
- region : 'center',
- margins : '0 0 0 0',
- width : '50%',
- layout:'fit',
- items : grid
- } ]
- })]
- },{
- id : 'reviewedChartTab',
- layout : 'fit',
- title: '审核统计',
- autoHeight : true,
- items:[reviewedChartPanel]
- },{
- id : 'reviewedBasketTab',
- layout : 'fit',
- title: '入筐器械包',
- autoHeight : true
- }
- ]
+ id : 'reviewGridTab',
+ layout : 'fit',
+ title: '审核任务',
+// autoHeight : true,
+ items:[new Ext.Panel({
+ layout : 'border',
+ items : [ {
+ region : 'west',
+ title : '审核确认列表',
+ margins : '0 0 0 0',
+ items : forReviewGrid,
+ layout:'fit',
+ width : ((sstsConfig.showTousseMaterialsInPackingReview == true) ? ('40%') : ('50%'))
+ }, {
+ region : 'center',
+ margins : '0 0 0 0',
+ width : ((sstsConfig.showTousseMaterialsInPackingReview == true) ? ('40%') : ('50%')),
+ layout :'fit',
+ items : grid
+ }, {
+ region : 'east',
+ title : '材料清单',
+ margins : '0 0 0 0',
+ width : '20%',
+ layout :'fit',
+ hidden : ( (sstsConfig.showTousseMaterialsInPackingReview == true)? false : true ),
+ items : materialForReviewViewGrid
+ } ]
+ })]
+ },{
+ id : 'reviewedChartTab',
+ layout : 'fit',
+ title: '审核统计',
+ autoHeight : true,
+ items:[reviewedChartPanel]
+ },{
+ id : 'reviewedBasketTab',
+ layout : 'fit',
+ title: '入筐器械包',
+ autoHeight : true
+ } ]
});
new Ext.Viewport(
Index: ssts-web/src/main/webapp/disinfectsystem/config/szszlyy/config.js
===================================================================
diff -u -r25825 -r25908
--- ssts-web/src/main/webapp/disinfectsystem/config/szszlyy/config.js (.../config.js) (revision 25825)
+++ ssts-web/src/main/webapp/disinfectsystem/config/szszlyy/config.js (.../config.js) (revision 25908)
@@ -147,5 +147,7 @@
//增加图谱功能
toussePicturesShow:true,
//是否限制灭菌日期为今天(不含)以后的包不能灭菌
- donotAllowSterilingDateOfTousseAfterTodayAddToSterilizationRecord:true
+ donotAllowSterilingDateOfTousseAfterTodayAddToSterilizationRecord:true,
+ //审核打包,是否启用材料清单(true: 启用 ,false :不启用)
+ showTousseMaterialsInPackingReview : true
}
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.jsp
===================================================================
diff -u -r25135 -r25908
--- ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.jsp (.../reviewView.jsp) (revision 25135)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.jsp (.../reviewView.jsp) (revision 25908)
@@ -5,6 +5,11 @@
<%@ page import="com.forgon.disinfectsystem.entity.basedatamanager.container.Container" %>
<%@page import="com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%>
<%@page import="com.forgon.disinfectsystem.entity.departmentGroupOption.DepartmentGroupOption"%>
+<%@page import="com.forgon.disinfectsystem.entity.qualitymonitoringmanager.qualitymonitoringconfig.QualityMonitoringDefinition" %>
+<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition" %>
+<%@page import="com.forgon.disinfectsystem.common.Constants"%>
+<%@page import="com.forgon.disinfectsystem.entity.customform.formdefinition.FormDefinition"%>
+<%@page import="com.forgon.disinfectsystem.entity.packing.PackingTask"%>
<%@ include file="/common/taglibs.jsp"%>
@@ -40,8 +45,15 @@
+
+
@@ -53,16 +65,26 @@
-
+
@@ -83,6 +105,7 @@
+
<%@ include file="/disinfectsystem/print/print.jsp"%>