Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r38628 -r38749 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 38628) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 38749) @@ -159,7 +159,8 @@ hidden:SSTS_UseRecord_Menu && SSTS_DepartmentUseRecord_Menu, children:[ {hidden :SSTS_UseRecord_Menu,text:sstsConfig.enableDepartmentUseRecord ? "病人使用记录" : "使用记录",href:WWWROOT+'/disinfectsystem/useRecord/useRecordView.jsp?editMode=true',hrefTarget:linkTarget,leaf:true}, - {hidden :SSTS_DepartmentUseRecord_Menu,text:"科室使用记录",href:WWWROOT+'/disinfectsystem/useRecord/useRecordView.jsp?departmentUseRecord=true',hrefTarget:linkTarget,leaf:true} + {hidden :SSTS_DepartmentUseRecord_Menu,text:"科室使用记录",href:WWWROOT+'/disinfectsystem/useRecord/useRecordView.jsp?departmentUseRecord=true',hrefTarget:linkTarget,leaf:true}, + {hidden :SSTS_ScheduleExpeditedOfUseRecord_Manager,text:"预约加急管理",href:WWWROOT+'/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordView.jsp',hrefTarget:linkTarget,leaf:true} ] }); Index: ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordForm.js (revision 38749) @@ -0,0 +1,563 @@ +var loadUseRecordUrgentDetailStore; +var urgentLevelStore = new Ext4.data.Store({ + pageSize: 100, + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/urgentLevelAction!getUrgentsForSelect.do', + reader: { + type: 'json', + root: 'data' + } + }, + fields: [ + { name: 'id' }, + { name: 'urgentLevel' } + ] +}) + +//添加或者修改预约加急物品 +function showSaveUrgentReservationTousseWin(useRecordUrgentReservationId, objInfo) { + var tousseStore = new Ext4.data.Store({ + pageSize: 100, + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchComboTousseData.do', + reader: { + type: 'json', + totalProperty: 'totalCount', + root: 'data' + } + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'name', mapping: 'name' }, + { name: 'displayName', mapping: 'displayName' } + ] + }) + + var formPanel = new top.Ext4.form.Panel({ + frame: true, + labelSeparator: ':', + bodyStyle: 'padding:5px 5px 0px 25px;overflow: auto;', + width: 500, + id: 'formPanel', + fieldDefaults: { + labelAlign: 'right', + labelWidth: 80, + height: 22 + }, + items: [{ + xtype: 'hidden', + id: 'id', + name: 'id' + }, { + xtype: 'hidden', + id: 'hiddenUrgentLevelCount', + name: 'hiddenUrgentLevelCount', + value: 0 + }, { + layout: 'column', + autoHeight: true, + width: 430, + border: false, + items: [{ + layout: 'form', + columnWidth: 0.95, + border: false, + items: [{ + xtype: 'hidden', + id: 'tousseDefinitionId', + name: 'tousseDefinitionId' + }, { + fieldLabel: '物品名称', + xtype: 'combo', + id: 'tousseDefinitionName', + name: 'tousseDefinitionName', + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'displayName', + listWidth: 300, + store: tousseStore, + pageSize: 25, + listConfig: { width: 300 }, + forceSelection: true, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('tousseDefinitionId').setValue(record[0].data.id); + } + } + }] + }] + }, { + layout: 'column', + border: false, + columnWidth: 0.95, + items: [{ + xtype: 'hidden', + id: 'urgentInfoId_0', + name: 'urgentInfoId_0' + }, { + layout: 'form', + columnWidth: .35, + border: false, + items: [{ + xtype: 'numberfield', + allowDecimals: false, + allowNegative: false, + minValue: 0, + name: 'reservationUrgentAmount_0', + id: 'reservationUrgentAmount_0', + fieldLabel: "加急数量", + anchor: '95%' + }] + }, { + layout: 'form', + columnWidth: .5, + border: false, + items: [{ + xtype: 'hidden', + id: 'urgentLevelId_0', + name: 'urgentLevelId_0' + }, { + xtype: 'combo', + fieldLabel: '加急等级', + id: 'urgentLevelName_0', + name: 'urgentLevelName_0', + store: urgentLevelStore, + valueField: 'urgentLevel', + displayField: 'urgentLevel', + minChars: 0, + forceSelection: true, + lazyInit: true, + editable: false, + triggerAction: 'all', + anchor: '95%', + typeAhead: false, + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('urgentLevelId_0').setValue(record[0].data.id); + } + } + }] + }, { + layout: 'form', + columnWidth: .1, + border: false, + height: 28, + items: [{ + xtype: 'button', + tooltip: '添加', + iconCls: 'btn_ext_add', + style: 'margin-left: 10px;padding-top: 4px;', + handler: function () { + var hiddenUrgentLevelCount = top.Ext4.getCmp('hiddenUrgentLevelCount').getValue(); + addUrgentBox(parseInt(hiddenUrgentLevelCount) + 1); + } + }] + }] + }], + buttonAlign: 'center', + buttons: [{ + text: '保存', + handler: function () { + saveUrgentReservationTousse(useRecordUrgentReservationId); + } + }, { + text: '取消', + handler: function () { + win.close(); + } + }] + }) + + var win = new top.Ext4.Window({ + id: 'configForm', + layout: 'fit', + title: '预约加急物品', + width: 500, + height: 300, + border: false, + modal: true, + plain: true, + items: [formPanel] + }); + win.show(); + if (objInfo) { + urgentLevelStore.load(); + top.Ext4.getCmp('hiddenUrgentLevelCount').setValue(objInfo.data.children.length); + top.Ext4.getCmp('id').setValue(objInfo.data.id); + top.Ext4.getCmp('tousseDefinitionId').setValue(objInfo.data.tousseDefinitionId); + top.Ext4.getCmp('tousseDefinitionName').setRawValue(objInfo.data.tousseName); + top.Ext4.getCmp('tousseDefinitionName').disable(); + if (objInfo.data.children.length > 0) { + top.Ext4.getCmp('urgentInfoId_0').setValue(objInfo.data.children[0].urgentInfoId); + top.Ext4.getCmp('reservationUrgentAmount_0').setValue(objInfo.data.children[0].reservationUrgentAmount); + top.Ext4.getCmp('urgentLevelId_0').setValue(objInfo.data.children[0].urgentLevelId); + top.Ext4.getCmp('urgentLevelName_0').setValue(objInfo.data.children[0].urgentLevelName); + } + if (objInfo.data.children.length > 1) { + for (var i = 1; i < objInfo.data.children.length; i++) { + addUrgentBox(i); + top.Ext4.getCmp('urgentInfoId_' + i).setValue(objInfo.data.children[i].urgentInfoId); + top.Ext4.getCmp('reservationUrgentAmount_' + i).setValue(objInfo.data.children[i].reservationUrgentAmount); + top.Ext4.getCmp('urgentLevelId_' + i).setValue(objInfo.data.children[i].urgentLevelId); + top.Ext4.getCmp('urgentLevelName_' + i).setValue(objInfo.data.children[i].urgentLevelName); + if (objInfo.data.children[i].urgentAmount > 0) { + top.Ext4.getCmp('deleteBtn_' + i).hide(); + } + } + } + } +} + +//添加预约加急等级 +function addUrgentBox(count) { + top.Ext4.getCmp('formPanel').add({ + layout: 'column', + border: false, + columnWidth: 0.95, + id: 'urgentLevelBox_' + count, + items: [{ + xtype: 'hidden', + id: 'urgentInfoId_' + count, + name: 'urgentInfoId_' + count + }, { + layout: 'form', + columnWidth: .35, + border: false, + items: [{ + xtype: 'numberfield', + allowDecimals: false, + allowNegative: false, + minValue: 0, + name: 'reservationUrgentAmount_' + count, + id: 'reservationUrgentAmount_' + count, + fieldLabel: "加急数量", + anchor: '95%' + }] + }, { + layout: 'form', + columnWidth: .5, + border: false, + items: [{ + xtype: 'hidden', + id: 'urgentLevelId_' + count, + name: 'urgentLevelId_' + count + }, { + xtype: 'combo', + fieldLabel: '加急等级', + id: 'urgentLevelName_' + count, + name: 'urgentLevelName_' + count, + store: urgentLevelStore, + valueField: 'urgentLevel', + displayField: 'urgentLevel', + minChars: 0, + forceSelection: true, + lazyInit: true, + editable: false, + triggerAction: 'all', + anchor: '95%', + typeAhead: false, + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('urgentLevelId_' + count).setValue(record[0].data.id); + } + } + }] + }, { + layout: 'form', + columnWidth: .1, + border: false, + height: 28, + id: 'deleteBtn_' + count, + items: [{ + xtype: 'button', + tooltip: '删除', + iconCls: 'btn_ext_close', + style: 'margin-left: 10px;padding-top: 4px;', + handler: function () { + deleteUrgentBox(count); + } + }] + }] + }); + + top.Ext4.getCmp('hiddenUrgentLevelCount').setValue(count) + top.Ext4.getCmp('formPanel').doLayout(); +} + +//删除预约加急等级 +function deleteUrgentBox(hiddenIndex) { + top.Ext4.getCmp('formPanel').remove('urgentLevelBox_' + hiddenIndex); + top.Ext4.getCmp('formPanel').doLayout(); +} + +//保存预约加急物品 +function saveUrgentReservationTousse(useRecordUrgentReservationId) { + var hiddenUrgentLevelCount = top.Ext4.getCmp('hiddenUrgentLevelCount').getValue(); + var tousseDefinitionId = top.Ext4.getCmp('tousseDefinitionId').getValue(); + var id = top.Ext4.getCmp('id').getValue(); + if (!tousseDefinitionId) { + showResult('物品不能为空!'); + return + } + var children = []; + var k = 0; + var isNull = false; + var amountIs0 = false; + for (var i = 0; i <= hiddenUrgentLevelCount; i++) { + if (top.Ext4.getCmp('urgentInfoId_' + i)) { + var urgentInfoId = top.Ext4.getCmp('urgentInfoId_' + i).getValue(); + var reservationUrgentAmount = top.Ext4.getCmp('reservationUrgentAmount_' + i).getValue() || ''; + var urgentLevelId = top.Ext4.getCmp('urgentLevelId_' + i).getValue() || ''; + if (urgentLevelId == '' || reservationUrgentAmount == '') { + isNull = true; + break; + } + if (parseInt(reservationUrgentAmount) < 0) { + amountIs0 = true; + break; + } + children.push({ + id: urgentInfoId || '', + reservationUrgentAmount: reservationUrgentAmount, + urgentLevelId: urgentLevelId, + sequence: k + }) + k++ + } + } + if (isNull) { + showResult('加急物品和数量不能为空!'); + return + } + if (amountIs0) { + showResult('数量不能小于0!'); + return + } + var params = { + tousseDefinitionId: tousseDefinitionId, + useRecordUrgentReservationId: useRecordUrgentReservationId, + id: id || '', + children: children + } + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/saveUrgentReservationTousse.mhtml', + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + jsonData: params, + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if (result.success) { + showResult('保存成功'); + top.Ext4.getCmp('configForm').close(); + useRecordUrgentReservationId = useRecordUrgentReservationId; + columnTreeGrid.getStore().reload(); + columnTreeGrid.expandAll(); + } else { + showResult(result.message) + } + } + }); +} + +//删除预约加急物品 +function deleteUrgentReservationTousse(ids) { + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/deleteUrgentReservationTousse.mhtml', + params: { + ids: ids + }, + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if (result.success) { + useRecordUrgentReservationId = useRecordUrgentReservationId; + columnTreeGrid.getStore().reload(); + columnTreeGrid.expandAll(); + showResult('删除成功'); + } else { + showResult(result.message) + } + } + }); +} + +//查看预约加急设置明细 +function loadUseRecordUrgentReservationDetail(id, reservationDate) { + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/loadUseRecordUrgentReservationDetail.mhtml', + params: { + useRecordUrgentReservationId: id + }, + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if (result) { + showUseRecordUrgentReservationDetail(result, reservationDate); + } else { + showResult(result.message) + } + } + }); +} + +//显示预约加急设置明细窗口 +function showUseRecordUrgentReservationDetail(data, reservationDate) { + var rows = []; + for (var i = 0; i < data.length; i++) { + var tousseName = data[i].tousseName; + var tousseDefinitionId = data[i].tousseDefinitionId; + var useRecordUrgentReservationId = data[i].useRecordUrgentReservationId; + for (var j = 0; j < data[i].children.length; j++) { + var reservationUrgentAmount = data[i].children[j].reservationUrgentAmount; + var urgentAmount = data[i].children[j].urgentAmount; + var urgentInfoId = data[i].children[j].urgentInfoId; + var urgentLevelName = data[i].children[j].urgentLevelName; + var urgentInfoId = data[i].children[j].urgentInfoId; + var finishStatus = ''; + if (reservationUrgentAmount == urgentAmount) { + finishStatus = '全部完成'; + } else if (reservationUrgentAmount > urgentAmount && urgentAmount > 0) { + finishStatus = '部分完成'; + } + rows.push({ + nid: useRecordUrgentReservationId, + tousseName: tousseName, + tousseDefinitionId: tousseDefinitionId, + urgentLevelName: urgentLevelName, + urgentInfoId: urgentInfoId, + reservationUrgentAmount: reservationUrgentAmount, + urgentAmount: urgentAmount, + finishStatus: finishStatus + }) + } + } + Ext4.define('Teams', { + extend: 'Ext4.data.Model', + fields: ['nid', 'tousseName', 'tousseDefinitionId', 'finishStatus', 'reservationUrgentAmount', 'urgentAmount', 'urgentInfoId', 'urgentLevelName', 'useRecordUrgentReservationId'] + }); + + var storeData = new Ext4.data.Store({ + model: 'Teams', + data: rows + }); + + var grid = new top.Ext4.grid.Panel({ + store: storeData, + width: 600, + height: 150, + columns: [{ + text: '物品名称', + width: 160, + dataIndex: 'tousseName' + }, { + text: '完成状态', + width: 120, + dataIndex: 'finishStatus', + renderer: renderFinishStatusColor + }, { + text: '加急等级', + width: 100, + dataIndex: 'urgentLevelName' + }, { + text: '加急数量', + width: 100, + dataIndex: 'reservationUrgentAmount' + }, { + text: '已加急数量', + width: 100, + dataIndex: 'urgentAmount' + }], + listeners: { + itemclick: function (view, record, item, index, e) { + loadUseRecordUrgentDetailStore.load({ + params: { + useRecordUrgentReservationId: record.data.nid, + tousseReservationUrgentInfoId: record.data.urgentInfoId + } + }) + } + } + }) + + loadUseRecordUrgentDetailStore = new Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/loadUseRecordUrgentDetail.mhtml', + reader: { + root: 'data' + } + }, + fields: [ + { name: 'tousseName', mapping: 'tousseName' }, + { name: 'urgentLevelName', mapping: 'urgentLevelName' }, + { name: 'invoicePlanSerialNumber', mapping: 'invoicePlanSerialNumber' } + ] + }) + + var gridPagnel = new top.Ext4.grid.Panel({ + store: loadUseRecordUrgentDetailStore, + width: 600, + height: 150, + columns: [{ + text: '物品名称', + width: 180, + dataIndex: 'tousseName' + }, { + text: '加急等级', + width: 150, + dataIndex: 'urgentLevelName' + }, { + text: '申请单流水号', + width: 150, + dataIndex: 'invoicePlanSerialNumber' + }] + }) + + var formPanel = new top.Ext4.form.Panel({ + frame: true, + labelSeparator: ':', + bodyStyle: 'padding:10px;overflow: auto;', + width: 600, + fieldDefaults: { + labelAlign: 'right', + labelWidth: 80, + height: 22 + }, + items: [{ + xtype: "fieldset", + title: '预约物品汇总', + layout: 'column', + autoHeight: true, + columnWidth: .9, + cls: 'ext4PanelClass', + items: grid + }, { + xtype: "fieldset", + title: '加急物品明细', + layout: 'column', + autoHeight: true, + columnWidth: .9, + cls: 'ext4PanelClass', + items: gridPagnel + }] + }) + var win = new top.Ext4.Window({ + layout: 'fit', + title: '【' + reservationDate + '】预约加急物品明细汇总', + width: 660, + height: 500, + border: false, + modal: true, + plain: true, + items: [formPanel] + }); + win.show(); +} \ No newline at end of file Index: ssts-web/src/main/webapp/themes/portalPage/img/tabs_scheduleExpeditedOfUseRecord.jpg =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordView.jsp (revision 38749) @@ -0,0 +1,39 @@ +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig"%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ page import="com.forgon.directory.vo.LoginUserData" %> +<% + LoginUserData userData = AcegiHelper.getLoginUser(); + String userName = userData.getUserFullName(); + request.setAttribute("userName",userName); +%> + + + +预约加急管理 + +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ include file="/common/includeExtJs4_2.jsp"%> + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordView.js (revision 38749) @@ -0,0 +1,472 @@ +var columnTreeGrid; +var listStore; +var listGrid; +var useRecordUrgentReservationId = 0; +Ext4.define('columnTreeGrid', { + extend: 'Ext4.tree.Panel', + xtype: 'tree-grid', + useArrows: true, + rootVisible: false, + multiSelect: false, + columnLines: true, + rowLines: true, + cls: 'no-leaf-icons', + initComponent: function () { + this.superclass.initComponent.call(this); + } +}); + +Ext4.define('cModel', { + extend: 'Ext4.data.Model', + fields: [ + { name: 'id' }, + { name: 'tousseName' }, + { name: 'tousseDefinitionId' }, + { name: 'urgentInfoId' }, + { name: 'reservationUrgentAmount' }, + { name: 'urgentAmount' }, + { name: 'urgentLevelId' }, + { name: 'urgentLevelName' } + ] +}); + +var columns = [{ + header: '物品名称', + minWidth: 250, + sortable: true, + xtype: 'treecolumn', + dataIndex: 'tousseName', + renderer: function (v, p, record, rowIndex, columnIndex, store, view) { + if (record.get('leaf')) { + return '' + } else { + return v; + } + } +}, { + header: '加急等级', + width: 80, + align: 'center', + sortable: true, + dataIndex: 'urgentLevelName', + renderer: function (v, p, record, rowIndex, columnIndex, store, view) { + if (record.get('leaf')) { + return v; + } else { + return ''; + } + } +}, { + header: '加急数量', + width: 80, + align: 'center', + sortable: true, + dataIndex: 'reservationUrgentAmount', + renderer: function (v, p, record, rowIndex, columnIndex, store, view) { + if (record.get('leaf')) { + return v; + } else { + return ''; + } + } +}, { + header: '已加急数量', + width: 80, + align: 'center', + sortable: true, + dataIndex: 'urgentAmount', + renderer: function (v, p, record, rowIndex, columnIndex, store, view) { + if (record.get('leaf')) { + return v; + } else { + return ''; + } + } +}, { + header: '备注', + width: 200, + sortable: true, + dataIndex: 'remark' +}] + +var tbar = [{ + text: '添加', + iconCls: 'btn_ext_application_add', + handler: function () { + showSaveUrgentReservationTousseWin(useRecordUrgentReservationId); + } +}, '-', { + text: '修改', + iconCls: 'btn_ext_application_edit', + handler: function () { + var treePanelGrid = Ext4.getCmp('treePanelGrid'); + var checkArrs = treePanelGrid.getView().getChecked(); + if (checkArrs.length == 0) { + showResult('请选择一条数据!'); + } else if (checkArrs.length > 1) { + showResult('只能选择一条数据!'); + } else { + showSaveUrgentReservationTousseWin(useRecordUrgentReservationId, checkArrs[0]); + } + } +}, '-', { + text: '删除', + iconCls: 'btn_ext_application_del', + handler: function () { + var treePanelGrid = Ext4.getCmp('treePanelGrid'); + var checkArrs = treePanelGrid.getView().getChecked(); + if (checkArrs.length == 0) { + showResult('请选择一条数据!'); + } else { + top.Ext4.MessageBox.confirm("请确认", '将删除掉当前物品记录,是否继续?', function (btn) { + if (btn == 'yes') { + var ids = []; + for (var i = 0; i < checkArrs.length; i++) { + ids[i] = checkArrs[i].data.id; + } + deleteUrgentReservationTousse(ids.join(';')); + } + }); + } + } +}] + +//添加预约日期 +function addNewTab(tabs) { + var addTabsWin; + var formPanel = new top.Ext4.form.Panel({ + id: 'configForm', + frame: true, + labelSeparator: ':', + bodyStyle: 'padding:5px 5px 0px 5px;', + width: 300, + fieldDefaults: { + labelAlign: 'right', + labelWidth: 70 + }, + buttonAlign: 'center', + items: [{ + layout: 'column', + border: false, + items: [{ + columnWidth: 0.98, + layout: 'form', + border: false, + style: 'margin-bottom:10px', + items: [{ + xtype: 'textfield', + fieldLabel: '操作人', + id: 'operator', + name: 'operator', + allowBlank: true, + readOnly: true, + anchor: '96%', + value: userName, + cls: 'fieldReadOnlyNoRemove' + }] + }, { + columnWidth: 0.98, + layout: 'form', + border: false, + style: 'margin-bottom:10px', + items: [{ + xtype: 'datefield', + fieldLabel: '预约日期', + labelAlign: 'right', + id: 'startDate', + name: 'startDate', + format: 'Y-m-d', + allowBlank: false, + anchor: '95%' + }] + }] + }], + buttons: [{ + id: 'saveBtn', + text: '保存', + handler: function () { + var startDate = top.Ext4.getCmp('startDate').getRawValue(); + if (startDate == '') { + showResult('预约日期不能为空!'); + return; + } + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/saveUseRecordUrgentReservation.mhtml', + params: { + reservationDate: startDate + }, + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if (result.success) { + if (!Ext4.getCmp('treePanelGrid')) { + useRecordUrgentReservationId = result.id; + var columnTreeStore = new Ext4.data.TreeStore({ + model: cModel, + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/loadUseRecordUrgentReservationDetail.mhtml' + }, + folderSort: false, + listeners: { + beforeload: function (store, operation) { + columnTreeStore.proxy.extraParams.useRecordUrgentReservationId = useRecordUrgentReservationId; + } + } + }) + + columnTreeGrid = Ext4.create('columnTreeGrid', { + id: 'treePanelGrid', + border: false, + columns: columns, + tbar: tbar, + width: document.body.offsetWidth - 10, + height: document.body.offsetHeight - 33, + store: columnTreeStore + }); + } + tabs.insert(result.index, { + title: startDate, + id: "tab" + result.id, + items: [Ext4.getCmp('treePanelGrid')], + closable: true, + hiddenId: result.id, + listeners: { + 'beforeclose': function (r) { + top.Ext4.MessageBox.confirm("请确认", '将删除【' + startDate + '】预约加急记录,是否继续?', function (btn) { + if (btn == 'yes') { + deleteUseRecordUrgentReservation(r.hiddenId, 'tab' + r.hiddenId); + } + }); + return false; + } + } + }); + tabs.setActiveTab(result.index); + addTabsWin.close(); + } else { + showResult(result.message) + } + } + }); + } + }, { + text: '取消', + handler: function () { + addTabsWin.close(); + } + }] + }); + addTabsWin = new top.Ext4.window.Window({ + id: 'addTabsWin', + layout: 'border', + title: '添加预约记录', + width: 300, + height: 150, + border: false, + plain: true, + modal: true, + items: [{ + region: 'center', + width: 300, + layout: 'fit', + items: [formPanel] + }] + }); + addTabsWin.show(); +} + +//删除使用记录预约加急设置 +function deleteUseRecordUrgentReservation(id, tabId) { + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/deleteUseRecordUrgentReservation.mhtml', + params: { + id: id + }, + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if (result.success) { + Ext4.getCmp('tabs').remove(tabId); + showResult('删除成功'); + } else { + showResult(result.message) + } + } + }); +} + +function reloadTabs(tabs) { + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/loadCurrentLoginOrgUnitUrgentReservationDateAfterToday.mhtml', + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if (result.success) { + if (result.data && result.data.length > 0) { + useRecordUrgentReservationId = result.data[0].id; + + var columnTreeStore = new Ext4.data.TreeStore({ + model: cModel, + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/loadUseRecordUrgentReservationDetail.mhtml' + }, + folderSort: false, + listeners: { + beforeload: function (store, operation) { + columnTreeStore.proxy.extraParams.useRecordUrgentReservationId = useRecordUrgentReservationId; + } + } + }) + + columnTreeGrid = Ext4.create('columnTreeGrid', { + id: 'treePanelGrid', + border: false, + columns: columns, + tbar: tbar, + width: document.body.offsetWidth - 10, + height: document.body.offsetHeight - 33, + store: columnTreeStore + }); + + for (var i = result.data.length - 1; i >= 0; i--) { + tabs.insert(0, { + id: "tab" + result.data[i].id, + title: result.data[i].reservationDate, + items: [Ext4.getCmp('treePanelGrid')], + closable: true, + hiddenId: result.data[i].id, + listeners: { + 'beforeclose': function (r) { + top.Ext4.MessageBox.confirm("请确认", '将删除【' + r.title + '】预约加急记录,是否继续?', function (btn) { + if (btn == 'yes') { + deleteUseRecordUrgentReservation(r.hiddenId, 'tab' + r.hiddenId); + } + }); + return false; + } + } + }); + } + } + + tabs.on('tabchange', function (e, args) { + if (args.title == '历史汇总') { + listStore.loadPage(1); + + args.add(listGrid); + args.doLayout(); + } else { + useRecordUrgentReservationId = args.hiddenId; + Ext4.getCmp('treePanelGrid').getStore().reload(); + Ext4.getCmp('treePanelGrid').expandAll(); + + args.add(Ext4.getCmp('treePanelGrid')); + args.doLayout(); + } + }); + + new Ext4.container.Viewport({ + layout: 'border', + items: tabs + }); + } else { + showResult(result.message) + } + } + }); +} + +//状态颜色渲染 +function renderFinishStatusColor(v, p, record) { + var finishStatus = record.data['finishStatus']; + var color = ""; + var fontColor = ""; + if (finishStatus == '未完成') { + color = "red";//红色 + fontColor = '#fff'; + } else if (finishStatus == '已完成') { + color = '#00b050';//绿色 + fontColor = '#fff'; + } else if (finishStatus == '部分完成') { + color = '#ffa500';//橙色 + } else { + return "

