UNPKG

otb-module

Version:

otb-module是基于现有的element-ui库进行的二次封装,简化组件的各自用法,将所有基础组件归纳于一个表单中, 集成表单组件,另还有增删改查的CRUD组件、预览图片/PDF的preview组件、上传文件的upload组件、分页组件与导出组件等等。 引入组件后以数据驱动组件从而加载Dom,让开发变得更简单,让代码更易维护。

137 lines (123 loc) 3.81 kB
export default { // 当前日期对象 initDate(date = new Date()) { return { year: new Date(date).getFullYear(), month: new Date(date).getMonth() + 1, day: new Date(date).getDate(), hour: new Date(date).getHours(), minute: new Date(date).getMinutes(), second: new Date(date).getSeconds() }; }, // 日期格式化方法 date(date, symbol = "-") { date = this.initDate(date); date.month = date.month < 10 ? "0" + date.month : date.month; date.day = date.day < 10 ? "0" + date.day : date.day; return (date.year + symbol + date.month + symbol + date.day); }, // 时间格式化方法 time(time, symbol = ":") { if (time) time = `0 ${time}` time = this.initDate(time); time.hour = time.hour < 10 ? "0" + time.hour : time.hour; time.minute = time.minute < 10 ? "0" + time.minute : time.minute; time.second = time.second < 10 ? "0" + time.second : time.second; return (time.hour + symbol + time.minute + symbol + time.second); }, // 日期时间格式化方法 datetime(datetime, symbol = ["-", ":"]) { datetime = this.initDate(datetime); datetime.month = datetime.month < 10 ? "0" + datetime.month : datetime.month; datetime.day = datetime.day < 10 ? "0" + datetime.day : datetime.day; datetime.hour = datetime.hour < 10 ? "0" + datetime.hour : datetime.hour; datetime.minute = datetime.minute < 10 ? "0" + datetime.minute : datetime.minute; datetime.second = datetime.second < 10 ? "0" + datetime.second : datetime.second; return ( datetime.year + symbol[0] + datetime.month + symbol[0] + datetime.day + " " + datetime.hour + symbol[1] + datetime.minute + symbol[1] + datetime.second ); }, // 获取某月天数方法 monthNumber(date) { let year = new Date(date).getFullYear(); let month = new Date(date).getMonth() + 1; return new Date(year, month, 0).getDate(); }, // 获取某年天数方法 yearNumber(n = 0) { n = Math.floor(Math.abs(n)); n = new Date().getFullYear() - n; let number = 0; for (let i = 1; i <= 12; i++) { number += new Date(n, i, 0).getDate(); } return number; }, // 多久以前 howLongAgo(d = 0, m = 0, y = 0, symbol = ["-", ":"]) { d = Math.floor(Math.abs(d)); m = Math.floor(Math.abs(m)); y = Math.floor(Math.abs(y)); let one = 24 * 60 * 60 * 1000; let nowTimestamp = new Date().getTime(); // 按月算多少天 let month = 0; if (m > 0) { for (let i = 1; i <= m; i++) { month += this.monthNumber(i); } } // 按年算多少天 let year = 0; if (y > 0) { for (let i = 1; i <= y; i++) { year += this.yearNumber(i); } } let timestamp = nowTimestamp - (d + month + year) * one; return this.datetime(timestamp, symbol); }, // 时间数组(日) 最长31 多了没意思 dayList(params) { let list = []; let nowDay = new Date().getDate(); if (params - nowDay >= 0) { let outMin = this.monthNumber(1) - (params - nowDay) + 1; let outMax = this.monthNumber(1); if (outMin - 1 <= 0) { let inMin = this.monthNumber(2) + outMin; let inMax = this.monthNumber(2); for (let i = inMin; i <= inMax; i++) { list.push(i); } } for (let i = outMin; i <= outMax; i++) { list.push(i); } } for (let i = 1; i <= nowDay; i++) { list.push(i); } return list; }, // 时间戳 timestamp(date) { return new Date(date).getTime() }, // 时间差 timeDifference(begin, end) { let difference = this.timestamp(end) - this.timestamp(begin) return Math.abs(difference / (24 * 60 * 60 * 1000)) + 1 } };