//@ sourceURL=west_pharmacy_dispensing.js var LODOP; //声明为全局变量 var printIndex; var mzCfPrintIndex; var ekCfPrintIndex; var jzCfPrintIndex; $(function () { openSocket("PY"); $("input").each(function () { this.onkeydown = function (e) { // 监听键盘事件 let theEvent = window.event || e; let code = theEvent.keyCode || theEvent.which; if (code == 13) {//回车事件 $("#btn_query").click(); //触发搜索按钮点击事件 } } }); init_daterangepicker(); initTable(); $('#dispensingStatusSearch').selectpicker('refresh'); $("#btn_query").click(function (t) { initTable(); }); //重置查询参数 $('#btn_clean').click(function () { 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; } /** * 查询处方信息 */ function initTable() { $('#prescription_table').bootstrapTable("destroy"); $('#prescription_table').bootstrapTable({ url: '/thmz/listMzChargeOrder', //请求后台的URL(*) method: 'post', //请求方式(*) toolbar: '#toolbar', //工具按钮用哪个容器 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: true, //是否启用排序 sortOrder: "asc", //排序方式 queryParams: queryParams, //传递参数(*) sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*) pageNumber: 1, //初始化加载第一页,默认第一页 pageSize: 10, //每页的记录行数(*) pageList: [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: 'no', title: '序号', align: "center", valign: 'middle', width: 40, formatter: function (value, row, index) { return index + 1; } }, { field: 'patientId', title: '病人ID', align: "center", valign: 'middle' }, { field: 'name', title: '病人姓名', align: "center", valign: 'middle' }, { field: 'realNo', title: '流水号', align: "center", valign: 'middle' }, { field: 'orderNo', title: '处方号', align: "center", valign: 'middle' }, { field: 'chargeDate', title: '缴费时间', align: "center", valign: 'middle', formatter: function (value, row, index) { return value == null ? "-" : format(value, "yyyy-MM-dd HH:mm:ss"); } }, { title: '操作', field: 'op', align: "center", valign: 'middle', formatter: function (value, row, index) { var str = ''; str += ''; return str; } } ], 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.data.length,//总页数 "rows": ress.data //数据 }; }, }); } /** * 构建列表查询参数 * @param params */ function queryParams(params) { var rePortRangeArr = getRePortRangeArr(); var temp = { /* pageSize: params.limit, //页面大小 pageIndex: params.offset / params.limit, //页码*/ beginTime: new Date(rePortRangeArr[0]), endTime: new Date(rePortRangeArr[1]), mzChargeDetail: { patientId: $("#patientIdSearch").val() == "" ? null : $("#patientIdSearch").val(), name: $("#nameSearch").val() == "" ? null : $("#nameSearch").val(), confirmFlag: $("#dispensingStatusSearch").val() == "" ? null : $("#dispensingStatusSearch").val(), payMark: 0, //已收费 groupNo: 71, //门诊西药房 windowsNoYf: '04', //4号窗口 groupType: '1' //西药 } }; return temp; }; /** * 配药处理 */ function dispensingDispose(patientId, orderNo, name, realNo, chargeDate) { if (!confirm("确定要对当前处方进行配药处理吗?")) { return; } var tem = { "patientId": patientId, "orderNo": orderNo, "realNo": realNo, "chargeDate": chargeDate, "name": name } $.ajax({ type: "POST", url: '/thmz/dispensingMedicineProcessing', contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, data: JSON.stringify(tem), success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } if (res.code == 0) { successMesage(res); initTable(); } else { errorMesage(res); } } }); } /** * 打印处方 */ function printPrescription(patientId, times) { var tem = { patientId: patientId, times: times, groupNo: 71 }; $.ajax({ type: "POST", url: '/thmz/getPrintPrescriptionData', contentType: "application/json;charset=UTF-8", dataType: "json", headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")}, data: JSON.stringify(tem), success: function (res) { if (res == '401' || res == 401) { window.location.href = '/thmz/login/view' return; } if (res.code == 0) { successMesage(res); setPrint();//初始化默认打印机 $('#print_view input').attr("value", ""); if (null != res.data) { for (var key in res.data) { $("#" + key + "").attr("value", res.data[key]); } } var list = res.data.list; /*if (list[0].drugFlag == 2 || list[0].drugFlag == 3) { $('#drugFlag').attr("value", "麻、精一"); } else if (list[0].drugFlag == 4) { $('#drugFlag').attr("value", "精二"); }else */ if (res.data.warnDeptName.indexOf("儿科") != -1) { $('#drugFlag').attr("value", "儿科"); printIndex = ekCfPrintIndex; } else if (res.data.warnDeptName.indexOf("急诊") != -1) { $('#drugFlag').attr("value", "急诊"); printIndex = jzCfPrintIndex; } else if (list[0].drugFlag == '' || list[0].drugFlag == null || list[0].drugFlag == 6) { $('#drugFlag').attr("value", "普通"); printIndex = mzCfPrintIndex; } $('#priceTime').attr("value", format(list[0].priceTime, "yyyy-MM-dd HH:mm")); $('#employeeName').attr("value", res.data.employeeName + "/" + res.data.employeeCode); if (res.data.sex == 1) { $('#sex').attr("value", '男'); } else if (res.data.sex == 2) { $('#sex').attr("value", '女'); } else { $('#sex').attr("value", '未知'); } if(res.data.ybCardNo == null || res.data.ybCardNo == ''){ $('#ybCardNo').attr("value", res.data.icCardNo); } var tr = ''; for (let i = 0; i < list.length; i++) { var number = i + 1; let manufactoryName = list[i].manufactoryName == null || list[i].manufactoryName == '' ? '' : '(' + list[i].manufactoryName + ')'; tr += '\n' + ' ' + number + "." + '\n' + ' \n' + list[i].drugName + manufactoryName + ' \n' + ' ' + list[i].specification + '\n' + ' ×\n' + ' ' + list[i].quantity + '\n' + ' ' + list[i].ypUnitName + '\n' + ' \n' + ' \n' + ' 用法:' + list[i].drugQuan + list[i].drugUnitName + '/次 ' + list[i].frequency + ' ' + list[i].printName + '\n' + ' '; } $('#tbody_yp').html(tr); if (list.length < 5) { $('#yxwk').remove(); $('#div_yp').append('以下为空'); } LODOP = getLodop(); LODOP.PRINT_INITA(6, 0, "140mm", "202mm", "泰和医院处方笺"); LODOP.SET_PRINT_STYLE("FontSize", 9); //字体大小 //设置默认打印机 LODOP.SET_PRINTER_INDEX(printIndex); LODOP.SET_PRINT_PAGESIZE(1, '140mm', '202mm', "CreateCustomPage"); LODOP.SET_SHOW_MODE("BKIMG_WIDTH", "140mm"); LODOP.SET_SHOW_MODE("BKIMG_HEIGHT", "202mm"); LODOP.SET_PRINT_MODE("CREATE_CUSTOM_PAGE_NAME", "门诊处方笺");//对新建的纸张重命名 LODOP.ADD_PRINT_HTM("5mm", "5mm", "140mm", "202mm", $("div[id='print_view']").html()); // LODOP.NewPage();//下一页 LODOP.PRINT(); //LODOP.PREVIEW(); } else { errorMesage(res); } } }); } /** * 获取时间选择器的时间数组 * @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() { $('#reportrange span').html(moment().format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD')); $("#patientIdSearch").val(null); $("#nameSearch").val(null); $("#dispensingStatusSearch").val(0); $("#dispensingStatusSearch").selectpicker('refresh'); } /** * 查询默认打印机 */ function setPrint() { if (mzCfPrintIndex >= 0 && ekCfPrintIndex >= 0 && jzCfPrintIndex >= 0) { return; } $.ajax({ type: "GET", url: '/thmz/getLastDispensingWindowsByCurrentUser', 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) { mzCfPrintIndex = res.data.mzCfPrintIndex; ekCfPrintIndex = res.data.ekCfPrintIndex; jzCfPrintIndex = res.data.jzCfPrintIndex; } else { mzCfPrintIndex = -1; ekCfPrintIndex = -1; jzCfPrintIndex = -1; } } }); }