|
@@ -1,6 +1,5 @@
|
|
|
//@ sourceURL=drug_return.js
|
|
|
var groupYk = window.localStorage["groupYk"];//药房编码
|
|
|
-var applyDrugList = new Array();//请领药品集
|
|
|
$(function () {
|
|
|
$(".selectpicker").selectpicker();
|
|
|
initAllGroup('groupNoSearchText');
|
|
@@ -28,15 +27,30 @@ $(function () {
|
|
|
$("#btn_save").click(function (t) {
|
|
|
var data = $('#tb_table').bootstrapTable('getData', true);
|
|
|
if (data.length > 0) {
|
|
|
- var ypInPlans = [];
|
|
|
+ if(data[0].outAmt < 0){
|
|
|
+ return warningMesageSimaple('当前为历史退库单,请勿重复保存');
|
|
|
+ }
|
|
|
+ if (!confirm("确定保存该退库单吗?")) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
for (let i = 0; i < data.length; i++) {
|
|
|
if (data[i].newOutAmt == 0 || data[i].newOutAmt == null) {
|
|
|
return warningMesageSimaple('含有退药数量为0的记录');
|
|
|
}
|
|
|
}
|
|
|
- saveDrugApply(ypInPlans);
|
|
|
+ saveDrugApply(data);
|
|
|
}
|
|
|
});
|
|
|
+ $("#btn_record").click(function () {
|
|
|
+ $("#recordModal").modal("show");
|
|
|
+ $('#reportrange span').html(moment().subtract(7, 'days').format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
|
|
|
+ $("#tkForm")[0].reset();
|
|
|
+ initRecordTable();
|
|
|
+ });
|
|
|
+ $("#btn_daily").click(function (t) {
|
|
|
+ initPrintHtml();
|
|
|
+ });
|
|
|
+
|
|
|
//初始化药品查询弹出框
|
|
|
initSearchList('<div id="medicinePopoverContent"><table id="tb_table_medicine"></table></div>',
|
|
|
'drugSearchText', 600, 200);
|
|
@@ -82,6 +96,7 @@ $(function () {
|
|
|
* 保存数据
|
|
|
*/
|
|
|
function saveDrugApply(data) {
|
|
|
+
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
url: '/thmz/saveDrugReturn',
|
|
@@ -95,15 +110,32 @@ function saveDrugApply(data) {
|
|
|
return;
|
|
|
}
|
|
|
if (res.code == 0) {
|
|
|
- $('#tb_table').bootstrapTable('refresh');
|
|
|
successMesage(res);
|
|
|
+ getDetail(res.data);
|
|
|
} else {
|
|
|
errorMesage(res);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
-}
|
|
|
+}/*
|
|
|
+/!**
|
|
|
+ * 保存数据
|
|
|
+ *!/
|
|
|
+function saveDrugApply(data) {
|
|
|
+ request({
|
|
|
+ type: "POST",
|
|
|
+ url: '/thmz/saveDrugReturn',
|
|
|
+ data: JSON.stringify(data)
|
|
|
+ }).then((res) => {
|
|
|
+ successMesage(res);
|
|
|
+ if (!confirm("是否需要打印退库单?")) {
|
|
|
+ $('#tb_table').bootstrapTable('removeAll');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ initPrintHtml();
|
|
|
+ $('#tb_table').bootstrapTable('removeAll');
|
|
|
+ });
|
|
|
+}*/
|
|
|
|
|
|
/**
|
|
|
* 重置查询表单
|
|
@@ -155,7 +187,6 @@ function initTbTable() {
|
|
|
valign: 'middle',
|
|
|
width: 40,
|
|
|
formatter: function (value, row, index) {
|
|
|
- //saveData(index, 'id', index + 1,'tb_table');
|
|
|
return index + 1;
|
|
|
}
|
|
|
}, {
|
|
@@ -196,7 +227,10 @@ function initTbTable() {
|
|
|
field: 'outAmt',
|
|
|
title: '累计出库量',
|
|
|
align: "center",
|
|
|
- valign: 'middle'
|
|
|
+ valign: 'middle',
|
|
|
+ formatter: function (value, row, index) {
|
|
|
+ return value < 0 ? '-' : value;
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
field: 'newOutAmt',
|
|
@@ -233,7 +267,7 @@ function initTbTable() {
|
|
|
var tdValue = $element.html();
|
|
|
tdValue = tdValue.replaceAll(" ","");
|
|
|
tdValue = tdValue.replaceAll("<br>","");
|
|
|
- saveData(index, field, tdValue);
|
|
|
+ saveData(index, field, tdValue, 'tb_table');
|
|
|
});
|
|
|
}
|
|
|
},
|
|
@@ -260,25 +294,6 @@ function initTbTable() {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * 构建列表查询参数
|
|
|
- * @param params
|
|
|
- */
|
|
|
-function queryParams(params) {
|
|
|
- var rePortRangeArr = getRePortRangeArr();
|
|
|
- var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
|
|
|
- pageSize: params.limit, //页面大小
|
|
|
- pageIndex: params.offset / params.limit, //页码
|
|
|
- beginTime: rePortRangeArr[0],
|
|
|
- endTime: rePortRangeArr[1],
|
|
|
- statusFlag: $("#statusFlagSearch").val() == "" ? null : $("#statusFlagSearch").val(),
|
|
|
- groupYk: $("#groupYkSearch").val() == "" ? null : $("#groupYkSearch").val(),
|
|
|
- drawNo: $("#drawNoSearch").val() == "" ? null : $("#drawNoSearch").val(),
|
|
|
- groupNo: pharmacyGroupNo
|
|
|
- };
|
|
|
- return temp;
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* 新增药品列表
|
|
|
*/
|
|
@@ -325,7 +340,7 @@ function initAddDrugTable() {
|
|
|
formatter: function (value, row, index) {
|
|
|
var str = '<button type="button" class="registration-no-color-foot-button" title="选择" onclick="addData(\'' + row.outDate + '\',\''
|
|
|
+ row.chargeCode + '\',\'' + row.name + '\',\'' + row.specification+ '\',\'' + row.groupNoOutName+ '\',\'' + row.outAmt+ '\',\''
|
|
|
- + row.effDate+ '\',\'' + row.drawNo+ '\',\'' + row.inDrawNo+ '\',\'' + row.outSeri+ '\')"><i class="glyphicon glyphicon-plus"></i></button>';
|
|
|
+ + row.effDate+ '\',\'' + row.drawNo+ '\',\'' + row.inDrawNo+ '\',\'' + row.outSeri+ '\',\'' + row.inSeri+ '\')"><i class="glyphicon glyphicon-plus"></i></button>';
|
|
|
return str;
|
|
|
}
|
|
|
}, {
|
|
@@ -445,7 +460,7 @@ function initAddDrugTable() {
|
|
|
* @param field
|
|
|
* @param values
|
|
|
*/
|
|
|
-function addData(outDate,chargeCode,name,specification,groupNoOutName,outAmt,effDate,drawNo,inDrawNo,outSeri) {
|
|
|
+function addData(outDate,chargeCode,name,specification,groupNoOutName,outAmt,effDate,drawNo,inDrawNo,outSeri,inSeri) {
|
|
|
var tableData = $table.bootstrapTable('getData');
|
|
|
for (let i = 0; i < tableData.length; i++) {
|
|
|
let data = tableData[i];
|
|
@@ -465,8 +480,203 @@ function addData(outDate,chargeCode,name,specification,groupNoOutName,outAmt,eff
|
|
|
effDate: effDate,
|
|
|
drawNo: drawNo,
|
|
|
outSeri:outSeri,
|
|
|
+ inSeri:inSeri,
|
|
|
inDrawNo: inDrawNo
|
|
|
};
|
|
|
$table.bootstrapTable('prepend', row);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * 查询列表
|
|
|
+ */
|
|
|
+function initRecordTable() {
|
|
|
+ $('#tk_record').bootstrapTable('destroy');
|
|
|
+ $('#tk_record').bootstrapTable({
|
|
|
+ url: '/thmz/getYpOutDetlYk', //请求后台的URL(*)
|
|
|
+ method: 'POST', //请求方式(*)
|
|
|
+ toolbar: '#toolbar', //工具按钮用哪个容器
|
|
|
+ striped: true, //是否显示行间隔色
|
|
|
+ cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
|
|
|
+ pagination: true, //是否显示分页(*)
|
|
|
+ sortable: true, //是否启用排序
|
|
|
+ sortOrder: "asc", //排序方式
|
|
|
+ queryParams: recordTableQueryParams, //传递参数(*)
|
|
|
+ sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
|
|
|
+ pageNumber: 1, //初始化加载第一页,默认第一页
|
|
|
+ pageSize: 10, //每页的记录行数(*)
|
|
|
+ pageList: [10, 20, 40, 100], //可供选择的每页的行数(*)
|
|
|
+ search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
|
|
|
+ strictSearch: true,
|
|
|
+ showColumns: false, //是否显示所有的列
|
|
|
+ showRefresh: false, //是否显示刷新按钮
|
|
|
+ minimumCountColumns: 2, //最少允许的列数
|
|
|
+ clickToSelect: true, //是否启用点击选中行
|
|
|
+ uniqueId: "ID", //每一行的唯一标识,一般为主键列
|
|
|
+ showToggle: false, //是否显示详细视图和列表视图的切换按钮
|
|
|
+ cardView: false, //是否显示详细视图
|
|
|
+ detailView: false,
|
|
|
+ ajaxOptions: {
|
|
|
+ headers: {
|
|
|
+ 'Accept': 'application/json',
|
|
|
+ 'Authorization': 'Bearer ' + localStorage.getItem("token")
|
|
|
+ }
|
|
|
+ },
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ field: 'op',
|
|
|
+ align: "center",
|
|
|
+ valign: 'middle',
|
|
|
+ formatter: function (value, row, index) {
|
|
|
+ return '<button type="button" class="registration-no-color-foot-button" title="详细" onclick="getDetail(\'' + row.drawNo + '\')"><i class="fa fa-plus"></i></button>';
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ field: 'outDate',
|
|
|
+ title: '退库日期',
|
|
|
+ align: "center",
|
|
|
+ valign: 'middle',
|
|
|
+ formatter: function (value, row, index) {
|
|
|
+ return format(value, "yyyy-MM-dd HH:mm:ss");
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ field: 'drawNo',
|
|
|
+ title: '退库单号',
|
|
|
+ align: "center",
|
|
|
+ valign: 'middle'
|
|
|
+ }, {
|
|
|
+ field: 'groupNoOut',
|
|
|
+ title: '退药库房',
|
|
|
+ align: "center",
|
|
|
+ valign: 'middle',
|
|
|
+ formatter: function (value, row, index) {
|
|
|
+ return getGroupName(value);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'drawerName',
|
|
|
+ title: '申请人',
|
|
|
+ align: "center",
|
|
|
+ valign: 'middle'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'keeperName',
|
|
|
+ title: '经发人',
|
|
|
+ align: "center",
|
|
|
+ valign: 'middle'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ field: 'groupNo',
|
|
|
+ title: '发药库房',
|
|
|
+ align: "center",
|
|
|
+ valign: 'middle',
|
|
|
+ formatter: function (value, row, index) {
|
|
|
+ return getGroupName(value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ onDblClickRow: function (row) {
|
|
|
+ getDetail(row.drawNo);
|
|
|
+ },
|
|
|
+ responseHandler: function (res) {
|
|
|
+ if (res == '401' || res == 401) {
|
|
|
+ window.location.href = '/thmz/login/view';
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var ress = eval(res);
|
|
|
+ if (ress.code == -1) {
|
|
|
+ errorMesage(res);
|
|
|
+ return {
|
|
|
+ "total": 0,//总页数
|
|
|
+ "rows": {} //数据
|
|
|
+ };
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ "total": ress.total,//总页数
|
|
|
+ "rows": ress.data //数据
|
|
|
+ };
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function recordTableQueryParams(params) {
|
|
|
+ let rePortRangeArr = getRePortRangeArr();
|
|
|
+ let temp = {
|
|
|
+ drawNo: $("#drawNoTkSearch").val() === '' ? null : $("#drawNoTkSearch").val(),
|
|
|
+ outType: 2,
|
|
|
+ groupNo: groupYk,
|
|
|
+ beginTime: rePortRangeArr[0],
|
|
|
+ endTime: rePortRangeArr[1],
|
|
|
+ pageSize: params.limit, //页面大小
|
|
|
+ pageIndex: params.offset / params.limit //页码
|
|
|
+ };
|
|
|
+ return JSON.stringify(temp);
|
|
|
+}
|
|
|
+
|
|
|
+function getDetail(drawNo) {
|
|
|
+ $("#recordModal").modal("hide");
|
|
|
+ $("#tb_table").bootstrapTable('refreshOptions',{method: 'GET',
|
|
|
+ url: '/thmz/getYpOutDetlDrugYk',queryParams:{drawNo:drawNo}});
|
|
|
+ $("#tb_table").bootstrapTable('refresh');
|
|
|
+}
|
|
|
+
|
|
|
+function initPrintHtml(){
|
|
|
+ var datas = $('#tb_table').bootstrapTable('getData', true);
|
|
|
+ let html = '';
|
|
|
+ let packRetpriceSum = 0;
|
|
|
+ let buyPriceSum = 0;
|
|
|
+ $('.sjh').remove();
|
|
|
+ for (let i = 0; i < datas.length; i++) {
|
|
|
+ let data = datas[i];
|
|
|
+ let packRetprice = keepTwoDecimal(parseFloat(data['newOutAmt']) * parseFloat(data['packRetprice']));
|
|
|
+ let buyPrice = keepTwoDecimal(parseFloat(data['newOutAmt']) * parseFloat(data['buyPrice']));
|
|
|
+ packRetpriceSum += packRetprice;
|
|
|
+ buyPriceSum += buyPrice;
|
|
|
+ if (i === 0) {
|
|
|
+ $(".printDate").html(format(new Date(), "yyyy-MM-dd HH:mm"));
|
|
|
+ $(".groupName").html(data['groupNoOutName']);
|
|
|
+ $(".drawNo").html(data['drawNo']);
|
|
|
+ $(".planDate").html(format(data['confirmDate'], "yyyy-MM-dd HH:mm"));
|
|
|
+ $(".confirmDate").html(format(data['confirmDate'], "yyyy-MM-dd HH:mm"));
|
|
|
+ $(".lister").html($(".current_user")[0].innerText);
|
|
|
+ $(".listerAudit").html(data['confirmName']);
|
|
|
+ }
|
|
|
+ html += '<tr class="sjh">';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + data['chargeCode'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + data['location'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: left;">' + data['name'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: left;">' + data['specification'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + data['newOutAmt'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + data['buyPrice'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + data['packRetprice'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + buyPrice + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + packRetprice + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + data['manuNo'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: left;">' + data['manufactoryName'] + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + format(data['effDate'], "yyyy-MM-dd") + '</td>';
|
|
|
+ html += '<td class="xtd" style="text-align: center;">' + data['stockAmount'] + '</td>';
|
|
|
+ html += '</tr>';
|
|
|
+ }
|
|
|
+ $("#base_tr").after(html);
|
|
|
+ $(".packRetpriceSum").html(keepTwoDecimal(packRetpriceSum));
|
|
|
+ $(".buyPriceSum").html(keepTwoDecimal(buyPriceSum));;
|
|
|
+ print();
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 打印报表
|
|
|
+ */
|
|
|
+function print() {
|
|
|
+ setDefaultPrint();
|
|
|
+ LODOP = getLodop();
|
|
|
+ LODOP.PRINT_INITA(6, 0, "210mm", "297mm", "长沙泰和医院西药库退库单");
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
|
|
|
+ //设置默认打印机
|
|
|
+ LODOP.SET_PRINTER_INDEX(defaultPrintIndex);
|
|
|
+ LODOP.ADD_PRINT_TEXT('190mm', '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: 13px}</style>";
|
|
|
+ LODOP.ADD_PRINT_HTM("2mm", "4mm", "RightMargin:2mm", "BottomMargin:15mm", strStyle + document.getElementById("report_table_1").innerHTML);
|
|
|
+ //LODOP.PRINT();
|
|
|
+ LODOP.PREVIEW();
|
|
|
+}
|