//@ sourceURL=pharmacy_warehouse.js
var pharmacyGroupNo = window.localStorage["groupNo"];//药房编码
$(function () {
$('#fyClass').selectpicker('refresh');
$(".selectpicker").selectpicker();
init_daterangepicker();
//$("#pharmacyModal").modal("show");
if(pharmacyGroupNo == null){
return errorMesageSimaple('药房参数未设置,请在发药参数设置中设置');
}
getAll();
$("input").each(function (){
this.onkeydown = function (e) { // 监听键盘事件
let theEvent = window.event || e;
let code = theEvent.keyCode || theEvent.which;
if (code == 13) {//回车事件
$("#btn_search").click(); //触发搜索按钮点击事件
}
}
});
//保存按钮点击事件
$("#btn_save").click(function (t) {
var data= $('#drug_table').bootstrapTable('getData',true);
if(data.length > 0){
saveDrug(data);
}
});
});
//显示请领单详细窗口
function initDrugTable(drawNo) {
var display =$('#btn_save').css('display');
$('#drug_table').bootstrapTable('destroy');
$('#drug_table').bootstrapTable({
url: '/thmz/getYpOutDetlDetail', //请求后台的URL(*)
method: 'GET', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
queryParams:{'drawNo':drawNo}, //传递参数(*)
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 15, 25, 50, 100], //可供选择的每页的行数(*)
search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: false, //是否显示所有的列
showRefresh: false, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
uniqueId: "ID", //每一行的唯一标识,一般为主键列
showToggle: false, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false,
//rowStyle:rowStyle,//通过自定义函数设置行样式
ajaxOptions: {
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem("token")
}
},
columns: [
{
field: 'outDate',
title: '入库日期',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return value == null ? "-" : format(value, "yyyy-MM-dd");
}
},{
field: 'drawNo',
title: '领单号',
align: "center",
valign: 'middle'
},{
field: 'name',
title: '药品名',
align: "center",
valign: 'middle'
},
{
field: 'specification',
title: '规格',
align: "center",
valign: 'middle'
},
{
field: 'outAmt',
title: '数量',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return ""+value+"";
}
},
{
field: 'packRetprice',
title: '零售价',
align: "center",
valign: 'middle'
},
{
field: 'splitPercent',
title: '拆零比例',
align: "center",
valign: 'middle',
visible: display == 'none'?false:true,
formatter:function (value, row, index) {
if(value == 0){
return '0%'
}else if(value == 1){
return '100%'
}
}
}, {
field: 'manufactoryName',
title: '厂家',
align: "center",
valign: 'middle'
}, {
field: 'manuNo',
title: '入库批号',
align: "center",
valign: 'middle'
},{
field: 'effDate',
title: '效期',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return value == null ? "-" : format(value, "yyyy-MM-dd");
}
},{
field: 'nationalCode',
title: '医保编码',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return value == null ? "-" : value;
}
}
],
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.data.length,//总页数
"rows": ress.data //数据
};
},
/**
* @param {点击列的 field 名称} field
* @param {点击列的 value 值} value
* @param {点击列的整行数据} row
* @param {td 元素} $element
*/
onClickCell: function(field, value, row, $element) {
if(field == 'splitPercent' && row.serial != '01'){
$element.attr('contenteditable', true);
$element.html(null);
$element.focus();
$element.blur(function() {
var index = $element.parent().data('index');
var tdValue = $element.html();
if(parseFloat(tdValue).toString() != "NaN"){
if(parseFloat(tdValue) != 0 && parseFloat(tdValue) != 100){
saveData(index, field, value);
$element.html(value==1?"100%":"0%");
}else{
saveData(index, field, tdValue==100?1:tdValue);
$element.html(tdValue+"%");
}
}else{
$element.html(value==1?"100%":"0%");
}
})
}
}
});
}
/**
* 修改列数据
* @param index
* @param field
* @param value
*/
function saveData(index, field, value) {
$('#drug_table').bootstrapTable('updateCell', {
index: index, //行索引
field: field, //列名
value: value //cell值
})
}
/**
* 药品入库
*/
function saveDrug(data) {
$("#btn_save").attr('disabled',true);
$.ajax({
type: "POST",
url: '/thmz/saveYpInDetlYf',
contentType: "application/json;charset=UTF-8",
dataType: "json",
async: false,
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
data: JSON.stringify(data),
success: function (res) {
$("#btn_save").attr('disabled',false);
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view'
return;
}
if (res.code == 0) {
$("#editModal").modal("hide");
$('#tb_table').bootstrapTable('refresh');
successMesage(res);
} else {
errorMesage(res);
}
}
});
}
/**
* 重置查询表单
*/
function resetSearch() {
$("#acceptSignSearch").val(null);
$("#acceptSignSearch").selectpicker('refresh');
$("#outTypeSearch").val(null);
$("#outTypeSearch").selectpicker('refresh');
$("#drawNoSearch").val(null);
$('#reportrange span').html(new Date.format('YYYY-MM-DD') + ' - ' + new Date.format('YYYY-MM-DD'));
}
/**
* 查询列表
*/
function getAll() {
$('#tb_table').bootstrapTable("destroy");
$('#tb_table').bootstrapTable({
url: '/thmz/getYpOutDetl', //请求后台的URL(*)
method: 'post', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "desc", //排序方式
queryParams: queryParams, //传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 15, 25, 50, 100], //可供选择的每页的行数(*)
search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: false, //是否显示所有的列
showRefresh: false, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
uniqueId: "drawNo", //每一行的唯一标识,一般为主键列
showToggle: false, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false,
//rowStyle:rowStyle,//通过自定义函数设置行样式
ajaxOptions: {
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem("token")
}
},
columns: [
{
title: '操作',
field: 'op',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
var str = '';
return str;
}
}, {
field: 'outDate',
title: '出库日期',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
return value == null ? "-" : format(value, "yyyy-MM-dd HH:mm:ss");
}
}, {
field: 'drawNo',
title: '单号',
align: "center",
valign: 'middle'
},
{
field: 'groupName',
title: '出库库房',
align: "center",
valign: 'middle'
},
{
field: 'outType',
title: '出库类型 ',
align: "center",
valign: 'middle',
formatter: function (value, row, index) {
if(value == 0){
return '出库'
}else if(value == 1){
return '报损'
}else if(value == 2){
return '退库'
}else if(value == 8){
return '盘点'
}
}
},
{
field: 'groupNamePharmacy',
title: '入库药房',
align: "center",
valign: 'middle'
},
{
field: 'acceptSign',
title: '状态',
align: "center",
valign: 'middle',
formatter: function (value,row,index) {
return value==0?"未入库":"已入库"
}
},
{
field: 'keeperName',
title: '发药人',
align: "center",
valign: 'middle'
},
{
field: 'drawerName',
title: '请领人',
align: "center",
valign: 'middle'
}
],
responseHandler: function (res) {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view'
return;
}
var ress = eval(res);
if (ress.code == -1) {
if (ress.message != null && ress.message != '') {
new PNotify({
title: '错误提示',
text: ress.message,
type: 'error',
hide: true,
styling: 'bootstrap3'
});
}
return {
"total": 0,//总页数
"rows": {} //数据
};
}
return {
"total": ress.total,//总页数
"rows": ress.data //数据
};
},
});
}
/**
* 构建列表查询参数
* @param params
*/
function queryParams(params) {
var rePortRangeArr = getRePortRangeArr();
var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
pageSize: params.limit, //页面大小
pageIndex: params.offset / params.limit, //页码
beginTime: rePortRangeArr[0],
endTime: rePortRangeArr[1],
drawNo: $("#drawNoSearch").val() == "" ? null : $("#drawNoSearch").val(),
acceptSign: $("#acceptSignSearch").val() == "" ? null : $("#acceptSignSearch").val(),
outType: $("#outTypeSearch").val() == "" ? null : $("#outTypeSearch").val(),
groupNoOut: pharmacyGroupNo
};
return temp;
}
$('#searchText').on('input focus',function(e){
showDrugPopover();
});
//显示请领单详细
function ypInPlanDetail(drawNo,acceptSign) {
$("#btn_save").attr('disabled',false);
$("#editModal").modal();
if(acceptSign == 0){
$("#classTitle").text("入库");
$("#btn_save").show();
}else{
$("#classTitle").text("查看");
$("#btn_save").hide();
}
initDrugTable(drawNo);
};