all
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
export default new Vue;
|
||||
@@ -0,0 +1,11 @@
|
||||
(function() {
|
||||
var u = navigator.userAgent,
|
||||
w = window.innerWidth;
|
||||
if (!u.match(/AppleWebKit.*Mobile.*/) || u.indexOf('iPad') > -1) {
|
||||
var sw = w * 576 / 1920;
|
||||
window.innerWidth = sw < 375 ? 375 : sw;
|
||||
window.onload = function() {
|
||||
window.innerWidth = w;
|
||||
}
|
||||
}
|
||||
})();
|
||||
+432
@@ -0,0 +1,432 @@
|
||||
export default {
|
||||
/**
|
||||
* 计算两地距离
|
||||
* @param {起始纬度} lat1
|
||||
* @param {起始经度} lng1
|
||||
* @param {结束纬度} lat2
|
||||
* @param {结束经度} lng2
|
||||
*/
|
||||
distance(lat1, lng1, lat2, lng2) {
|
||||
console.log(lat1,lng1,lat2,lng2,'2345678');
|
||||
var radLat1 = lat1 * Math.PI / 180.0;
|
||||
var radLat2 = lat2 * Math.PI / 180.0;
|
||||
var a = radLat1 - radLat2;
|
||||
var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
|
||||
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
|
||||
s = s * 6378.137;
|
||||
s = Math.round(s * 10000) / 10000;
|
||||
return s
|
||||
},
|
||||
geTel(tel){
|
||||
let reg = /^(\d{3})\d{4}(\d{4})$/;
|
||||
return tel.replace(reg, "$1****$2");
|
||||
},
|
||||
//得到日期显示
|
||||
getFormatDate(ta='/') {
|
||||
let date = new Date();
|
||||
let y = date.getFullYear();
|
||||
let MM = date.getMonth() + 1;
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
let d = date.getDate();
|
||||
d = d < 10 ? ('0' + d) : d;
|
||||
let h = date.getHours();
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
let m = date.getMinutes();
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
let s = date.getSeconds();
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return y + ta + MM + ta + d + ' ' + h + ':' + m + ':' + s; //+ ' ' + h + ':' + m + ':' + s
|
||||
},
|
||||
getFormatDateNum(e) {
|
||||
let date = new Date();
|
||||
let y = date.getFullYear();
|
||||
let MM = date.getMonth() + 1;
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
let d = date.getDate();
|
||||
d = d < 10 ? ('0' + d) : d;
|
||||
let h = date.getHours();
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
let m = date.getMinutes();
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
let s = date.getSeconds();
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return y + '/' + MM + '/' + d + ' ' + e + ':' + '00' + ':' + '00'; //+ ' ' + h + ':' + m + ':' + s
|
||||
},
|
||||
//得到日期显示
|
||||
getFormatMD() {
|
||||
let date = new Date();
|
||||
let y = date.getFullYear();
|
||||
let MM = date.getMonth() + 1;
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
let d = date.getDate();
|
||||
d = d < 10 ? ('0' + d) : d;
|
||||
let h = date.getHours();
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
let m = date.getMinutes();
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
let s = date.getSeconds();
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return MM + '月' + d + '日';
|
||||
},
|
||||
|
||||
//日期显示
|
||||
formatDate(value) {
|
||||
let date = new Date(parseInt(value) * 1000);
|
||||
let y = date.getFullYear();
|
||||
let MM = date.getMonth() + 1;
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
let d = date.getDate();
|
||||
d = d < 10 ? ('0' + d) : d;
|
||||
let h = date.getHours();
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
let m = date.getMinutes();
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
let s = date.getSeconds();
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
//年月日
|
||||
formatDateYmd(value) {
|
||||
let date = new Date(parseInt(value) * 1000);
|
||||
let y = date.getFullYear();
|
||||
let MM = date.getMonth() + 1;
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
let d = date.getDate();
|
||||
d = d < 10 ? ('0' + d) : d;
|
||||
let h = date.getHours();
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
let m = date.getMinutes();
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
let s = date.getSeconds();
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return y + '-' + MM + '-' + d;
|
||||
},
|
||||
//月日
|
||||
formatDateYm(value) {
|
||||
let date = new Date(parseInt(value) * 1000);
|
||||
let y = date.getFullYear();
|
||||
let MM = date.getMonth() + 1;
|
||||
MM = MM < 10 ? ('0' + MM) : MM;
|
||||
let d = date.getDate();
|
||||
d = d < 10 ? ('0' + d) : d;
|
||||
let h = date.getHours();
|
||||
h = h < 10 ? ('0' + h) : h;
|
||||
let m = date.getMinutes();
|
||||
m = m < 10 ? ('0' + m) : m;
|
||||
let s = date.getSeconds();
|
||||
s = s < 10 ? ('0' + s) : s;
|
||||
return MM + '.' + d + ' ' + h + ':' + m;
|
||||
},
|
||||
toTime(value){
|
||||
var timestamp = new Date(value).getTime();
|
||||
|
||||
return timestamp/1000;
|
||||
},
|
||||
time2string(second){
|
||||
var day = Math.floor(second/(3600*24));
|
||||
second = second%(3600*24); //除去整天之后剩余的时间
|
||||
var hour = Math.floor(second/3600);
|
||||
second = second%3600; //除去整小时之后剩余的时间
|
||||
var minute = Math.floor(second/60);
|
||||
second = second%60; //除去整分钟之后剩余的时间
|
||||
//返回字符串
|
||||
//return day + '天' + hour + '小时' + minute + '分' + second + '秒';
|
||||
return {hour,minute,second}
|
||||
},
|
||||
/*日期工具*/
|
||||
dateUtils: {
|
||||
UNITS: {
|
||||
'年': 31557600000,
|
||||
'月': 2629800000,
|
||||
'天': 86400000,
|
||||
'小时': 3600000,
|
||||
'分钟': 60000,
|
||||
'秒': 1000
|
||||
},
|
||||
humanize: function(milliseconds) {
|
||||
var humanize = '';
|
||||
for (var key in this.UNITS) {
|
||||
if (milliseconds >= this.UNITS[key]) {
|
||||
humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
|
||||
break;
|
||||
}
|
||||
}
|
||||
return humanize || '刚刚';
|
||||
},
|
||||
format: function(dateStr) {
|
||||
var date = this.parse(dateStr)
|
||||
var diff = Date.now() - date.getTime();
|
||||
if (diff < this.UNITS['天']) {
|
||||
return this.humanize(diff);
|
||||
}
|
||||
var _format = function(number) {
|
||||
return (number < 10 ? ('0' + number) : number);
|
||||
};
|
||||
return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDay()) + '-' +
|
||||
_format(date.getHours()) + ':' + _format(date.getMinutes());
|
||||
},
|
||||
parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
|
||||
var a = str.split(/[^0-9]/);
|
||||
return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
|
||||
}
|
||||
},
|
||||
friendlyDate(timestamp) {
|
||||
var formats = {
|
||||
'year': '%n% 年前',
|
||||
'month': '%n% 月前',
|
||||
'day': '%n% 天前',
|
||||
'hour': '%n% 小时前',
|
||||
'minute': '%n% 分钟前',
|
||||
'second': '%n% 秒前',
|
||||
};
|
||||
|
||||
var now = Date.now();
|
||||
var seconds = Math.floor((now - timestamp) / 1000);
|
||||
var minutes = Math.floor(seconds / 60);
|
||||
var hours = Math.floor(minutes / 60);
|
||||
var days = Math.floor(hours / 24);
|
||||
var months = Math.floor(days / 30);
|
||||
var years = Math.floor(months / 12);
|
||||
|
||||
var diffType = '';
|
||||
var diffValue = 0;
|
||||
if (years > 0) {
|
||||
diffType = 'year';
|
||||
diffValue = years;
|
||||
} else {
|
||||
if (months > 0) {
|
||||
diffType = 'month';
|
||||
diffValue = months;
|
||||
} else {
|
||||
if (days > 0) {
|
||||
diffType = 'day';
|
||||
diffValue = days;
|
||||
} else {
|
||||
if (hours > 0) {
|
||||
diffType = 'hour';
|
||||
diffValue = hours;
|
||||
} else {
|
||||
if (minutes > 0) {
|
||||
diffType = 'minute';
|
||||
diffValue = minutes;
|
||||
} else {
|
||||
diffType = 'second';
|
||||
diffValue = seconds === 0 ? (seconds = 1) : seconds;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return formats[diffType].replace('%n%', diffValue);
|
||||
},
|
||||
//时间显示
|
||||
formatTime(time) {
|
||||
if (typeof time !== 'number' || time < 0) {
|
||||
return time
|
||||
}
|
||||
|
||||
var hour = parseInt(time / 3600)
|
||||
time = time % 3600
|
||||
var minute = parseInt(time / 60)
|
||||
time = time % 60
|
||||
var second = time
|
||||
|
||||
return ([hour, minute, second]).map(function(n) {
|
||||
n = n.toString()
|
||||
return n[1] ? n : '0' + n
|
||||
}).join(':')
|
||||
},
|
||||
//经纬度
|
||||
formatLocation(longitude, latitude) {
|
||||
if (typeof longitude === 'string' && typeof latitude === 'string') {
|
||||
longitude = parseFloat(longitude)
|
||||
latitude = parseFloat(latitude)
|
||||
}
|
||||
|
||||
longitude = longitude.toFixed(2)
|
||||
latitude = latitude.toFixed(2)
|
||||
|
||||
return {
|
||||
longitude: longitude.toString().split('.'),
|
||||
latitude: latitude.toString().split('.')
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 将cityNo 转 cityName
|
||||
* cityData:原数据
|
||||
* cityNo:二级地区编码
|
||||
*/
|
||||
getCityName(cityData, cityNo) {
|
||||
if (!cityNo) return;
|
||||
if (!(cityData instanceof Array)) return;
|
||||
// 9112
|
||||
cityNo += "";
|
||||
for (let i = 0; i < cityData.length; i++) {
|
||||
let sheng = cityData[i];
|
||||
for (let j = 0; j < sheng.children.length; j++) {
|
||||
let shi = sheng.children[j];
|
||||
if (shi.value == cityNo) {
|
||||
// 使用return 终止循环
|
||||
return `${sheng.label}-${shi.label}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
removeTime(dateStr) {
|
||||
const date = new Date(dateStr);
|
||||
return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
|
||||
},
|
||||
/*
|
||||
* obj 转 params字符串参数
|
||||
* 例子:{a:1,b:2} => a=1&b=2
|
||||
*/
|
||||
objParseParam(obj) {
|
||||
let paramsStr = "";
|
||||
if (obj instanceof Array) return paramsStr;
|
||||
if (!(obj instanceof Object)) return paramsStr;
|
||||
for (let key in obj) {
|
||||
paramsStr += `${key}=${obj[key]}&`;
|
||||
}
|
||||
return paramsStr.substring(0, paramsStr.length - 1);
|
||||
},
|
||||
/*
|
||||
* obj 转 路由地址带参数
|
||||
* 例子:{a:1,b:2} => /pages/index/index?a=1&b=2
|
||||
*/
|
||||
objParseUrlAndParam(path, obj) {
|
||||
let url = path || "/";
|
||||
let paramsStr = "";
|
||||
if (obj instanceof Array) return url;
|
||||
if (!(obj instanceof Object)) return url;
|
||||
paramsStr = this.objParseParam(obj);
|
||||
paramsStr && (url += "?");
|
||||
url += paramsStr;
|
||||
return url;
|
||||
},
|
||||
/*
|
||||
* 获取url字符串参数
|
||||
*/
|
||||
getRequestParameters(locationhref) {
|
||||
let href = locationhref || "";
|
||||
let theRequest = new Object();
|
||||
let str = href.split("?")[1];
|
||||
if (str != undefined) {
|
||||
let strs = str.split("&");
|
||||
for (let i = 0; i < strs.length; i++) {
|
||||
theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
|
||||
}
|
||||
}
|
||||
return theRequest;
|
||||
},
|
||||
/*
|
||||
* 银行卡每四位空格
|
||||
*/
|
||||
formatCardNo(cardNo) {
|
||||
cardNo += "";
|
||||
return cardNo.replace(/\s/g, '').replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, '$1 ');
|
||||
},
|
||||
/**
|
||||
* 乘法,解决js精度损失问题
|
||||
* @param {*} arg1
|
||||
* @param {*} arg2
|
||||
*/
|
||||
accMul(arg1, arg2) {
|
||||
arg1 = arg1 || 0;
|
||||
var m = 0,
|
||||
s1 = arg1.toString(),
|
||||
s2 = arg2.toString();
|
||||
try {
|
||||
m += s1.split(".")[1].length
|
||||
} catch (e) {}
|
||||
try {
|
||||
m += s2.split(".")[1].length
|
||||
} catch (e) {}
|
||||
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
|
||||
},
|
||||
//数字补齐2位
|
||||
forMatNum(num) {
|
||||
return num < 10 ? '0' + num : num + '';
|
||||
},
|
||||
//日期
|
||||
initDays(year, month) {
|
||||
let totalDays = new Date(year, month, 0).getDate();
|
||||
let dates = [];
|
||||
for (let d = 1; d <= totalDays; d++) {
|
||||
dates.push(forMatNum(d));
|
||||
};
|
||||
return dates;
|
||||
},
|
||||
//日期
|
||||
initPicker(start, end, mode = "date", step = 1) {
|
||||
let initstartDate = new Date(start);
|
||||
let endDate = new Date(end);
|
||||
let startYear = initstartDate.getFullYear();
|
||||
let startMonth = initstartDate.getMonth();
|
||||
let endYear = endDate.getFullYear();
|
||||
let years = [],
|
||||
months = [],
|
||||
days = [],
|
||||
hours = [],
|
||||
minutes = [];
|
||||
let totalDays = new Date(startYear, startMonth, 0).getDate();
|
||||
for (let s = startYear; s <= endYear; s++) {
|
||||
years.push(s + '');
|
||||
};
|
||||
for (let m = 1; m <= 12; m++) {
|
||||
months.push(forMatNum(m));
|
||||
};
|
||||
for (let d = 1; d <= totalDays; d++) {
|
||||
days.push(forMatNum(d));
|
||||
}
|
||||
for (let h = 0; h < 24; h++) {
|
||||
hours.push(forMatNum(h));
|
||||
}
|
||||
for (let m = 0; m < 60; m += step) {
|
||||
minutes.push(forMatNum(m));
|
||||
}
|
||||
switch (mode) {
|
||||
case "date":
|
||||
return {
|
||||
years,
|
||||
months,
|
||||
days
|
||||
}
|
||||
break;
|
||||
case "yearMonth":
|
||||
return {
|
||||
years,
|
||||
months
|
||||
}
|
||||
break;
|
||||
case "dateTime":
|
||||
return {
|
||||
years,
|
||||
months,
|
||||
days,
|
||||
hours,
|
||||
minutes
|
||||
}
|
||||
break;
|
||||
case "time":
|
||||
return {
|
||||
hours,
|
||||
minutes
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
// 深拷贝
|
||||
deepClone(obj){
|
||||
let objClone = Array.isArray(obj) ? [] : {};
|
||||
if (obj && typeof obj === 'object') {
|
||||
for(let key in obj){
|
||||
if (obj[key] && typeof obj[key] === 'object'){
|
||||
objClone[key] = this.deepClone(obj[key]);
|
||||
}else{
|
||||
objClone[key] = obj[key]
|
||||
}
|
||||
}
|
||||
}
|
||||
return objClone;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user