Files
jshERP/erp_web/js/common/common.js
2020-08-02 18:27:30 +08:00

500 lines
13 KiB
Java
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//baidu-tongji
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?1cd9bcbaae133f03a6eb19da6579aaba";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
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;
};
/**
* 扩展datagrid的editors方法支持combogrid
*/
if($.fn.datagrid) {
$.extend($.fn.datagrid.defaults.editors, {
combogrid: {
init: function (container, options) {
var input = $('<input type="text" style="height: 22px;" class="datagrid-editable-input">').appendTo(container);
input.combogrid(options);
return input;
},
destroy: function (target) {
$(target).combogrid('destroy');
},
getValue: function (target) {
return $(target).combogrid('getValue');
},
setValue: function (target, value) {
$(target).combogrid('setValue', value);
},
resize: function (target, width) {
$(target).combogrid('resize', width);
}
}
});
}
$(function() {
domresize();
});
//========================页面高度自动调节================================
var heightInfo;
var widthInfo;
var initPageSize;
var initPageNum;
var webH;
var webW;
//改变表格宽高
function domresize()
{
webH = document.documentElement.clientHeight;
webW = document.documentElement.offsetWidth;
widthInfo = $("body").outerWidth() -27;
var mtopH = $(".box-body").outerHeight();
heightInfo = webH - mtopH - 86;
//分页信息修改成 15条
if(heightInfo > 550)
{
initPageSize = 15;
initPageNum = [15,30,50];
}
else
{
initPageSize = 10;
initPageNum = [10,20,30,50];
}
}
function dgResize() {
var searchTabHeight = $('.box-body').height();
if($('#tableData').length) {
$('#tableData').datagrid('resize', {
width: $(window).width() - 6,
height: $(window).height() - searchTabHeight -43
});
}
}
$(window).resize(function () {
dgResize();
});
//========================页面高度自动调节================================
//判断浏览器的类型
function getOs()
{
if(navigator.userAgent.indexOf("MSIE")>0)
{
return "MSIE";
}
else if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
{
return "Firefox";
}
else if(isSafari=navigator.userAgent.indexOf("Safari")>0)
{
return "Safari";
}
else if(isCamino=navigator.userAgent.indexOf("Camino")>0)
{
return "Camino";
}
else if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0)
{
return "Gecko";
}
}
/**
* 获取公司信息
*/
function getSystemConfig() {
var info = null;
$.ajax({
type:"get",
url: "/systemConfig/list",
dataType: "json",
data: ({
currentPage: 1,
pageSize: 100
}),
async: false, //设置为同步
success: function (res) {
if (res && res.code === 200) {
if(res.data && res.data.page) {
var array = res.data.page.rows;
if(array.length > 0) {
info = array[0];
}
}
}
},
//此处添加错误处理
error:function() {
$.messager.alert('查询失败','查询系统配置信息异常,请稍后再试!','error');
return;
}
});
return info;
}
//初始化系统基础信息
function getSystemDepot(){
var depotList = null;
$.ajax({
type:"get",
url: "/depot/getAllList",
async:false, //设置为同步
dataType: "json",
success: function (res) {
if(res && res.code === 200) {
depotList = res.data;
} else {
$.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error');
return;
}
}
});
return depotList;
}
/**
* js生成唯一ID值 32位值随机值
* @returns 生成的字符串
*/
function uuid()
{
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++)
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "";
return s.join("");
}
/**
* js获取浏览器的地址参数
* @param name 地址参数
* @return
*/
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
/**
* 获取按钮的权限
*/
function getBtnStr() {
var funId = window.parent.window.funId; //功能id
var btnStrList = window.parent.window.winBtnStrList; //按钮功能列表 JSON字符串
var btnEnableList =""; //按钮列表
if(funId && btnStrList) {
btnStrList = JSON.parse(btnStrList);
for(var i=0; i<btnStrList.length; i++){
if(btnStrList[i].funId ==funId){
if(btnStrList[i].btnStr) {
btnEnableList = btnEnableList + btnStrList[i].btnStr + ",";
}
}
}
if(btnEnableList) {
btnEnableList = btnEnableList.substring(0,btnEnableList.length-1);
}
}
return btnEnableList;
}
/**
* js获取当前时间 格式“yyyy-MM-dd HH:MM:SS”
*/
function getNowFormatDateTime() {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
var strHours = date.getHours();
var strMinutes = date.getMinutes();
var strSeconds = date.getSeconds();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (strHours >= 0 && strHours <= 9) {
strHours = "0" + strHours;
}
if (strMinutes >= 0 && strMinutes <= 9) {
strMinutes = "0" + strMinutes;
}
if (strSeconds >= 0 && strSeconds <= 9) {
strSeconds = "0" + strSeconds;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + strHours + seperator2 + strMinutes
+ seperator2 + strSeconds;
return currentdate;
}
/**
* js获取当前时间 格式“yyyy-MM”
*/
function getNowFormatMonth() {
var date = new Date();
var seperator1 = "-";
var month = date.getMonth() + 1;
if (month >= 1 && month <= 9) {
month = "0" + month;
}
var currentdate = date.getFullYear() + seperator1 + month;
return currentdate;
}
/**
* js获取当前时间 格式“yyyy-MM-dd”
*/
function getNowFormatDate() {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate;
return currentdate;
}
/**
* js获取当前时间 格式“yyyyMMdd”
*/
function getNowFormatDateTwo() {
var date = new Date();
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + month.toString() + strDate.toString();
return currentdate;
}
/**
* js根据时间生成编号 格式“yyyyMMddHHMMSS”
*/
function getNowFormatDateNum() {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
var strHours = date.getHours();
var strMinutes = date.getMinutes();
var strSeconds = date.getSeconds();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
if (strHours >= 0 && strHours <= 9) {
strHours = "0" + strHours;
}
if (strMinutes >= 0 && strMinutes <= 9) {
strMinutes = "0" + strMinutes;
}
if (strSeconds >= 0 && strSeconds <= 9) {
strSeconds = "0" + strSeconds;
}
var currentdate = date.getFullYear() + month.toString() + strDate.toString() + strHours
+ strMinutes + strSeconds;
return currentdate;
}
function encode(name){
return encodeURI(encodeURI(name));
}
/**
* 将数组单个金额中的数值转为正数
* @param arr
* @returns {Array}
*/
function changeListFmtPlus(arr) {
var newArr = new Array();
for(var i=0; i<arr.length; i++) {
if(arr[i] < 0){
newArr.push((0 - arr[i]).toString());
}
else {
newArr.push((arr[i]-0).toString());
}
}
return newArr;
}
/**
* 将数组单个金额中的数值转为负数
* @param arr
* @returns {Array}
*/
function changeListFmtMinus(arr) {
var newArr = new Array();
for(var i=0; i<arr.length; i++) {
if(arr[i] < 0){
newArr.push((arr[i]-0).toString());
}
else {
newArr.push((0 - arr[i]).toString());
}
}
return newArr;
}
/**
* 验证单据
* @param id
*/
function validateForm(id) {
if(!$('#'+ id).form('validate')) {
return true;
} else {
return false;
}
}
function turnBillDetailPage(number, type) {
js.addTabPage(null, "单据明细", "/pages/materials/bill_detail.html?n="+ number + "&type=" + type);
}
/**
* 验证手机号码
* @param phoneInput
* @returns {boolean}
*/
function isPhoneAvailable(phoneInput) {
var myreg=/^[1][3,4,5,7,8,9][0-9]{9}$/;
if (!myreg.test(phoneInput.val())) {
return false;
} else {
return true;
}
}
/**
* 检查当前用户是否是管理员
*/
function checkPower() {
var res = false;
var loginName = sessionStorage.getItem("loginName");
if(loginName == "admin") {
$.messager.alert('提示','管理员不能增加表单数据!','warning');
res = true;
} else {
res = false;
}
return res;
}
/**
* 检查当前用户是否是管理员-用户模块
*/
function checkPowerForUser() {
var res = false;
var loginName = sessionStorage.getItem("loginName");
if(loginName == "admin") {
$.messager.alert('提示本系统为多租户SAAS系统','请先到<a target="_parent" href="/register.html">注册页面</a>' +
'进行租户注册,<br/>然后使用租户账号登录系统,<br/>最后通过租户去创建用户!','warning');
res = true;
} else {
res = false;
}
return res;
}
/**
* 判断一个值是否数字
* @param value
* @returns {boolean}
*/
function myIsNaN(value) {
return typeof value === 'number' && !isNaN(value);
}
/**
* 敲回车键自动跳转到下一个文本框
* @param inputDom
*/
function autoJumpNextInput(inputDom, appendDom) {
inputDom.on("keydown","input:text:visible",function(e){
//响应回车键按下的处理
var e = event || window.event || arguments.callee.caller.arguments[0];
//捕捉是否按键为回车键可百度JS键盘事件了解更多
if(e && e.keyCode==13) {
//捕捉inputDom下的文本输入框的个数
var inputs = inputDom.find("input:text:visible");
//console.log(inputs.length);
var idx = inputs.index(this);                         // 获取当前焦点输入框所处的位置
if (idx == inputs.length - 1) {                       // 判断是否是最后一个输入框
var curKey = e.which;
if (curKey == 13) {
appendDom.click(); //新增行
}
} else {
inputs[idx + 1].focus(); // 设置焦点
inputs[idx + 1].select(); // 选中文字
}
}
});
}
// 格式化日期如月、日、时、分、秒保证为2位数
function formatNumber (n) {
n = n.toString();
return n[1] ? n : '0' + n;
}
// 参数number为毫秒时间戳format为需要转换成的日期格式
function formatTime(number, format) {
if(number) {
var time = new Date(number);
var newArr = [];
var formatArr = ['Y', 'M', 'D', 'h', 'm', 's'];
newArr.push(time.getFullYear());
newArr.push(formatNumber(time.getMonth() + 1));
newArr.push(formatNumber(time.getDate()));
newArr.push(formatNumber(time.getHours()));
newArr.push(formatNumber(time.getMinutes()));
newArr.push(formatNumber(time.getSeconds()));
for (var i in newArr) {
format = format.replace(formatArr[i], newArr[i]);
}
return format;
}
}