|
|
@ -1,17 +1,100 @@ |
|
|
var SIGN_REGEXP = /([yMdhsmH])(\1*)/g |
|
|
var SIGN_REGEXP = /([yMdhsmH])(\1*)/g |
|
|
var DEFAULT_PATTERN = 'yyyy-MM-dd' |
|
|
var DEFAULT_PATTERN = 'yyyy-MM-dd' |
|
|
|
|
|
|
|
|
function padding(s, len) { |
|
|
function padding(s, len) { |
|
|
var len = len - (s + '').length |
|
|
var len = len - (s + '').length |
|
|
for (var i = 0; i < len; i++) { s = '0' + s } |
|
|
|
|
|
|
|
|
for (var i = 0; i < len; i++) { |
|
|
|
|
|
s = '0' + s |
|
|
|
|
|
} |
|
|
return s |
|
|
return s |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
|
|
|
|
|
|
|
|
|
getPositionTop(node) { |
|
|
|
|
|
var top = node.offsetTop; |
|
|
|
|
|
var parent = node.offsetParent; |
|
|
|
|
|
while(parent != null) { |
|
|
|
|
|
top += parent.offsetTop; |
|
|
|
|
|
parent = parent.offsetParent; |
|
|
|
|
|
} |
|
|
|
|
|
return top; |
|
|
|
|
|
}, |
|
|
|
|
|
/** |
|
|
|
|
|
* 获取时间的前后几分钟 |
|
|
|
|
|
* @param {starTime,endTime} string yyyy-MM-dd HH:ss string yyyy-MM-dd HH:ss |
|
|
|
|
|
* @return {formatdate} string |
|
|
|
|
|
*/ |
|
|
|
|
|
timeDifference(starTime, endTime) { |
|
|
|
|
|
//转成时间戳
|
|
|
|
|
|
if (starTime) { |
|
|
|
|
|
let starDate = new Date(starTime), |
|
|
|
|
|
endDate = new Date(endTime) |
|
|
|
|
|
let starStamps = starDate.getTime(), |
|
|
|
|
|
endStamps = endDate.getTime(), |
|
|
|
|
|
betweenStamps = '' |
|
|
|
|
|
betweenStamps = Math.abs((parseInt(endStamps - starStamps))) |
|
|
|
|
|
|
|
|
|
|
|
let minute = parseInt(betweenStamps / 60000) //取分钟
|
|
|
|
|
|
return minute |
|
|
|
|
|
} else { |
|
|
|
|
|
console.log('时间空') |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
/** |
|
|
|
|
|
* 获取时间的前后几分钟 |
|
|
|
|
|
* @param {dateTime,type,minuteNum} string yyyy-MM-dd HH:mm:ss string number |
|
|
|
|
|
* @return {formatdate} string |
|
|
|
|
|
*/ |
|
|
|
|
|
getAboutTime(dateTime, minuteNum) { |
|
|
|
|
|
let string = dateTime.replace(/-/g, "/"), |
|
|
|
|
|
date = new Date(string), |
|
|
|
|
|
timeStamps = '', |
|
|
|
|
|
dateObj = '', |
|
|
|
|
|
hour = '', |
|
|
|
|
|
minute = '', |
|
|
|
|
|
formatdate = '' |
|
|
|
|
|
timeStamps = date.setTime(date.getTime() - parseInt(minuteNum) * 60000) |
|
|
|
|
|
dateObj = new Date(timeStamps) |
|
|
|
|
|
|
|
|
|
|
|
hour = dateObj.getHours() |
|
|
|
|
|
if (hour < 10) { |
|
|
|
|
|
hour = '0' + hour |
|
|
|
|
|
} |
|
|
|
|
|
minute = dateObj.getMinutes() |
|
|
|
|
|
if (minute < 10) { |
|
|
|
|
|
minute = '0' + minute |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
formatdate = hour + ":" + minute //设置时间格式
|
|
|
|
|
|
return formatdate |
|
|
|
|
|
}, |
|
|
|
|
|
//时间2020-09-30
|
|
|
|
|
|
getDate() { |
|
|
|
|
|
var date = new Date() |
|
|
|
|
|
var myyear = date.getFullYear(); |
|
|
|
|
|
var mymonth = date.getMonth() + 1; |
|
|
|
|
|
var myweekday = date.getDate(); |
|
|
|
|
|
if (mymonth < 10) { |
|
|
|
|
|
mymonth = "0" + mymonth; |
|
|
|
|
|
} |
|
|
|
|
|
if (myweekday < 10) { |
|
|
|
|
|
myweekday = "0" + myweekday; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return (myyear + "-" + mymonth + "-" + myweekday); |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
getQueryStringByName: function(name) { |
|
|
getQueryStringByName: function(name) { |
|
|
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i') |
|
|
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i') |
|
|
var r = window.location.search.substr(1).match(reg) |
|
|
var r = window.location.search.substr(1).match(reg) |
|
|
var context = '' |
|
|
var context = '' |
|
|
if (r != null) { context = r[2] } |
|
|
|
|
|
|
|
|
if (r != null) { |
|
|
|
|
|
context = r[2] |
|
|
|
|
|
} |
|
|
reg = null |
|
|
reg = null |
|
|
r = null |
|
|
r = null |
|
|
return context == null || context == '' || context == 'undefined' ? '' : context |
|
|
return context == null || context == '' || context == 'undefined' ? '' : context |
|
|
@ -20,7 +103,8 @@ export default { |
|
|
fmoney(s, n) { |
|
|
fmoney(s, n) { |
|
|
n = n > 0 && n <= 20 ? n : 2; |
|
|
n = n > 0 && n <= 20 ? n : 2; |
|
|
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; |
|
|
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; |
|
|
var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1]; |
|
|
|
|
|
|
|
|
var l = s.split(".")[0].split("").reverse(), |
|
|
|
|
|
r = s.split(".")[1]; |
|
|
var t = ""; |
|
|
var t = ""; |
|
|
for (let i = 0; i < l.length; i++) { |
|
|
for (let i = 0; i < l.length; i++) { |
|
|
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); |
|
|
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); |
|
|
@ -56,14 +140,22 @@ export default { |
|
|
pattern = pattern || DEFAULT_PATTERN |
|
|
pattern = pattern || DEFAULT_PATTERN |
|
|
return pattern.replace(SIGN_REGEXP, function($0) { |
|
|
return pattern.replace(SIGN_REGEXP, function($0) { |
|
|
switch ($0.charAt(0)) { |
|
|
switch ($0.charAt(0)) { |
|
|
case 'y': return padding(date.getFullYear(), $0.length) |
|
|
|
|
|
case 'M': return padding(date.getMonth() + 1, $0.length) |
|
|
|
|
|
case 'd': return padding(date.getDate(), $0.length) |
|
|
|
|
|
case 'w': return date.getDay() + 1 |
|
|
|
|
|
case 'h': return padding(date.getHours(), $0.length) |
|
|
|
|
|
case 'H': return padding(date.getHours(), $0.length) |
|
|
|
|
|
case 'm': return padding(date.getMinutes(), $0.length) |
|
|
|
|
|
case 's': return padding(date.getSeconds(), $0.length) |
|
|
|
|
|
|
|
|
case 'y': |
|
|
|
|
|
return padding(date.getFullYear(), $0.length) |
|
|
|
|
|
case 'M': |
|
|
|
|
|
return padding(date.getMonth() + 1, $0.length) |
|
|
|
|
|
case 'd': |
|
|
|
|
|
return padding(date.getDate(), $0.length) |
|
|
|
|
|
case 'w': |
|
|
|
|
|
return date.getDay() + 1 |
|
|
|
|
|
case 'h': |
|
|
|
|
|
return padding(date.getHours(), $0.length) |
|
|
|
|
|
case 'H': |
|
|
|
|
|
return padding(date.getHours(), $0.length) |
|
|
|
|
|
case 'm': |
|
|
|
|
|
return padding(date.getMinutes(), $0.length) |
|
|
|
|
|
case 's': |
|
|
|
|
|
return padding(date.getSeconds(), $0.length) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
@ -76,12 +168,24 @@ export default { |
|
|
var _int = parseInt(matchs2[i]) |
|
|
var _int = parseInt(matchs2[i]) |
|
|
var sign = matchs1[i] |
|
|
var sign = matchs1[i] |
|
|
switch (sign.charAt(0)) { |
|
|
switch (sign.charAt(0)) { |
|
|
case 'y': _date.setFullYear(_int); break |
|
|
|
|
|
case 'M': _date.setMonth(_int - 1); break |
|
|
|
|
|
case 'd': _date.setDate(_int); break |
|
|
|
|
|
case 'h': _date.setHours(_int); break |
|
|
|
|
|
case 'm': _date.setMinutes(_int); break |
|
|
|
|
|
case 's': _date.setSeconds(_int); break |
|
|
|
|
|
|
|
|
case 'y': |
|
|
|
|
|
_date.setFullYear(_int); |
|
|
|
|
|
break |
|
|
|
|
|
case 'M': |
|
|
|
|
|
_date.setMonth(_int - 1); |
|
|
|
|
|
break |
|
|
|
|
|
case 'd': |
|
|
|
|
|
_date.setDate(_int); |
|
|
|
|
|
break |
|
|
|
|
|
case 'h': |
|
|
|
|
|
_date.setHours(_int); |
|
|
|
|
|
break |
|
|
|
|
|
case 'm': |
|
|
|
|
|
_date.setMinutes(_int); |
|
|
|
|
|
break |
|
|
|
|
|
case 's': |
|
|
|
|
|
_date.setSeconds(_int); |
|
|
|
|
|
break |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
return _date |
|
|
return _date |
|
|
@ -163,10 +267,11 @@ export default { |
|
|
picker.$emit('pick', date); |
|
|
picker.$emit('pick', date); |
|
|
} |
|
|
} |
|
|
}] |
|
|
}] |
|
|
return {shortcuts:shortcuts}; |
|
|
|
|
|
|
|
|
return { |
|
|
|
|
|
shortcuts: shortcuts |
|
|
|
|
|
}; |
|
|
} else { |
|
|
} else { |
|
|
var shortcuts= [ |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
var shortcuts = [{ |
|
|
text: "前一周", |
|
|
text: "前一周", |
|
|
onClick(picker) { |
|
|
onClick(picker) { |
|
|
const end = new Date(); |
|
|
const end = new Date(); |
|
|
@ -185,29 +290,29 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
text: "前一个月", |
|
|
|
|
|
|
|
|
text: "前三周", |
|
|
onClick(picker) { |
|
|
onClick(picker) { |
|
|
const end = new Date(); |
|
|
const end = new Date(); |
|
|
const start = new Date(); |
|
|
const start = new Date(); |
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
|
|
|
|
|
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7 * 3); |
|
|
picker.$emit("pick", [start, end]); |
|
|
picker.$emit("pick", [start, end]); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
text: "前三个月", |
|
|
|
|
|
|
|
|
text: "前一个月", |
|
|
onClick(picker) { |
|
|
onClick(picker) { |
|
|
const end = new Date(); |
|
|
const end = new Date(); |
|
|
const start = new Date(); |
|
|
const start = new Date(); |
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
|
|
|
|
|
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
|
|
picker.$emit("pick", [start, end]); |
|
|
picker.$emit("pick", [start, end]); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
text: "前一年", |
|
|
|
|
|
|
|
|
text: "前三个月", |
|
|
onClick(picker) { |
|
|
onClick(picker) { |
|
|
const end = new Date(); |
|
|
const end = new Date(); |
|
|
const start = new Date(); |
|
|
const start = new Date(); |
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 360); |
|
|
|
|
|
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
|
|
picker.$emit("pick", [start, end]); |
|
|
picker.$emit("pick", [start, end]); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
@ -230,34 +335,36 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
text: "后一个月", |
|
|
|
|
|
|
|
|
text: "后三周", |
|
|
onClick(picker) { |
|
|
onClick(picker) { |
|
|
const end = new Date(); |
|
|
const end = new Date(); |
|
|
const start = new Date(); |
|
|
const start = new Date(); |
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 30); |
|
|
|
|
|
|
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 7 * 3); |
|
|
picker.$emit("pick", [start, end]); |
|
|
picker.$emit("pick", [start, end]); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
text: "后三个月", |
|
|
|
|
|
|
|
|
text: "后一个月", |
|
|
onClick(picker) { |
|
|
onClick(picker) { |
|
|
const end = new Date(); |
|
|
const end = new Date(); |
|
|
const start = new Date(); |
|
|
const start = new Date(); |
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 90); |
|
|
|
|
|
|
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 30); |
|
|
picker.$emit("pick", [start, end]); |
|
|
picker.$emit("pick", [start, end]); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
text: "后一年", |
|
|
|
|
|
|
|
|
text: "后三个月", |
|
|
onClick(picker) { |
|
|
onClick(picker) { |
|
|
const end = new Date(); |
|
|
const end = new Date(); |
|
|
const start = new Date(); |
|
|
const start = new Date(); |
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 360); |
|
|
|
|
|
|
|
|
end.setTime(start.getTime() + 3600 * 1000 * 24 * 90); |
|
|
picker.$emit("pick", [start, end]); |
|
|
picker.$emit("pick", [start, end]); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
] |
|
|
] |
|
|
return {shortcuts:shortcuts};; |
|
|
|
|
|
|
|
|
return { |
|
|
|
|
|
shortcuts: shortcuts |
|
|
|
|
|
};; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|