app-xiangsonghua/app-saas-src/script/common.js

149 lines
3.9 KiB
JavaScript
Raw Normal View History

2024-12-26 17:00:06 +08:00
var CommonModel = {
getFomattedDate: {}, //格式化日期函数
toDouble: {}, //处理时间位数
isTimeInvalid: {}, //时间限制
avoidIOSMistakeTouch: {}, //避免ios滑动误触
}
CommonModel.getFomattedDate = function(date, format) {
var date = new Date(date);
if (!format) {
format = "yyyy-MM-dd hh:mm:ss";
}
var o = {
"M+": date.getMonth() + 1, //month
"d+": date.getDate(), //day
"h+": date.getHours(), //hour
"m+": date.getMinutes(), //minute
"s+": date.getSeconds(), //second
"q+": Math.floor((date.getMonth() + 3) / 3), //quarter
"S": date.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
}
CommonModel.toDouble = function(str) {
str = str.toString();
str = str.length == 1 ? ('0' + str) : str;
return str;
}
CommonModel.isTimeInvalid = function(startTime, endTime) {
startTime = new Date(startTime).getTime();
if (!endTime) { //判断传入的时间是否超过当前时间
var today = new Date().getTime();
if (startTime > today) {
return true;
}
} else { //判断传入的开始时间是否大于传入的结束时间
endTime = new Date(endTime).getTime();
if (startTime > endTime) {
return true;
}
}
}
//获取格式化日期和格式
//返回如 今天14:21 昨天01:12 2014-03-12
//依赖moment.js
CommonModel.formatDateTime = function(time) {
if (typeof(time) == 'number') {
time = new Date(time);
} else {
time = new Date(time.replace(/-/g, '/'));
}
var _then = moment([time.getFullYear(), time.getMonth(), time.getDate()]);
var now = new Date();
var _now = moment([now.getFullYear(), now.getMonth(), now.getDate()]);
var days = _now.diff(_then, "days");
var content = "";
if (days == 0) {
content = "今天 " + moment(time).format("HH:mm");
} else if (days == 1) {
content = "昨天 " + moment(time).format("HH:mm");
} else {
content = moment(time).format("YYYY-MM-DD");
}
return content;
}
//避免ios误触
function avoidIOSMistakeTouch() {
var isMove = false;
document.documentElement.addEventListener("touchstart", function() {
isMove = false;
})
document.documentElement.addEventListener("touchmove", function() {
isMove = true;
})
document.documentElement.addEventListener("touchend", function(e) {
if (isMove) {
e.stopPropagation()
return false;
}
}, true);
}
avoidIOSMistakeTouch();
CommonModel.fitInStatusBar = function() {
// 适配状态栏
var statusBarHeightDom = document.getElementById('statusBarHeight');
if (api.systemType == "android") {
var statusBar = api.require('statusBar');
var statusBarHeight = statusBar.getStatusBarHeight();
if (statusBarHeightDom) {
// statusBarHeightDom.style.height = statusBarHeight + 'px';
statusBarHeightDom.style.height = api.safeArea.top + 'px';
}
var heightHeaderDom = document.getElementById('heightHeader');
var allHeight = $api.cssVal($api.dom('header'), 'height');
if(heightHeaderDom) {
heightHeaderDom.style.height = allHeight;
}
} else {
statusBarHeightDom.style.height = '1.67rem';
}
}
/**
* 弹出提示框
*/
function toast(msg) {
api.toast({
msg: msg,
duration: 3000,
locaiton: 'top'
});
}
// 位置分类
var POSITIONCLASSIFY = [
'',
'高压侧',
'低压侧',
'变压器',
'直流屏',
'信号屏',
'其他'
];