import moment from "moment"; import { isDataType } from "@/utils/tools"; const SEX_LIST = ["", "男", "女"]; // 验证是否是数字或字符串 function validateToNumber(val) { return typeof val === "string" || typeof val === "number"; } // 验证日期是否合理 function validateDate(val) { let date = val; // Invalid Date if (!date || !date.getTime()) { return ""; } let day = moment(date).format("YYYY-MM-DD"); if (day === "1970-01-01" || day === "1900-01-01") { return false; } return true; } // 格式化性别 export function formatSex(sex) { return SEX_LIST[sex] || ""; } // 格式化年龄 export function formatAge(age) { if (!age) return ""; // 纯数字 if (/^\d+$/.test(age)) return `${age}岁`; return age; } // 格式化金额 export function formatMoney(money) { if (!validateToNumber(money)) { return ""; } let num = parseFloat(money); if (num === 0) { return 0; } if (!num) { return ""; } return (num / 100).toFixed(2); } // 格式化金额,带符号 export function formatMoneyWithSymbol(money) { if (!validateToNumber(money)) { return ""; } let num = parseFloat(money); if (num === 0) { return "¥0"; } if (!num) { return ""; } return "¥" + (num / 100).toFixed(2); } // 格式化日期+时间 export function formatDateTime(date) { let temp = date; if (!isDataType(date, "Date")) { temp = new Date(date); } if (!validateDate(temp)) { return ""; } return moment(date).format("YYYY-MM-DD HH:mm:ss"); } // 格式化日期 export function formatDate(date) { let temp = date; if (!isDataType(date, "Date")) { temp = new Date(date); } if (!validateDate(temp)) { return ""; } return moment(date).format("YYYY-MM-DD"); } // 格式化日期 export function formatMonth(date) { let temp = date; if (!isDataType(date, "Date")) { temp = new Date(date); } if (!validateDate(temp)) { return ""; } return moment(date).format("YYYY-MM"); } // 升序排序 export function objKeySort(obj) { if (!obj || Array.isArray(obj)) { return ""; } // 升序 let newkey = Object.keys(obj).sort(); // 先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组 // 倒序 // var newkey = Object.keys(obj).sort().reverse(); let newObj = {}; // 创建一个新的对象,用于存放排好序的键值对 for (let i = 0; i < newkey.length; i++) { // 遍历newkey数组 newObj[newkey[i]] = obj[newkey[i]]; // 向新创建的对象中按照排好的顺序依次增加键值对 } let objValuesString = ""; Object.values(newObj).forEach(item => { if (!Array.isArray(item) && !(item instanceof Object)) { objValuesString = objValuesString + item; } }); return objValuesString; // 返回排好序的新对象的值拼接起来的字符窜 } // 转换当前时间为时间戳 export function dateChange() { let date = Date.parse(new Date()); return date; }