'+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);
}
}
});
}