Index: ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js =================================================================== diff -u -r37356 -r37396 --- ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js (.../config.js) (revision 37356) +++ ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js (.../config.js) (revision 37396) @@ -158,6 +158,8 @@ notAllowBlankFieldsOfOperationReservationForm:["operationRoom","operationTime","consoleName"], //卡迪斯智能货柜开口配置 kardexContainerOpeningConfig:[['三号开口','S01-1'],['五号开口','S01-2'],['六号开口','S01-3'],['八号开口','S01-4']], + //物品科室共用设置扩展功能 + extendedFunctionalityOfGoodsDepartShareConfig:["warehousePosition"], //外来器械默认申请科室配置 enableForeignTousseApplyDepartment:true } \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r37356 -r37396 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 37356) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 37396) @@ -34,7 +34,6 @@ hideDeviceMaintenaceCusReport = true; } } - //高级视图-消毒供应管理树型目录菜单数组(更换为数组格式,以便于方便以后有新菜单需求插入到中间) var DisinfectsystemTreeData = []; DisinfectsystemTreeData.push({ @@ -1033,6 +1032,7 @@ {hidden :SSTS_RecyclePrint_Menu,text:"科室分组设置",href:WWWROOT+'/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:"回收科室分组设置",href:WWWROOT+'/disinfectsystem/basedatamanager/departmentgroup/departmentgroupView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:""+reviewViewText2+"科室分组设置",href:encodeURI(WWWROOT+'/disinfectsystem/basedatamanager/departmentgroupOption/departmentgroupOptionView.jsp?type='+departmentGroupOption_REVIEWE),hrefTarget:linkTarget,leaf:true}, + {hidden :!sstsConfig.enableOperationReservationShippedToTraysOfKardexContainer,text:"器械包关联设置",href:WWWROOT+'/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:"手术器械科室分组设置",href:WWWROOT+'/disinfectsystem/basedatamanager/departmentgroup/operationTousse/gridView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:"物品科室共用配置",href:WWWROOT+'/disinfectsystem/goodsDepartShareConfig/goodsDepartShareConfigView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_UseRecordConvertConfig_Manager,text:"使用记录转换配置",href:WWWROOT+'/disinfectsystem/basedatamanager/useRecordConvertConfig/useRecordConvertConfigView.jsp',hrefTarget:linkTarget,leaf:true}, Index: ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationInvoiceView.js =================================================================== diff -u -r37356 -r37396 --- ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationInvoiceView.js (.../operationReservationInvoiceView.js) (revision 37356) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationInvoiceView.js (.../operationReservationInvoiceView.js) (revision 37396) @@ -60,6 +60,102 @@ editRecord(data['id']); } +//BJDXZLYY-46:智能货柜查询 +function showOperationReservationStorageTousse(id){ + var operationReservationStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectsystem/operationReservationAction!loadOperationReservationStorageTousse.do', + method : 'POST' + }), + baseParams : {id : id}, + reader : new Ext.data.JsonReader({ + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'showTousseName',mapping : 'showTousseName'}, + {name : 'barcode',mapping : 'barcode'}, + {name : 'storageLocation',mapping : 'storageLocation'}, + {name : 'validUntilStr',mapping : 'validUntilStr'} + ]) + }); + operationReservationStore.load(); + + var selectModel = new top.Ext.grid.CheckboxSelectionModel(); + + var operationReservationGrid = new top.Ext.grid.GridPanel({ + id :'operationReservationlGrid', + store: operationReservationStore, + cm: new top.Ext.grid.ColumnModel([selectModel, + { + menuDisabled: true, + header : "器械包名称", + width:250, + dataIndex : 'showTousseName' + },{ + menuDisabled: true, + header : "器械包条码", + width:80, + dataIndex : 'barcode' + },{ + menuDisabled: true, + header : "抽屉名称", + width:130, + dataIndex : 'storageLocation' + },{ + menuDisabled: true, + header : "失效日期", + width:120, + dataIndex : 'validUntilStr' + } + ]), + sm:selectModel, + viewConfig: {forceFit:true}, + height: 240, + frame : false + }); + + var configWin = new top.Ext.Window({ + id: 'configWin', + layout: 'border', + title: '智能货柜查询结果', + width: 700, + height: 430, + border: false, + plain: true, + modal: true, + buttonAlign:'center', + items: [{ + region: 'center', + width: 500, + layout: 'fit', + items: [operationReservationGrid] + }], + buttons: [{ + text: '保存', + handler: function () { + var records = operationReservationGrid.getSelectionModel().getSelections(); + if(records.length > 0){ + var orgUnitCoding = top.Ext.getCmp('orgUnitCoding').getValue(); + for(var i=0;i= 0){ + if(operationReservation.deliverStatus == '部分发货' || operationReservation.deliverStatus == '待发货'){ + hiddenOperationReservation = false; + } + } + } var form = new top.Ext.FormPanel({ id : 'recyclingApplicationForm', frame : true, @@ -1890,6 +2000,12 @@ ] }], buttons : [{ + text : '智能货柜查询', + hidden:hiddenOperationReservation, + handler : function() { + showOperationReservationStorageTousse(operationReservation.id); + } + },{ text : '保存', disabled : committedStatus ? false : true,//未提交则保存按钮置灰 id:'saveButton', Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.jsp (revision 37396) @@ -0,0 +1,31 @@ +<%@page import="java.util.Date"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<% + request.setAttribute("userName",AcegiHelper.getLoginUser().getUserFullName()); + request.setAttribute("orgunit",AcegiHelper.getLoginUser().getCurrentOrgUnitName()); + request.setAttribute("orgUnitCoding",AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + request.setAttribute("today", dateFormat.format(new Date())); +%> + + + +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ include file="/common/includeExtJs4_2.jsp"%> + +器械包关联设置 + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.js (revision 37396) @@ -0,0 +1,182 @@ +var listStore; +var departGroupGrid; +//修改器械包关联设置 +function modify(v, data) { + editConfig(data); +} + +//根据名称过滤 +function search(listStore) { + var searchColumns = ''; + Ext4.getCmp('searchMenu').items.each(function (item) { + if (item.checked) { + searchColumns += item.name + ';'; + } + }); + searchColumns = searchColumns.substring(0, searchColumns.length - 1); + listStore.proxy.extraParams.spell = Ext4.getCmp('searchKeyWord').getValue(); + listStore.proxy.extraParams.searchColumns = searchColumns; + listStore.loadPage(1); + listStore.reload(); + Ext4.getCmp('searchKeyWord').setValue(''); +} + +function moveUpOrDown(id, type) { + var orderType = ''; + if (type == 0 || type == '0') { + orderType = 'up'; + } else { + orderType = 'down'; + } + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/tousseAssociationAction!sortTousseAssociation.do', + params: { id: id, orderType: orderType }, + success: function (response, options) { + var result = Ext4.JSON.decode(response.responseText); + var success = result.success; + if (true != success) { + showResult(result.message); + return; + } else { + showResult('排序成功!'); + listStore.load(); + } + }, + failure: function (response, options) { + var result = Ext4.JSON.decode(response.responseText); + showResult(result.message); + } + }); +} + +function moveUpDown(v, p, record) { + var html = ''; + html += '向上移动 '; + html += ''; + html += '向下移动'; + return html; +} + +Ext4.onReady(function () { + Ext4.QuickTips.init(); + var columns = [ + { header: "名称", dataIndex: 'name', width: 100, renderer: modifyRecord }, + { header: "器械包", dataIndex: 'tousseDefinitionNames', width: document.body.clientWidth - 530, sortable: false }, + { header: "备注", dataIndex: 'remark', width: 300, sortable: false }, + { header: "排序", dataIndex: 'sequence', width: 80, sortable: false, renderer: moveUpDown }, + ]; + var tbar = [{ + text: '添加', + iconCls: 'btn_ext_application_add', + handler: function () { + showAddOrEditWindow(); + } + }, '-', { + text: '修改', + iconCls: 'btn_ext_application_edit', + handler: function () { + var selectedRecords = departGroupGrid.getSelectionModel().getSelection(); + var selectedCount = departGroupGrid.getSelectionModel().getCount(); + if (selectedCount < 1) { + showResult("请选择要修改的数据"); + } else if (selectedCount > 1) { + showResult("只能修改一条数据"); + } else { + editConfig(selectedRecords[0]); + } + } + }, '-', { + text: '删除', + iconCls: 'btn_ext_application_del', + handler: function () { + deleteConfig(departGroupGrid); + } + }, '->', { + width: 70, + text: '搜索列', + id: 'searchButton', + menu: { + id: 'searchMenu', + items: [{ + xtype: 'menucheckitem', + name: 'name', + checked: true, + text: '名称' + }] + }, + listeners: { + focus: function (thisButton, The, eOpts) { + Ext4.getCmp('searchKeyWord').focus(); + } + } + }, { + xtype: 'textfield', + name: 'searchKeyWord', + id: 'searchKeyWord', + enableKeyEvents: true, + listeners: { + keydown: function (thisTextfield, e, eOpts) { + if (e.keyCode == 13) { + search(listStore); + } + } + } + }, { + text: '搜索', + handler: function (thisButton) { + search(listStore); + } + }]; + + listStore = new Ext4.data.JsonStore({ + pageSize: 20, + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/tousseAssociationAction!loadTousseAssociationList.do', + reader: { + root: 'data', + totalProperty: 'count' + }, + extraParams: {} + }, + fields: [ + { name: 'id' }, + { name: 'name' }, + { name: 'remark' }, + { name: 'sequence' }, + { name: 'tousseDefinitionIds' }, + { name: 'tousseDefinitionNames' } + ] + }); + + listStore.loadPage(1); + + departGroupGrid = new Ext4.grid.GridPanel({ + title: '器械包关联设置管理', + columns: columns, + frame: false, + autoScroll: false, + store: listStore, + tbar: tbar, + dockedItems: [{ + xtype: 'pagingtoolbar', + store: listStore, // same store GridPanel is using + dock: 'bottom', + displayInfo: true + }], + viewConfig: { + autoFill: true + }, + selModel: new Ext4.selection.CheckboxModel() + }); + + new Ext4.container.Viewport({ + layout: 'border', + items: [{ + region: 'center', + layout: 'fit', + items: [departGroupGrid] + }] + }); + +}); \ No newline at end of file Index: ssts-web/src/main/webapp/js/common.js =================================================================== diff -u -r36959 -r37396 --- ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 36959) +++ ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 37396) @@ -4548,11 +4548,11 @@ } function setTousseItems(extHiddenElementId, extComboElementId, ids, names, tousseType, labelSeparator, callback) { var win; + var separator = labelSeparator || ';'; //确定保存 - function saveSelect(extHiddenElementId, extComboElementId, labelSeparator, callback) { + function saveSelect(extHiddenElementId, extComboElementId, callback) { var idsArr = []; var nameArr = []; - var separator = labelSeparator || ';'; for (var i = 0; i < select_TousseGridStore.getCount(); i++) { var record = select_TousseGridStore.getAt(i); idsArr.push(record.get('id')); @@ -4796,7 +4796,7 @@ id: 'saveBtn2', text: '确定', handler: function () { - saveSelect(extHiddenElementId, extComboElementId, labelSeparator, callback); + saveSelect(extHiddenElementId, extComboElementId, callback); } }, { id: 'cancleBtn2', @@ -4822,8 +4822,8 @@ win.show(); if (names !== '') { - var nameArr = names.split(labelSeparator); - var idsArr = ids.split(labelSeparator); + var nameArr = names.split(separator); + var idsArr = ids.split(separator); for (var i = 0; i < nameArr.length; i++) { var record = new idAndNameRecord({ id: idsArr[i], Index: ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/menu/menuconfigure.js =================================================================== diff -u -r37356 -r37396 --- ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/menu/menuconfigure.js (.../menuconfigure.js) (revision 37356) +++ ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/menu/menuconfigure.js (.../menuconfigure.js) (revision 37396) @@ -720,6 +720,7 @@ {hidden :!sstsConfig.enableOperationReservationShippedToTraysOfKardexContainer,text:"卡迪斯货柜连接管理",href:WWWROOT+'/disinfectsystem/basedatamanager/kardexContainerConnection/kardexContainerConnectionView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:"回收科室分组设置",href:WWWROOT+'/disinfectsystem/basedatamanager/departmentgroup/departmentgroupView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:"审核科室分组设置",href:encodeURI(WWWROOT+'/disinfectsystem/basedatamanager/departmentgroupOption/departmentgroupOptionView.jsp?type='+departmentGroupOption_REVIEWE),hrefTarget:linkTarget,leaf:true}, + {hidden :!sstsConfig.enableOperationReservationShippedToTraysOfKardexContainer,text:"器械包关联设置",href:WWWROOT+'/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:"物品科室共用配置",href:WWWROOT+'/disinfectsystem/goodsDepartShareConfig/goodsDepartShareConfigView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_UseRecordConvertConfig_Manager,text:"使用记录转换配置",href:WWWROOT+'/disinfectsystem/basedatamanager/useRecordConvertConfig/useRecordConvertConfigView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_RecyclePrint_Menu,text:"器械包回收备注设置",href:WWWROOT+'/systemmanage/httpOption.mhtml?listId=recycleItem_remark',hrefTarget:linkTarget,leaf:true}, Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousseAssociation/tousseAssociationForm.js (revision 37396) @@ -0,0 +1,185 @@ +var configWin; +var departWin; +var formPanel; + +function cancel() { + configWin.close(); +} + +//修改器械包 +function editConfig(data) { + showAddOrEditWindow(data); + if (!Ext.isEmpty(data)) { + top.Ext.getCmp('id').setValue(data.id); + top.Ext.getCmp('tousseDefinitionIds').setValue(data.tousseDefinitionIds); + top.Ext.getCmp('tousseDefinitionNames').setValue(data.tousseDefinitionNames); + top.Ext.getCmp('name').setValue(data.name); + top.Ext.getCmp('remark').setValue(data.remark); + } +} + +//删除器械包 +function deleteConfig(grid) { + var selectedRecords = grid.getSelectionModel().getSelection(); + var selectedCount = grid.getSelectionModel().getCount(); + var ids = []; + if (selectedCount < 1) { + showResult("请选择要删除的数据"); + } else { + for (var i = 0, len = selectedRecords.length; i < len; i++) { + ids[i] = selectedRecords[i].data['id']; + } + Ext4.MessageBox.confirm("请确认", "确定要删除选中的信息吗?", function (button, text) { + if ("yes" == button) { + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/tousseAssociationAction!deleteTousseAssociation.do', + params: { ids: ids.join(';') }, + success: function (response, options) { + var result = Ext4.JSON.decode(response.responseText); + var success = result.success; + if (true != success) { + showResult(result.message); + return; + } else { + showResult('删除成功!'); + listStore.load(); + } + }, + failure: function (response, options) { + var result = Ext4.JSON.decode(response.responseText); + showResult(result.message); + } + }); + } + }); + } +} + +//保存器械包 +function saveConfig() { + formPanel.form.submit({ + url: WWWROOT + '/disinfectSystem/baseData/tousseAssociationAction!saveOrUpdateTousseAssociation.do', + method: 'POST', + waitMsg: '正在保存数据,请稍候', + timeout: 600000, + waitTitle: '提交表单', + success: function (form, action) { + configWin.close(); + listStore.load(); + showResult('保存成功'); + }, + failure: function (form, action) { + if (action.result.msg) { + showResult(action.result.msg); + } else if (action.result.message) { + showResult(action.result.message); + } else { + showResult('保存失败'); + } + } + }); +} + +//显示器械包的窗口 +function showAddOrEditWindow() { + formPanel = new top.Ext.FormPanel({ + id: 'configForm', + frame: true, + labelSeparator: ':', + bodyStyle: 'padding:5px 5px 0px 5px;', + width: 600, + buttonAlign: 'center', + items: [{ + xtype: 'hidden', + id: 'tousseDefinitionIds', + name: 'tousseDefinitionIds' + }, { + xtype: 'hidden', + id: 'id', + name: 'id' + }, { + layout: 'column', + labelWidth: 70, + id: 'tousseAssociationForm', + items: [{ + columnWidth: .8, + layout: 'form', + labelAlign: 'right', + items: [{ + xtype: 'textfield', + fieldLabel: '名称', + id: 'name', + name: 'name', + allowBlank: false, + anchor: '98%' + }, { + xtype: 'textarea', + fieldLabel: '器械包', + id: 'tousseDefinitionNames', + name: 'tousseDefinitionNames', + height: 200, + allowBlank: false, + readOnly: true, + anchor: '98%' + }, { + xtype: 'textarea', + fieldLabel: '备注', + id: 'remark', + name: 'remark', + height: 100, + anchor: '98%' + }] + }, { + columnWidth: .2, + layout: 'form', + style: 'margin-left:10px', + items: [{ + xtype: 'button', + text: '选择器械包', + listeners: { + click: function () { + var tousseDefinitionNames = top.Ext.getCmp('tousseDefinitionNames').getValue(); + var tousseDefinitionIds = top.Ext.getCmp("tousseDefinitionIds").getValue(); + setTousseItems('tousseDefinitionIds', 'tousseDefinitionNames', tousseDefinitionIds, tousseDefinitionNames, '器械包'); + } + } + }] + }] + }], + buttons: [{ + id: 'saveBtn', + text: '保存', + handler: function () { + if (formPanel.getForm().isValid()) { + saveConfig(); + } else { + showResult('请填写表单!'); + return false; + } + } + }, { + text: '取消', + handler: cancel + }] + }); + + configWin = new top.Ext.Window({ + id: 'configWin', + layout: 'border', + title: '添加器械包', + width: 700, + height: 430, + border: false, + plain: true, + modal: true, + items: [{ + region: 'center', + width: 600, + layout: 'fit', + items: [formPanel] + }] + }); + + configWin.show(); +} +