Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/position/changePosition.js =================================================================== diff -u -r35537 -r37491 --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/position/changePosition.js (.../changePosition.js) (revision 35537) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/position/changePosition.js (.../changePosition.js) (revision 37491) @@ -728,7 +728,12 @@ showResult(action.result.message); if(action.result.success){ window.close(); - document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagement.jsp?editMode=true'; + if(sstsConfig.displayModeOfInstrumentRoomGoodsManagement && sstsConfig.displayModeOfInstrumentRoomGoodsManagement == 1){ + document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.jsp?editMode=true'; + }else { + document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagement.jsp?editMode=true'; + } + } }, failure : function(form, action) { @@ -737,7 +742,11 @@ }else{ showResult("提交超时!"); window.close(); - document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagement.jsp?editMode=true'; + if(sstsConfig.displayModeOfInstrumentRoomGoodsManagement && sstsConfig.displayModeOfInstrumentRoomGoodsManagement == 1){ + document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.jsp?editMode=true'; + }else { + document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagement.jsp?editMode=true'; + } } } }); @@ -748,7 +757,11 @@ //切记注意:按取消关闭window后,一定要把已选择的申请单号变量清空 selectedInvoicePlanId = ""; window.close(); - document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagement.jsp?editMode=true'; + if(sstsConfig.displayModeOfInstrumentRoomGoodsManagement && sstsConfig.displayModeOfInstrumentRoomGoodsManagement == 1){ + document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.jsp?editMode=true'; + }else { + document.location.href = WWWROOT+'/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagement.jsp?editMode=true'; + } } }] }); Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.js (revision 37491) @@ -0,0 +1,316 @@ +var entityName = "仪器班物品"; +var grid; +var operationReservationWindow; + +//GDSRMYY-575:仪器班物品名称自定义 +if (sstsConfig.aliasNameOfSurgicalInstrumentsManagement) { + var aliasNameOfSurgicalInstrumentsManagement = sstsConfig.aliasNameOfSurgicalInstrumentsManagement || []; + for (var i = 0; i < aliasNameOfSurgicalInstrumentsManagement.length; i++) { + if (aliasNameOfSurgicalInstrumentsManagement[i].fieldName == 'instrumentRoomGoodsManagement') { + entityName = aliasNameOfSurgicalInstrumentsManagement[i].displayText; + } + } +} + +function returnUrl(operation) { + var url = WWWROOT + '/disinfectsystem/toussemanager/position/changePosition.jsp?editMode=true&operation=' + encodeURIComponent(operation); + document.location.href = url; +} + +function showDetailWindow(result) { + var detailStore = new Ext.data.Store({ + data: result.details, + reader: new Ext.data.JsonReader({ + fields: [ + { name: 'barcode' }, + { name: 'destLocation' }, + { name: 'operator' }, + { name: 'tousseName' } + ] + }) + }); + + var detailGrid = new top.Ext.grid.GridPanel({ + id: 'detailGrid', + store: detailStore, + columns: [ + { header: "条码", width: 80, menuDisabled: true, dataIndex: 'barcode' }, + { header: "器械包名称", width: 80, menuDisabled: true, dataIndex: 'tousseName' }, + { header: "最后位置", width: 80, menuDisabled: true, dataIndex: 'destLocation' }, + { header: "最后操作人", width: 27, menuDisabled: true, dataIndex: 'operator' } + ], + viewConfig: { + forceFit: true + }, + height: 300, + autoExpandColumn: 'materialAmount', + frame: false + }); + + var form = new top.Ext.Panel({ + id: 'detailPanel', + split: true, + border: 0, + frame: true, + bodyStyle: 'padding:0px auto;margin:0px', + width: 800, + height: 400, + layout: 'column', + items: [{ + columnWidth: .33, + layout: 'form', + labelWidth: 90, + labelAlign: 'right', + height: 30, + items: [{ + xtype: 'textfield', + fieldLabel: '操作时间', + readOnly: true, + cls: 'fieldReadOnlyNoRemove', + value: result.operationTime, + anchor: '95%' + }] + }, { + columnWidth: .33, + layout: 'form', + labelWidth: 90, + labelAlign: 'right', + height: 30, + items: [{ + xtype: 'textfield', + fieldLabel: '操作类型', + readOnly: true, + cls: 'fieldReadOnlyNoRemove', + value: result.operation, + anchor: '95%' + }] + }, { + columnWidth: .33, + layout: 'form', + labelWidth: 90, + labelAlign: 'right', + height: 30, + items: [{ + xtype: 'textfield', + fieldLabel: '操作人', + readOnly: true, + cls: 'fieldReadOnlyNoRemove', + value: result.operator, + anchor: '95%' + }] + }, { + columnWidth: 1, + layout: 'form', + items: [detailGrid] + }] + }); + + var detailWindow = new top.Ext.Window({ + title: '操作记录', + width: 800, + height: 400, + border: false, + autoScroll: true, + layout: 'fit', + modal: true, + items: [form], + buttonAlign: 'center', + buttons: [{ + text: "关闭", + handler: function () { + detailWindow.close(); + } + }] + }); + + detailWindow.show(); +} + +function getPersonalTousseOperationRecordDetail(id) { + Ext.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!loadPersonalTousseOperationRecordDetail.do', + params: { recordId: id }, + success: function (response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + showDetailWindow(result.data) + } + }, + failure: function (response, options) { + showResult(response.responseText); + } + }); +} + +Ext.onReady(function () { + Ext.QuickTips.init(); + + var tousseLocationManagement = '器械包位置管理'; + if (sstsConfig.enableSurgicalInstrumentsManagement) { + if (sstsConfig.aliasNameOfSurgicalInstrumentsManagement) { + var aliasNameOfSurgicalInstrumentsManagement = sstsConfig.aliasNameOfSurgicalInstrumentsManagement || []; + for (var i = 0; i < aliasNameOfSurgicalInstrumentsManagement.length; i++) { + if (aliasNameOfSurgicalInstrumentsManagement[i].fieldName == 'tousseLocationManagement') { + tousseLocationManagement = aliasNameOfSurgicalInstrumentsManagement[i].displayText; + } + } + } + } + + var signHidden = true; + var tousseLocationHidden = true; + var returnBackHidden = true; + if (!SSTS_InstrumentGoodsManagement && isEnableTousseOpSign == 'true') { + signHidden = false; + } + + //GDSRMYY-582:手术仪器管理拆分权限 + if (sstsConfig.enableSplitPermissionsOfSurgicalInstrumentsManagement) { + tousseLocationHidden = SSTS_InstrumentGoods_TousseLocation_Manager; + returnBackHidden = SSTS_InstrumentGoods_ReturnBack; + } else { + tousseLocationHidden = SSTS_InstrumentGoodsManagement; + returnBackHidden = SSTS_InstrumentGoodsManagement; + } + + var pageSize = 10; + + var gridStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!loadPersonalTousseOperationRecord.do', + method: 'POST' + }), + autoLoad: { params: { start: 0, limit: pageSize } },//第一次自动load + lastOptions: { params: { start: 0, limit: pageSize } }, + reader: new Ext.data.JsonReader({ + root: 'data', + totalProperty: 'count', + fields: [ + { name: 'id' }, + { name: 'operationTime' }, + { name: 'operation' }, + { name: 'destLocation' }, + { name: 'tousseAmount' }, + { name: 'operationStatus' }, + { name: 'remark' } + ] + }), + listeners: { + beforeload: function (thiz) { + if (Ext.getCmp('pagesize')) { + var pagesize = Ext.getCmp('pagesize').getValue(); + thiz.baseParams["limit"] = pagesize; + } else { + thiz.baseParams["limit"] = pageSize; + } + } + } + }); + + var pageSizeStore = new Ext.data.SimpleStore({ + fields: ['value'], + data: [[10], [20], [30], [50], [100]] + }); + + var combo = new Ext.form.ComboBox({ + xtype: 'combo', + valueField: 'value', + displayField: 'value', + store: pageSizeStore, + mode: 'local', + id: 'pagesize', + name: 'pagesize', + forceSelection: true, + editable: false, + triggerAction: 'all', + value: pageSize, + width: 50, + listeners: { + select: function (combo, record, index) { + Ext.getCmp('pagingTool').pageSize = record.data.value + gridStore.load(); + } + } + }) + + grid = new Ext.grid.GridPanel({ + title: '个人操作记录', + store: gridStore, + columns: [ + { header: "操作时间", width: 160, dataIndex: 'operationTime' }, + { header: "操作类型", width: 120, dataIndex: 'operation' }, + { header: "目的位置", width: 140, dataIndex: 'destLocation' }, + { header: "器械包数量", width: 120, dataIndex: 'tousseAmount' }, + { + header: "器械流转", width: 120, dataIndex: 'operationStatus', renderer: function (v, p, record) { + var id = record.data.id; + if (v == '异常') { + return "" + v + ""; + } else if (v == '部分正常') { + return "" + v + ""; + } else { + return "" + v + ""; + } + } + }, + { header: "备注", width: 300, dataIndex: 'remark' }, + ], + stripeRows: true, + bbar: new Ext.PagingToolbar({ + id: 'pagingTool', + pageSize: pageSize, + store: gridStore, + items: ['-', '每页显示', combo, '条'], + displayInfo: true, + displayMsg: '第 {0} 到 {1} 条数据 共 {2} 条', + emptyMsg: "没有数据" + }), + //autoExpandColumn: 'remark', + bodyStyle: 'border:1px solid #afd7af' + }); + + var html = '
'; + if (!tousseLocationHidden) { + html += '
'; + html += '
器械包位置管理
'; + html += '
'; + } + if (!signHidden) { + html += '
'; + html += '
器械包签收
'; + html += '
'; + } + if (!returnBackHidden) { + html += '
'; + html += '
器械包回退
'; + html += '
'; + } + html += '
'; + + var form = new Ext.Panel({ + id: 'northPanel', + layout: 'table', + frame: true, + region: 'north', + border: false, + bodyBorder: false, + height: 210, + html: html + }); + + new Ext.Viewport({ + layout: 'border', + items: [form, { + region: 'center', + margins: '0 5 5 0', + xtype: 'panel', + autoScroll: true, + layout: 'fit', + items: grid + }] + }); + + if (quickJumpOperationTousseOp == '打开位置管理' && !tousseLocationHidden) { + returnUrl('发货'); + } +}); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js =================================================================== diff -u -r37431 -r37491 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 37431) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 37491) @@ -1270,14 +1270,14 @@ }] } ] - },{ + }, { xtype: "fieldset", title: '数据实时看板设置', layout: 'column', width: itemWidth, height: 90, labelWidth: fontSize == 12 ? 180 : 210, - hidden:SSTS_RealTimeDashboards, + hidden: SSTS_RealTimeDashboards, items: [ { layout: 'form', @@ -1388,7 +1388,7 @@ allowBlank: false, value: '否', triggerAction: 'all', - listeners:{ + listeners: { select: function (combo, record, index) { if (combo.getRawValue() == '否') { Ext.getCmp("urgentBroadcastFrequencyBox").hide(); @@ -1401,7 +1401,7 @@ }, { layout: 'form', columnWidth: .25, - id:'urgentBroadcastFrequencyBox', + id: 'urgentBroadcastFrequencyBox', items: [{ xtype: 'numberfield', fieldLabel: '加急物品语音播报频率(分钟)', @@ -2780,6 +2780,22 @@ value: '无', anchor: '100%' }] + }, { + layout: 'form', + labelWidth: fontSize == 12 ? 180 : 220, + labelAlign: "right", + columnWidth: .25, + hidden: sstsConfig.displayModeOfInstrumentRoomGoodsManagement !== 1, + items: [{ + xtype: 'numberfield', + fieldLabel: '器械流转时限(小时)', + id: 'tousseOperationTimeLimit', + name: 'tousseOperationTimeLimit', + allowDecimals: false, + minValue: 1, + maxValue: 100000, + anchor: '100%' + }] }] }, { xtype: "fieldset", @@ -3899,6 +3915,12 @@ quickJumpOperationTousseOp = Ext.getCmp('quickJumpOperationTousseOp').getValue(); } + //GDSRMYY-578:器械流转时限(小时) + var tousseOperationTimeLimit = ''; + if (sstsConfig.displayModeOfInstrumentRoomGoodsManagement == 1) { + tousseOperationTimeLimit = Ext.getCmp('tousseOperationTimeLimit').getValue(); + } + var autoSignAfterPutInStorage = '否'; if (sstsConfig.enableWarehousePositionModule) { autoSignAfterPutInStorage = Ext.getCmp("autoSignAfterPutInStorage").getValue(); @@ -4099,6 +4121,7 @@ isEnableTousseUnReturnWarn: isEnableTousseUnReturnWarn, loginUserDefaultOpRecipient: loginUserDefaultOpRecipient, quickJumpOperationTousseOp: quickJumpOperationTousseOp, + tousseOperationTimeLimit: tousseOperationTimeLimit, dashboardsRefreshFrequency: dashboardsRefreshFrequency, autoSignAfterPutInStorage: autoSignAfterPutInStorage, quickJumpGroupStorage: quickJumpGroupStorage, @@ -4396,12 +4419,12 @@ } if (supplyRoomConfig.urgentBroadcast) { Ext.getCmp('urgentBroadcast').setValue(supplyRoomConfig.urgentBroadcast); - if(supplyRoomConfig.urgentBroadcast == '是'){ + if (supplyRoomConfig.urgentBroadcast == '是') { Ext.getCmp("urgentBroadcastFrequencyBox").show(); - }else { + } else { Ext.getCmp("urgentBroadcastFrequencyBox").hide(); } - }else { + } else { Ext.getCmp("urgentBroadcastFrequencyBox").hide(); } if (supplyRoomConfig.urgentBroadcastFrequency) { @@ -4472,6 +4495,11 @@ } Ext.getCmp('quickJumpOperationTousseOp').setValue(supplyRoomConfig.quickJumpOperationTousseOp || '无'); Ext.getCmp('quickJumpGroupStorage').setValue(supplyRoomConfig.quickJumpGroupStorage || '库存查看'); + + //GDSRMYY-578:器械流转时限(小时) + if (sstsConfig.displayModeOfInstrumentRoomGoodsManagement == 1) { + Ext.getCmp('tousseOperationTimeLimit').setValue(supplyRoomConfig.tousseOperationTimeLimit); + } } }); Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagementForMode1.jsp (revision 37491) @@ -0,0 +1,107 @@ +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier"%> +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig"%> +<%@page import="com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ include file="/common/includeExtJs4_2.jsp"%> +<%@ page import="com.forgon.tools.SpringBeanManger" %> +<% + String userName = AcegiHelper.getLoginUser().getUserFullName(); + request.setAttribute("userName",userName); + + SupplyRoomConfigManager supplyRoomConfigManager = (SupplyRoomConfigManager)SpringBeanManger.getBean("supplyRoomConfigManager"); + SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); + //是否启用签收 + request.setAttribute("isEnableTousseOpSign",supplyRoomConfig.getIsEnableTousseOpSign()); +%> + + + +仪器班物品 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js =================================================================== diff -u -r37335 -r37491 --- ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 37335) +++ ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 37491) @@ -370,6 +370,8 @@ enableSplitPermissionsOfSurgicalInstrumentsManagement:true, //是否启用生物监测结果的提示 enableBiologicalMonitoringOfAllTousses:true, + //仪器班物品管理显示模式 + displayModeOfInstrumentRoomGoodsManagement:1, //PDA桌面图标别名设置(GDSRMYY-581) aliasNameOfPDADesktopIcons:{"instrumentGoodsManagement":"v1"} } \ No newline at end of file