epmet 工作端 小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

166 lines
5.2 KiB

const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
const formatDate = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
return [year, month, day].map(formatNumber).join('-')
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : '0' + n
}
const formatRichText = html => {
let newContent= html.replace(/\<img/gi, '<img style="width:100%;height:auto;display:block;"');
return newContent
}
function cardHide(card) {
const reg = /^(.{10})(?:\d+)(.{2})$/;
const maskedIdCard = card.replace(reg, '$1******$2');
return maskedIdCard;
}
function withData(param) {
return Number(param) < 10 ? '0' + param : '' + param;
}
function getLoopArray(start, end) {
var start = Number(start) || 0;
var end = Number(end) || 1;
var array = [];
for (var i = start; i <= end; i++) {
array.push(withData(i));
}
return array;
}
function getMonthDay(year, nowMonth, sMonth, eMonth, sDay, eDay) {
var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), array = null;
let month = nowMonth
console.log('arrayttttnowMonth', nowMonth)
switch (month) {
case '01':
case '03':
case '05':
case '07':
case '08':
case '10':
case '12':
// array = getLoopArray(1, 31)
if (sMonth == month && sMonth != eMonth) array = getLoopArray(sDay, 31)
else if (eMonth == month && sMonth != eMonth) array = getLoopArray(1, eDay)
else array = getLoopArray(sDay, eDay)
break;
case '04':
case '06':
case '09':
case '11':
// array = getLoopArray(1, 30)
if (sMonth == month && sMonth != eMonth) array = getLoopArray(sDay, 30)
else if (eMonth == month && sMonth != eMonth) array = getLoopArray(1, eDay)
else array = getLoopArray(sDay, eDay)
break;
case '02':
// array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28)
let day = flag ? 29 : 28
if (sMonth == month && sMonth != eMonth) array = getLoopArray(sDay, day)
else if (eMonth == month && sMonth != eMonth) array = getLoopArray(1, eDay)
else array = getLoopArray(sDay, eDay)
break;
default:
array = '月份格式不正确,请重新输入!'
}
return array;
}
function getNewDateArry(dates) {
// 当前时间的处理
var newDate = dates ? new Date(dates) : new Date();
var year = withData(newDate.getFullYear()),
mont = withData(newDate.getMonth() + 1),
date = withData(newDate.getDate()),
hour = withData(newDate.getHours()),
minu = newDate.getMinutes() == 59 ? withData(newDate.getMinutes()) : withData(newDate.getMinutes() + 1)
// seco = withData(newDate.getSeconds());
// return [year, mont, date, hour, minu, seco];
return [year, mont, date, hour, minu];
}
function dateTimePicker(startYear, endYear, sMonth, eMonth, sDay, eDay, sHour, eHour, sMin, eMin, date) {
// 返回默认显示的数组和联动数组的声明
var dateTime = [], dateTimeArray = [[], [], [], [], []];
var start = startYear || 1978;
var end = endYear || 2100;
// 默认开始显示数据
var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
// 处理联动列表数据
/*年月日 时分秒*/
dateTimeArray[0] = getLoopArray(start, end);
dateTimeArray[1] = getLoopArray(Number(sMonth), Number(eMonth));
// const _sMonth = sMonth < 10 ? '0' + sMonth : sMonth
// dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
dateTimeArray[2] = getMonthDay(start, defaultDate[1], sMonth, eMonth, sDay, eDay);
if (sMonth == getNewDateArry()[1] && sDay == getNewDateArry()[2] && eMonth == getNewDateArry()[1] && eDay == getNewDateArry()[2]) {
dateTimeArray[3] = getLoopArray(sHour, getNewDateArry()[3]);
} else dateTimeArray[3] = getLoopArray(0, getNewDateArry()[3]);
dateTimeArray[4] = getLoopArray(0, getNewDateArry()[4]);
// dateTimeArray[5] = getLoopArray(0, 59);
console.log('dateTimeArray', dateTimeArray)
dateTimeArray.forEach((current, index) => {
console.log('dateTime', current.indexOf(defaultDate[index]))
dateTime.push(current.indexOf(defaultDate[index]));
});
return {
dateTimeArray: dateTimeArray,
dateTime: dateTime
}
}
function getLocation() {
return new Promise((reslove) => {
wx.getLocation({
type: "gcj02",
success(res) {
let lat = res.latitude;
let lng = res.longitude;
const { latitude, longitude } = res;
reslove({
msg: "success",
data: {
latitude,
longitude,
},
});
},
fail(err) {
reslove({
data: "",
msg: err.errMsg,
});
},
});
});
}
module.exports = {
cardHide: cardHide,
formatTime: formatTime,
formatRichText: formatRichText,
dateTimePicker: dateTimePicker,
getMonthDay: getMonthDay,
getNewDateArry,
getLoopArray,
getLocation,
formatDate
}