//@ sourceURL=pharmacy-com.js
var readcardUrl = 'http://localhost:8321/readcard/entry';
var url = '/thmz';
/**
* 加载搜索窗口
*/
function initSearchList(content, searchTextIds, width, height) {
var settings = {
placement: 'bottom-right',//值: auto,top,right,bottom,left,top-right,top-left,bottom-right,bottom-left 要显示的位置
trigger: 'click', //值:click,hover 触发方式
content: '',//内容,内容可以是函数
width: width,
//arrow:false,//是否显示箭头
multi: true,//在页面允许其他弹出层
closeable: true,//显示关闭按钮
style: '', //值:'',inverse
delay: 300,//延迟时间, 悬浮属性才执行
padding: true,//内容填充
height: height,
//offsetTop:10,
cache: true,//如果缓存设置为false,则popover将销毁并重新创建
content: content
};
if(Array.isArray(searchTextIds)){
for (let i = 0; i < searchTextIds.length; i++) {
$('#' + searchTextIds[i]).webuiPopover('destroy').webuiPopover(settings);
}
}else{
$('#' + searchTextIds).webuiPopover('destroy').webuiPopover(settings);
}
}
/**
* 修改列数据
* @param $table 表格元素
* @param index 行索引
* @param field 列名
* @param value cell值
*/
function saveCellData($table, index, field, value) {
$table.bootstrapTable('updateCell', {
index: index,
field: field,
value: value
})
}
/**
* 初始化下拉列表
*/
function initDynamicSelect(url, id, codeColumn, nameColumn) {
codeColumn = codeColumn==null?'code':codeColumn;
nameColumn = nameColumn==null?'name':nameColumn;
$.ajax({
type: "GET",
url: '/thmz/'+url,
dataType: "json",
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
success: function (data) {
if (data == '401' || data == 401) {
window.location.href = '/thmz/login/view';
return;
}
var html = '';
$.each(data.data, function (commentIndex, comment) {
let pyCode = typeof comment.pyCode === 'undefined'?'':'(' +comment.pyCode+ ')';
html += '';
});
$('#' + id).empty();
$('#' + id).html(html);
$('#' + id).selectpicker('refresh');
}
});
}
/**
* 初始化员工下拉列表
*/
function initEmployeeSelect(id) {
$.ajax({
type: "GET",
url: '/thmz/getEmployee',
dataType: "json",
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
success: function (data) {
if (data == '401' || data == 401) {
window.location.href = '/thmz/login/view';
return;
}
var html = '';
$.each(data.data, function (commentIndex, comment) {
let pyCode = typeof comment.pyCode === 'undefined'?'':'(' +comment.pyCode+ ')';
html += '';
});
$('#' + id).empty();
$('#' + id).html(html);
$('#' + id).selectpicker('refresh');
}
});
}
//初始化药房下拉
function initAllGroup(id) {
$.ajax({
type: "GET",
url: '/thmz/queryAllGroupName',
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) {
//初始化部门下拉
var arr = res.data;
if (arr != null && arr.length > 0) {
var html = "";
for (var i = 0; i < arr.length; i++) {
html += "";
}
$('#'+id).html(html);
$('#'+id).selectpicker('refresh');
} else {
errorMesage(res);
}
}
}
});
}
/**
* 四舍五入保留2位小数(若第二位小数为0,则保留一位小数)
* @param num
* @returns {*}
*/
function keepTwoDecimal(num) {
var result = parseFloat(num);
if (isNaN(result)) {
return false;
}
result = Math.round(num * 100) / 100;
return result;
}
//默认打印机下标
var defaultPrintIndex = -1;
/**
* 查询默认打印机
*/
function setDefaultPrint() {
if (defaultPrintIndex >= 0) {
return;
}
$.ajax({
type: "GET",
url: '/thmz/getLastWindowsByCurrentUser',
contentType: "application/json;charset=UTF-8",
dataType: "json",
headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
async: false,
success: function (res) {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view'
return;
}
if (res.code == 0) {
defaultPrintIndex = res.data.cgPrintIndex;
} else {
defaultPrintIndex = -1;
}
}
});
}
/**
* 显示查询所有药品悬浮窗
* @param data
*/
function showDrugPopover(data) {
let columns = [
{
field: 'code',
title: '编码',
align: "center",
valign: 'middle'
}, {
field: 'name',
title: '药品名',
align: "center",
valign: 'middle'
}, {
field: 'manufactoryName',
title: '厂家',
align: "center",
valign: 'middle'
},
{
field: 'specification',
title: '规格',
align: "center",
valign: 'middle'
},
{
field: 'packRetprice',
title: '零售价',
align: "center",
valign: 'middle'
}
];
columns = columns.concat(data.columns);
$('#tb_table_medicine').bootstrapTable('destroy');
$('#tb_table_medicine').bootstrapTable({
url: data.url==null?'/thmz/getYp':data.url, //请求后台的URL(*)
method: data.method==null?'GET':data.method, //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: false, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: data.data,
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
pageList: [5, 10, 25, 50, 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: columns,
onClickRow: data.onClickRow==null?function (row, $element) {
$('#searchTextDrug').webuiPopover('hide');
$('#codeSearch').val(row.code);
$('#serialSearch').val(row.serial);
$('#searchTextDrug').val(row.name);
}:data.onClickRow,
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 data
*/
function showEmployeePopover(data) {
let columns = [
{
field: 'employeeCode',
title: '员工编码',
align: "center",
valign: 'middle'
}, {
field: 'employeeName',
title: '姓名',
align: "center",
valign: 'middle'
}, {
field: 'deptName',
title: '科室',
align: "center",
valign: 'middle'
}
];
columns = columns.concat(data.columns);
$('#tb_table_employee').bootstrapTable('destroy');
$('#tb_table_employee').bootstrapTable({
url: data.url==null?'/thmz/getEmployeeBySearchText':data.url, //请求后台的URL(*)
method: 'GET', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: false, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: data.data,
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
pageList: [5, 10, 25, 50, 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: columns,
onClickRow: data.onClickRow,
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 data
*/
function showManufactoryPopover(data) {
let columns = [
{
field: 'code',
title: '编码',
align: "center",
valign: 'middle'
}, {
field: 'name',
title: '厂名',
align: "center",
valign: 'middle'
}
];
columns = columns.concat(data.columns);
$('#tb_table_manufactory').bootstrapTable('destroy');
$('#tb_table_manufactory').bootstrapTable({
url: data.url==null?'/thmz/getYpZdManufactoryBySearchText':data.url, //请求后台的URL(*)
method: 'GET', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: false, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: data.data,
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
pageList: [5, 10, 25, 50, 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: columns,
onClickRow: data.onClickRow,
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 data
*/
function showSupplyPopover(data) {
let columns = [
{
field: 'code',
title: '编码',
align: "center",
valign: 'middle'
}, {
field: 'name',
title: '供应商',
align: "center",
valign: 'middle'
}
];
columns = columns.concat(data.columns);
$('#tb_table_supply').bootstrapTable('destroy');
$('#tb_table_supply').bootstrapTable({
url: data.url==null?'/thmz/getYpZdSupplyBySearchText':data.url, //请求后台的URL(*)
method: 'GET', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: false, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: data.data,
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
pageList: [5, 10, 25, 50, 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: columns,
onClickRow: data.onClickRow,
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 //数据
};
}
});
}
/**
* 将table导出Excel
* @param tableid
* @param sheetName
*/
function tableToExcel(tableid, sheetName) {
var uri = 'data:application/vnd.ms-excel;base64,';
var template = '
' +
'' +
'';
if (!tableid.nodeType) tableid = document.getElementById(tableid);
var ctx = {worksheet: sheetName || 'Worksheet', table: tableid.innerHTML};
var blobExel = self.baseExel(uri + base64(formatName(template, ctx))); //把base64位文件转化为exel文件
document.getElementById("btn_excel").href = URL.createObjectURL(blobExel);
document.getElementById("btn_excel").download = ctx.worksheet;
console.log(document.getElementById("btn_excel").href);
}
/*处理后端返回的base64位文件变成exel文件进行下载
* 不要直接把base64位的exel文件直接给a标签的href,
* 文件过大时base64位长度过长;chrome浏览器对a标签的href长度有限制;导致下载失败;
* 建议用以下方法处理成本地文件再下载
* */
function baseExel(base64) {
function getContentType(base64) {
return /data:([^;]*);/i.exec(base64)[1];
};
function getData(base64) {
return base64.substr(base64.indexOf("base64,") + 7, base64.length);
};
function b64toBlob(b64Data, contentType, sliceSize) {
contentType = contentType || '';
sliceSize = sliceSize || 512;
var byteCharacters = atob(b64Data);
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
var blob = new Blob(byteArrays, {type: contentType});
return blob;
};
return b64toBlob(getData(base64), getContentType(base64));
}
/**
* 获取jqgrid的所有数据
* @param tableId
* @returns {any[]}
*/
function getJQAllData(tableId) {
//拿到grid对象
var obj = $("#" + tableId);
//获取grid表中所有的rowid值
var rowIds = obj.getDataIDs();
//初始化一个数组arrayData容器,用来存放rowData
var arrayData = new Array();
if (rowIds.length > 0) {
for (var i = 0; i < rowIds.length; i++) {
arrayData.push(obj.getRowData(rowIds[i]));
}
}
return arrayData;
}
//base64转码
function base64(s) {
return window.btoa(unescape(encodeURIComponent(s)));
};
//替换table数据和worksheet名字
function formatName(s, c) {
return s.replace(/{(\w+)}/g,
function (m, p) {
return c[p];
});
};
/**
* ajax封装请求
* @param config
* @returns {Promise}
*/
function request(config) {
return new Promise(((resolve, reject) => {
$.ajax({
type: config.method,
url: url + config.url,
data: config.data,
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) {
resolve(res);
} else {
new PNotify({
title: '错误提示',
text: res.message,
type: 'error',
hide: true,
styling: 'bootstrap3'
});
reject(res)
}
},
error: err => {
new PNotify({
title: '错误提示',
text: err.responseText,
type: 'error',
hide: true,
styling: 'bootstrap3'
});
reject(err)
}
});
}))
}
/**
* 医保凭证接口
* @param config
* @returns {Promise}
*/
function readcardRequest(config) {
return new Promise(((resolve, reject) => {
$.ajax({
type: config.method,
url: readcardUrl,
data: config.data,
contentType: "application/json;charset=UTF-8",
dataType: "json",
headers: {'Accept': 'application/json'},
success: res => {
if (res == '401' || res == 401) {
window.location.href = '/thmz/login/view';
return;
}
if (res.code == 200) {
resolve(JSON.parse(res.data));
} else {
$("#showErrorModal").modal("show");
hideModelTimeout('showErrorModal',3000);
reject(res.message)
}
},
error: err => {
$("#showErrorModal").modal("show");
hideModelTimeout('showErrorModal',3000);
reject(err)
}
});
}))
}
/**
* 排序函数
* @param property
* @returns {function(*, *): number}
*/
function compare(property) {
return function (a,b) {
var va1 = a[property];
var va2 = b[property];
return va1 - va2
}
}
/**
* 根据对象属性删除对象数组内容
* @param array 对象数组
* @param abj 对象
* @param property 对象属性
* @returns {*}
*/
function removeObjArrayByProperty(array,abj,property) {
for (let j = 0; j < array.length; j++) {
if(abj != null && array[j][property] === abj[property]){
array.splice(j,1);
}
}
return array
}
/**
* 获取LocalStorage
* @param name
* @param nullReturn
*/
function getLocalStorage(name,nullReturn) {
let returnValue = nullReturn ? nullReturn:-1;
let data = window.localStorage[name];
if(data){
try {
return JSON.parse(data);
}catch (e) {
return data;
}
}
return returnValue;
}
/**
* 指定区域全屏显示
* @param divStr 指定元素ID
*/
function fullScreen(divStr) {
let fullarea = document.getElementById(divStr);
if (fullscreen) { // 退出全屏
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
} else { // 进入全屏
if (fullarea.requestFullscreen) {
fullarea.requestFullscreen();
} else if (fullarea.webkitRequestFullScreen) {
fullarea.webkitRequestFullScreen();
} else if (fullarea.mozRequestFullScreen) {
fullarea.mozRequestFullScreen();
} else if (fullarea.msRequestFullscreen) {
// IE11
fullarea.msRequestFullscreen();
}
}
fullscreen = !fullscreen;
}
/**
* 定时关闭模态框
* @param str 模态框id
* @param times 毫秒数
*/
function hideModelTimeout(str,times){
setTimeout(function () {
$("#"+str).modal("hide");
},times)
}
/**
* 定义serializeObject方法,序列化表单
*/
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
/**
* 获取药库药房名称
* @param groupNo 编码
*/
function getGroupName(groupNo) {
let groupName;
switch (groupNo){
case '11':
groupName='西药库';
break;
case '22':
groupName='中药库';
break;
case '50':
groupName='医材库';
break;
case '71':
groupName='门诊西药房';
break;
case '81':
groupName='门诊中药房';
break;
case '73':
groupName='住院药房';
break;
case '91':
groupName='医材药房';
break;
}
return groupName;
}
/**
* 获取药品类型(大类)
* @param groupNo 编码
*/
function getYpTypeName(ypType) {
let ypTypeName;
switch (ypType){
case '1':
ypTypeName='西药';
break;
case '2':
ypTypeName='成药';
break;
case '3':
ypTypeName='草药';
break;
default:
ypTypeName='卫生材料';
}
return ypTypeName;
}
//判断字符是否为空的方法
function isEmpty(obj) {
if (typeof obj === "undefined" || obj === null || obj === "") {
return true;
} else {
return false;
}
}
/**
* 根据编码获取性别
* @param code
* @returns {string}
*/
function getSex(code) {
var sex = '';
if (code == 1) {
sex = '男';
} else if (code == 2) {
sex = '女';
} else {
sex = '未知';
}
return sex
}
/**
* bootstrapTable修改列数据
* @param index
* @param field
* @param value
*/
function saveData(index, field, value,id) {
$('#'+id).bootstrapTable('updateCell', {
index: index, //行索引
field: field, //列名
value: value //cell值
})
}
//将checkbox未选中将设置为指定值并系列化
jQuery.fn.extend({
serializeWithCheckbox: function (uncheckedValue) {
return jQuery.param(this.serializeArrayWithCheckbox(uncheckedValue));
},
serializeArrayWithCheckbox: function (uncheckedValue) {
var
rCRLF = /\r?\n/g,
rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
rsubmittable = /^(?:input|select|textarea|keygen)/i,
rcheckableType = (/^(?:radio)$/i); //仅将radio设置为不发送未选中项
//未指定的转换为false
if (uncheckedValue == undefined)
uncheckedValue = 'false'
uncheckedValue = uncheckedValue + '';//转字符串
return this.map(function () {
// Can add propHook for "elements" to filter or add form elements
var elements = jQuery.prop(this, "elements");
return elements ? jQuery.makeArray(elements) : this;
})
.filter(function () {
var type = this.type;
// Use .is( ":disabled" ) so that fieldset[disabled] works
return this.name && !jQuery(this).is(":disabled") &&
rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) &&
(this.checked || !rcheckableType.test(type));
})
.map(function (_i, elem) {
var val = jQuery(this).val();
if (val == null) {
return null;
}
//将未勾选的checkbox值设置为指定值
if (this.type == 'checkbox' && this.checked == false)
val = uncheckedValue;
if (Array.isArray(val)) {
return jQuery.map(val, function (val) {
return { name: elem.name, value: val.replace(rCRLF, "\r\n") };
});
}
return { name: elem.name, value: val.replace(rCRLF, "\r\n") };
}).get();
}
});
/**
* 初始化日期时间范围选择
*/
function init_daterangepickertime() {
if (typeof ($.fn.daterangepicker) === 'undefined') {
return;
}
var optionSet1 = {
startDate: moment().subtract(1, 'days').format("YYYY-MM-DD 00:00:00"),
endDate: moment().subtract(1, 'days').format("YYYY-MM-DD 23:59:59"),
minDate: '2012-01-01',
maxDate: nowString() + ' 23:59:59',
/*dateLimit: {
days: 1200
},//起止时间的最大间隔*/
showDropdowns: true,
showWeekNumbers: true,
ranges: {
'今天': [moment(), moment()],
'昨天': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'最近7天': [moment().subtract(6, 'days'), moment()],
'最近30天': [moment().subtract(29, 'days'), moment()],
'当月': [moment().startOf('month'), moment().endOf('month')],
'上个月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
},
opens: 'right',
buttonClasses: ['btn btn-default'],
applyClass: 'btn-small btn-primary',
cancelClass: 'btn-small',
timePicker: true, //显示时间
timePicker24Hour: true, //时间制
timePickerSeconds: true, //时间显示到秒
timePickerIncrement: 1,
format: 'YYYY-MM-DD HH:mm:ss',
separator: ' to ',
locale: {
applyLabel: '确定',
cancelLabel: '取消',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: '自定义',
daysOfWeek: ['天', '一', '二', '三', '四', '五', '六'],
monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
firstDay: 1
}
};
$('#reportrange').daterangepicker(optionSet1, function (start, end, label) {
$('#reportrange span').html(start.format('YYYY-MM-DD HH:mm:ss') + ' - ' + end.format('YYYY-MM-DD HH:mm:ss'));
});
$('#reportrange span').html(moment().subtract(1, 'days').format("YYYY-MM-DD 00:00:00") + ' - ' + moment().subtract(1, 'days').format("YYYY-MM-DD 23:59:59"));
}
/**
* 获取时间选择器的时间数组
* @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 method
* @param delay
* @returns {Function}
*/
function debounce(cb, delay) {
let timer;
return function (...args) {
if (timer) {
clearTimeout(timer)
}
timer = setTimeout(() => {
cb.call(this, ...args)
}, delay)
}
}
/**
* 根据编码 查询药单名称
*/
function getPageName(pageClass) {
let ypTypeName;
switch (pageClass){
case '1':
ypTypeName='出院带药';
break;
case '2':
ypTypeName='毒麻药';
break;
case '3':
ypTypeName='基数药';
break;
case '4':
ypTypeName='大输液';
break;
case '5':
ypTypeName='长期口服';
break;
case '6':
ypTypeName='临时口服';
break;
case '7':
ypTypeName='统领单';
break;
case '8':
ypTypeName='门诊领药单';
break;
case 'A':
ypTypeName='医技科室领药';
break;
case 'Y':
ypTypeName='节余药品';
break;
case 'T':
ypTypeName='退药单';
break;
case 'HT':
ypTypeName='护士退药单';
break;
case 'S':
ypTypeName='手术室药单';
break;
case 'HT':
ypTypeName='护士退药单';
break;
case 'Z':
ypTypeName='草药处方';
break;
default:
ypTypeName=pageClass;
}
return ypTypeName;
}