|
@@ -62,8 +62,7 @@ function getInStorageData() {
|
|
|
data: JSON.stringify(temp)
|
|
|
}).then((res) => {
|
|
|
successMesage(res);
|
|
|
- if (res.data.ypInDetls.length > 0) {
|
|
|
- console.log(res);
|
|
|
+ if (res.data.ypInDetlVoGroupList.length > 0) {
|
|
|
setGridPrintDate(res.data);
|
|
|
}
|
|
|
});
|
|
@@ -73,83 +72,120 @@ function getInStorageData() {
|
|
|
* 生成数据表格
|
|
|
*/
|
|
|
function setGridPrintDate(data) {
|
|
|
- $(".dateRange").html($('#reportrange span').html());
|
|
|
- $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm"));
|
|
|
- $(".groupName").html(getGroupName(groupNo));
|
|
|
- $(".supplyName").html(data.ypInDetls[0]['supplyName']);
|
|
|
+ console.log(data);
|
|
|
+ let now = format(new Date(), "yyyy-MM-dd HH:mm");
|
|
|
+ let groupName = getGroupName(groupNo);
|
|
|
$('.sjh').remove();
|
|
|
let html = '';
|
|
|
let sum_html = '';
|
|
|
- for (let i = 0; i < data.ypInDetls.length; i++) {
|
|
|
- let d = data.ypInDetls[i];
|
|
|
- html += '<tr class="sjh">';
|
|
|
- if (i > 0 && d['inDocuNo'] === data.ypInDetls[i - 1]['inDocuNo']) {
|
|
|
- html += '<td class="xtd" style="text-align: center;"></td>';
|
|
|
- } else {
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + d['inDocuNo'] + '</td>';
|
|
|
- }
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + d['chargeCode'] + '<br>/' + d['manuNo'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: left;">' + d['manufactoryName'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + d['buyAmt'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: left;">' + d['specification'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + d['dosageName'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: left;">' + d['licenseNo'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: left;">' + d['wgType'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + d['confirmName'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + d['buyPrice'] + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + (d['buyPrice'] * d['buyAmt']).toFixed(2) + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + format(d['confirmDate'], "yyyy-MM-dd") + '<br>/' + format(d['effDate'], "yyyy-MM-dd") + '</td>';
|
|
|
- html += '<td class="xtd" style="text-align: center;">' + (d['hgFlag'] === '1' ? '合格' : '不合格') + '<br>/' + d['acceptName'] + '</td>';
|
|
|
- html += '</tr>';
|
|
|
- }
|
|
|
- $("#base_tr").after(html);
|
|
|
- let ypType = '';
|
|
|
- let buyMoneyMin = 0;
|
|
|
- let packMoneyMin = 0;
|
|
|
- let buyMoneyMax = 0;
|
|
|
- let packMoneyMax = 0;
|
|
|
- for (let j = 0; j < data.ypInDetlMaps.length; j++) {
|
|
|
- let ypInDetlMap = data.ypInDetlMaps[j];
|
|
|
- if (ypType === ypInDetlMap['ypType']) {
|
|
|
- buyMoneyMin += ypInDetlMap['buyMoney'];
|
|
|
- packMoneyMin += ypInDetlMap['packMoney'];
|
|
|
- sum_html += sumHtmlAfter(ypInDetlMap);
|
|
|
- } else {
|
|
|
- if (sum_html !== '') {
|
|
|
- sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
|
|
|
- buyMoneyMax += buyMoneyMin;
|
|
|
- packMoneyMax += packMoneyMin;
|
|
|
- buyMoneyMin = 0;
|
|
|
- packMoneyMin = 0;
|
|
|
- }
|
|
|
- if (data.ypInDetlMaps.length - 1 === j) {
|
|
|
- ypType = ypInDetlMap['ypType'];
|
|
|
- sum_html += '<tr class="sjh"><td colspan="13" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
|
|
|
- buyMoneyMin += ypInDetlMap['buyMoney'];
|
|
|
- packMoneyMin += ypInDetlMap['packMoney'];
|
|
|
- buyMoneyMax += buyMoneyMin;
|
|
|
- packMoneyMax += packMoneyMin;
|
|
|
- sum_html += sumHtmlAfter(ypInDetlMap);
|
|
|
- sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
|
|
|
- sum_html += '<tr class="sjh">';
|
|
|
- sum_html += '<td colspan="4" class="xtd" style="text-align: center;font-weight: bold;">合计</td>';
|
|
|
- sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + buyMoneyMax.toFixed(2);
|
|
|
- sum_html += '</td>';
|
|
|
- sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + packMoneyMax.toFixed(2);
|
|
|
- sum_html += '</td>';
|
|
|
- sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + (packMoneyMax - buyMoneyMax).toFixed(2);
|
|
|
- sum_html += '</td>';
|
|
|
- sum_html += '</tr>';
|
|
|
+ for (let j = 0; j < data.ypInDetlVoGroupList.length; j++) {
|
|
|
+ let ypInDetls = data.ypInDetlVoGroupList[j];
|
|
|
+ html+='<div class="qbtj_table"><table class="table table-striped" style="margin-top: 0px;border: transparent !important;">\n' +
|
|
|
+ ' <tr style="font-weight: 700;background-color: #EBEBE4;height: 70px;">\n' +
|
|
|
+ ' <td colspan="13" style="font-size: 21px;text-align: center;border: transparent !important;"><span class="title">泰和医院入库验收单</span></td>\n' +
|
|
|
+ ' </tr>' +
|
|
|
+ '<tr style="font-weight: 700;background-color: #EBEBE4">\n' +
|
|
|
+ ' <td colspan="2" style="text-align: left;border: transparent !important;">库房:'+groupName+'</td>\n' +
|
|
|
+ ' <td colspan="4" style="text-align: left;border: transparent !important;">供货单位:'+ypInDetls[0]['supplyName']+'</td>\n' +
|
|
|
+ ' <td colspan="4" style="text-align: left;border: transparent !important;">日期范围:'+$('#reportrange span').html()+'</td>\n' +
|
|
|
+ ' <td colspan="3" style="text-align: left;border: transparent !important;">打印日期:'+now+'</td>\n' +
|
|
|
+ ' </tr>' +
|
|
|
+ '<tr>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 100px;">单号</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 80px;">药品编码/<br>药品批号</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 120px;">药品名称</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 120px;">生产厂家</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 60px;">入库数量</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 100px;">规格</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 40px;">剂型</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 120px;">批准文号</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 60px;">复核人</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 60px;">购入价</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 60px;">购入金额</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 80px;">入库日期/<br>有效期</td>\n' +
|
|
|
+ ' <td class="xtd" style="text-align: center;width: 60px;">验收结果/<br>验收人</td>\n' +
|
|
|
+ ' </tr>';
|
|
|
+ for (let i = 0; i < ypInDetls.length; i++) {
|
|
|
+ let d = ypInDetls[i];
|
|
|
+ html += '<tr class="sjh">';
|
|
|
+ if (i > 0 && d['inDocuNo'] === ypInDetls[i - 1]['inDocuNo']) {
|
|
|
+ html += '<td class="xtd" style="text-align: center;"></td>';
|
|
|
} else {
|
|
|
- ypType = ypInDetlMap['ypType'];
|
|
|
- sum_html += '<tr class="sjh"><td colspan="13" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
|
|
|
- sum_html += sumHtmlAfter(ypInDetlMap);
|
|
|
- buyMoneyMin += ypInDetlMap['buyMoney'];
|
|
|
- packMoneyMin += ypInDetlMap['packMoney'];
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + d['inDocuNo'] + '</td>';
|
|
|
}
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + d['chargeCode'] + '<br>/' + d['manuNo'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: left;">' + d['drugName'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: left;">' + (isEmpty(d['manufactoryName'])?'-':d['manufactoryName']) + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + d['buyAmt'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: left;">' + d['specification'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + d['dosageName'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: left;">' + (isEmpty(d['licenseNo'])?'-':d['licenseNo']) + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + d['confirmName'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + d['buyPrice'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + (d['buyPrice'] * d['buyAmt']).toFixed(2) + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + format(d['confirmDate'], "yyyy-MM-dd") + '<br>/' + format(d['effDate'], "yyyy-MM-dd") + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + (d['hgFlag'] === '1' ? '合格' : '不合格') + '<br>/' + d['acceptName'] + '</td>';
|
|
|
+ html += '</tr>';
|
|
|
+ }
|
|
|
+ if((j+1) == data.ypInDetlVoGroupList.length){
|
|
|
+ html += '<tr>\n' +
|
|
|
+ ' <td colspan="4" class="xtd" style="text-align: center;">分类</td>\n' +
|
|
|
+ ' <td colspan="3" class="xtd" style="text-align: center;">购入金额</td>\n' +
|
|
|
+ ' <td colspan="3" class="xtd" style="text-align: center;">零售金额</td>\n' +
|
|
|
+ ' <td colspan="3" class="xtd" style="text-align: center;">差额</td>\n' +
|
|
|
+ ' </tr>';
|
|
|
+ let ypType = '';
|
|
|
+ let buyMoneyMin = 0;
|
|
|
+ let packMoneyMin = 0;
|
|
|
+ let buyMoneyMax = 0;
|
|
|
+ let packMoneyMax = 0;
|
|
|
+ for (let j = 0; j < data.ypInDetlMaps.length; j++) {
|
|
|
+ let ypInDetlMap = data.ypInDetlMaps[j];
|
|
|
+ if (ypType === ypInDetlMap['ypType']) {
|
|
|
+ buyMoneyMin += ypInDetlMap['buyMoney'];
|
|
|
+ packMoneyMin += ypInDetlMap['packMoney'];
|
|
|
+ sum_html += sumHtmlAfter(ypInDetlMap);
|
|
|
+ } else {
|
|
|
+ if (sum_html !== '') {
|
|
|
+ sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
|
|
|
+ buyMoneyMax += buyMoneyMin;
|
|
|
+ packMoneyMax += packMoneyMin;
|
|
|
+ buyMoneyMin = 0;
|
|
|
+ packMoneyMin = 0;
|
|
|
+ }
|
|
|
+ if (data.ypInDetlMaps.length - 1 === j) {
|
|
|
+ ypType = ypInDetlMap['ypType'];
|
|
|
+ sum_html += '<tr class="sjh"><td colspan="13" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
|
|
|
+ buyMoneyMin += ypInDetlMap['buyMoney'];
|
|
|
+ packMoneyMin += ypInDetlMap['packMoney'];
|
|
|
+ buyMoneyMax += buyMoneyMin;
|
|
|
+ packMoneyMax += packMoneyMin;
|
|
|
+ sum_html += sumHtmlAfter(ypInDetlMap);
|
|
|
+ sum_html += sumHtmlCountAfter(buyMoneyMin, packMoneyMin);
|
|
|
+ sum_html += '<tr class="sjh">';
|
|
|
+ sum_html += '<td colspan="4" class="xtd" style="text-align: center;font-weight: bold;">合计</td>';
|
|
|
+ sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + buyMoneyMax.toFixed(2);
|
|
|
+ sum_html += '</td>';
|
|
|
+ sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + packMoneyMax.toFixed(2);
|
|
|
+ sum_html += '</td>';
|
|
|
+ sum_html += '<td colspan="3" class="xtd" style="text-align: right;">' + (packMoneyMax - buyMoneyMax).toFixed(2);
|
|
|
+ sum_html += '</td>';
|
|
|
+ sum_html += '</tr>';
|
|
|
+ } else {
|
|
|
+ ypType = ypInDetlMap['ypType'];
|
|
|
+ sum_html += '<tr class="sjh"><td colspan="13" class="xtd" style="text-align: left;font-weight: bold;">' + getYpTypeName(ypType) + '(汇总)</td></tr>';
|
|
|
+ sum_html += sumHtmlAfter(ypInDetlMap);
|
|
|
+ buyMoneyMin += ypInDetlMap['buyMoney'];
|
|
|
+ packMoneyMin += ypInDetlMap['packMoney'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ html+=sum_html;
|
|
|
+ }else {
|
|
|
+ html += '</table></div>';
|
|
|
}
|
|
|
}
|
|
|
- $("#sum_tr").after(sum_html);
|
|
|
+ $("#report_table").html(html);
|
|
|
}
|
|
|
|
|
|
function sumHtmlAfter(ypInDetlMap) {
|
|
@@ -235,14 +271,17 @@ function print() {
|
|
|
setDefaultPrint();
|
|
|
LODOP = getLodop();
|
|
|
LODOP.PRINT_INITA(6, 0, "210mm", "297mm", "泰和医院入库验收单");
|
|
|
- LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(2, "210mm", "297mm", "A4");
|
|
|
//设置默认打印机
|
|
|
LODOP.SET_PRINTER_INDEX(defaultPrintIndex);
|
|
|
LODOP.ADD_PRINT_TEXT('195mm', '140mm', '40mm', '40mm', '第#页/共&页');
|
|
|
LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
|
|
|
var strStyle = "<style>table,td,th {border-width: 1px;" +
|
|
|
"border-style: solid;border-collapse: collapse;table-layout:fixed;word-wrap:break-word;font-size: 14px}</style>";
|
|
|
- LODOP.ADD_PRINT_HTM("2mm", "4mm", "RightMargin:4mm", "BottomMargin:15mm", strStyle + document.getElementById("report_table_1").innerHTML);
|
|
|
+ for (let i = 0; i < $(".qbtj_table").length; i++) {
|
|
|
+ LODOP.ADD_PRINT_HTM("2mm", "4mm", "RightMargin:4mm", "BottomMargin:15mm", strStyle + $(".qbtj_table")[i].innerHTML);
|
|
|
+ LODOP.NewPageA();
|
|
|
+ }
|
|
|
LODOP.PRINT();
|
|
|
//LODOP.PREVIEW();
|
|
|
}
|