Index: ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKitsForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKitsForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKitsForm.js (revision 25171) @@ -0,0 +1,437 @@ +/* +* Annie 外来器械包绑定表单 +* */ +var windowObj; //窗口 +var formObj; //表单 +var nodeDefinitionsStore; +/*删除*/ +function deleteItem(ids){ + var count = nodeDefinitionsStore.getCount(); + var nodes; + for (var i = 0; i < count.length; i++) { + nodes = nodeDefinitionsStore.data.items[i]; + } + nodeDefinitionsStore.remove(nodes); + +} +function addAndEditRecord(id) { + //按钮 + function renderDeleteButton(v,p,record){ + return ""; + } + + /*保存*/ + function saves(){ + var name =top.Ext4.getCmp('name').getValue(); + var suppler =top.Ext4.getCmp('suppler').getValue(); + var remark = top.Ext4.getCmp('remark').getValue(); + var foreignTousseName =top.Ext4.getCmp('foreignTousseName').getValue(); + var data; + var itme=[]; + var count = nodeDefinitionsStore.getCount(); + if(count > 0){ + for (var i = 0; i < count.length; i++) { + data = nodeDefinitionsStore.data.items[i]; + itme.push({id:data.data.id,name:data.data.name,suppler:data.data.suppler,packageType:data.data.packageType}) + + } + }else{ + showResult('没有添加器械包数据'); + return false; + } + if(!name){ + showResult('器械包名称不能为空'); + return false; + + } + + if(id==''){ + if(!suppler){ + showResult('请选择供应商'); + return false; + } + if(!foreignTousseName){ + showResult('请选择器械包'); + return false; + } + } + top.Ext4.Ajax.request({ + url:WWWROOT+'disinfectSystem/foreignTousseCombinationController/saveForeignTousseCombination.mhtml', + params: { + id:id, + name:name, + remark:remark, + foreignTousseList:JSON.stringify(itme) + }, + success: function(response, options) { + var result = top.Ext4.decode(response.responseText); + if(result.success && result.data){ + showResult(action.result.message); + } + grid.reloadData(); + windowObj.close(); + }, + + }) + + } + /*选择供应商取值*/ + var appSupplerJsonStore = new top.Ext4.data.Store({ + pageSize: 50, + autoLoad:false, + proxy : { + type : 'ajax', + url:WWWROOT+'/disinfectSystem/baseData/sterilizerController/getAllSterilizer.mhtml', + reader : { + type : 'json', + totalProperty : 'totalCount', + root : 'rows' + } + }, + fields : [ + {name : 'id',mapping : 'id'}, + {name : 'name',mapping : 'name'} + ], + listeners:{ + beforeload:function(store, operation, eOpts){ + var suppler =top.Ext4.getCmp('suppler').getValue();//供应商名称 + var params = { + supplierName:suppler, + supplierType:'外来器械租用商' + }; + Ext4.apply(store.proxy.extraParams, params); + + } + } + }); + + /*Annie 选择器械包名称*/ + var appSupplierNameJsonStore = new top.Ext4.data.Store({ + pageSize: 50, + autoLoad:true, + proxy : { + type : 'ajax', + url:WWWROOT+'/disinfectSystem/baseData/tousseDefinitionController/getForeignTousseDefinitionNames.mhtml', + reader : { + type : 'json', + totalProperty : 'totalCount', + root : 'rows' + } + }, + fields : [ + {name : 'id',mapping : 'id'}, + {name : 'packageType',mapping:'packageType'}, + {name : 'name',mapping : 'name'} + ], + listeners:{ + beforeload:function(store, operation, eOpts){ + var foreignTousseName =top.Ext4.getCmp('foreignTousseName').getValue(); + var params = { + supplierName:foreignTousseName + }; + Ext4.apply(store.proxy.extraParams, params); + } + } + }); + + /** + * 转换records,因为Ext4的combo的select事件有点小bug,第二个参数records在API写的是一个数组类型,但是在某种情况下他是一个对象(即:手动输入一个Store存在的数据时),因此写下此函数,转换一下 + * @param records + * @returns + */ + function transformRecords(records) { + var record = records; + if (records && records.length > 0){ + record = records[0]; + } + return record; + } + + top.Ext4.define('NodeModel', { + extend : 'top.Ext4.data.Model', + fields: [ + {name : 'id'}, + {name : 'name'}, + {name : 'spelling'}, + {name : 'wbcode'}, + {name : 'packageType'}, + {name : 'suppler'}, + {name : 'configDateStr'}, + {name : 'configUser'}, + {name : 'remark'}] + }); + //请求明细接口 + nodeDefinitionsStore = top.Ext4.create('top.Ext4.data.Store', { + model : "NodeModel" + }); + + var InstrumentComnTreeGrid = top.Ext4.create('top.Ext4.grid.Panel', { + useArrows: true, + multiSelect: false, + columnLines: true, + rowLines: true, + cls: 'no-leaf-icons', + store : nodeDefinitionsStore, + viewConfig : {loadMask : {msg : '正在加载,请稍候...'}}, + tbar:[ + { + text: "选择供应商:" + }, + { + xtype : 'combo', + id : 'suppler', + name : 'suppler', + queryParam : 'spell', + minChars : 0, + valueField : 'name', + displayField : 'name', + width : 250, + listConfig: {width : 300}, + matchFieldWidth: false, + store : appSupplerJsonStore, + lazyInit : true, + triggerAction : 'all', + hideTrigger : false, + typeAhead : false, + forceSelection:false, + allowBlank : true, + pageSize : 100, + listeners : { + select:function(combo, records, index){ + appSupplierNameJsonStore.load(); + var foreignTousseNameComp = top.Ext4.getCmp("foreignTousseName"); + var counts =appSupplierNameJsonStore.getCount() + if(counts >0 ){ + foreignTousseNameComp.setValue(appSupplierNameJsonStore.getAt(0).getData().name); + top.Ext4.getCmp('packageType1').setValue(appSupplierNameJsonStore.getAt(0).getData().packageType); + top.Ext4.getCmp('ids').setValue(appSupplierNameJsonStore.getAt(0).getData().id); + }else{ + foreignTousseNameComp.setValue(''); + } + appSupplerJsonStore.load(); + }, + specialkey: function(field, event, eOpts) { + if (event.getKey() === event.TAB) { + event.stopEvent(); + } + } + } + }, + {text:"选择器械包"}, + + { + xtype : 'combo', + id : 'foreignTousseName', + name : 'foreignTousseName', + queryParam : 'spell', + minChars : 0, + valueField : 'name', + displayField : 'name', + width : 220, + listConfig: {width : 300}, + matchFieldWidth: false, + store : appSupplierNameJsonStore, + lazyInit : true, + triggerAction : 'all', + hideTrigger : false, + typeAhead : false, + forceSelection:false, + allowBlank : true, + pageSize : 100, + listeners : { + select:function(combo, records, index){ + top.Ext4.getCmp('ids').setValue(records[0].get('id')); + top.Ext4.getCmp('packageType1').setValue(records[0].get('packageType')); + appSupplerJsonStore.load(); + var supplerComp = top.Ext4.getCmp("suppler"); + supplerComp.setValue(''); + appSupplierNameJsonStore.load(); + + }, + specialkey: function(field, event, eOpts) { + if (event.getKey() === event.TAB) { + event.stopEvent(); + } + } + } + },{ + xtype:'hidden', + id : 'packageType1', + name : 'packageType' + }, + { + xtype:'hidden', + id : 'ids', + name : 'id' + }, + { + text : '添加', + width : 60, + iconCls : 'btn_ext_add', + handler:function(){ + var suppler=top.Ext4.getCmp('suppler').getRawValue(); + var foreignTousseName =top.Ext4.getCmp('foreignTousseName').getRawValue() + var packageType = top.Ext4.getCmp('packageType') + if(!suppler){ + showResult('请选择供应商'); + return false; + } + if(!foreignTousseName){ + showResult('请选择器械包'); + return false; + } + nodeDefinitionsStore.add({ + "id":top.Ext4.getCmp('ids').getValue(), + "name":top.Ext4.getCmp('foreignTousseName').getRawValue(), + "packageType":top.Ext4.getCmp('packageType1').getValue(), + "suppler":top.Ext4.getCmp('suppler').getValue()}); + + } + }, + ], + columns: [{ + header:'供应商', dataIndex:'suppler', width: 200, sortable: false, menuDisabled : true + },{ + header:'器械包名称', dataIndex:'name', width: 200, sortable: false, menuDisabled : true + },{ + header:'包装类型', dataIndex:'packageType', width: 200, sortable: false, menuDisabled : true + },{ + header:'删除', dataIndex:'types', width: 150, sortable: false, menuDisabled : true, renderer:renderDeleteButton + }] + }); + + + formObj = top.Ext4.create('top.Ext4.form.Panel', { + layout : 'vbox', + frame : true, + border : 0, + labelSeparator : ': ', + bodyPadding : '5 5 0', + autoScroll : true, + buttonAlign : 'center', + buttons : [{ + text : '取消', + handler : function() { + windowObj.close(); + } + },{ + id:'save', + name:'save', + text : '保存', + handler : function(){ + saves() + } + }], + fieldDefaults : { + labelAlign : 'right', + labelWidth : 80 + }, + items : [{ + xtype:'hidden', + id:'items', + name:'items' + },{ + xtype : 'fieldset', + height : 120, + width : '100%', + layout : 'column', + title : '基础数据', + items : [{ + layout : 'form', + columnWidth : .33, + bodyStyle : {background : '#EBF5EC', border : 0}, + items : [{ + xtype : 'textfield', + border : 0, + fieldLabel : '器械包名称', + name : "name", + id : "name", + enableKeyEvents : true, + listeners : { + + } + }] + },{ + layout : 'form', + columnWidth : .33, + bodyStyle : {background : '#EBF5EC', border : 0}, + items : [{ + xtype : 'textfield', + border : 0, + fieldLabel : '拼音码', + name : "spelling", + id : "spelling", + enableKeyEvents : true, + listeners : { + + } + }] + },{ + layout : 'form', + columnWidth : .33, + bodyStyle : {background : '#EBF5EC', border : 0}, + items : [{ + xtype : 'textfield', + border : 0, + fieldLabel : '五笔码', + name : "wbcode", + id : "wbcode", + readOnly : false, + enableKeyEvents : true, + listeners : { + + } + }] + },{ + xtype: 'textareafield', + columnWidth : 1, + width: 509, + fieldLabel: '备注', + labelAlign: 'right', + id:'remark' + + }] + },{ + xtype : 'container', + flex : 1, + width : '100%', + layout : 'fit', + items : InstrumentComnTreeGrid + }] + }); + windowObj = top.Ext4.create('top.Ext4.window.Window', { + layout : 'fit', + title : '組合外來器械包', + width : 800, + height : 500, + resizable :false, + modal : true, + border : false, + plain : true, + items : formObj + }); + windowObj.show(); + if(!isUndefinedOrNullOrEmpty(id)){ + //页面加载请求数据 + top.Ext4.Ajax.request({ + url : WWWROOT+'/disinfectSystem/foreignTousseCombinationController/loadDataById.mhtml?id='+id, + success : function(response, options) { + var result = top.Ext4.decode(response.responseText); + if(result.success && result.data){ + //渲染数据 + top.Ext4.getCmp('name').setValue(result.data.name); + top.Ext4.getCmp('spelling').setValue(result.data.spelling); + top.Ext4.getCmp('wbcode').setValue(result.data.wbcode); + top.Ext4.getCmp('remark').setValue(result.data.remark); + if(result.data.foreignTousseList && result.data.foreignTousseList.length > 0){ + for (var i = 0; i < result.data.foreignTousseList.length; i++) { + nodeDefinitionsStore.add(result.data.foreignTousseList[i]); + } + } + } + }, + failure : function(response, options) { + } + }); + } +} \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menu.jsp =================================================================== diff -u -r25160 -r25171 --- ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 25160) +++ ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 25171) @@ -2015,6 +2015,16 @@ /** + * 《外来器械包组合》菜单 + */ +var SSTS_ForeignTousseApplication_Combo = true; + + if(sstsConfig.SSTS_ForeignTousseApplication_Combo){ + SSTS_ForeignTousseApplication_Combo = false; + } + + +/** * 《班次类型配置》权限 */ var SSTS_ShiftConfig_manager = true; Index: ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js =================================================================== diff -u -r23952 -r25171 --- ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 23952) +++ ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 25171) @@ -281,5 +281,7 @@ //灭菌界面显示生物监测 showBiologicalMonitoringStatus:true, //点击器械包时显示注意事项 - showTousseNoteOnClickTousse:true + showTousseNoteOnClickTousse:true, +// 控制外来器械包绑定菜单显示隐藏 + SSTS_ForeignTousseApplication_Combo:true } \ No newline at end of file Index: ssts-web/src/main/webapp/common/include_ForgonGrid4.2.5_css.jsp =================================================================== diff -u -r17181 -r25171 --- ssts-web/src/main/webapp/common/include_ForgonGrid4.2.5_css.jsp (.../include_ForgonGrid4.2.5_css.jsp) (revision 17181) +++ ssts-web/src/main/webapp/common/include_ForgonGrid4.2.5_css.jsp (.../include_ForgonGrid4.2.5_css.jsp) (revision 25171) @@ -11,4 +11,5 @@ - \ No newline at end of file +<%----%> + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKits.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKits.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKits.js (revision 25171) @@ -0,0 +1,123 @@ +/*Annie +* 外来器械包绑定 +* */ +var entityName = '外來器械包組合'; +var grid; + +function rendererFun(value, metaData, record, rowIndex, colIndex, store, view) { + var id = record.data.id; + // console.log(record) + return "" + value + ""; +} + +//删除 +function deleteCombinationKits(gird){ + var records = grid.getSelectionModel().selected.items; + if (records.length == 0) { + showResult("请选择要删除的记录!"); + return false; + } + var ids = null; + for (var i = 0, len = records.length; i < len; i++) { + if (ids == null) { + ids = records[i].data['id']; + } else { + ids = ids + ';' + records[i].data['id']; + } + } + top.Ext4.Msg.confirm( + "请确认", + "是否确定要删除选中的记录?", + function(button) { + if ('yes' == button) { + top.Ext4.Ajax.request({ + url : WWWROOT+'/disinfectSystem/foreignTousseCombinationController/deleteDataByIds.mhtml?ids='+ ids, + success : function(response, options) { + var result = top.Ext4.decode(response.responseText); + if (result && result.success) { + showResult('删除成功!'); + grid.reloadData(); + grid.getSelectionModel().deselectAll(); + }else{ + showResult(result.message); + } + }, + failure : function(response, options) { + showResult('对不起!服务器正忙,删除失败'); + } + }); + } + }); +} +Ext4.onReady(function() { + + var fields = [ + {name : 'id', mapping : 'id'}, + {name : 'name', mapping : 'name'}, + {name : 'spelling', mapping : 'spelling'}, + {name : 'wbcode', mapping : 'wbcode'}, + {name : 'configUser', mapping : 'configUser'}, + {name : 'remark', mapping : 'remark'} + ]; + + var columns = [{ + header: "器械包名称", dataIndex: 'name', width: 470, minWidth:70, maxWidth:470, filterable: true, filter: {type: 'string'}, renderer : rendererFun + },{ + header: "拼音码", dataIndex: 'spelling', width: 300, minWidth:70, maxWidth:300, filterable: true, filter: {type: 'string'} + },{ + header: "五笔码", dataIndex: 'wbcode', width: 200, minWidth: 300, filterable: true, filter: {type: 'string'} + },{ + header: "配置人", dataIndex: 'configUser', width: 300, minWidth: 300, filterable: true, filter: {type: 'numeric'} + },{ + header: "备注", dataIndex: 'remark', width: 300, minWidth: 300, filterable: true, filter: {type: 'numeric'} + }]; + + grid = Ext4.create('ExtJs.forgon4.Grid', { + title : entityName, + dataUrl:'http://rap2api.taobao.org/app/mock/85153/disinfectSystem/grid/gridController/getGrid.mhtml', + fields : fields, + columns : columns, + sorters : { property : 'transitionTime', direction: 'DESC'}, + extraParams : {}, //如果你要自定义参数,这里一定要先给一个空的对象,要不然会报空异常 + showRightClick : false, + tbar : [{ + text : '添加', + width:60, + iconCls : 'btn_ext_add', + handler : function() { + addAndEditRecord(''); + } + }, + { + text : '修改', + iconCls : 'btn_ext_application_edit', + handler : function() { + var records = grid.getSelectionModel().selected.items; + if (records == null || records == "" || records == undefined || records.length == 0) { + showResult("请选择要修改的记录!"); + return false; + } + if (records.length > 1) { + showResult("一次只能修改一条记录!"); + return false; + } + var id = records[0].data['id']; + addAndEditRecord(id); + grid.getSelectionModel().deselectAll(); + } + }, + { + text : '刪除', + iconCls : 'btn_ext_application_del', + handler : function() { + deleteCombinationKits(grid); + + } + }] + }); + + var viewport = Ext4.create('Ext4.Viewport', { + layout : 'fit', + items : grid + }); +}); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKitsView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKitsView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/CombinationKits/CombinationKitsView.jsp (revision 25171) @@ -0,0 +1,27 @@ +<%@page language="java" contentType="text/html; charset=UTF-8"%> +<%-- 引入JSP标签 --%> +<%@include file="/common/taglibs.jsp"%> +<%-- 引入ExtJs4.2.5框架 --%> +<%@include file="/common/include_ForgonGrid4.2.5_css.jsp"%> +<%@include file="/common/include_ForgonGrid4.2.5_Js.jsp"%> +<%@include file="/common/include_UseForgonGrid4_Js.jsp"%> + + + + <%-- 引入common.js --%> + + <%-- 引入语音插件 --%> + + <%-- 引入本身的js --%> + + + + + + 外来器械包组合 + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r25160 -r25171 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 25160) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 25171) @@ -36,7 +36,8 @@ {hidden :SSTS_ForeignTousseApplication_Menu,text:"外来器械包申请",href:WWWROOT+'/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.jsp?borrowing=true',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_borrow_Menu,text:"借物单管理",href:WWWROOT+'/disinfectsystem/borrow/borrowingTousseView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_borrowRecord_Menu,text:"科室互借管理",href:WWWROOT+'/disinfectsystem/borrowRecord/borrowRecordView.jsp',hrefTarget:linkTarget,leaf:true}, - {hidden :SSTS_Invoice_Sign,text:"物品签收",leaf:true} + {hidden :SSTS_Invoice_Sign,text:"物品签收",leaf:true}, + ] },{ text:"回收清点", @@ -65,7 +66,8 @@ hidden:SSTS_Wash_Menu, children:[ {hidden :SSTS_WashRecord_Menu,text:"清洗消毒记录",href:WWWROOT+'/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.jsp?editMode=true',hrefTarget:linkTarget,leaf:true}, - {hidden :SSTS_WashTransitionRecord_Menu,text:"清洗交接记录",href:WWWROOT+'/disinfectsystem/washanddisinfectmanager/washTransitionRecord/washTransitionRecordView.jsp?',hrefTarget:linkTarget,leaf:true} + // {hidden :SSTS_WashTransitionRecord_Menu,text:"清洗交接记录",href:WWWROOT+'/disinfectsystem/washanddisinfectmanager/washTransitionRecord/washTransitionRecordView.jsp?',hrefTarget:linkTarget,leaf:true} + {hidden :'',text:"清洗交接记录",href:WWWROOT+'/disinfectsystem/washanddisinfectmanager/washTransitionRecord/washTransitionRecordView.jsp?',hrefTarget:linkTarget,leaf:true} ] }]; @@ -727,10 +729,11 @@ {hidden :SSTS_ImportBaseData_manager,text:"导入导出基础数据",href:WWWROOT+'/disinfectsystem/basedatamanager/importbasedata/importBasedata.mhtml',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_IPAndOrgUnitMapping,text:"IP对应的默认科室配置",href:WWWROOT+'/disinfectsystem/basedatamanager/iPAndOrgUnitMapping/iPAndOrgUnitMappingView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_GoodsBindingConfig,text:"物品绑定",href:WWWROOT+ '/disinfectsystem/goodsBindingConfig/goodsBindingConfigView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :SSTS_ForeignTousseApplication_Combo,text:"外来器械包组合",href:WWWROOT+'/disinfectsystem/CombinationKits/CombinationKitsView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_GoodsFilterConfig,text:"物品黑白名单过滤设置",href:WWWROOT+'/disinfectsystem/goodFilterConfig/goodFilterTemplate.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_UrgentLevel_manager,text:"加急级别管理",href:WWWROOT+'/disinfectsystem/basedatamanager/urgentLevel/urgentLevelView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_OperationRoom_manager,text:"手术间管理",href:WWWROOT+'/disinfectsystem/basedatamanager/operationRoom/operationRoom.jsp',hrefTarget:linkTarget,leaf:true}, - {hidden :SSTS_ExpensiveGoods_Hidden_Menu || SSTS_ExpensiveGoodsWorkFlow_Hidden_Manager,text:"流程定义管理",href:WWWROOT+'/systemmanage/workFlow/workFlow.jsp',hrefTarget:linkTarget,leaf:true}, + {text:"流程定义管理",href:WWWROOT+'/systemmanage/workFlow/workFlow.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_ExpensiveGoods_Hidden_Menu || SSTS_ExpensiveGoodsWorkFloAuthorization_Hidden_Manager,text:"流程审批权限代理配置",href:WWWROOT+'/systemmanage/workFlow/workFlowAuthorize/workFlowApprovalAuthorization.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_UsedDoctor_manager,text:"常用医生设置",href:WWWROOT+'/disinfectsystem/basedatamanager/commonlyUsedDoctor/comUsedDoctorView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_Handover_manager,text:"交接模块管理",href:WWWROOT+'/disinfectsystem/basedatamanager/handover/handoverView.jsp',hrefTarget:linkTarget,leaf:true},