|  | @@ -0,0 +1,221 @@
 | 
	
		
			
				|  |  | +function 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(':')
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// 回显数据字典
 | 
	
		
			
				|  |  | +const selectDictLabel = (datas, value) => {
 | 
	
		
			
				|  |  | +	var actions = [];
 | 
	
		
			
				|  |  | +	if (!datas) {
 | 
	
		
			
				|  |  | +		return;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	Object.keys(datas).some((key) => {
 | 
	
		
			
				|  |  | +		if (datas[key].dictValue && datas[key].dictValue == value) {
 | 
	
		
			
				|  |  | +			actions.push(datas[key].dictLabel);
 | 
	
		
			
				|  |  | +			return true;
 | 
	
		
			
				|  |  | +		} else {
 | 
	
		
			
				|  |  | +			if (datas[key].id == value) {
 | 
	
		
			
				|  |  | +				actions.push(datas[key].typeName);
 | 
	
		
			
				|  |  | +				return true;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	})
 | 
	
		
			
				|  |  | +	return actions.join('');
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function 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('.')
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//获取两日期之间日期列表函数
 | 
	
		
			
				|  |  | +function getdiffdate(stime, etime) {
 | 
	
		
			
				|  |  | +	//初始化日期列表,数组
 | 
	
		
			
				|  |  | +	var diffdate = new Array();
 | 
	
		
			
				|  |  | +	var i = 0;
 | 
	
		
			
				|  |  | +	//开始日期小于等于结束日期,并循环
 | 
	
		
			
				|  |  | +	while (stime <= etime) {
 | 
	
		
			
				|  |  | +		diffdate[i] = stime;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		//获取开始日期时间戳
 | 
	
		
			
				|  |  | +		var stime_ts = new Date(stime).getTime();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		//增加一天时间戳后的日期
 | 
	
		
			
				|  |  | +		var next_date = stime_ts + (24 * 60 * 60 * 1000);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		//拼接年月日,这里的月份会返回(0-11),所以要+1
 | 
	
		
			
				|  |  | +		var next_dates_y = new Date(next_date).getFullYear() + '-';
 | 
	
		
			
				|  |  | +		var next_dates_m = (new Date(next_date).getMonth() + 1 < 10) ? '0' + (new Date(next_date).getMonth() + 1) +
 | 
	
		
			
				|  |  | +			'-' : (new Date(next_date).getMonth() + 1) + '-';
 | 
	
		
			
				|  |  | +		var next_dates_d = (new Date(next_date).getDate() < 10) ? '0' + new Date(next_date).getDate() : new Date(
 | 
	
		
			
				|  |  | +			next_date).getDate();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		stime = next_dates_y + next_dates_m + next_dates_d;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		//增加数组key
 | 
	
		
			
				|  |  | +		i++;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return diffdate;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 计算两个日期之间的天数
 | 
	
		
			
				|  |  | + * @param dateString1  开始日期 yyyy-MM-dd
 | 
	
		
			
				|  |  | + * @param dateString2  结束日期 yyyy-MM-dd
 | 
	
		
			
				|  |  | + * @returns {number} 如果日期相同 返回一天 开始日期大于结束日期,返回0
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const getDaysBetween = (dateString1, dateString2) => {
 | 
	
		
			
				|  |  | +	let startDate = Date.parse(dateString1);
 | 
	
		
			
				|  |  | +	let endDate = Date.parse(dateString2);
 | 
	
		
			
				|  |  | +	if (startDate > endDate) {
 | 
	
		
			
				|  |  | +		return 0;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	if (startDate == endDate) {
 | 
	
		
			
				|  |  | +		return 1;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	let days = (endDate - startDate) / (1 * 24 * 60 * 60 * 1000);
 | 
	
		
			
				|  |  | +	return days.toFixed(0);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 乘法函数,用来得到精确的乘法结果
 | 
	
		
			
				|  |  | + * @param {Object} arg1
 | 
	
		
			
				|  |  | + * @param {Object} arg2
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const accMul = (arg1, arg2) => {
 | 
	
		
			
				|  |  | +	var m = 0;
 | 
	
		
			
				|  |  | +	m += deal(arg1);
 | 
	
		
			
				|  |  | +	m += deal(arg2);
 | 
	
		
			
				|  |  | +	var r1 = Number(arg1.toString().replace('.', ''));
 | 
	
		
			
				|  |  | +	var r2 = Number(arg2.toString().replace('.', ''));
 | 
	
		
			
				|  |  | +	return (r1 * r2) / Math.pow(10, m);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 加法函数,用来得到精确的加法结果
 | 
	
		
			
				|  |  | + * @param {Object} arg1
 | 
	
		
			
				|  |  | + * @param {Object} arg2
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const accAdd = (arg1, arg2) => {
 | 
	
		
			
				|  |  | +	var r1 = deal(arg1);
 | 
	
		
			
				|  |  | +	var r2 = deal(arg2);
 | 
	
		
			
				|  |  | +	var m = Math.pow(10, Math.max(r1, r2));
 | 
	
		
			
				|  |  | +	return (arg1 * m + arg2 * m) / m;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +const hasPermi = (permi) => {
 | 
	
		
			
				|  |  | +	let list = uni.getStorageSync('permissions');
 | 
	
		
			
				|  |  | +	let has = list.filter(item => item == permi);
 | 
	
		
			
				|  |  | +	return has.length > 0 ? true : false;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 除法函数,用来得到精确的除法结果
 | 
	
		
			
				|  |  | + * @param {Object} arg1
 | 
	
		
			
				|  |  | + * @param {Object} arg2
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const accDiv = (arg1, arg2) => {
 | 
	
		
			
				|  |  | +	var t1 = deal(arg1);
 | 
	
		
			
				|  |  | +	var t2 = deal(arg2);
 | 
	
		
			
				|  |  | +	var r1 = Number(arg1.toString().replace(".", ""))
 | 
	
		
			
				|  |  | +	var r2 = Number(arg2.toString().replace(".", ""))
 | 
	
		
			
				|  |  | +	return (r1 / r2) * Math.pow(10, t2 - t1);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 求小数点后的数据长度
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const deal = (arg) => {
 | 
	
		
			
				|  |  | +	var t = 0;
 | 
	
		
			
				|  |  | +	try {
 | 
	
		
			
				|  |  | +		t = arg.toString().split('.')[1].length;
 | 
	
		
			
				|  |  | +	} catch (e) {}
 | 
	
		
			
				|  |  | +	return t;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 判断 有效日期不能小于今天
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const dateCompare = (beginDate, endDate) => {
 | 
	
		
			
				|  |  | +	var beginArrayDate = beginDate.split('-');
 | 
	
		
			
				|  |  | +	var endArrayDate = endDate.split('-')
 | 
	
		
			
				|  |  | +	if (parseInt(endArrayDate[0], 10) > parseInt(beginArrayDate[0], 10)) return true;
 | 
	
		
			
				|  |  | +	if (parseInt(endArrayDate[0], 10) == parseInt(beginArrayDate[0], 10)) {
 | 
	
		
			
				|  |  | +		if (parseInt(endArrayDate[1], 10) > parseInt(beginArrayDate[1], 10)) return true;
 | 
	
		
			
				|  |  | +		else {
 | 
	
		
			
				|  |  | +			if (parseInt(endArrayDate[1], 10) == parseInt(beginArrayDate[1], 10)) {
 | 
	
		
			
				|  |  | +				if (parseInt(endArrayDate[2], 10) >= parseInt(beginArrayDate[2], 10)) return true;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return false;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 获取日期
 | 
	
		
			
				|  |  | + * day 获取日期
 | 
	
		
			
				|  |  | + * time 获取时间
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const getDate = (obj = 'day') => {
 | 
	
		
			
				|  |  | +	const date = new Date();
 | 
	
		
			
				|  |  | +	let year = date.getFullYear();
 | 
	
		
			
				|  |  | +	let month = date.getMonth() + 1;
 | 
	
		
			
				|  |  | +	let day = date.getDate();
 | 
	
		
			
				|  |  | +	let Hours = date.getHours();
 | 
	
		
			
				|  |  | +	let Minutes = date.getMinutes();
 | 
	
		
			
				|  |  | +	month = month > 9 ? month : '0' + month;
 | 
	
		
			
				|  |  | +	day = day > 9 ? day : '0' + day;
 | 
	
		
			
				|  |  | +	Hours = Hours > 9 ? Hours : '0' + Hours;
 | 
	
		
			
				|  |  | +	Minutes = Minutes > 9 ? Minutes : '0' + Minutes;
 | 
	
		
			
				|  |  | +	if (obj == 'day') {
 | 
	
		
			
				|  |  | +		return `${year}-${month}-${day}`;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	if (obj == 'time') {
 | 
	
		
			
				|  |  | +		return `${year}-${month}-${day}` + ' ' + Hours + ':' + Minutes;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 格式化时间
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +const format = (obj) => {
 | 
	
		
			
				|  |  | +	const date = new Date(obj);
 | 
	
		
			
				|  |  | +	let year = date.getFullYear();
 | 
	
		
			
				|  |  | +	let month = date.getMonth() + 1;
 | 
	
		
			
				|  |  | +	let day = date.getDate();
 | 
	
		
			
				|  |  | +	let Hours = date.getHours();
 | 
	
		
			
				|  |  | +	let Minutes = date.getMinutes();
 | 
	
		
			
				|  |  | +	month = month > 9 ? month : '0' + month;
 | 
	
		
			
				|  |  | +	day = day > 9 ? day : '0' + day;
 | 
	
		
			
				|  |  | +	Hours = Hours > 9 ? Hours : '0' + Hours;
 | 
	
		
			
				|  |  | +	Minutes = Minutes > 9 ? Minutes : '0' + Minutes;
 | 
	
		
			
				|  |  | +	return `${year}-${month}-${day}` + ' ' + Hours + ':' + Minutes;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +module.exports = {
 | 
	
		
			
				|  |  | +	formatTime: formatTime,
 | 
	
		
			
				|  |  | +	formatLocation: formatLocation,
 | 
	
		
			
				|  |  | +	accMul: accMul,
 | 
	
		
			
				|  |  | +	accAdd: accAdd,
 | 
	
		
			
				|  |  | +	accDiv: accDiv,
 | 
	
		
			
				|  |  | +	dateCompare: dateCompare,
 | 
	
		
			
				|  |  | +	getDate: getDate,
 | 
	
		
			
				|  |  | +	getDaysBetween: getDaysBetween,
 | 
	
		
			
				|  |  | +	getdiffdate: getdiffdate,
 | 
	
		
			
				|  |  | +	selectDictLabel: selectDictLabel,
 | 
	
		
			
				|  |  | +	hasPermi:hasPermi
 | 
	
		
			
				|  |  | +}
 |