//@ sourceURL=ward_prescription.js var LODOP; //声明为全局变量 var groupNo = window.localStorage["groupNo"]; var pageNo = "";//请领单号 var pageNos = "";//病室请领单号集合 var pageClass = "";//药单类型 var wardCode = "";//申请病室 var wardName = ""; var hzFlag = 0;//最近浏览药单还是科室汇总药单 var nfdPrintIndex = window.localStorage["nfdPrintIndex"]; var tableInterval; var lastrow;//最后编辑单元格的行 var lastcell;//最后编辑单元格的列 var searchData = {};//搜索条件 $(function () { init_daterangepicker(); $('#reportrange span').html(moment().subtract(5, 'days').format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD')); $(".selectpicker").selectpicker({ dropuAuto: false }); $('#submitFlagSearch').html(""); let submitFlagHtml = ''; if (nfdPrintIndex == null) { return errorMesageSimaple('未设置内服袋打印机,请在发药参数设置中设置'); } if (groupNo == null) { return errorMesageSimaple('当前药房未设置,请在发药参数设置中设置'); } else if (groupNo === '81') { $('.isXy').css('display', 'none'); $('.isZy').css('display', ''); $('#mx').css('display', 'none'); submitFlagHtml = '' + ''; } else { $('.isXy').css('display', ''); $('.isZy').css('display', 'none'); $('#mx').css('display', ''); submitFlagHtml = '' + '' + ''; } $('#submitFlagSearch').append(submitFlagHtml); $('#submitFlagSearch').selectpicker('refresh'); initTbTable(); clearInterval(tableInterval); //五分钟刷新一次请领单列表数据 tableInterval = setInterval(function (){ if((groupNo !== '81' && $("#submitFlagSearch").val() === "1") || (groupNo === '81' && $("#submitFlagSearch").val() === "3")){ initTbTable() } }, 50000); initDynamicSelect("allUnitCode", "wardCode"); //重置查询参数 $('#btn_clean').click(function () { cleanParams(); }); $("#btn_query").click(function (t) { $("#initButton").find("button").each(function (index, element) { if ($(element).hasClass("btn-primary")) { $(element).removeClass("btn-primary").addClass("btn-default"); } }); $("#qld").removeClass("btn-default").addClass("btn-primary"); initTbTable(); searchData = { wardCode: ($("#wardCode").val() == null ? null : wardCode = $("#wardCode").val()[0]), pageNo: $("#pageNoSearch").val() == "" ? null : $("#pageNoSearch").val(), submitFlag: $("#submitFlagSearch").val(), pageClass: $("#pageClassSearch").val() == "" ? null : $("#pageClassSearch").val() } }); $("#printSend").click(function (t) { $('#zydybqModal').modal('hide'); $("#zyypbq_name").attr("value", $("#zydyNameLabel").val()); $("#zyypbq_bedno").attr("value", $("#bedNoLabel").val()); $("#zyypbq_ward").attr("value", $("#wardLabel").val()); $("#zyypbq_date").attr("value", $("#dateLabel").val()); $("#zyypbq_comm").text($("#yfLabel").val()); if ($("#syfsLabel").val() == 0) { $("#zybq_title").text("中药口服标签"); } else { $("#zybq_title").text("中药外用标签"); } LODOP = getLodop(); LODOP.PRINT_INITA(6, 0, "50mm", "30mm", "中药标签"); //设置默认打印机 LODOP.SET_PRINTER_INDEX(nfdPrintIndex); LODOP.SET_PRINT_PAGESIZE(1, '50mm', '30mm', "CreateCustomPage"); LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "50mm"); LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "30mm"); LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "中药标签");//对新建的纸张重命名 LODOP.SET_PRINT_COPIES(parseInt($("#dyslLabel").val())); LODOP.ADD_PRINT_HTM("2mm", "2mm", "50mm", "30mm", $('#print_view_zybq').html()); LODOP.PRINT(); //LODOP.PREVIEW(); }); $("#barCode").on('blur', function (t) { let rowid = $("#tb_detail_table").jqGrid("getGridParam", "selrow"); setTimeout(function () {//延时防止编辑单元格输入框未生效 if ($("input[name='manuNo']").length == 0 && $("select[name='fybz']").length == 0) { return $("#barCode").focus(); } $("#" + rowid + "_manuNo,#" + rowid + "_fybz").on('blur', function (t) { $("#barCode").focus(); }); if ($("input[name='manuNo']").length > 0) { if (!$("#" + rowid + "_manuNo").is(':focus')) { return $("#barCode").focus(); } } else if ($("select[name='fybz']").length > 0) { if (!$("#" + rowid + "_fybz").is(':focus')) { return $("#barCode").focus(); } } }, 500) }); /** * 扫码条码 */ $("#barCode").on('input', debounce(e => { autoBar(e.delegateTarget.value) }, 500)); }); /** * 条码赋值 * @param value */ function autoBar(value) { request({ url: '/getBarCode', method: 'GET', data: { barCode: value } }).then((res) => { $("#barCode").val(""); if (Object.keys(res.data).length === 0) { return warningMesageSimaple("未找到该条码对应的批号"); } let rowId = $("#tb_detail_table").jqGrid("getGridParam", "selrow"); var rowData = $("#tb_detail_table").jqGrid('getRowData', rowId); let chargeCode = ''; for (let key in res.data) { chargeCode = key } if (chargeCode != rowData.chargeCode) { return warningMesageSimaple("该条码对应的药品编码和表格选中药品不一致"); } if (!isEmpty(rowData.manuNo)) { let oldManuNos = rowData.manuNo.split(","); if (oldManuNos.indexOf(res.data[chargeCode]) != -1) { return warningMesageSimaple("条码重复扫描"); } } $("#tb_detail_table").jqGrid("setCell", rowId, 'manuNo', (isEmpty(rowData.manuNo) ? "" : (rowData.manuNo + ",")) + res.data[chargeCode]); $("#tb_detail_table").setSelection(rowId + 1, false); successMesageSimaple("扫描条码赋值批号成功"); }); } /** * 列表类型按钮切换事件 * @param object * @param realIndex 下标 */ function initButtonChange(object, realIndex) { $("#initButton").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"); if (realIndex == 0) { $("#pageNoSearch").val(searchData.pageNo); $("#pageClassSearch").val(searchData.pageClass); $("#wardCode").val(searchData.wardCode); if (searchData.submitFlag == null) { groupNo === '81' ?$("#submitFlagSearch").val(3):$("#submitFlagSearch").val(1); } else { $("#submitFlagSearch").val(searchData.submitFlag); } $("#submitFlagSearch").selectpicker('refresh'); $("#wardCode").removeAttr('disabled'); $("#pageNoSearch").removeAttr('disabled'); $("#pageClassSearch").removeAttr('disabled'); $("#submitFlagSearch").removeAttr('disabled'); $("#wardCode").selectpicker('refresh'); $("#pageClassSearch").selectpicker('refresh'); $("#submitFlagSearch").selectpicker('refresh'); $("#btn_query").removeAttr('disabled'); $("#btn_clean").removeAttr('disabled'); $("#barCode").attr('disabled', true); initTbTable(); } else if (realIndex == 1) { setFrom(); $("#barCode").attr('disabled', true); loadSummarizingTable(); } else if (realIndex == 2) { setFrom(); $("#barCode").attr('disabled', false); $("#barCode").focus(); loadDetailTable(); } } function setFrom() { $("#wardCode").selectpicker('val', wardCode); if (hzFlag === 0) { $("#pageNoSearch").val(pageNo); } $("#pageClassSearch").val(pageClass); $("#wardCode").selectpicker('refresh'); $("#pageClassSearch").selectpicker('refresh'); $("#wardCode").attr('disabled', true); $("#pageNoSearch").attr('disabled', true); $("#pageClassSearch").attr('disabled', true); $("#submitFlagSearch").attr('disabled', true); $("#btn_clean").attr('disabled', true); $("#btn_query").attr('disabled', true); } /** * 控制汇总和明细的显示 */ function detail(no, type, code, flag) { pageNo = no; pageClass = type; wardCode = code; hzFlag = flag; setFrom(); if (flag === 1) { initButtonChange("#hz", 1); } else { switch (type) { case "1": case "2": case "5": case "6": initButtonChange("#mx", 2); break; default: initButtonChange("#hz", 1); } } } /** * 药单界面显示 */ function initHtml() { $("#tb_table_div").css("display", ""); $("#tb_summarizing_table_div").css("display", "none"); $("#tb_detail_table_div").css("display", "none"); } /** * 药单汇总界面显示 */ function initSummarizingHtml() { $("#tb_summarizing_table_div").css("display", ""); $("#tb_table_div").css("display", "none"); $("#tb_detail_table_div").css("display", "none"); } /** * 药单详细界面初始化 */ function initDetailHtml() { $("#tb_table_div").css("display", "none"); $("#tb_summarizing_table_div").css("display", "none"); $("#tb_detail_table_div").css("display", ""); } /** * 查询药单基础信息 */ function initTbTable() { let pageIndex = $('#tb_table').bootstrapTable('getOptions').pageNumber; if ($('#qld').hasClass('btn-primary')) { initHtml(); $('#tb_table').bootstrapTable("destroy"); $('#tb_table').bootstrapTable({ url: "/thmz/getYzYpPageNo", //请求后台的URL(*) method: 'post', //请求方式(*) striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: true, //是否启用排序 sortOrder: "asc", //排序方式 queryParams: queryParams, //传递参数(*) sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*) pageNumber: pageIndex || 1, //初始化加载第一页,默认第一页 pageSize: 30, //每页的记录行数(*) pageList: [25, 50, 100], //可供选择的每页的行数(*) search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch: true, showColumns: false, //是否显示所有的列 showRefresh: false, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 uniqueId: "ID", //每一行的唯一标识,一般为主键列 showToggle: false, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 detailView: false, ajaxOptions: { headers: { 'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token") } }, columns: initColumns(), rowStyle: function (row, index) { if (row.pageClass == "T" || row.pageClass == "HT") { return {css: {'color': 'red', 'padding': '0px'}}; } return {css: {'padding': '0px'}}; }, onDblClickRow: function (row) { loadSummarizingTable(); }, 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 != '') { new PNotify({ title: '错误提示', text: ress.message, type: 'error', hide: true, styling: 'bootstrap3' }); } return { "total": 0,//总页数 "rows": {} //数据 }; } return { "total": ress.total,//总页数 "rows": ress.data //数据 }; }, }); } } /** * 初始化列 * @returns {*[]} */ function initColumns() { let base = [{ title: '操作', align: "center", valign: 'middle', formatter: function (value, row, index) { var str = ''; if (groupNo !== '81' && $("#submitFlagSearch").val() === '1' && row.pageClass != 'T' && row.pageClass != 'HT' && row.pageClass != 'A' && row.pageClass != '5' && row.pageClass != '6') { str += ''; } if ((groupNo !== '81' && $("#submitFlagSearch").val() === '1') || (groupNo === '81' && $("#submitFlagSearch").val() === '3')) { str += ''; } return str; } }, { field: 'wardName', title: '申请病室', align: "center", valign: 'middle' }, { field: 'pageNo', title: '药品单号', align: "center", valign: 'middle' }]; let xy = [{ field: 'pageName', title: '药单类型', align: "center", valign: 'middle', formatter: function (value, row, index) { return getPageName(row.pageClass); } }, { field: 'subName', title: '提交人', align: "center", valign: 'middle' }, { field: 'submitTime', title: '提交时间', align: "center", valign: 'middle', visible: $("#submitFlagSearch").val() === '3' ? false : true, formatter: function (value, row, index) { if (value != null && value != "") { return format(value, "yyyy-MM-dd HH:mm:ss"); } return ""; } }, { field: 'cancelSubName', title: '取消人', align: "center", valign: 'middle', visible: $("#submitFlagSearch").val() === '2' ? true : false }, { field: 'cancelSubmitTime', title: '取消时间', align: "center", valign: 'middle', visible: $("#submitFlagSearch").val() === '2' ? true : false, formatter: function (value, row, index) { if (value != null && value != "") { return format(value, "yyyy-MM-dd HH:mm:ss"); } return ""; } }, { field: 'contirmName', title: '发药人', align: "center", valign: 'middle', visible: $("#submitFlagSearch").val() === '3' ? true : false }, { field: 'confirmTime', title: '确认时间', align: "center", valign: 'middle', visible: $("#submitFlagSearch").val() === '3' ? true : false, formatter: function (value, row, index) { if (value != null && value != "") { return format(value, "yyyy-MM-dd HH:mm:ss"); } return ""; } }, { field: 'startDate', title: '开始时间', align: "center", valign: 'middle', visible: $("#submitFlagSearch").val() === '3' ? false : true, formatter: function (value, row, index) { if (value != null && value != "") { return format(value, "yyyy-MM-dd"); } return ""; } }, { field: 'endDate', title: '结束时间', align: "center", valign: 'middle', visible: $("#submitFlagSearch").val() === '3' ? false : true, formatter: function (value, row, index) { if (value != null && value != "") { return format(value, "yyyy-MM-dd"); } return ""; } }]; let zy = [{ field: 'chargeDate', title: '收费时间', align: "center", valign: 'middle', formatter: function (value, row, index) { if (value != null && value != "") { return format(value, "yyyy-MM-dd"); } return ""; } }, { field: 'orderName', title: '处方名称', align: "center", valign: 'middle' }, { field: 'doctorName', title: '医生', align: "center", valign: 'middle' }, { field: 'orderNo', title: '医嘱号', align: "center", valign: 'middle' }]; if (groupNo === '81') { return base.concat(zy) } else { return base.concat(xy) } } /** * 加载药单汇总信息表格 */ function loadSummarizingTable() { initSummarizingHtml(); initSummarizingTable(); let url = '/thmz/getZyDrugCount'; let tem = { groupNo: groupNo, pageClass: pageClass, submitFlag: $("#submitFlagSearch").val() }; if (groupNo === '81') { url = '/thmz/getZyDrugCyCount'; tem = {}; } if (hzFlag === 1) { tem.wardCode = wardCode; $.ajax({ type: "GET", url: '/thmz/queryYzYpPageNoStr', contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, data: tem, success: function (res) { if (res.code == 0) { url = '/thmz/getYzYpOrderWard'; pageNos = res.data; $("#tb_summarizing_table").jqGrid('setGridParam', { datatype: 'json', url: url, postData: tem, groupingView: { groupField: ['pageClass'], groupColumnShow: [false],//是否展示分组列 groupText: ['单号:' + res.data + ''],//组名的展示文字 }, }).trigger('reloadGrid'); } else { errorMesage(res); } } }); } else { tem.pageNo = pageNo; $("#tb_summarizing_table").jqGrid('setGridParam', { datatype: 'json', url: url, postData: tem }).trigger('reloadGrid'); } } /** * 加载药单详细信息表格 */ function loadDetailTable() { initDetailHtml(); initDetailTable(); $("#tb_detail_table").jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); } /** * 初始化药单汇总信息表格 */ function initSummarizingTable() { $.jgrid.gridUnload("tb_summarizing_table"); $("#tb_summarizing_table").jqGrid({ datatype: 'local', mtype: 'get', loadBeforeSend: function (jqXHR) { jqXHR.setRequestHeader("Authorization", 'Bearer ' + localStorage.getItem("token")); jqXHR.setRequestHeader("Accept", 'application/json'); }, postData: { pageNo: pageNo, pageClass: pageClass }, toolbar: [true, "top"], styleUI: 'Bootstrap', height: '100%', viewrecords: true, autowidth: true, /*loadonce:true,//一次加载全部数据到客户端,由客户端进行排序 sortable: true, sortname: 'location', //设置默认的排序列 sortorder: 'asc',*/ cellEdit: true, cellsubmit: "clientArray", rownumbers: false,//是否显示序号 rownumWidth: 50, rowNum: -1,//取消分页 caption: '请领单药品汇总', grouping: groupNo === '81' ? false : true, groupingView: { groupField: ['pageClass'], groupSummary: [false],//是否开启汇总页脚 groupColumnShow: [false],//是否展示分组列 groupText: ['单号:' + pageNo + ''],//组名的展示文字 groupCollapse: false,//是否收起 }, footerrow:true,//设置属性,显示统计行 gridComplete:function(){ var rowNum=parseInt($(this).getGridParam("records"),20);//获取行数 if(rowNum>0){ $(".ui-jqgrid-sdiv").show(); let estatecount=$(this).getCol("totalMoney",false,"sum");//需要统计的列 $(this).footerData("set",{"retprice":"合计","totalMoney":keepTwoDecimal(estatecount)}); //将合计值显示出来 }else{ $(".ui-jqgrid-sdiv").hide(); } }, colNames: ['发药', '拒退', '单号', '批号', '住院号', '床号', '姓名', '代煎剂数', '货位号', '药品编码', '药品名称', '规格', '数量/剂数', '处方金额', '代煎单价', '每天剂数', '煎药说明', '加水量', '煮取量', '复煎次数', '几次服用', '服用说明', '医生', '每剂数量', '发药量', '原发药量', '库存量', '零售价', '金额', '生产厂家', '药单类型', '确认时间', '规格编号', '医保编码','草药医嘱说明'], colModel: [ { name: 'fybz', index: 'fybz', align: 'center', width: 30, editable: true, formatter: "select", hidden: (pageClass === 'T' || groupNo === '81' || pageClass === 'HT') ? true : false, edittype: "select", editoptions: (pageClass === '3' || pageClass === '4') ? {value: "0:发药;1:暂缓"} : {value: "0:发药;1:暂缓;2:拒发"}, formatter: function (cellvalue, options, rowObject) { if (cellvalue == null || cellvalue == 0) { return "发药" } else if (cellvalue == 1) { return "暂缓" } else if (cellvalue == 2) { return "拒发" } } }, { name: 'tybz', index: 'tybz', align: 'center', width: 30, formatter: "checkbox", editable: true, hidden: (pageClass === 'T' || pageClass === 'HT') ? false : true, edittype: 'checkbox', editoptions: {value: "1:0"} }, {name: 'pageNo', index: 'pageNo', align: 'center', width: 30, hidden: true}, { name: 'manuNo', index: 'manuNo', align: 'center', width: 30, editable: true, hidden: (pageClass == 'T' || pageClass == 'HT') ? true : false, edittype: "text" }, { name: 'inpatientNo', index: 'inpatientNo', align: 'center', width: 30, hidden: groupNo === '81' ? false : true }, {name: 'bedNo', index: 'bedNo', align: 'center', width: 30, hidden: groupNo === '81' ? false : true}, {name: 'name', index: 'name', align: 'center', width: 30, hidden: groupNo === '81' ? false : true}, {name: 'quantityDj', index: 'quantityDj',width: 30, hidden: groupNo === '81' ? false : true, formatter: function (cellvalue, options, rowObject) { return cellvalue==0?'':cellvalue }}, {name: 'location', index: 'location', align: 'center', width: 30}, {name: 'chargeCode', index: 'chargeCode', align: 'center', width: 30}, {name: 'drugName', index: 'drugName', align: 'left', width: 50}, {name: 'specification', index: 'specification', align: 'center', width: 30}, {name: 'amount', index: 'amount', align: 'center', width: 30}, {name: 'orderJe', index: 'orderJe', hidden: true}, {name: 'orderJeDj', index: 'orderJeDj', hidden: true}, {name: 'cyMtjs', index: 'cyMtjs', hidden: true}, {name: 'cyJssm', index: 'cyJssm', hidden: true}, {name: 'cyJsl', index: 'cyJsl', hidden: true}, {name: 'cyZql', index: 'cyZql', hidden: true}, {name: 'cyFj', index: 'cyFj', hidden: true}, {name: 'cyFfcs', index: 'cyFfcs', hidden: true}, {name: 'fysmContent', index: 'fysmContent', hidden: true}, {name: 'doctorName', index: 'doctorName', hidden: true}, { name: 'minAmount', index: 'minAmount', align: 'center', width: 30, hidden: groupNo === '81' ? false : true }, { name: 'amountCount', index: 'amountCount', align: 'center', width: 30, hidden: groupNo === '81' ? false : true, formatter: function (cellvalue, options, rowObject) { return rowObject.amount * rowObject.minAmount } }, { name: 'oldAmount', index: 'oldAmount', align: 'center', width: 30, hidden: true, formatter: function (cellvalue, options, rowObject) { return rowObject.amount } }, {name: 'stockAmount', index: 'stockAmount', align: 'center', width: 30, formatter: function (cellvalue, options, rowObject) { return cellvalue'+cellvalue+''):cellvalue }}, {name: 'retprice', index: 'retprice', align: 'center', width: 30}, { name: 'totalMoney', index: 'totalMoney', align: 'center', width: 30, formatter: function (cellvalue, options, rowObject) { let money = 0; if(rowObject.retprice === '合计'){ money = cellvalue; } else if (groupNo === '81') { money = keepTwoDecimal(rowObject.retprice * rowObject.amount * rowObject.minAmount); } else { money = keepTwoDecimal(rowObject.retprice * rowObject.amount); } return money; } }, { name: 'manufactory', index: 'manufactory', align: 'left', width: 60, hidden: groupNo === '81' ? true : false }, { name: 'pageClass', index: 'pageClass', align: 'center', width: 40, hidden: groupNo === '81' ? true : false }, { name: 'confirmTime', index: 'confirmTime', align: 'center', width: 40, formatter: function (cellvalue, options, rowObject) { if (!isEmpty(cellvalue)) { return format(cellvalue, "yyyy-MM-dd HH:mm:ss"); } return ""; }, hidden: groupNo === '81' ? true : false }, {name: 'serial', index: 'serial', align: 'center', width: 40, hidden: true}, { name: 'nationalCode', index: 'nationalCode', align: 'left', width: 40, formatter: function (cellvalue, options, rowObject) { return cellvalue == null ? "-" : cellvalue; } }, {name: 'instruction', index: 'instruction', align: 'center', width: 40, hidden: true} ], jsonReader: { root: "data", repeatitems: false }, beforeEditCell: function (rowid, cellname, v, iRow, iCol) { lastrow = iRow; lastcell = iCol; }, afterSaveCell: function (rowid, celname, value, iRow, iCol) { if (celname === 'manuNo') { return true } let data = $("#tb_summarizing_table").getRowData(rowid); $("#tb_summarizing_table").setCell(rowid, iCol, value); if (value == null || value == 0) { //重置 $("#tb_summarizing_table").setCell(rowid, "amount", data.oldAmount); $("#tb_summarizing_table").setCell(rowid, "totalMoney", keepTwoDecimal(data.retprice * data.oldAmount)); } else { $("#tb_summarizing_table").setCell(rowid, "amount", 0); $("#tb_summarizing_table").setCell(rowid, "totalMoney", 0); } return true }, loadComplete: function (res) { //加载完成(初始加载),回调函数 if (res == '401' || res == 401) { window.location.href = '/thmz/login/view'; return; } if (res.code == -1) { errorMesage(res); } } }); $("#t_tb_summarizing_table").append(""); $("#t_tb_summarizing_table").append(""); if (($("#submitFlagSearch").val() === '1' && groupNo !== '81') || ($("#submitFlagSearch").val() === '3' && groupNo === '81')) { $("#t_tb_summarizing_table").append(""); } else { $("#t_tb_summarizing_table").append(""); } $("#manu_save_hz").click(function (t) { var obj = $('#tb_summarizing_table'); var rowIds = obj.getDataIDs(); var arrayData = new Array(); if (rowIds.length > 0) { for (var i = 0; i < rowIds.length; i++) { let rowDate = obj.getRowData(rowIds[i]); if (!isEmpty(rowDate.manuNo)) { arrayData.push({ pageNo: rowDate.pageNo, chargeCode: rowDate.chargeCode, manuNo: rowDate.manuNo }); } } } request({ url: '/modifyManuNoZy', method: 'POST', data: JSON.stringify(arrayData) }).then((res) => { successMesage(res); initButtonChange("#qld", 0); }); }); } /** * 初始化药单详细信息表格 */ function initDetailTable() { $.jgrid.gridUnload("tb_detail_table"); $("#tb_detail_table").jqGrid({ datatype: 'local', mtype: 'get', url: '/thmz/getZyDrugDetail', loadBeforeSend: function (jqXHR) { jqXHR.setRequestHeader("Authorization", 'Bearer ' + localStorage.getItem("token")); jqXHR.setRequestHeader("Accept", 'application/json'); }, postData: { pageNo: hzFlag === 0 ? pageNo : pageNos, pageClass: pageClass, submitFlag: $("#submitFlagSearch").val() }, toolbar: [true, "top"], styleUI: 'Bootstrap', height: '100%', viewrecords: true, autowidth: true, shrinkToFit: true, cellEdit: true, cellsubmit: "clientArray", rowNum: -1,//取消分页 caption: '请领单药品明细', grouping: true, footerrow:true,//设置属性,显示统计行 gridComplete:function(){ var rowNum=parseInt($(this).getGridParam("records"),20);//获取行数 if(rowNum>0){ $(".ui-jqgrid-sdiv").show(); let estatecount=$(this).getCol("totalMoney",false,"sum");//需要统计的列 $(this).footerData("set",{"retprice":"合计","totalMoney":keepTwoDecimal(estatecount)}); //将合计值显示出来 }else{ $(".ui-jqgrid-sdiv").hide(); } }, colNames: ['发药', '拒退', '批号', '单号', '住院号', '床号', '次数', '姓名', '药品名称', '规格', '数量', '原发药量', '零售价', '金额', '执行时间', '医嘱', '给药方式','确认时间' , '频率', '剂量', '单位', '医生', '生日', '性别', '身份', '诊断', '科室', '病室', '是否婴儿', '请领人', '长期标志', '药品类型', '给药方式编码', '医嘱号', '自费标志', '单列', '贵重', '毒麻', '审批标志', '药房编码', '规格', '医生编码', '药单类别', '药品编码', '口服开始时间', '口服结束时间', '帐页号', '流水号', '医保编码','执行科室(医技药单用)'], colModel: [ { name: 'fybz', index: 'fybz', align: 'center', width: 30, editable: true, formatter: "select", hidden: (pageClass == 'T' || pageClass == 'HT') ? true : false, edittype: "select", editoptions: (pageClass === '3' || pageClass === '4') ? {value: "0:发药;1:暂缓"} : {value: "0:发药;1:暂缓;2:拒发"}, formatter: function (cellvalue, options, rowObject) { if (cellvalue == null || cellvalue == 0) { return "发药" } else if (cellvalue == 1) { return "暂缓" } else if (cellvalue == 2) { return "拒发" } } }, { name: 'tybz', index: 'tybz', align: 'center', width: 30, formatter: "checkbox", editable: true, hidden: (pageClass == 'T' || pageClass == 'HT') ? false : true, edittype: 'checkbox', editoptions: {value: "1:0"} }, { name: 'manuNo', index: 'manuNo', align: 'center', width: 30, editable: true, hidden: (pageClass == 'T' || pageClass == 'HT') ? true : false, edittype: "text" }, {name: 'pageNo', index: 'pageNo', align: 'center', width: 30, hidden: true}, {name: 'inpatientNo', index: 'inpatientNo', align: 'center', width: 30}, {name: 'bedNo', index: 'bedNo', align: 'center', width: 30, hidden: pageClass == 'A' ? true : false}, {name: 'admissTimes', index: 'admissTimes', align: 'center', width: 30}, {name: 'name', index: 'name', align: 'center', width: 30}, { name: 'drugName', index: 'drugName', align: 'left', width: 60, formatter: function (cellvalue, options, rowObject) { return rowObject.drugName + "(" + rowObject.manufactory + ")" } }, {name: 'specification', index: 'specification', align: 'center', width: 40}, {name: 'amount', index: 'amount', align: 'center', width: 30}, { name: 'oldAmount', index: 'oldAmount', align: 'center', width: 30, hidden: true, formatter: function (cellvalue, options, rowObject) { return rowObject.amount } }, {name: 'retprice', index: 'retprice', align: 'center', width: 30}, { name: 'totalMoney', index: 'totalMoney', align: 'center', width: 30, formatter: function (cellvalue, options, rowObject) { if(rowObject.retprice === '合计'){ return cellvalue } return keepTwoDecimal(rowObject.retprice * rowObject.amount) } }, { name: 'occTime', index: 'occTime', align: 'center', width: 40 , formatter: "date", formatoptions: {srcformat: 'Y-m-d H:i:s', newformat: 'Y-m-d H:i:s'} }, { name: 'instruction', index: 'instruction', align: 'left', width: 50, hidden: pageClass == 'A' ? true : false }, { name: 'supplyName', index: 'supplyName', align: 'center', width: 40, hidden: pageClass == 'A' ? true : false }, { name: 'confirmTime', index: 'confirmTime', align: 'center', width: 40, formatter: function (cellvalue, options, rowObject) { if (!isEmpty(cellvalue)) { return format(cellvalue, "yyyy-MM-dd HH:mm:ss"); } return ""; } }, {name: 'frequCode', index: 'frequCode', align: 'center', width: 40, hidden: true}, {name: 'dose', index: 'dose', align: 'center', width: 40, hidden: true}, {name: 'doseUnit', index: 'doseUnit', align: 'center', width: 40, hidden: true}, {name: 'doctorNameStr', index: 'doctorNameStr', align: 'center', width: 40, hidden: true}, {name: 'birthDate', index: 'birthDate', align: 'center', width: 40, hidden: true}, {name: 'sex', index: 'sex', align: 'center', width: 40, hidden: true}, {name: 'responceName', index: 'responceName', align: 'center', width: 40, hidden: true}, {name: 'admissDiagStr', index: 'admissDiagStr', align: 'center', width: 40, hidden: true}, {name: 'deptCode', index: 'deptCode', align: 'center', width: 40, hidden: true}, {name: 'wardCode', index: 'wardCode', align: 'center', width: 40, hidden: true}, {name: 'infantFlag', index: 'infantFlag', align: 'center', width: 40, hidden: true}, {name: 'drawer', index: 'drawer', align: 'center', width: 40, hidden: true}, {name: 'alwaysFlag', index: 'alwaysFlag', align: 'center', width: 40, hidden: true}, {name: 'drugClass', index: 'drugClass', align: 'center', width: 40, hidden: true}, {name: 'supplyCode', index: 'supplyCode', align: 'center', width: 40, hidden: true}, {name: 'actOrderNo', index: 'actOrderNo', align: 'center', width: 40, hidden: true}, {name: 'selfFlag', index: 'selfFlag', align: 'center', width: 40, hidden: true}, {name: 'separateFlag', index: 'separateFlag', align: 'center', width: 40, hidden: true}, {name: 'supriceFlag', index: 'supriceFlag', align: 'center', width: 40, hidden: true}, {name: 'drugFlag', index: 'drugFlag', align: 'center', width: 40, hidden: true}, {name: 'paySelf', index: 'paySelf', align: 'center', width: 40, hidden: true}, {name: 'groupNo', index: 'groupNo', align: 'center', width: 40, hidden: true}, {name: 'serial', index: 'serial', align: 'center', width: 40, hidden: true}, {name: 'doctorName', index: 'doctorName', align: 'center', width: 40, hidden: true}, {name: 'pageClass', index: 'pageClass', align: 'center', width: 40, hidden: true}, {name: 'chargeCode', index: 'chargeCode', align: 'center', width: 40, hidden: true}, {name: 'kssj', index: 'kssj', align: 'center', width: 40, hidden: true}, {name: 'jssj', index: 'jssj', align: 'center', width: 40, hidden: true}, {name: 'ledgerSn', index: 'ledgerSn', align: 'center', width: 40, hidden: true}, {name: 'detailSn', index: 'detailSn', align: 'center', width: 40, hidden: true}, { name: 'nationalCode', index: 'nationalCode', align: 'left', width: 60, formatter: function (cellvalue, options, rowObject) { return cellvalue == null ? "-" : cellvalue; } }, {name: 'execUnit', index: 'execUnit', align: 'center', width: 40, hidden: true} ], jsonReader: { root: "data", repeatitems: false }, beforeEditCell: function (rowid, cellname, v, iRow, iCol) { lastrow = iRow; lastcell = iCol; }, afterSaveCell: function (rowid, celname, value, iRow, iCol) { if (celname === 'manuNo') { return true } let data = $("#tb_detail_table").getRowData(rowid); $("#tb_detail_table").setCell(rowid, iCol, value); if (value == null || value == 0) { //重置 $("#tb_detail_table").setCell(rowid, "amount", data.oldAmount); $("#tb_detail_table").setCell(rowid, "totalMoney", keepTwoDecimal(data.retprice * data.oldAmount)); } else { $("#tb_detail_table").setCell(rowid, "amount", 0); $("#tb_detail_table").setCell(rowid, "totalMoney", 0); } return true }, loadComplete: function (res) { //加载完成(初始加载),回调函数 if (res == '401' || res == 401) { window.location.href = '/thmz/login/view'; return; } if (res.code == -1) { errorMesage(res); } else { if (!isEmpty(res.data) && res.data.length > 0) { $("#tb_detail_table").setSelection(1, false) } } } }); $("#t_tb_detail_table").append(""); $("#t_tb_detail_table").append(""); if ($("#submitFlagSearch").val() === '1') { $("#t_tb_detail_table").append(""); } else { $("#t_tb_detail_table").append(""); } $("#manu_save_mx").click(function (t) { var obj = $('#tb_detail_table'); var rowIds = obj.getDataIDs(); var arrayData = new Array(); if (rowIds.length > 0) { for (var i = 0; i < rowIds.length; i++) { let rowDate = obj.getRowData(rowIds[i]); if (!isEmpty(rowDate.manuNo)) { arrayData.push({ actOrderNo: rowDate.actOrderNo, chargeCode: rowDate.chargeCode, inpatientNo: rowDate.inpatientNo, orderDate: rowDate.occTime, manuNo: rowDate.manuNo }); } } } request({ url: '/modifyManuNoZy', method: 'POST', data: JSON.stringify(arrayData) }).then((res) => { successMesage(res); initButtonChange("#qld", 0); }); }); } /** * 获取时间选择器的时间数组 * @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; } /** * 构建列表查询参数 * @param params */ function queryParams(params) { var rePortRangeArr = getRePortRangeArr(); let wardCode = ($("#wardCode").val() == null ? null : $("#wardCode").val()[0]); var temp = { submitBeginDate: isEmpty($("#pageNoSearch").val())?rePortRangeArr[0]:null, submitEndDate: isEmpty($("#pageNoSearch").val())?rePortRangeArr[1]:null, wardCode: wardCode, pageNo: $("#pageNoSearch").val() == "" ? null : $("#pageNoSearch").val(), groupNo: groupNo, submitFlag: $("#submitFlagSearch").val() }; if (groupNo !== '81') { temp.pageClass = $("#pageClassSearch").val() == "" ? null : $("#pageClassSearch").val(); } return temp; }; /** * 清空查询条件 */ function cleanParams() { searchData = {}; $("#pageNoSearch").val(null); $("#pageClassSearch").val(null); $("#wardCode").selectpicker('val', ''); if (groupNo === '81') { $("#submitFlagSearch").val(3); } else { $("#submitFlagSearch").val(1); } $('#reportrange span').html(moment().subtract(5, 'days').format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD')); $("#submitFlagSearch").selectpicker('refresh'); $("#wardCode").removeAttr('disabled'); $("#pageNoSearch").removeAttr('disabled'); $("#pageClassSearch").removeAttr('disabled'); $("#btn_query").removeAttr('disabled'); $("#btn_clean").removeAttr('disabled'); $("#wardCode").selectpicker('refresh'); $("#pageClassSearch").selectpicker('refresh'); $("#barCode").attr('disabled', true); } /** * 打印西药汇总单 */ function printXyCount(flag) { let html = ''; let totalMoney = 0; $('.sjh').remove(); let datas = getJQAllData("tb_summarizing_table"); for (var i = 0; i < datas.length; i++) { let data = datas[i]; let handle = data.fybz; if (pageClass === "T" || pageClass === "HT") { if (data.tybz == 0) { handle = '退药' } else { handle = '拒退' } } html += ''; html += '' + handle + ''; html += '' + data.chargeCode + ''; html += '' + data.location + ''; html += '' + data.drugName + ''; html += '' + data.specification + ''; html += '' + data.amount + ''; html += '' + data.manufactory + ''; html += '' + data.retprice + ''; html += '' + data.totalMoney + ''; html += ''; totalMoney += parseFloat(data.totalMoney); } html += ''; html += '总计:' + keepTwoDecimal(parseFloat(totalMoney)) + ''; html += ''; html += ''; html += ' '; html += ''; html += '调配人:'; html += '核发人:'; html += '领药人:'; html += ''; $("#hzdy_table").append(html); let pageClassSearch = $("#pageClassSearch").find("option:selected").text(); if(isEmpty(pageClassSearch)){ errorMesageSimaple("打印表头参数为空,请联系管理员"); return; } let title = (pageClass == "T" || pageClass == "HT") ? '病房退药单' : '病房汇总领药单(' + pageClassSearch + ')'; $(".title").text(flag == 0 ? title + "(重打)" : title); $(".groupName").text(groupNo == 71 ? '门诊西药房' : '住院药房'); let w_code = $("#wardCode").find("option:selected").text(); $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("("))); $(".pageNo").text($("#pageNoSearch").val() == '' ? pageNos : $("#pageNoSearch").val()); $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm")); print("hzdy_table_div"); } /** * 打印草药处方 */ function printCyCount(flag) { let html = ''; let datas = getJQAllData("tb_summarizing_table"); let w_code = $("#wardCode").find("option:selected").text(); $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("("))); $(".pageNo").text($("#pageNoSearch").val()); $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm")); $('.sjh').remove(); for (var i = 0; i < datas.length;) { let data = datas[i]; if (i === 0) { $(".inpatientNo").text(data.inpatientNo); $(".name").text(data.name); $(".bedNo").text(data.bedNo); } html += ''; html += '' + data.drugName + ''; html += '' + data.specification + ''; html += '' + data.minAmount + ''; html += '' + data.instruction + ''; if (i !== datas.length - 1) { html += '' + datas[i + 1].drugName + ''; html += '' + datas[i + 1].specification + ''; html += '' + datas[i + 1].minAmount + ''; html += '' + datas[i + 1].instruction + ''; html += ''; } i += 2; } $("#trContent").append(html); let totalContent = '共 ' + datas[0].amount + ' 剂,' + datas[0].orderJe + ' 元/剂,院内代煎 ' + datas[0].quantityDj + ' 剂,' + '药费总金额:' + keepTwoDecimal(datas[0].orderJe * datas[0].amount) + ',代煎费:' + datas[0].quantityDj * datas[0].orderJeDj + '。'; let fyfsContent = '每天 ' + datas[0].cyMtjs + ' 剂,' + datas[0].cyJssm + datas[0].cyJsl + 'ml,煮取' + datas[0].cyZql + 'ml,复煎 ' + datas[0].cyFj + ' 次,' + '分 ' + datas[0].cyFfcs + ' 次,' + datas[0].fysmContent + '。'; $(".total").text(totalContent); $(".fyfs").text(fyfsContent); $(".doctorName").text(datas[0].doctorName); print("zydy_table_div"); } /** * 打印汇总单 * @param flag 0:手动打印 1:保存后自动打印 */ function printCount(flag) { if (groupNo === '81') { printCyCount(flag); } else { printXyCount(flag); } } /** *打印明细单 * @param flag 0:手动打印 1:保存后自动打印 */ function getPrintDetail(flag) { let datas = getJQAllData("tb_detail_table"); if (pageClass == "5" || pageClass == "6") { $.ajax({ type: "GET", url: '/thmz/getOralPrintData', contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, data: { pageNo: hzFlag === 0 ? pageNo : pageNos, pageClass: pageClass, submitFlag: $("#submitFlagSearch").val() }, success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view'; return; } if (res.code == 0) { for (let i = 0; i < res.data.list.length; i++) { let byjDate = res.data.list[i]; byjDate["oldAmount"] = byjDate["amount"]; let flag = true; for (let j = 0; j < datas.length; j++) { let data = datas[j]; //发药数量为0,删减汇总数量 if (byjDate["inpatientNo"] == data["inpatientNo"] && byjDate["chargeCode"] == data["chargeCode"] && byjDate["serial"] == data["serial"]) { flag = false; if (data["amount"] == 0) { byjDate["amount"] -= parseFloat(data["oldAmount"]) } } } if (flag) { res.data.list.splice(i, 1); i--; } } for (let i = 0; i < res.data.byjList.length; i++) { let byjDate = res.data.byjList[i]; byjDate["oldAmount"] = byjDate["amount"]; let flag = true; for (let j = 0; j < datas.length; j++) { let data = datas[j]; //发药数量为0,删减汇总数量 if (byjDate["inpatientNo"] == data["inpatientNo"] && byjDate["chargeCode"] == data["chargeCode"] && byjDate["serial"] == data["serial"]) { flag = false; if (data["amount"] == 0) { byjDate["amount"] -= parseFloat(data["oldAmount"]) } } } if (flag) { res.data.byjList.splice(i, 1); i--; } } printDetail(res.data, 1, flag) } else { errorMesage(res); } } }); } else { printDetail(datas, 0, flag); } } function printDetail(datas, kfFlag, flag) { if (kfFlag == 1) { if (flag == 0) { printDetailHtml(datas.list.concat(datas.byjList), flag); } else if (flag == 1) { if (datas.list.length > 0) { printDetailHtml(datas.list, flag); } if (datas.byjList.length > 0) { printDetailHtml(datas.byjList, flag); } } } else { printDetailHtml(datas, flag); } } /** * */ function printDetailHtml(datas, flag) { let html = ''; let totalMoney = 0; let oldInpatientNo = '';//记录上一个病人 let title = '病房明细领药单(' + $("#pageClassSearch").find("option:selected").text() + ')'; if (pageClass == '5') { title = '长期口服领药单'; $(".wardName").text(datas[0].wardName); } else if (pageClass == '6') { title = '临时口服领药单'; $(".wardName").text(datas[0].wardName); } else { let w_code = $("#wardCode").find("option:selected").text(); $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("("))); } if (flag == 1 && datas[0].byjFlag == 1) { title += '(摆药机)' } else if (flag == 0) { title += '(重打)' } $(".title").text(title); $(".groupName").text(groupNo == 71 ? '门诊西药房' : '住院药房'); $(".pageNo").text(pageNo); $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm")); $('.sjh').remove(); let minOccTime = ''; for (var i = 0; i < datas.length; i++) { let data = datas[i]; if (pageClass != "A" && pageClass != "5" && (oldInpatientNo == '' || oldInpatientNo != data.inpatientNo)) {//临时口服,统领单 html += ''; html += '年龄:' + getBirthSlot(data.birthDate, new Date()) + ''; html += '性别:' + getSex(data.sex) + ''; html += '身份:' + data.responceName + ''; html += '诊断:'; if (data.admissDiagStr != null) { html += data.admissDiagStr } html += ''; html += ''; } html += ''; if (pageClass == "5") { $(".zyh").hide(); if (oldInpatientNo == '' || oldInpatientNo != data.inpatientNo) { html += '' + data.name + ''; } else { html += ''; } } else { $(".zyh").show(); html += '' + data.inpatientNo + ''; html += '' + data.name + ''; } html += '' + data.bedNo + ''; html += '' + data.drugName; oldInpatientNo = data.inpatientNo; if (pageClass == '5' || pageClass == '6') { html += '(' + data.manufactory + ')' } +''; html += '' + data.specification + ''; html += '' + data.oldAmount + ''; html += '' + data.amount + ''; if (pageClass == "A") {//医技 $(".yjmxtd").show(); $(".kfmxtd").hide(); $(".kssj").hide(); $(".jssj").hide(); html += '' + data.retprice + ''; html += '' + data.totalMoney + ''; html += '' + data.occTime + ''; } else if (pageClass == "5" || pageClass == "6") {//口服单 $(".kfmxtd").show(); $(".yjmxtd").hide(); $(".gyfs").hide(); if (minOccTime == '' || minOccTime > data.occTime) { minOccTime = data.occTime } html += '' + data.frequCode + ''; html += '' + data.dose + ''; html += '' + data.doseUnit + ''; html += '' + data.instruction + ''; html += '' + data.kssj + ''; html += '' + data.jssj + ''; html += '' + data.doctorNameStr + ''; } else { $(".kfmxtd").show(); $(".yjmxtd").hide(); $(".kssj").hide(); $(".jssj").hide(); html += '' + data.frequCode + ''; html += '' + data.dose + ''; html += '' + data.doseUnit + ''; html += '' + data.instruction + ''; html += '' + data.supplyName + ''; html += '' + data.doctorNameStr + ''; } /*html += '' + (isEmpty(data.manuNo) ? "" : data.manuNo) + '';*/ html += ''; totalMoney += parseFloat(data.totalMoney); } if (pageClass == "5" || pageClass == "6") {//口服单 $(".kssj").show(); $(".jssj").show(); var arr1 = minOccTime.split(" "); var sdate = arr1[0].split('-'); var kssj = new Date(sdate[0], sdate[1] - 1, sdate[2]); $(".kssj").text(format(kssj, "yy/MM/dd")); kssj.setTime(kssj.getTime() + 24 * 60 * 60 * 1000); $(".jssj").text(format(kssj, "yy/MM/dd")); } html += ' '; html += ''; html += '调配人:

