78 lines
1.8 KiB
JavaScript
78 lines
1.8 KiB
JavaScript
import dict from "./dict";
|
|
import $moment from './monent';
|
|
|
|
const confirm = (content, title, config) => {
|
|
let ops = {content}
|
|
if (typeof title == 'object') {
|
|
ops = {...ops, ...title}
|
|
} else ops = {...ops, title: title || "提示"}
|
|
return new Promise((resolve, reject) => {
|
|
uni.showModal({
|
|
...ops, ...config, success: res => {
|
|
if (res?.confirm) {
|
|
resolve()
|
|
} else if (res?.cancel) {
|
|
reject()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 获取年龄
|
|
* @param code
|
|
*/
|
|
const calcAge = (code) => {
|
|
let birthday
|
|
if (typeof code == 'string' && code.length == 18) {
|
|
birthday = $moment(code.substring(6, 14), 'YYYYMMDD')
|
|
} else if (typeof code == 'object') {
|
|
birthday = code
|
|
}
|
|
return Math.ceil($moment().year() - $moment(birthday).year())
|
|
}
|
|
|
|
export default {
|
|
dict,
|
|
confirm,
|
|
calcAge,
|
|
dateFormat: (time, format) => {
|
|
return $moment(time).format(format || 'YYYY-MM-DD').replace("Invalid Date", "")
|
|
},
|
|
formatName: (name) => {
|
|
return Array.from(name)?.slice(-2)?.toString() || "";
|
|
},
|
|
loading: title => {
|
|
uni.showLoading({
|
|
title: title ? title : '加载中',
|
|
mask: true
|
|
})
|
|
},
|
|
hideLoading: () => {
|
|
uni.hideLoading()
|
|
},
|
|
colorUtils: {
|
|
Hex2RGBA(color, alpha = 1) {
|
|
let hex = 0;
|
|
if (color.charAt(0) == "#") {
|
|
if (color.length == 4) {
|
|
//检测诸如#FFF简写格式
|
|
color = "#" + color.charAt(1).repeat(2) +
|
|
color.charAt(2).repeat(2) +
|
|
color.charAt(3).repeat(2);
|
|
}
|
|
hex = parseInt(color.slice(1), 16);
|
|
}
|
|
let r = hex >> 16 & 0xFF;
|
|
let g = hex >> 8 & 0xFF;
|
|
let b = hex & 0xFF;
|
|
return `rgba(${r},${g},${b},${alpha})`;
|
|
},
|
|
RGBtoHex(r, g, b) {
|
|
let hex = r << 16 | g << 8 | b;
|
|
return "#" + hex.toString(16);
|
|
}
|
|
}
|
|
}
|