" + v + "

"; + } + return "

" + v + "

"; +} + +Ext4.onReady(function () { + Ext4.QuickTips.init(); + + var tabs = Ext4.createWidget('tabpanel', { + id: 'tabs', + width: document.body.offsetWidth - 10, + height: document.body.offsetHeight - 13, + plain: true, + deferredRender: false, + tabBar: { + items: [{ + iconCls: 'btn_ext_add', + closable: false, + handler: function (btn, e) { + addNewTab(tabs); + } + }] + } + }); + + var columns = [ + { header: "预约日期", dataIndex: 'reservationDate', width: 150, sortable: false, align: 'center' }, + { header: "操作人", dataIndex: 'operator', width: 150, sortable: false, align: 'center' }, + { header: "操作时间", dataIndex: 'operateTime', width: 150, sortable: false, align: 'center' }, + { header: "预约加急状态", dataIndex: 'finishStatus', width: 100, sortable: false, align: 'center', renderer: renderFinishStatusColor }, + { + header: "明细汇总", dataIndex: 'id', width: 100, sortable: false, align: 'center', renderer: function (v, p, record) { + return "查看"; + } + }, + { header: "备注", dataIndex: 'remark', width: document.body.clientWidth - 730, sortable: false } + ]; + + listStore = Ext4.create('Ext.data.Store', { + pageSize: 1000, + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/loadCurrentLoginOrgUnitHistoryUrgentReservation.mhtml', + reader: { + root: 'data.list', + totalProperty: 'count' + }, + actionMethods: { + read: 'POST' + } + }, + fields: [ + { name: 'id' }, + { name: 'reservationDate' }, + { name: 'operator' }, + { name: 'operateTime' }, + { name: 'finishStatus' }, + { name: 'remark' } + ], + autoLoad: true + }); + + listStore.loadPage(1); + + listGrid = new Ext4.grid.GridPanel({ + columns: columns, + frame: false, + autoScroll: false, + store: listStore, + viewConfig: { + autoFill: true + } + }); + + tabs.insert(0, { + title: '历史汇总', + items: [listGrid] + }); + + reloadTabs(tabs); +}) \ No newline at end of file Index: ssts-web/src/main/resources/systemset/operationDefine.xml =================================================================== diff -u -r38699 -r38749 --- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 38699) +++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 38749) @@ -186,6 +186,8 @@ + + Index: ssts-web/src/main/webapp/homepage/menu.jsp =================================================================== diff -u -r38577 -r38749 --- ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 38577) +++ ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 38749) @@ -1160,7 +1160,7 @@ * 《使用记录》菜单(启用科室使用记录配置项,该菜单名为病人使用记录) */ var SSTS_UseRecord_Menu = true; - + if (!sstsConfig.disableUseRecord && !notInWhiteList(sstsConfig, 'useRecord')) { SSTS_UseRecord_Menu = false; } @@ -1177,6 +1177,15 @@ } /** + * 《GDSRMYY-617:预约加急管理》菜单 + */ +var SSTS_ScheduleExpeditedOfUseRecord_Manager = true; + + if (!notInWhiteList(sstsConfig, 'enableScheduleExpeditedOfUseRecord')) { + SSTS_ScheduleExpeditedOfUseRecord_Manager = false + } + +/** * 《质量监测管理》总菜单 */ var SSTS_QualityRecord_Menu = true; Index: ssts-web/src/main/resources/systemset/portalPage.xml =================================================================== diff -u -r37273 -r38749 --- ssts-web/src/main/resources/systemset/portalPage.xml (.../portalPage.xml) (revision 37273) +++ ssts-web/src/main/resources/systemset/portalPage.xml (.../portalPage.xml) (revision 38749) @@ -61,5 +61,6 @@ + \ No newline at end of file Index: ssts-web/src/main/webapp/themes/portalPage/img/tabs_scheduleExpeditedOfUseRecord.png =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/homepage/portalPage.js =================================================================== diff -u -r38545 -r38749 --- ssts-web/src/main/webapp/homepage/portalPage.js (.../portalPage.js) (revision 38545) +++ ssts-web/src/main/webapp/homepage/portalPage.js (.../portalPage.js) (revision 38749) @@ -1370,6 +1370,14 @@ returnContent += ''+item['title']+''; return returnContent; } + + //GDSRMYY-617:使用记录预约加急 + if(itemId == 'scheduleExpeditedOfUseRecordView' && sstsConfig.enableScheduleExpeditedOfUseRecord){ + returnContent += '
  • '; + returnContent += '

    '; + returnContent += ''+item['title']+'
  • '; + return returnContent; + } if(itemId != 'packing' && itemId !='sterilizationRecord'){ //SZYK-26:reviewModuleVersion审核版本 Index: ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js =================================================================== diff -u -r38698 -r38749 --- ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 38698) +++ ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 38749) @@ -380,6 +380,8 @@ enableUrgentVoiceNotificationsFunction:true, //是否启用病人使用记录快速干预解除器械包 enableInterventionToRemoveToussesShortcutsOfUserRecord:true, + //启用使用记录预约加急功能 + enableScheduleExpeditedOfUseRecord:true, //PDA桌面图标别名设置(GDSRMYY-581) aliasNameOfPDADesktopIcons:{"instrumentGoodsManagement":"v1"} } \ No newline at end of file