Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/containerForm.js =================================================================== diff -u -r25816 -r26414 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/containerForm.js (.../containerForm.js) (revision 25816) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/containerForm.js (.../containerForm.js) (revision 26414) @@ -64,13 +64,17 @@ xtype : 'hidden', name : 'departCode', id : 'departCode' + },{ + xtype : 'hidden',//科室编码隐藏域 + name : "bindDepartCodes", + id : "bindDepartCodes" }, { layout : 'column', - items : [ { + items : [{ columnWidth : 0.5, layout : 'form', labelWidth:80, - items : [ { + items : [{ xtype : 'textfield', fieldLabel : "条形码", name : "barcode", @@ -86,7 +90,6 @@ id : "containerName", anchor : '95%' },{ - xtype : 'combo', fieldLabel : '处理科室', id : 'departName', @@ -106,14 +109,29 @@ } } },{ - xtype : 'textfield', - fieldLabel : "绑定科室编码", - allowBlank : true, - name : "bindDepartCodes", - id : "bindDepartCodes", - anchor : '95%' - }] - }, { + xtype : 'combo', + fieldLabel : '灭菌方式', + id : 'sterilingMode', + name : 'sterilingMode', + width : 130, + valueField : 'value', + displayField : 'value', + hidden : isDisinfectionBasket, + store : sterilingModeStore, + allowBlank: true, + editable:false, + forceSelection : true, + triggerAction : 'all', + anchor : '95%', + listeners : { + select : function(combo, record, index) { + if(record.data.id == 0 && record.data.value == " "){ + top.Ext.getCmp("sterilingMode").setValue(''); + } + } + } + }] + },{ columnWidth : 0.5, layout : 'form', labelWidth : 80, @@ -174,31 +192,27 @@ forceSelection : true, triggerAction : 'all', anchor : '95%' - },{ - xtype : 'combo', - fieldLabel : '灭菌方式', - id : 'sterilingMode', - name : 'sterilingMode', - width : 130, - valueField : 'value', - displayField : 'value', - hidden : isDisinfectionBasket, - store : sterilingModeStore, - allowBlank: true, - editable:false, - forceSelection : true, - triggerAction : 'all', - anchor : '95%', - listeners : { - select : function(combo, record, index) { - if(record.data.id == 0 && record.data.value == " "){ - top.Ext.getCmp("sterilingMode").setValue(''); - } - } - } }] - } ] - } ], + },{ + columnWidth :1, + layout : 'form', + labelWidth : 80, + items : [{ + xtype : 'trigger', + fieldLabel : "绑定科室", + allowBlank : true, + name : "bindDepartNames", + id : "bindDepartNames", + msgTarget:'side', + readOnly:true, + onTriggerClick : function(){ + setDepartOrgUnit('bindDepartCodes' , 'bindDepartNames' , top.Ext.getCmp('bindDepartCodes').getValue()); + }, + triggerClass : 'x-form-search-trigger', + anchor : '97.5%' + }] + }] + }], buttons : [{ id : 'preview', hidden : SSTS_ContainerBarcode_Print, Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/containerView.jsp =================================================================== diff -u -r24682 -r26414 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/containerView.jsp (.../containerView.jsp) (revision 24682) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/containerView.jsp (.../containerView.jsp) (revision 26414) @@ -22,6 +22,7 @@ + Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/setDepartForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/setDepartForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/container/setDepartForm.js (revision 26414) @@ -0,0 +1,354 @@ +//科室与任务组grid表格的数据源 +var select_DepartsGridStore; +//删除 +function removeSelect_DepartItem(p) { + var records = top.Ext.getCmp('select_DepartsGrid').getSelectionModel().getSelections(); + if (records.length > 0) { + select_DepartsGridStore.remove(records[0]); + } +} +//删除多个 +function removeGridItem(supplyRoom){ + var obj = top.Ext.getCmp('select_DepartsGrid'); + var rows = obj.getSelectionModel().getSelections();// 返回值为 + var store = obj.getStore(); + if (rows.length == 0) { + showResult("请选择要删除的容器!"); + return false; + } + if (rows) { + for ( var i = 0; i < rows.length; i++) { + store.remove(rows[i]); + } + } +}; +/** + * 调用的入口函数、设置外来器械包的处理科室与任务组 + * @param extHiddenElementId 控件id,即隐藏域的id + * @param extComboElementId 控件id,即下拉框的id + * @param departsCodes 页面上传回来的科室编码,多个情况用"," + */ +function setDepartOrgUnit(extHiddenElementId, extComboElementId, departsCodes) { + + //科室的窗口 + var formWindowDeparts; + //确定保存 + function saveSelect(extHiddenElementId, extComboElementId) { + var valueArr = []; + var showArr = []; + for (var i = 0; i < select_DepartsGridStore.getCount(); i++) { + var record = select_DepartsGridStore.getAt(i); + var obj = {}; + // obj['departCode'] = record.get('departCode'); + // obj['departName'] = record.get('departName'); + valueArr.push(record.get('departCode')); + showArr.push(record.get('departName')); + } + if (valueArr.length != 0) { + // top.Ext.getCmp(extHiddenElementId).setValue(JSON.stringify(valueArr)); + top.Ext.getCmp(extHiddenElementId).setValue(valueArr.join(";")); + top.Ext.getCmp(extComboElementId).setValue(showArr.join(" ; ")); + } else { + top.Ext.getCmp(extHiddenElementId).setValue(""); + top.Ext.getCmp(extComboElementId).setValue(""); + } + select_DepartsGridStore.removeAll(); + formWindowDeparts.close(); + } + + //科室record + var departAndTaskGroupRecord = Ext.data.Record.create([{ + name: 'departCode' + }, + { + name: 'departName' + } + ]); + + /** + * 添加所选择的科室名称 + */ + function addSelect_Depart(name,departId) { + var departCode = top.Ext.getCmp('select_departCode').getValue(); + var departName = top.Ext.getCmp('select_departCode').getRawValue(); + if (departCode || (name != undefined && departId != undefined)) { + var isExist = false; + var isExistAll = false; + for (var i = 0; i < select_DepartsGridStore.getCount(); i++) { + var record = select_DepartsGridStore.getAt(i); + var tempName = record.get('departCode'); + if (tempName == departCode || tempName == departId) { + isExist = true; + break; + } + } + if (!isExist) { + if( name != undefined && departId != undefined){ + var record2 = new departAndTaskGroupRecord({ + departCode: departId, + departName: name + }); + select_DepartsGridStore.add(record2); + }else{ + var record = new departAndTaskGroupRecord({ + departCode: departCode, + departName: departName + }); + select_DepartsGridStore.add(record); + } + + top.Ext.getCmp('select_departCode').setValue(''); + top.Ext.getCmp('select_departCode').setRawValue(''); + }else { + if(name != undefined && departId != undefined){ + showResult('科室:['+name+'] 已存在!'); + }else{ + showResult("供应编码:" + departCode + ",供应室名称:" + departName + "已添加,请不要重复添加!"); + } + + } + } else { + showResult("请选择供应室"); + } + /* var departCode = top.Ext.getCmp('select_departCode').getValue(); + var departName = top.Ext.getCmp('select_departCode').getRawValue(); + if (departCode) { + var isExist = false; + for (var i = 0; i < select_DepartsGridStore.getCount(); i++) { + var record = select_DepartsGridStore.getAt(i); + if (record.get('departCode') == departCode) { + isExist = true; + break; + } + } + if (!isExist) { + var record = new departAndTaskGroupRecord({ + departCode: departCode, + departName: departName + }); + select_DepartsGridStore.add(record); + top.Ext.getCmp('select_departCode').setValue(''); + top.Ext.getCmp('select_departCode').setRawValue(''); + } else { + showResult("供应编码:" + departCode + ",供应室名称:" + departName + "已添加,请不要重复添加!"); + } + } else { + showResult("请选择供应室"); + } */ + } + select_DepartsGridStore = new top.Ext.data.Store({ + reader: departAndTaskGroupRecord + }); + var smCheckbox = new top.Ext.grid.CheckboxSelectionModel({ + singleSelect : false, + checkOnly: true + }); + var cm = new top.Ext.grid.ColumnModel([ + smCheckbox, + { + header: "科室编码", + width: 140, + dataIndex: 'departCode' + }, { + header: "科室名称", + width: 140, + dataIndex: 'departName' + }, { + header: '删除', + width: 40, + menuDisabled: true, + dataIndex: 'button', + renderer: function (v, p, record, index) { + return ""; + } + }]); + + //科室数据源 + var departJsonStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getAllOrgUnitName.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + root: 'data' + }, [{ + name: 'departCode', + mapping: 'id' + }, + { + name: 'name', + mapping: 'name' + } + ]) + }); + + //顶部的工具栏 + var tbar = [{ + text: '选择科室' + }, { + xtype: 'combo', + id: 'select_departCode', + name: 'select_departCode', + queryParam: 'spell', + fieldLabel: '科室名称', + minChars: 0, + valueField: 'departId', + displayField: 'name', + anchor: '100%', + width: 200, + store: departJsonStore, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + allowBlank: true, + listeners: { + select: function (combo, record, index) { + var tem = record.data.departCode; + var name = record.data.name; + top.Ext.getCmp('select_departCode').setValue(tem); + top.Ext.getCmp('select_departCode').setRawValue(name); + } + } + }, { + text: '添加', + iconCls : 'btn_ext_add', + handler: function () { + addSelect_Depart(); + } + },{ + text: '添加全部', + iconCls : 'icon_systemset', + handler: function () { + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getAllOrgUnitName.do', + success : function(response, options) { + var result = Ext.decode(response.responseText); + var lenth = result.data.length; + for(var index = 0;index < lenth;index++){ + var name = result.data[index].name; + var departId = result.data[index].id; + addSelect_Depart(name,departId); + //addGridItem(supplyRoomStoreApply,name,departId,""); + } + }, + failure : function(response, options) { + } + }); + } + },{ + text: '删除', + iconCls : 'btn_ext_application_del', + handler : function() { + removeGridItem("select_DepartsGrid"); + } + },{ + text: '删除全部', + iconCls : 'btn_ext_application_del', + handler : function() { + top.Ext.MessageBox.confirm("请确认","确定要删除所有科室吗?",function(btn){ + if(btn == "yes"){ + select_DepartsGridStore.removeAll(); + } + }); + } + } +]; + + var select_DepartsGridStoreFormObj = new top.Ext.FormPanel({ + id: 'departAndTaskGroupForm', + frame: true, + labelAlign: 'right', + labelSeparator: ':', + bodyStyle: 'padding:5px 5px 0px 5px', + autoWidth: true, + autoHeight: true, + autoScroll: true, + items: [{ + layout: 'column', + items: [{ + columnWidth: 1, + layout: 'form', + items: [ + new top.Ext.grid.GridPanel({ + id: 'select_DepartsGrid', + store: select_DepartsGridStore, + tbar: tbar, + cm: cm, + width: 140, + height: 240, + isCheckboxSelectionModel: true, + frame: false, + viewConfig: { + forceFit: true + }, + bodyStyle: 'border:1px solid #afd7af', + anchor: '100%', + sm:smCheckbox, + selModel: new top.Ext.grid.RowSelectionModel({ + singleSelect: false, + checkOnly: true + }) + }) + ] + }] + }], + buttons: [{ + id: 'saveBtn2', + text: '确定', + handler: function () { + saveSelect(extHiddenElementId, extComboElementId); + } + }, { + id: 'cancleBtn2', + text: '取消', + handler: function () { + select_DepartsGridStore.removeAll(); + formWindowDeparts.close(); + } + }] + }); + + formWindowDeparts = new top.Ext.Window({ + id: 'formWindowDepartAndTaskGroupWin', + layout: 'fit', + title: '选择科室', + width: 650, + modal: true, + autoHeight: true, + border: false, + plain: true, + items: [select_DepartsGridStoreFormObj] + }); + formWindowDeparts.show(); + //根据传递的科室编码获取科室信息 + if (departsCodes) { + departsCodes = departsCodes.replace(/;/g,","); + Ext.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!loadOrgUnitInfoByOrgUnitCodings.do', + params: { + departCodes: departsCodes + }, + success: function (response, options) { + var result = Ext.decode(response.responseText); + var data = result.data; + if (result.success) { + if (data) { + for (var i = 0; i < data.length; i++) { + var record = new departAndTaskGroupRecord({ + departCode: data[i]["departCode"], + departName: data[i]["departName"] + }); + select_DepartsGridStore.add(record); + } + } + } else { + showResult("加载科室信息" + result.message) + } + }, + failure: function (response, options) { + showResult("加载科室信息报错"); + } + }) + }; +} \ No newline at end of file