时间:'; html += '核发人:

时间:'; html += '领药人:

时间:'; html += '护士:

时间:'; html += ''; $("#mxdy_table").append(html); print("mxdy_table_div"); } /** * 打印标签 * @param flag 当前是否为明细栏 * @param isByj 是否使用摆药机 */ function printLabelData(flag, isByj) { if (groupNo === '81') { printZyLabelData(); } else { printXyLabelData(flag, isByj); } } /** * 西药打印标签 * @param flag 当前是否为明细栏 * @param isByj 是否使用摆药机 */ function printXyLabelData(flag, isByj) { $.ajax({ type: "GET", url: '/thmz/getLabelPrintDatas', contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, data: { pageNo: hzFlag === 0 ? pageNo : pageNos, submitFlag: $("#submitFlagSearch").val(), isByj: isByj ? isByj : 0 }, success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view'; return; } if (res.code == 0) { if (res.data.length == 0) { warningMesageSimaple("没有需要打印的口服标签"); return; } printLabel(res.data, flag); successMesage(res); } else { errorMesage(res); } } }); } /** * 中药打印标签 * @param flag 当前是否为明细栏 * @param isByj 是否使用摆药机 */ function printZyLabelData() { var ids = $('#tb_summarizing_table').getDataIDs(); let data = $("#tb_summarizing_table").getRowData(ids[0]); $('#zydybqform')[0].reset(); if (nfdPrintIndex == null) { return errorMesageSimaple('未设置内服袋打印机,请在发药参数设置中设置'); } let w_code = $("#wardCode").find("option:selected").text(); $('#zydyNameLabel').val(data.name); $('#bedNoLabel').val(data.bedNo); $('#wardLabel').val(w_code.substring(0, w_code.lastIndexOf("("))); $('#dyslLabel').val(data.amount * 2); $('#dateLabel').val(format(new Date(), "MM-dd")); $('#zydybqModal').modal(); } /** * 打印标签 * @param datas * @param isMx */ function printLabel(datas, isMx) { LODOP = getLodop(); LODOP.PRINT_INITA(6, 0, "80mm", "60mm", "住院患者内服袋打印"); LODOP.SET_PRINT_PAGESIZE(1, "80mm", "60mm", ""); //设置打印机 LODOP.SET_PRINTER_INDEX(nfdPrintIndex); LODOP.SET_PRINT_STYLE("FontSize", 10); //字体大小 LODOP.SET_PRINT_STYLEA(0, "ItemType", 2); if(pageClass == 1){//出院带药 printLabelKf(datas, LODOP); }else if(pageClass == 5){//长期口服 printLabelLongTime(datas, isMx, LODOP); }else { let tableDatas = getJQAllData(isMx == 1 ? "tb_detail_table" : "tb_summarizing_table"); var strStyle = ""; for (var i = 0; i < datas.length; i++) { let data = datas[i]; for (let j = 0; j < tableDatas.length; j++) { if (tableDatas[j].fybz.indexOf("发药") != -1 && tableDatas[j].chargeCode == data.chargeCode && tableDatas[j].serial == data.serial && ((tableDatas[j].inpatientNo == data.inpatientNo && tableDatas[j].occTime == data.occTime) || isMx == 0)) { /*let w_code = $("#wardCode").find("option:selected").text(); $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("(")));*/ $(".wardName").text(data.wardName); $(".inpatientNo").text($.trim(data.inpatientNo)); $(".bedNo").text($.trim(data.bedNo)); $(".name").text($.trim(data.name)); $(".age").text(getBirthSlot(data.birthDate, new Date())); $(".sex").text(getSex(data.sex)); $(".occTime").text(format(data.occTime, "yyyy/MM/dd HH:mm")); $(".drugName").text(data.drugName); $(".specification").text(data.specification); $(".dose").text(data.dose + data.doseUnit); $(".dosage").text(data.dosage.replace(".0", "")); $(".instruction").text(data.instruction); LODOP.ADD_PRINT_HTM("1mm", "3mm", "RightMargin:1mm", "BottomMargin:3mm", strStyle + document.getElementById("bqdy_table_div").innerHTML); LODOP.NewPageA(); break; } } } LODOP.PRINT(); /*LODOP.NewPageA();*/ //LODOP.PRINT_DESIGN(); } } /** * 打印口服标签 */ function printLabelLongTime(datas, isMx, LODOP) { var strStyle = ""; let html = ''; let flag = true;//新的一张标签 let number = 0;//计数,一张标签只存放五种药品 let tableDatas = getJQAllData(isMx == 1 ? "tb_detail_table" : "tb_summarizing_table"); $('.sjh').remove(); for (var i = 0; i < datas.length; i++) { let data = datas[i]; for (let j = 0; j < tableDatas.length; j++) { if (tableDatas[j].fybz.indexOf("发药") != -1 && tableDatas[j].chargeCode == data.chargeCode && tableDatas[j].serial == data.serial && (tableDatas[j].occTime == data.occTime || isMx == 0)) { if ((i > 0 && (data.inpatientNo != datas[i - 1].inpatientNo || data.occTime != datas[i - 1].occTime)) || number == 5) {//服药时间或者病人不同另起一页,超过五种药品另起一页 if (html != '') { for (let j = 0; j < 5 - number; j++) { html += ''; html += ' '; html += ''; html += ''; html += ''; html += ''; } $("#cq_bqdy_table").append(html); LODOP.ADD_PRINT_HTM("1mm", "3mm", "RightMargin:1mm", "BottomMargin:3mm", strStyle + document.getElementById("cq_bqdy_table_div").innerHTML); LODOP.NewPageA(); html = ''; number = 0; } flag = true; } else if (i != 0) { flag = false; } if (flag) { $('.sjh').remove(); let w_code = $("#wardCode").find("option:selected").text(); $(".wardName").text(w_code.substring(0, w_code.lastIndexOf("("))); $(".inpatientNo").text($.trim(data.inpatientNo)); $(".bedNo").text($.trim(data.bedNo)); $(".name").text($.trim(data.name)); $(".age").text(getBirthSlot(data.birthDate, new Date())); $(".sex").text(getSex(data.sex)); $(".occTime").text(format(data.occTime, "yyyy/MM/dd HH:mm")); } html += ''; html += '' + data.drugName + ''; html += '' + data.specification + ''; html += '' + data.dose + data.doseUnit + ''; html += '' + data.amount + ''; html += ''; number++; break; } } } if (html != '') { for (let j = 0; j < 5 - number; j++) { html += ''; html += ' '; html += ''; html += ''; html += ''; html += ''; } $("#cq_bqdy_table").append(html); LODOP.ADD_PRINT_HTM("1mm", "3mm", "RightMargin:1mm", "BottomMargin:3mm", strStyle + document.getElementById("cq_bqdy_table_div").innerHTML); LODOP.PRINT(); //LODOP.PRINT_DESIGN(); } } /** * 打印出院带药口服标签 * @param datas */ function printLabelKf(datas,LODOP) { for (let i = 0; i < datas.length; i++) { let data = datas[i]; $("#NO").attr("value",(i+1)); $("#ypbq_name").attr("value",(data['name'])); $("#ypbq_patientId").attr("value",(data['inpatientNo'])); $("#ypbq_sex").attr("value",(getSex(data['sex']))); $("#ypbq_age").attr("value",(getBirthSlot(data['birthDate'],new Date()))); $("#ypbq_drugname").attr("value",(data['drugName'])); $("#ypbq_specification").attr("value",(data['specification'])); $("#ypbq_quantity").attr("value",(data['amount'])); $("#ypbq_printName").attr("value",(data['supplyName'])); $("#ypbq_dose").attr("value",data['dose']+data['doseUnit']); $("#ypbq_instructionText").html(data['instruction']); $("#dataTime").attr("value",(formatDate(new Date()))); LODOP.ADD_PRINT_HTM("5mm", "2mm", "80mm", "60mm", $("div[id='print_view_bq']").html()); LODOP.NewPageA(); } LODOP.PRINT(); } /** * 打印报表 */ function print(div_id) { setDefaultPrint(); LODOP = getLodop(); LODOP.PRINT_INITA(6, 0, "221mm", "93mm", "请领单打印"); LODOP.SET_PRINT_PAGESIZE(1, "221mm", "93mm", ""); //设置默认打印机 LODOP.SET_PRINTER_INDEX(defaultPrintIndex); LODOP.SET_PRINT_STYLE("FontSize", 11); //字体大小 LODOP.SET_PRINT_STYLEA(0, "ItemType", 2); var strStyle = ""; LODOP.ADD_PRINT_HTM("0mm", "0mm", "RightMargin:0mm", "BottomMargin:0mm", strStyle + document.getElementById(div_id).innerHTML); LODOP.PRINT(); //LODOP.PREVIEW(); //LODOP.PRINT_DESIGN(); } /** * 保存 * @param flag 0汇总打印 1明细打印 */ function save(flag) { if (!confirm("确定要对当前药单进行发药处理吗?")) { return; } if (groupNo === '81') { sendZy(); } else { $("#" + (flag == 0 ? "tb_summarizing_table" : "tb_detail_table")).jqGrid("saveCell", lastrow, lastcell);//当前单元格退出编辑模式 sendXy(flag); } } /** * 中药确认发药 * @param flag */ function sendZy() { request({ url: '/sendZyWard', method: 'GET', data: {pageNo: pageNo, isTy: 0} }).then((res) => { successMesage(res); initButtonChange("#qld", 0); }); } /** * 西药确认发药 * @param flag */ function sendXy(flag) { var tableId = (flag == 0 ? "tb_summarizing_table" : "tb_detail_table"); var obj = $("#" + tableId); var rowIds = obj.getDataIDs(); var arrayData = new Array(); if (rowIds.length > 0) { for (var i = 0; i < rowIds.length; i++) { if (obj.getRowData(rowIds[i]).fybz.indexOf('暂缓') == -1) { arrayData.push(obj.getRowData(rowIds[i])); } } } $(flag == 0 ? "#collect_save" : "#detail_save").attr('disabled', true); $.ajax({ type: "POST", url: '/thmz/sendWard', contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, data: JSON.stringify({ pageNo: hzFlag === 0 ? pageNo : pageNos, yzYpZyOrders: arrayData }), success: function (res) { $(flag == 0 ? "#collect_save" : "#detail_save").attr('disabled', false); if (res == '401' || res == 401) { window.location.href = '/thmz/login/view'; return; } if (res.code == 0) { successMesage(res); if (flag == 0) { printCount(1); } else { getPrintDetail(1); } groupNo === '81'?$("#submitFlagSearch").val("4"):$("#submitFlagSearch").val("3"); $("#submitFlagSearch").selectpicker('refresh'); if (confirm("是否需要打印当前药单的口服标签并使用摆药机?")) { if (res.data) { printLabelData(flag, 1);//口服药单,并使用摆药机 request({ url: '/savePrescriptionByj', method: 'POST', data: JSON.stringify(res.data) }).then((res) => { successMesage(res); initButtonChange("#"+(flag == 0 ? 'hz' : 'mx'), (flag == 0 ? 1 : 2)); }); } }else{ initButtonChange("#"+(flag == 0 ? 'hz' : 'mx'), (flag == 0 ? 1 : 2)); } } else { errorMesage(res); } } }); } /** * 撤销提交 * @param pageNo 药单号 */ function cancelSubmit(pageNo, wardName, pageClass) { if (!confirm("确定要撤销【" + wardName + "】提交的(" + pageNo + ")药单吗?")) { return; } if (groupNo === '81') { cancelZySubmit(pageNo) } else { cancelXySubmit(pageNo, pageClass) } } /** * 中药单撤销 * @param pageNo */ function cancelZySubmit(pageNo) { request({ url: '/sendZyWard', method: 'GET', data: {pageNo: pageNo, isTy: 1} }).then((res) => { successMesage(res); initTbTable(); }); } /** * 西药单撤销 * @param pageNo * @param wardName * @param pageClass */ function cancelXySubmit(pageNo, pageClass) { $.ajax({ type: "GET", url: '/thmz/cancelWardPrescriptionSubmit', data: { pageNo: pageNo, pageClass: pageClass }, 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) { successMesage(res); initTbTable(); } else { errorMesage(res); } } }); }