//@ 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); };