Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.jsp =================================================================== diff -u -r31716 -r33536 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.jsp (.../washAndDisinfectView.jsp) (revision 31716) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.jsp (.../washAndDisinfectView.jsp) (revision 33536) @@ -108,6 +108,7 @@ var washing = '<%=WashAndDisinfectRecord.STATUS_WASHING%>'; var washed = '<%=WashAndDisinfectRecord.STATUS_WASHED%>'; var washfaild = '<%=WashAndDisinfectRecord.STATUS_WASHFAILD%>'; +var interrupt = '<%=WashAndDisinfectRecord.STATUS_INTERRUPT%>'; var applyDateDataArray = [['全部',''],['今天','today']]; //扫描篮筐允许的篮筐状态集合 var basketAllowProcedure = '<%=Container.CONTAINER_STATUS_FREE%>;<%=Container.CONTAINER_STATUS_WASHLOADING%>;<%=Container.CONTAINER_STATUS_WASHED%>;<%=Container.CONTAINER_STATUS_PACKED%>'; Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js =================================================================== diff -u -r33452 -r33536 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 33452) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 33536) @@ -10,6 +10,9 @@ var oldPersonCode = null; //修改时后台传过来的清洗责任人登录名 var pitchOn = true; //判断是否点击了责任人后扫描条码 true没修改, flase修改过 var isAddorAlter = true; //判断是否是修改还是添加 true是添加,flase是修改 +//清洗记录窗口的大小 +var winWidth = top.screen.width > 1024 ? 1100 : 1000;; +var winHeight = top.screen.height > 768 ? 660 : 600; //基础数据的宽高 var fieldsetWidth = 710; var fieldsetHeight; @@ -19,7 +22,7 @@ //清洗篮筐 var basketTreePanelHeight = 380; //待清洗篮筐 -var pendingWashAndDisinfectWidth = 260; +var pendingWashAndDisinfectWidth = 400; var pendingWashAndDisinfectHeight = 575; var materialDefinitionStore = new Ext.data.Store({ @@ -59,7 +62,15 @@ return str; }, dataIndex: 'button' - }]); + } +]); + +//显示质量监测 +function showQualityMonitory(qualityMonitoryId) { + washAndDisinfectRecordWin.close(); + addQualityMonitoring(qualityMonitoryId); +} + //每次扫描原有的器械包删除原有的器械包节点 function removeTousseGrid(barcode) { var root = top.Ext.getCmp('basketTreePanel').root; @@ -172,7 +183,32 @@ }) }); +var interruptRecord = Ext.data.Record.create([ + { name: 'id' }, + { name: 'interruptDateStr' }, + { name: 'interruptFinishDateStr' }, + { name: 'interruptOptType' }, + { name: 'interruptUserName' }, + { name: 'quatifyMonitoryId' }, + { name: 'washAndDisinfectRecordID' } +]); +var interruptStore = new Ext.data.Store({ + proxy: new Ext.data.MemoryProxy([]), + reader: new Ext.data.JsonReader({ + fields: [ + { name: 'id' }, + { name: 'interruptDateStr' }, + { name: 'interruptFinishDateStr' }, + { name: 'interruptOptType' }, + { name: 'interruptUserName' }, + { name: 'quatifyMonitoryId' }, + { name: 'washAndDisinfectRecordID' } + ] + }) +}); + + //根据条码加载材料 function loadMaterial(barcode, callBack, idCardBarcode, isRetrospectTousse) { if (typeof (barcode) == 'undefined' || barcode == '') { @@ -842,7 +878,7 @@ items: [{ layout: 'column', items: [{ - columnWidth: 0.73, + columnWidth: top.screen.width > 1024 ? 0.64 : 0.6, layout: 'column', items: [{ xtype: "fieldset", @@ -1284,11 +1320,11 @@ }] }] }, { - columnWidth: .58, + columnWidth: top.screen.width > 1024 ? 0.58 : 0.5, layout: 'fit', items: basketTreePanel }, { - columnWidth: .42, + columnWidth: top.screen.width > 1024 ? 0.42 : 0.5, layout: 'fit', items: new top.Ext.grid.EditorGridPanel({ id: 'washAndDisinfectMaterialGrid', @@ -1362,7 +1398,7 @@ }) }] }, { - columnWidth: 0.27, + columnWidth: top.screen.width > 1024 ? 0.36 : 0.4, layout: 'column', items: [{ columnWidth: 1, @@ -1374,6 +1410,48 @@ items: [pendingWashAndDisinfectColumnTree] }] }] + }, { + columnWidth: 1, + layout: 'column', + id: 'interruptListBox', + hidden: true, + items: [{ + columnWidth: 1, + layout: 'fit', + items: new top.Ext.grid.GridPanel({ + id: 'interruptList', + title: '中断记录列表', + bodyStyle: 'border:1px solid #afd7af', + store: interruptStore, + height: 200, + cm: new top.Ext.grid.ColumnModel([ + { header: '操作人', width: 100, menuDisabled: true, dataIndex: 'interruptUserName' }, + { header: "中断时间", width: 150, menuDisabled: true, dataIndex: 'interruptDateStr' }, + { header: "中断完成时间", width: 150, menuDisabled: true, dataIndex: 'interruptFinishDateStr' }, + { header: "中断完成类型", width: 100, menuDisabled: true, dataIndex: 'interruptOptType' }, + { + id: 'deleteItem', header: "质量监测记录", dataIndex: 'quatifyMonitoryId', menuDisabled: true, + renderer: function (v, p, record) { + if (record.data.quatifyMonitoryId !== '') { + var str = ""; + return str; + } else { + return; + } + }, + dataIndex: 'button' + } + ]), + autoExpandColumn: 'deleteItem', + frame: false, + selModel: new top.Ext.grid.RowSelectionModel({ + singleSelect: false + }) + }) + }] }] }], buttons: [{ @@ -1439,9 +1517,6 @@ }] }); - var winWidth = 1000; - var winHeight = top.screen.height > 800 ? 660 : 500; - washAndDisinfectRecordWin = new top.Ext.Window({ id: 'washAndDisinfectRecordWin', layout: 'fit', @@ -1456,7 +1531,7 @@ resize: function (t, w, h) { var widthRadio = parseFloat(w / winWidth).toFixed(2); var heightRadio = parseFloat(h / winHeight).toFixed(2); - resizeWindow(widthRadio, heightRadio,'washAndDisinfectRecordWin'); + resizeWindow(widthRadio, heightRadio, 'washAndDisinfectRecordWin'); } } }); @@ -1539,6 +1614,15 @@ } }); } + interruptStore.removeAll(); + //中断记录列表 + if (action.result.interruptRecords && action.result.interruptRecords.length > 0) { + top.Ext.getCmp('interruptListBox').show(); + for (var i = 0; i < action.result.interruptRecords.length; i++) { + var material = new interruptRecord(action.result.interruptRecords[i]); + interruptStore.add(material); + } + } } var value = top.Ext.getCmp('disinfectProgram').getRawValue(); WashAndDisinfectRecordTableManager.getCleanParameter(value, function (result) { @@ -1571,6 +1655,30 @@ washingMachineStore.load(); } } +//中断操作 +function interruptHandle(id) { + var config = { + title: "中断操作", + msg: "", + width: 400, + multiline: false, + closable: false, + prompt: false, + modal: true, + fn: function (res) { + if (res == 'ok') { + updateWashStatus('继续清洗', id); + } else if (res == 'yes') { + updateWashStatus(washed, id); + } else if (res == 'no') { + updateWashStatus(washfaild, id); + } + }, + buttons: { ok: '继续清洗', yes: '完成清洗', no: '清洗失败', cancel: '取消' }, + icon: Ext.MessageBox.Question + } + top.Ext.MessageBox.show(config); +} function addPendingWashAndDisinfectBasketToRecord(barcode, idCardBarcode, isRetrospectTousse) { if (sstsConfig.hasOwnProperty('wrRecordScanPosition') && sstsConfig.wrRecordScanPosition) { if ((sstsConfig.hasOwnProperty('haveRinserPosition')) && sstsConfig.haveRinserPosition) { Index: ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js =================================================================== diff -u -r33530 -r33536 --- ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 33530) +++ ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 33536) @@ -441,6 +441,10 @@ if(typeof(sterilizerStatus) != 'undefined' && sterilizerStatus != null && sterilizerStatus != ""){ sterilizationStatus = sterilizerStatus; } + var washStatus = ''; + if(typeof(washAndDisinfectStatus) != 'undefined' && washAndDisinfectStatus != null && washAndDisinfectStatus != ""){ + washStatus = washAndDisinfectStatus; + } //2、提交 setQmSubmitResult(0); @@ -449,6 +453,7 @@ params : { tousseMaterialInstanceInfo:tousseAndMaterialAll,//器械包和材料信息 sterilizationStatus:sterilizationStatus, //灭菌状态 + washStatus:washStatus, qualityMonitoringSterilizationID : qualityMonitoringSterilizationID, //灭菌记录id qualityMonitoringWRRecordID : qualityMonitoringWRRecordID //清洗记录id }, Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.js =================================================================== diff -u -r33529 -r33536 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.js (.../washAndDisinfectView.js) (revision 33529) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.js (.../washAndDisinfectView.js) (revision 33536) @@ -137,42 +137,61 @@ }); } -function updateWashStatus(status) { - var records = grid.getSelectionModel().getSelections(); - if (records.length == 0) { - showResult("请至少选中一条清洗记录!"); - return false; - } else if (records.length == 1) { - var data = records[0].data; - qualityMonitoringWRRecordID = data['id']; - } else if (records.length > 1 && status == washfaild) { - showResult("一次只能选中一条清洗记录!"); - return false; - } - var ids = ""; - for (var i = 0; i < records.length; i++) { - if (records[i].data["washStatus"] == "清洗完成" || records[i].data["washStatus"] == "清洗失败") { - showResult("不能修改已清洗完成及清洗失败的清洗记录!"); +function updateWashStatus(status, id) { + if (id) { + ids = id; + qualityMonitoringWRRecordID = id; + } else { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请至少选中一条清洗记录!"); return false; + } else if (records.length == 1) { + var data = records[0].data; + qualityMonitoringWRRecordID = data['id']; + } else if (records.length > 1 && status == washfaild) { + showResult("一次只能选中一条清洗记录!"); + return false; } - if (ids != "") { - ids += ";"; + var ids = ""; + for (var i = 0; i < records.length; i++) { + if (records[i].data["washStatus"] !== washing && status == interrupt) { + showResult("只能对状态为【" + washing + "】的清洗记录进行中断!"); + return false; + } + if (records[i].data["washStatus"] == washed || records[i].data["washStatus"] == washfaild) { + showResult("不能修改已清洗完成及清洗失败的清洗记录!"); + return false; + } + if (ids != "") { + ids += ";"; + } + ids += records[i].data["id"]; } - ids += records[i].data["id"]; } + var url = WWWROOT + '/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!washConfirm.do'; + if (status == interrupt) { + url = WWWROOT + '/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!wahsInterrupt.do'; + } else if (status == '继续清洗') { + url = WWWROOT + '/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!continueWash.do'; + } Ext.getCmp('washSaveConfirm').setValue("0"); top.Ext.MessageBox.confirm("请确认", "确定" + status + "吗?", function (button, text) { if ("yes" == button) { - + washAndDisinfectStatus = status; + if (status == interrupt) { + addQualityMonitoringByResponPart("清洗消毒"); + return; + } Ext.MessageBox.show({ msg: '正在提交,请稍候...', width: 300, wait: true, waitConfig: { interval: 300 } }); Ext.Ajax.request({ - url: WWWROOT + '/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!washConfirm.do', + url: url, params: { ids: ids, confirmType: status }, success: function (response, options) { hideMessageBox(false); @@ -234,6 +253,8 @@ color = "yellow"; } else if (washfaild == status) { color = "#F5A7FA"; + } else if (interrupt == status) { + color = "#FFCC80"; } return "

" + v + "

"; } @@ -243,6 +264,10 @@ var id = record.data['id']; var str = ""; return str; + } else if (v == interrupt) { + var id = record.data['id']; + var str = ""; + return str; } return; } @@ -354,7 +379,7 @@ }; if (!(SSTS_WashRecord_Create || (!haveNeedConfirn))) { tbar.push({ - text: '清洗完成', + text: washed, hidden: SSTS_WashRecord_Create || (!haveNeedConfirn), iconCls: 'btn_ext_application_save', id: 'editTbar', @@ -366,11 +391,23 @@ }; if (!(SSTS_WashRecord_Create || (!haveNeedConfirn))) { tbar.push({ - text: '清洗失败', + text: interrupt, hidden: SSTS_WashRecord_Create || (!haveNeedConfirn), iconCls: 'btn_ext_application_error', id: 'editTbar', handler: function () { + updateWashStatus(interrupt); + } + }); + tbar.push('-'); + }; + if (!(SSTS_WashRecord_Create || (!haveNeedConfirn))) { + tbar.push({ + text: washfaild, + hidden: SSTS_WashRecord_Create || (!haveNeedConfirn), + iconCls: 'btn_ext_application_error', + id: 'editTbar', + handler: function () { updateWashStatus(washfaild); } });