Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/selectDepartExt4.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/selectDepartExt4.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/selectDepartExt4.js (revision 30144) @@ -0,0 +1,241 @@ +var departWin; +var departListStore; + +//删除选择的科室 +function removeDepartItem(departCode) { + for (var i = 0; i < departListStore.getCount(); i++) { + var item = departListStore.data.items[i]; + if (item.data.departCode == departCode) { + departListStore.remove(item) + } + } +} + +//检查科室是否存在 +function isDepartRepeat(name) { + if (name != null && name.length > 0) { + for (var i = 0; i < departListStore.getCount(); i++) { + var record = departListStore.getAt(i); + var tempName = record.get('name'); + if (name == tempName) { + return true; + } + } + } + return false; +} + +//添加科室 +function addDepartItem(code, name, orgUnitId) { + if (name == null || name == '') { + showResult('请选择科室!'); + return false; + } + var b = isDepartRepeat(name); + if (b) { + showResult('科室:[' + name + '] 已存在!'); + top.Ext4.getCmp('departName2').setValue(""); + return false; + } + var record = { + departCode: code, + name: name + }; + departListStore.add(record) + top.Ext4.getCmp("departName2").setValue(""); +} + +//保存选择的科室和编码 +function saveDepartNameAndCode() { + var nameArr = []; + var codeArr = []; + + for (var i = 0; i < departListStore.getCount(); i++) { + var record = departListStore.getAt(i); + nameArr[i] = record.get('name'); + codeArr[i] = record.get('departCode'); + } + + if (nameArr.length == 0 || codeArr.length == 0) { + showResult('请选择一个科室'); + return + } + + top.Ext4.getCmp("departNames").setValue(nameArr.join(';')); + top.Ext4.getCmp("departCodes").setValue(codeArr.join(';')); + departWin.close(); +} + +//打开选择科室的窗口 +function openSelectReceiverOrganization(departNames, codes) { + var departJsonStore = new top.Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getApplicationDepartJson.do', + extraParams: { + withoutBaseOrg: true, + showDisableOrgUnit: false, + searchSupplyRoom: false + }, + reader: { + type: 'json', + root: 'data' + } + }, + fields: [ + { name: 'id' }, + { name: 'departCode' }, + { name: 'name' } + ] + }); + + departListStore = new top.Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!loadSupplyRoomConfigRoom.do', + extraParams: { type: "1" }, + reader: { + type: 'json' + } + }, + fields: [ + { name: 'departCode' }, + { name: 'name' } + ] + }); + + departJsonStore.load(); + + if (((departNames || '') !== '') && ((codes || '') !== '')) { + var departNameArr = departNames.split(';'); + var codeArr = codes.split(';'); + for (var i = 0; i < departNameArr.length; i++) { + var record = { + departCode: codeArr[i], + name: departNameArr[i] + }; + departListStore.add(record) + } + } + + var tbar = [{ + text: '选择科室:' + }, { + xtype: 'combo', + id: 'departName2', + name: 'departName2', + queryParam: 'spell', + fieldLabel: '', + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'name', + width: 320, + store: departJsonStore, + forceSelection: true, + lazyInit: true, + selectOnFocus: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: false, + allowBlank: true, + listeners: { + select: function (combo, record, index) { + var tem = record[0].data.departCode; + var name = record[0].data.name; + var orgUnitId = record[0].data.orgUnitId; + addDepartItem(tem, name, orgUnitId); + } + } + }, { + text: '添加所有', + iconCls: 'btn_ext_application_add', + handler: function () { + departListStore.removeAll(); + setTimeout(function () { + for (var i = 0; i < departJsonStore.getCount(); i++) { + departListStore.add(departJsonStore.getAt(i)); + } + }, 200); + } + }, { + text: '清空所有', + iconCls: 'btn_ext_application_del', + handler: function () { + departListStore.removeAll(); + } + }] + + var columns = [{ + header: "科室编码", + dataIndex: 'departCode', + width: 145 + }, { + header: "科室名称", + dataIndex: 'name', + width: 500, + menuDisabled: true + }, { + id: 'deleteItem', + header: '操作', + width: 40, + menuDisabled: true, + dataIndex: 'button', + renderer: function (v, p, record, index) { + return ""; + } + }] + + var grid = new top.Ext4.grid.GridPanel({ + title: '', + id: 'girdID', + columns: columns, + frame: false, + width: 690, + autoScroll: true, + store: departListStore, + tbar: tbar, + viewConfig: { + autoFill: true + } + }); + + departWin = new top.Ext4.window.Window({ + id: 'departWin', + layout: 'border', + title: '选择科室', + width: 760, + height: 500, + border: 0, + modal: true, + defaults: { + bodyStyle: "background-color: none", + frame: true, + border: false + }, + style: 'padding:20px', + items: [{ + region: "west", + width: 720, + border: 0, + title: '', + autoScroll: true, + items: [grid] + }], + buttonAlign: 'center', + buttons: [{ + id: 'confirmBtn', + text: '确定', + handler: function () { + saveDepartNameAndCode(); + } + }, { + text: '取消', + handler: function () { + departWin.close(); + } + }] + }); + + departWin.show(); +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonView.jsp =================================================================== diff -u -r29963 -r30144 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonView.jsp (.../departmentgroupCommonView.jsp) (revision 29963) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonView.jsp (.../departmentgroupCommonView.jsp) (revision 30144) @@ -31,6 +31,7 @@ } + Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonForm.js =================================================================== diff -u -r29963 -r30144 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonForm.js (.../departmentgroupCommonForm.js) (revision 29963) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonForm.js (.../departmentgroupCommonForm.js) (revision 30144) @@ -1,145 +1,26 @@ var configWin; -var departWin; var formPanel; +top.Ext4.define('columnTreeGrid', { + extend: 'Ext4.tree.Panel', + xtype: 'tree-grid', + useArrows: true, + rootVisible: true, + multiSelect: true, + columnLines: false, + rowLines: false, + cls: 'no-leaf-icons', + initComponent: function () { + this.superclass.initComponent.call(this); + } +}); + +//关闭科室分组设置的窗口 function cancel() { configWin.close(); } -function reloadGrid(parentId) { -} -/* -function openSelectReceiverOrganization(departNames, codes) { - //组织机构Store - var orgJsonStore = new Ext4.data.Store({ - proxy: { - type: 'ajax', - url: WWWROOT + '/systemmanage/getOrgNameBySpellingAndWB!getOrgNameBySpellingAndWB.do', - reader: { - root: 'data' - }, - params:{ - showDisableOrgUnit: false - } - }, - fields: [ - { name: 'name', mapping: 'name', id: 'id' } - ] - }) - - root = new Ext.tree.AsyncTreeNode({ - text: '组织机构', - id: '0', - draggable: false, //这棵树不可以拖动默认也是false - listeners: { click: reloadGrid } - }); - - var myLoader = new Ext.tree.TreeLoader({ dataUrl: WWWROOT + '/systemmanage/orgUnitTreeLoad.do?showDisableOrgUnit=false' }); - - myLoader.on("beforeload", function (treeLoader, node) { - treeLoader.baseParams.parentId = node.id; - treeLoader.baseParams.showDisableOrgUnit = true; - var nodePath = node.getPath(); - if (nodePath != '/0') { - path = nodePath; - } - }); - - departWin = new top.Ext4.window.Window({ - id: 'departWin', - layout: 'border', - title: '选择科室', - width: 760, - height: 500, - modal: true, - defaults: { - bodyStyle: "background-color: none", - frame: true, - border: false - }, - style: 'padding:20px', - items: [{ - region: "west", - width: 350, - title: '选择:', - items: [] - }, { - region: "east", - width: 350, - title: '已选:' - }], - buttonAlign : 'center', - buttons: [{ - id: 'confirmBtn', - text: '确定', - handler: function () { - - } - }, { - text: '取消', - handler: function(){ - departWin.close(); - } - }] - }); - departWin.show(); -} -*/ -function openSelectReceiverOrganization(departNames, codes) { - var param = { - allowNull: true, - onlyOneOrg: true, - resultType: 'code', - tabType: 'orgUnit', - sameLevel: 'yes', - range: 'all', - departNames: departNames, - departCodes: codes - }; - - var selectedOrgUnitArray = openModalWindow(WWWROOT + "/common/selectOrgByExt.jsp", param, "800", "450"); - var codes = ''; - - if (selectedOrgUnitArray == undefined) { - return; - } else if (selectedOrgUnitArray[0] !== undefined) { - codes = ''; - var tem = ''; - - var tempArray = selectedOrgUnitArray[0].split(';'); - for (var i = 0; i < tempArray.length; i++) { - codes += tempArray[i] + ";"; - } - for (var j = 0; j < codes.length - 1; j++) { - tem += codes.charAt(j); - } - top.Ext4.getCmp("departNames").setValue(selectedOrgUnitArray[1]); - top.Ext4.getCmp("departCodes").setValue(tem); - } else { - var loop = setInterval(function () { - if (selectedOrgUnitArray.closed) { - clearInterval(loop); - - codes = ''; - var tem = ''; - var returnValue = selectedOrgUnitArray.returnValue || []; - - if (returnValue.length > 0) { - var tempArray = selectedOrgUnitArray.returnValue[0].split(';'); - for (var i = 0; i < tempArray.length; i++) { - codes += tempArray[i] + ";"; - } - for (var j = 0; j < codes.length - 1; j++) { - tem += codes.charAt(j); - } - top.Ext4.getCmp("departNames").setValue(selectedOrgUnitArray.returnValue[1]); - top.Ext4.getCmp("departCodes").setValue(tem); - } - } - }, 500); - } -} - +//编辑科室分组 function editConfig(id) { showAddOrEditWindow(id); if (!Ext4.isEmpty(id)) { @@ -170,6 +51,8 @@ }); } } + +//删除科室分组 function deleteConfig(grid) { var selectedRecords = grid.getSelectionModel().getSelection(); var selectedCount = grid.getSelectionModel().getCount(); @@ -180,32 +63,32 @@ 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/orgUnitGroupAction!deleteOrgUnitGroupByIds.do', - params: { ids: ids.join(';') }, - success: function (response, options) { - var result = Ext4.JSON.decode(response.responseText); - var success = result.success; - if (true != success) { - showResult("删除失败"); - return; - } else { - showResult('删除成功!'); - listStore.load(); - } - }, - failure: function (response, options) { + Ext4.MessageBox.confirm("请确认", "确定要删除选中的信息吗?", function (button, text) { + if ("yes" == button) { + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/orgUnitGroupAction!deleteOrgUnitGroupByIds.do', + params: { ids: ids.join(';') }, + success: function (response, options) { + var result = Ext4.JSON.decode(response.responseText); + var success = result.success; + if (true != success) { showResult("删除失败"); + return; + } else { + showResult('删除成功!'); + listStore.load(); } - }); - } - }); + }, + failure: function (response, options) { + showResult("删除失败"); + } + }); + } + }); } } +//保存科室分组 function saveConfig() { formPanel.form.submit({ url: WWWROOT + '/disinfectSystem/orgUnitGroupAction!saveOrUpdateOrgUnitGroup.do', @@ -224,6 +107,7 @@ }); } +//弹出科室分组设置的窗口 function showAddOrEditWindow(id) { formPanel = new top.Ext4.form.Panel({ id: 'configForm', @@ -275,9 +159,9 @@ text: '选择科室', listeners: { click: function () { - var departName = top.Ext4.getCmp('departNames').getValue(); - var codes = top.Ext4.getCmp("departCodes").getValue();; - openSelectReceiverOrganization(departName, codes); + var departNames = top.Ext4.getCmp('departNames').getValue(); + var codes = top.Ext4.getCmp("departCodes").getValue(); + openSelectReceiverOrganization(departNames, codes); } } }] @@ -300,6 +184,7 @@ handler: cancel }] }); + configWin = new top.Ext4.window.Window({ id: 'configWin', layout: 'border', @@ -316,6 +201,7 @@ items: [formPanel] }] }); + configWin.show(); }