'+cellvalue+''):cellvalue
                }},
            {name: 'retprice', index: 'retprice', align: 'center', width: 30},
            {
                name: 'totalMoney', index: 'totalMoney', align: 'center', width: 30,
                formatter: function (cellvalue, options, rowObject) {
                    if (groupNo === '81') {
                        return keepTwoDecimal(rowObject.retprice * rowObject.amount * rowObject.minAmount)
                    } else {
                        return keepTwoDecimal(rowObject.retprice * rowObject.amount)
                    }
                }
            },
            {
                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: '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: 350,
        viewrecords: true,
        autowidth: true,
        shrinkToFit: true,
        cellEdit: true,
        cellsubmit: "clientArray",
        rowNum: -1,//取消分页
        caption: '请领单药品明细',
        grouping: true,
        colNames: ['发药', '拒退', '批号', '单号', '住院号', '床号', '次数', '姓名', '药品名称', '规格', '数量', '原发药量', '零售价', '金额', '执行时间', '医嘱', '给药方式'
            , '频率', '剂量', '单位', '医生', '生日', '性别', '身份', '诊断', '科室', '病室', '是否婴儿', '请领人', '长期标志', '药品类型', '给药方式编码', '医嘱号',
            '自费标志', '单列', '贵重', '毒麻', '审批标志', '药房编码', '规格', '医生编码', '药单类别', '药品编码', '口服开始时间', '口服结束时间', '帐页号', '流水号', '医保编码','执行科室(医技药单用)'],
        colModel: [
            {
                name: 'fybz',
                index: 'fybz',
                align: 'center',
                width: 30,
                editable: true,
                formatter: "select",
                hidden: (pageClass == 'T' || pageClass == 'HT') ? true : false,
                edittype: "select",
                editoptions: {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) {
                    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: '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: rePortRangeArr[0],
        submitEndDate: rePortRangeArr[1],
        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;
    let title = (pageClass == "T" || pageClass == "HT") ? '病房退药单' : '病房汇总领药单(' + $("#pageClassSearch").find("option:selected").text() + ')';
    $(".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"));
    $('.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);
    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);
    LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
    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].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);
                    break;
                }
            }
            LODOP.ADD_PRINT_HTM("1mm", "3mm", "RightMargin:1mm", "BottomMargin:3mm", strStyle + document.getElementById("bqdy_table_div").innerHTML);
            LODOP.NewPageA();
        }
        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();
    }
}
/**
 * 打印报表
 */
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);
                }
                if (confirm("是否需要打印当前药单的口服标签并使用摆药机?")) {
                    if (res.data) {
                        printLabelData(flag, 1);//口服药单,并使用摆药机
                        request({
                            url: '/savePrescriptionByj',
                            method: 'POST',
                            data: JSON.stringify(res.data)
                        }).then((res) => {
                            successMesage(res);
                        });
                    }
                }
                groupNo === '81'?$("#submitFlagSearch").val("4"):$("#submitFlagSearch").val("3");
                $("#submitFlagSearch").selectpicker('refresh');
                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);
            }
        }
    });
}