| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 |
- //@ 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 = '<button type="button" class="registration-no-color-foot-button" title="打印" onclick="printPrescription(\'' + row.patientId + '\',\'' + row.times + '\')" style="color: #35D082;"><i class="fa fa-print"></i></button>';
- str += '<button type="button" class="registration-no-color-foot-button" title="配药完成" onclick="dispensingDispose(\'' + row.patientId + '\',\'' + row.orderNo + '\',\'' + row.name + '\',\'' + row.realNo + '\',\'' + row.chargeDate + '\')"><i class="fa fa-check-square-o"></i></button>';
- 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 += '<tr>\n' +
- ' <td style="width: 10px;" align="left" valign="top">' + number + "." +
- '</td>\n' +
- ' <td style="vertical-align: middle !important;width: 260px;">\n' + list[i].drugName + manufactoryName +
- ' </td>\n' +
- ' <td style="vertical-align: middle !important;width: 120px;text-align: right;">' + list[i].specification +
- '</td>\n' +
- ' <td style="vertical-align: middle !important;width: 20px;text-align: right;">×</td>\n' +
- ' <td style="vertical-align: middle !important;width: 20px;text-align: right;">' + list[i].quantity +
- '</td>\n' +
- ' <td style="vertical-align: middle !important;width: 30px;text-align: right;">' + list[i].ypUnitName +
- '</td>\n' +
- ' </tr>\n' +
- ' <tr>\n' +
- ' <td colspan="5" style="vertical-align: middle !important;text-align: right;">用法:' + list[i].drugQuan + list[i].drugUnitName + '/次 ' + list[i].frequency + ' ' + list[i].printName +
- '</td>\n' +
- ' </tr>';
- }
- $('#tbody_yp').html(tr);
- if (list.length < 5) {
- $('#yxwk').remove();
- $('#div_yp').append('<span id="yxwk">以下为空</span>');
- }
- 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;
- }
- }
- });
- }
|