//@ sourceURL=jy_jc.js var LODOP; //声明为全局变量 //默认打印机下标 var printIndex = -1; //是否有检查内容可以打印 var canBePrintJc = false; //是否有检验内容可以打印 var canBePrintJy = false; $(function () { //默认光标在卡号输入框 $("#cardNo").focus(); init_daterangepicker(); //卡号输入改变事件 cardNoChange(); initJcJyTable(); //重置查询参数 $('#btn_clean').click(function () { cleanParams(); }); //初始化页面上面的按钮事件 //查询 $('#btn_query').click(function () { initJcJyTable(); }); //打印检查检验报告单 $('#btn_print').click(function () { printJyJcReport(1); }); //打印设置检查检验报告单 $('#btn_print_setup').click(function () { printJyJcReport(2); }); }); /** * 列表类型按钮切换事件 * @param object */ function payMarkButtonChange(object) { $("#pay_mark_group").find("button").each(function (index, element) { if ($(element).hasClass("btn-primary")) { $(element).removeClass("btn-primary").addClass("btn-default"); } }); $(object).removeClass("btn-default").addClass("btn-primary"); initJcJyTable(); } /** * 初始化检查检验报告列表 */ function initJcJyTable() { var typeIndex = getIndex("pay_mark_group"); if (typeIndex == 0) { //检查 $('#tb_jy_pName_table_list').bootstrapTable("destroy"); $('#tb_jy_table_list').bootstrapTable("destroy"); initJcListTable(); $("#jy_detail").removeClass("in").addClass("hide"); $("#jc_detail").removeClass("hide").addClass("in"); } else { $('#tb_table_list').bootstrapTable("destroy"); initJyListTable(); $("#jc_detail").removeClass("in").addClass("hide"); $("#jy_detail").removeClass("hide").addClass("in"); } } /** * 初始化检查报告列表 */ function initJcListTable() { $('#tb_table_list').bootstrapTable("destroy"); $('#tb_table_list').bootstrapTable({ url: '/thmz/getJcJyList', //请求后台的URL(*) method: 'post', //请求方式(*) toolbar: '#toolbar', //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: true, //是否启用排序 sortOrder: "asc", //排序方式 queryParams: queryParams, //传递参数(*) sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*) pageNumber: 1, //初始化加载第一页,默认第一页 pageSize: 10, //每页的记录行数(*) pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*) search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch: true, showColumns: false, //是否显示所有的列 showRefresh: false, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 uniqueId: "ID", //每一行的唯一标识,一般为主键列 showToggle: false, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 detailView: false, //rowStyle:rowStyle,//通过自定义函数设置行样式 ajaxOptions: { headers: { 'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token") } }, columns: [ { field: 'patientId', title: '门诊ID', align: "center", valign: 'middle', }, { field: 'patientName', title: '病人姓名', align: "center", valign: 'middle', }, { field: 'groupName', title: '项目名称', align: "center", valign: 'middle', }, { field: 'reqDate', title: '申请时间', align: "center", valign: 'middle', formatter: function (value, row, index) { if (value == null || value == "") { return ""; } return format(value, "yyyy-MM-dd HH:mm:ss"); } } ], onClickRow: function (row) { clearJcDetail(); $("#patientId_t").text(row.patientId); $("#name_t").text(row.patientName); $("#date_t").text(format(row.reqDate, "yyyy-MM-dd HH:mm:ss")); fitJcDetail(row.reqNo,row.patientId); }, responseHandler: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } var ress = eval(res); if (ress.code == -1) { if (ress.message != null && ress.message != '') { errorMesage(ress); } return { "total": 0,//总页数 "rows": {} //数据 }; } return { "total": ress.count,//总页数 "rows": ress.data //数据 }; }, onLoadSuccess: function (data) { $(".pagination-detail").css("display", "none"); } }); } /** * 构建列表查询参数 * @param params * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}} */ function queryParams(params) { var rePortRangeArr = getRePortRangeArr(); return { patientName: $("#cardNo").val(), reqType: "3", beginTime: rePortRangeArr[0], endTime: rePortRangeArr[1], pageSize: params.limit, //页面大小 pageIndex: params.offset / params.limit //页码 }; }; /** * 加载检查明细 * @param reqNo */ function fitJcDetail(reqNo,patientId) { $.ajax({ type: "GET", url: '/thmz/getYjJcRecordReport?hisReqNo=' + reqNo+"&patientId="+patientId, contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } if (res.code == 0) { canBePrintJc = true; $("#jy_detail").removeClass("in").addClass("hide"); $("#jc_detail").removeClass("hide").addClass("in"); var mzPatientMi = res.data.mzPatientMi; $("#gender_jc").text(mzPatientMi.gender); $("#age_jc").text(mzPatientMi.age); var yjJcRecordReport = res.data.yjJcRecordReport; $("#groupName").text(res.data.groupName); $("#textJc").text(yjJcRecordReport.textJc); $("#textZd").text(yjJcRecordReport.textZd); var jcRecord = res.data.jcRecord; $("#report_no").text(jcRecord.reportNo); $("#reportId").text(jcRecord.reportId); if (jcRecord.reportDate == null || jcRecord.reportDate == "") { $("#reportDate").html("                                 "); } else { $("#reportDate").text(format(jcRecord.reportDate, "yyyy-MM-dd HH:mm:ss")); } $("#confirmId").text(jcRecord.confirmId); if (jcRecord.confirmDate == null || jcRecord.confirmDate == "") { $("#confirmDate").html("                                 "); } else { $("#confirmDate").text(format(jcRecord.confirmDate, "yyyy-MM-dd HH:mm:ss")); } } else { errorMesage(res); } } }); } /** * 清空检查明细 * @param reqNo */ function clearJcDetail() { canBePrintJc = false; $("#patientId_t").text(""); $("#name_t").text(""); $("#date_t").text(""); $("#gender_jc").text(""); $("#age_jc").text(""); $("#groupName").text(""); $("#textJc").text(""); $("#textZd").text(""); $("#report_no").text(""); $("#reportId").text(""); $("#reportDate").html("                                 "); $("#confirmId").text(""); $("#confirmDate").html("                                 "); } /** * 初始化检验报告列表 */ function initJyListTable() { $('#tb_jy_pName_table_list').bootstrapTable("destroy"); $('#tb_jy_table_list').bootstrapTable("destroy"); $('#tb_jy_pName_table_list').bootstrapTable({ url: '/thmz/getJyPNameList', //请求后台的URL(*) method: 'post', //请求方式(*) toolbar: '#toolbar', //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: true, //是否启用排序 sortOrder: "asc", //排序方式 queryParams: queryJyPNameParams, //传递参数(*) sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*) pageNumber: 1, //初始化加载第一页,默认第一页 pageSize: 10, //每页的记录行数(*) pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*) search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch: true, showColumns: false, //是否显示所有的列 showRefresh: false, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 uniqueId: "ID", //每一行的唯一标识,一般为主键列 showToggle: false, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 detailView: false, //rowStyle:rowStyle,//通过自定义函数设置行样式 ajaxOptions: { headers: { 'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token") } }, columns: [ { field: 'patientId', title: '门诊ID', align: "center", valign: 'middle', }, { field: 'patientName', title: '病人姓名', align: "center", valign: 'middle', } ], onClickRow: function (row) { initInspectionsIndexTable(row.patientId); }, responseHandler: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } var ress = eval(res); if (ress.code == -1) { if (ress.message != null && ress.message != '') { errorMesage(ress); } return { "total": 0,//总页数 "rows": {} //数据 }; } return { "total": ress.count,//总页数 "rows": ress.data //数据 }; }, onLoadSuccess: function (data) { $("#pName_table_div").find(".pagination-detail").css("display", "none"); var pageItems = $("#pName_table_div").find(".page-item"); if (pageItems != null && pageItems.length > 0) { for (var i = 1; i < pageItems.length - 1; i++) { $(pageItems[i]).css("display", "none"); } } } }); } /** * 构建列表查询参数 * @param params * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}} */ function queryJyPNameParams(params) { var rePortRangeArr = getRePortRangeArr(); return { patientName: $("#cardNo").val(), reqType: "2", beginTime: rePortRangeArr[0], endTime: rePortRangeArr[1], pageSize: params.limit, //页面大小 pageIndex: params.offset / params.limit //页码 }; }; /** * 加载检验列表 包含检验单id * @param patientId */ function initInspectionsIndexTable(patientId) { var rePortRangeArr = getRePortRangeArr(); $('#tb_jy_table_list').bootstrapTable("destroy"); $('#tb_jy_table_list').bootstrapTable({ url: '/thmz/getJyList?patientId=' + patientId + "&beginTime=" + rePortRangeArr[0] + "&endTime=" + rePortRangeArr[1], //请求后台的URL(*) method: 'get', //请求方式(*) toolbar: '#toolbar', //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: true, //是否启用排序 sortOrder: "asc", //排序方式 //queryParams: queryJyPNameParams, //传递参数(*) sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*) pageNumber: 1, //初始化加载第一页,默认第一页 pageSize: 10, //每页的记录行数(*) pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*) search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch: true, showColumns: false, //是否显示所有的列 showRefresh: false, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 uniqueId: "ID", //每一行的唯一标识,一般为主键列 showToggle: false, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 detailView: false, //rowStyle:rowStyle,//通过自定义函数设置行样式 ajaxOptions: { headers: { 'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token") } }, columns: [ { field: 'aply_CTNT', title: '检验名称', align: "center", valign: 'middle', }, { field: 'ordr_CREATE_DATE', title: '检验时间', align: "center", valign: 'middle', formatter: function (value, row, index) { if (value == null || value == "") { return ""; } return format(value, "yyyy-MM-dd HH:mm:ss"); } } ], onClickRow: function (row) { queryInspectionDetail(row.ordr_ID); }, responseHandler: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } var ress = eval(res); if (ress.code == -1) { if (ress.message != null && ress.message != '') { errorMesage(ress); } return { "total": 0,//总页数 "rows": {} //数据 }; } return { "total": ress.data.length,//总页数 "rows": ress.data //数据 }; }, onLoadSuccess: function (data) { $("#jy_table_table_div").find(".pagination-detail").css("display", "none"); } }); } /** * 清空检验明细 * @param orderId */ function clearInspectionDetail() { canBePrintJy = false; $("#patientId_t_jy").text(""); $("#name_t_jy").text(""); $("#gender_jy").text(""); $("#age_jy").text(""); $("#reqDept_t_jy").text(""); $("#bed_no_jy").text(""); $("#smpl_jy").text(""); $("#item_jy").text(""); $("#applyDate").text(""); $("#orderCreateDate").text(""); $("#auditTime").text(""); $("#orderUsrName").text(""); $("#testUsrName").text(""); $("#auditUsrName").text(""); $("#jyBody").html(""); } /** * 加载检验明细 * @param orderId */ function queryInspectionDetail(orderId) { clearInspectionDetail(); $.ajax({ type: "GET", url: '/thmz/getInspectionDetail?orderId=' + orderId, contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } if (res.code == 0) { canBePrintJy = true; $("#jc_detail").removeClass("in").addClass("hide"); $("#jy_detail").removeClass("hide").addClass("in"); var mzPatientMi = res.mzPatientMi; $("#patientId_t_jy").text(mzPatientMi.patientId); $("#name_t_jy").text(mzPatientMi.name); $("#gender_jy").text(mzPatientMi.gender); $("#age_jy").text(mzPatientMi.age); var html = ""; if (res.data != null) { var inspectionHeader = res.data.inspectionHeader; $("#reqDept_t_jy").text(inspectionHeader.dept_NAME); $("#bed_no_jy").text(inspectionHeader.ptnt_BED_NO); $("#smpl_jy").text(inspectionHeader.smpl_NAME); $("#item_jy").text(inspectionHeader.aply_CNTN); $("#applyDate").text(format(inspectionHeader.aply_DATE, "yyyy-MM-dd HH:mm:ss")); $("#orderCreateDate").text(format(inspectionHeader.ordr_CREATE_DATE, "yyyy-MM-dd HH:mm:ss")); $("#auditTime").text(format(inspectionHeader.audt_TIME, "yyyy-MM-dd HH:mm:ss")); $("#orderUsrName").text(inspectionHeader.ordr_USR_NAME); $("#testUsrName").text(inspectionHeader.test_USR_NAME); $("#auditUsrName").text(inspectionHeader.audt_USR_NAME); var inspectionItems = res.data.inspectionItems; if (inspectionItems != null && inspectionItems.length > 0) { for (var i = 0; i < inspectionItems.length; i++) { html += ""; var obj = inspectionItems[i]; var itm_VALUE =obj.itm_VALUE; if(itm_VALUE==null || itm_VALUE=="null"){ itm_VALUE=""; } itm_VALUE+= (obj.itm_STR_VALUE == null || obj.itm_STR_VALUE == "null") ? "" : obj.itm_STR_VALUE; var range =obj.range; if(range==null || range=="null"){ range=""; } range+= (obj.range_STR == null || obj.range_STR == "null") ? "" : obj.range_STR; html += "" + obj.itm_NAME + ""; html += "" + itm_VALUE + ""; html += "" + obj.itm_UNIT + ""; if(obj.itm_ALERT==null || obj.itm_ALERT==""){ html += ""; }else if(obj.itm_ALERT=="H"){ html += ""; }else if(obj.itm_ALERT=="L"){ html += ""; } html += "" + range + ""; html += ""; } } } $("#jyBody").html(html); } else { errorMesage(res); } } }); } /** * 卡号输入改变事件 */ function cardNoChange() { if (window.ActiveXObject || "ActiveXObject" in window) { $("#cardNo").on('input propertychange', function () { queryUserInfoByCardNo(); }); } else { $("#cardNo").on('input οninput', function () { queryUserInfoByCardNo(); }); } } /** * 卡号有变化后查询病人信息 */ function queryUserInfoByCardNo() { var cardNo = $("#cardNo").val(); var index = cardNo.indexOf("-"); if (index > 0 && index == cardNo.length - 2) { $("#patientId").val(cardNo); initJcJyTable(); } else if (cardNo == '120' || cardNo.length == 8) { $("#cardNo").attr("title", cardNo); $.ajax({ type: "GET", url: '/thmz/getByIcCardNo?icCardNo=' + cardNo, contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } if (res.code == 0) { if (res.data != null) { $("#cardNo").val(res.data.patientId); initJcJyTable(); } } else { errorMesage(res); } } }); } else if (cardNo == null || cardNo == "") { cleanParams(); } } /** * 获取按钮组选择的下标 * @param id * @returns {number} */ function getIndex(id) { var index = 0; var item = $("#" + id).find("button"); for (var i = 0; i <= item.length; i++) { if ($(item[i]).hasClass("btn-primary")) { index = i; break; } } return index; } /** * 获取时间选择器的时间数组 * @returns {string[]} */ function getRePortRangeArr() { var rePortRange = $('#reportrange span').html(); var rePortRangeArr = rePortRange.split(" - "); rePortRangeArr[0] = rePortRangeArr[0] + " 00:00:00" rePortRangeArr[1] = rePortRangeArr[1] + " 23:59:59" return rePortRangeArr; } /** * 清空查询条件 */ function cleanParams() { $("#cardNo").val(null); $('#reportrange span').html(moment().format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD')); initJcJyTable(); } /** * 查询默认打印机 */ function setPrint() { if (printIndex >= 0) { return; } $.ajax({ type: "GET", url: '/thmz/getLastWindowsByCurrentUser', contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, async: false, success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } if (res.code == 0) { printIndex = res.data.cgPrintIndex; } else { printIndex = -1; } } }); } /** * 打印检查检验报告单 * @param printType 打印模式 1 预览打印 2 打印设置 */ function printJyJcReport(printType) { var typeIndex = getIndex("pay_mark_group"); var title = "检查报告单"; if (typeIndex == 1) { title = "检验报告单" if (!canBePrintJy) { warningMesageSimaple("没有任何【" + title + "】可供打印!"); return; } } else { if (!canBePrintJc) { warningMesageSimaple("没有任何【" + title + "】可供打印!"); return; } } setPrint(); LODOP = getLodop(); LODOP.PRINT_INITA(6, 0, "148mm", "210mm", "长沙泰和医院" + title); LODOP.SET_PRINT_STYLE("FontSize", 7); //字体大小 //设置默认打印机 LODOP.SET_PRINTER_INDEX(printIndex); LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "148mm"); LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "210mm"); LODOP.SET_PRINT_PAGESIZE(1, "148mm", "210mm", "CreateCustomPage"); LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", title);//对新建的纸张重命名 //intDispMode:预览比例,数字型,0-适高 1-正常大小 2-适宽 //intToolMode:工具条和按钮,数字型 0-显示(上方)工具栏 1-显示(下方)按钮栏 2-两个都显示 3-两个都不显示 //blDirectPrint: 打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”) //intWidth,intHeight 窗口的宽和高,整数型,单位是px //strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔 //LODOP.SET_PREVIEW_WINDOW(intDispMode,intToolMode,blDirectPrint,intWidth,intHeight,strTitleButtonCaptoin) LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 700, 900, ""); //LODOP.SET_PRINT_STYLE("FontSize", 8); //字体大小 var strStyle = ""; if (typeIndex == 0) { LODOP.ADD_PRINT_HTM("0mm", "5mm", "140mm", "200mm", strStyle + document.getElementById("jc_detail").innerHTML); } if (typeIndex == 1) { LODOP.ADD_PRINT_TABLE("37mm", "5mm", "130mm", "138mm", strStyle + document.getElementById("jy_detail_content").innerHTML); LODOP.SET_PRINT_STYLEA(0, "Vorient", 3); LODOP.ADD_PRINT_HTM("0mm", "5mm", "130mm", "200mm", strStyle + document.getElementById("jy_detail_title").innerHTML); LODOP.SET_PRINT_STYLEA(0, "ItemType", 1); LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1); LODOP.ADD_PRINT_HTM("177mm", "5mm", "130mm", "200mm", strStyle + document.getElementById("jy_detail_foot").innerHTML); LODOP.SET_PRINT_STYLEA(0, "ItemType", 1); LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1); } if (printType == 1) { LODOP.PREVIEW(); } else if (printType == 2) { LODOP.PRINT_SETUP(); } }