Index: ssts-web/src/main/webapp/js/commonUtils.js =================================================================== diff -u -r40959 -r41012 --- ssts-web/src/main/webapp/js/commonUtils.js (.../commonUtils.js) (revision 40959) +++ ssts-web/src/main/webapp/js/commonUtils.js (.../commonUtils.js) (revision 41012) @@ -61,8 +61,11 @@ } //FSEYEQ-26:显示清洗机数据图形(通用) -function getWashDataLineCharByIframeUtil(id, deviceModel, isPrint) { +function getWashDataLineCharByIframeUtil(id, deviceModel, deviceBrand) { var url = WWWROOT + '/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataChart/washDataChartOfCommon.jsp?washAndDisinfectRecordId=' + id + '&deviceModel=' + deviceModel; + if (deviceBrand) { + url = WWWROOT + '/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataLineChart.jsp?washAndDisinfectRecordId=' + id + '&deviceBrand=' + deviceBrand + } var win = new top.Ext.Window({ title: '清洗参数', id: 'extWindow' + id, @@ -79,9 +82,14 @@ html: "" }], buttons: [{ + text: '导出PDF', + id: 'exportPdf', + handler: function () { + top.document.getElementById('thisIframe').contentWindow.document.getElementById('export').click(); + } + }, { text: '打印', id: 'print', - hidden: true, handler: function () { top.document.getElementById('thisIframe').contentWindow.document.getElementById('print').click(); } @@ -94,13 +102,10 @@ }] }) win.show() - if (isPrint) { - top.Ext.getCmp('print').show(); - } } //FSEYEQ-26:显示灭菌数据图形(通用) -function getSterilizerDataLineCharByIframeUtil(id, sterilizationParaType, isPrint) { +function getSterilizerDataLineCharByIframeUtil(id, sterilizationParaType) { var url = WWWROOT + '/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerLineChartOfCommon.jsp?sterilizationRecordId=' + id + '&sterilizationParaType=' + sterilizationParaType; var win = new top.Ext.Window({ title: '灭菌参数', @@ -118,9 +123,14 @@ html: "" }], buttons: [{ + text: '导出PDF', + id: 'exportPdf', + handler: function () { + top.document.getElementById('thisIframe').contentWindow.document.getElementById('export').click(); + } + }, { text: '打印', id: 'print', - hidden: true, handler: function () { top.document.getElementById('thisIframe').contentWindow.document.getElementById('print').click(); } @@ -133,7 +143,4 @@ }] }) win.show() - if (isPrint) { - top.Ext.getCmp('print').show(); - } } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.js =================================================================== diff -u -r40959 -r41012 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.js (.../washAndDisinfectView.js) (revision 40959) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.js (.../washAndDisinfectView.js) (revision 41012) @@ -158,13 +158,14 @@ } } } else if (data.deviceBrand == GETINGE) { + //BJDXZLYY-73:洁定改为通用的 if (data.deviceModel == GETING_86_SERIES || data.deviceModel == GETING_SUZHOUJIEDING_46_5) { // KLMY洁定清洗机接口 openModalWindowForExt(WWWROOT + '/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataChart/washDataChartOfGeting86Series.jsp?washAndDisinfectRecordId=' + id, '', '清洗参数', '800', '600'); } else if (data.deviceModel == GETING_WD500) { - openModalWindowForExt(WWWROOT + '/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataChart/washDataChartOfGETING_WD500.jsp?washAndDisinfectRecordId=' + id, '', '清洗参数', '800', '600'); + getWashDataLineCharByIframeUtil(id, data.deviceModel); } else { - openModalWindowForExt(WWWROOT + '/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataLineChart.jsp?washAndDisinfectRecordId=' + id, '', '清洗参数', '800', '600'); + getWashDataLineCharByIframeUtil(id, data.deviceModel, data.deviceBrand); } } else if (data.deviceBrand == YOUYUAN) { // DGSDBZXYY-114 连云港佑源减压沸腾清洗消毒机的接口开发 Index: ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js =================================================================== diff -u -r37396 -r41012 --- ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js (.../config.js) (revision 37396) +++ ssts-web/src/main/webapp/disinfectsystem/config/bjdxzlyy/config.js (.../config.js) (revision 41012) @@ -160,6 +160,8 @@ kardexContainerOpeningConfig:[['三号开口','S01-1'],['五号开口','S01-2'],['六号开口','S01-3'],['八号开口','S01-4']], //物品科室共用设置扩展功能 extendedFunctionalityOfGoodsDepartShareConfig:["warehousePosition"], + //启用参数文件确认功能 + enableParameterFileConfirmation:true, //外来器械默认申请科室配置 enableForeignTousseApplyDepartment:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerLineChartOfCommon.js =================================================================== diff -u -r40959 -r41012 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerLineChartOfCommon.js (.../sterilizerLineChartOfCommon.js) (revision 40959) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerLineChartOfCommon.js (.../sterilizerLineChartOfCommon.js) (revision 41012) @@ -1,20 +1,112 @@ -$(function () { - initLoad(); -}) +var queryTable = false; +var enableParameterFileConfirmation = false; +var commonParaType = ['8', '9', '10', '11']; //打印 function printAll() { window.print(); } +//导出 +function exportAll() { + var reportContainer = document.getElementById("report-container"); + $('.printHidden').hide(); + html2canvas(reportContainer, {}).then((canvas) => { + var pdf = new jsPDF('p', 'pt', 'a4'); + var pageWidth = 595.28; // A4 宽度 + var chunkHeight = 820; // A4 高度 + var canvasHeight = canvas.height - 30 + var totalChunks = Math.ceil(canvasHeight / chunkHeight); + if (canvas.height > 820) { + + for (let i = 0; i < totalChunks; i++) { + const startY = i * chunkHeight; + const endY = Math.min(startY + chunkHeight, canvasHeight); + const actualHeight = endY - startY; + + // 创建裁剪用 Canvas + const chunkCanvas = document.createElement('canvas'); + chunkCanvas.width = canvas.width; + chunkCanvas.height = parseInt(actualHeight); + const chunkCtx = chunkCanvas.getContext('2d'); + + // 执行裁剪 + chunkCtx.drawImage( + canvas, + 0, startY, canvas.width, actualHeight, // 源区域 + 0, 0, canvas.width, actualHeight // 目标区域 + ); + // 导出并保存 + const dataUrl = chunkCanvas.toDataURL('image/jpeg', 1); + if (chunkCanvas.height < chunkHeight) { + pdf.addImage(dataUrl, 'JPEG', 10, 10, pageWidth, chunkCanvas.height - 30); + } else { + pdf.addImage(dataUrl, 'JPEG', 10, 10, pageWidth, chunkHeight); + pdf.addPage(); + } + } + } else { + var contentWidth = canvas.width; + var contentHeight = canvas.height; + var pageData = canvas.toDataURL('image/jpeg', 1.0); + pdf.addImage(pageData, 'JPEG', 0, 0, pageWidth, parseInt(pageWidth / contentWidth * contentHeight)); + } + + var title = $('#titleName').text(); + pdf.save(title + ".pdf"); + if (enableParameterFileConfirmation) { + $('.printHidden').show(); + } + }); +} + +function commonParaTypeFun(result) { + if (result.data.sterilizationRecordInfo) { + renderSterilizerData(result.data.sterilizationRecordInfo) + } + if (enableParameterFileConfirmation) { + $('#sterilizeParaConfirmationMan').html(result.data.sterilizeParaConfirmationMan || ''); + $('#sterilizeParaConfirmationBox').show(); + var codeBox = document.getElementById('sterilizeParaConfirmationBarCode'); + codeBox.addEventListener('keydown', (event) => { + if (event.key === 'Enter') { + var barcode = codeBox.value; + if (barcode == '') { + showResult('条码不能为空!'); + return + } + UserTableManager.getUserByBarcode(barcode, function (responseText) { + if (responseText && responseText !== '') { + var result = JSON.parse(responseText); + if (!result.success) { + showResult(result.message || "不允许登记非本科室人员,请扫描本科室人员条码!"); + codeBox.value = ''; + return; + } + $('#sterilizeParaConfirmationMan').html(result.fullName); + $('#sterilizeParaConfirmationCode').html(result.name); + codeBox.value = ''; + } else { + showResult('找不到该条码所对应的人员信息'); + codeBox.value = ''; + } + }); + } + }); + } else { + $('#sterilizeParaConfirmationBox').hide(); + } +} + function initLoad() { jQuery.ajax({ url: WWWROOT + "/disinfectSystem/sterilization/sterilizerRecordLineChartAction!createEChartData.do", type: 'post', dataType: 'JSON', data: { sterilizationRecordId: sterilizationRecordId, - washDataRecordId:washDataRecordId, + washDataRecordId: washDataRecordId, + queryTable: queryTable, time: new Date().getTime() }, success: function (result) { @@ -23,7 +115,12 @@ renderSterilizerData(result.data.keyValues) } if (sterilizationParaType == STERILIZATIONPARATYPE_XINHUA_PDF) { + $('#titleName').html('灭菌炉运行参数'); creatLineChart(result); + } else if (commonParaType.indexOf(sterilizationParaType) >= 0) { + $('#titleName').html('炉次灭菌报告'); + creatLineChartByCommon(result); + commonParaTypeFun(result); } } } @@ -42,6 +139,36 @@ jQuery('#table').html(html); } +//BJDXZLYY-74:保存灭菌参数确认人 +function savesterilizeParaConfirmationMan() { + var url = WWWROOT + '/disinfectSystem/sterilization/sterilizerRecordLineChartAction!saveSterilizeParaConfirmationMan.do'; + var sterilizeParaConfirmationMan = $('#sterilizeParaConfirmationMan').text(); + var sterilizeParaConfirmationCode = $('#sterilizeParaConfirmationCode').text(); + if (sterilizeParaConfirmationCode == '') { + showResult('请先扫描确认人') + return; + } + jQuery.ajax({ + url: url, + method: 'post', + data: { + sterilizationRecordId: sterilizationRecordId, + sterilizeParaConfirmationMan: sterilizeParaConfirmationMan, + sterilizeParaConfirmationCode: sterilizeParaConfirmationCode + }, + success: function (result) { + if (result) { + var res = JSON.parse(result); + if (res.success) { + showResult('保存成功'); + } else { + showResult('保存失败'); + } + } + } + }); +} + //FSEYEQ-26: Clean H101513(灭菌器型号) function creatLineChart(result) { //室内温度 @@ -199,4 +326,176 @@ window.onresize = function () { myChart.resize(); } -} \ No newline at end of file +} + +//BJDXZLYY-74:改造通用的 +function creatLineChartByCommon(result) { + var temperature = result.data.t1TempData;//温度 + var pressure = result.data.p1MbarData;//压力 + var timeData = result.data.timeData;//时间 + var sterilizerRecordArr = result.data.sterilizerRecordArr; + if (sterilizerRecordArr && sterilizerRecordArr.length > 0) { + var html = '
| 温度 | 压力 | '; + html += '|
| ' + sterilizerRecordArr[i].phase + ' | '; + html += '||
| ' + sterilizerRecordArr[i].time + ' | ' + sterilizerRecordArr[i].T1Temp + ' | ' + sterilizerRecordArr[i].P1Mbar + ' | '; + html += '
' + dataObject.tableInfo[i] + '
' + } + $('#WD500Table').html(html); + $('#WD500Table').show(); + } } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataLineChart.jsp =================================================================== diff -u -r40302 -r41012 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataLineChart.jsp (.../washDataLineChart.jsp) (revision 40302) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washDataLineChart.jsp (.../washDataLineChart.jsp) (revision 41012) @@ -1,252 +1,370 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ page import="com.forgon.tools.SpringBeanManger,org.jfree.data.general.DefaultPieDataset,org.jfree.chart.ChartFactory,org.jfree.chart.JFreeChart,org.jfree.chart.servlet.*,com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.action.WashDataLineChartAction" %> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> +<%@ page import="com.forgon.tools.SpringBeanManger,org.jfree.data.general.DefaultPieDataset,org.jfree.chart.ChartFactory,org.jfree.chart.JFreeChart,org.jfree.chart.servlet.*,com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.action.WashDataLineChartAction"%> - +| - | - - | -
|
-
+
+
+
+
+
+
+
- |
-|
| - - | -
-
+
-清洗机名称: +清洗机程序: +开始时间: +结束时间: +清洗操作人: +AO值: + |
-