123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- import crypto from "crypto";
- //个位数字补零
- export function numberB0(n) {
- return n < 10 ? "0" + n : n;
- }
- // 得到 2019-07-27 格式的日期数组,区间为7天
- export function getSevenDays() {
- var date = new Date();
- let nowDate =
- date.getFullYear() +
- "-" +
- numberB0(date.getMonth() + 1) +
- "-" +
- numberB0(date.getDate());
- let oldDate = new Date(date.setTime(date.getTime() - 3600 * 1000 * 24 * 6)).toJSON();
- let oldDates = oldDate.split("T");
- oldDate = oldDates[0];
- return [oldDate, nowDate];
- }
- // 同上,但不包括今日
- export function getSevenDays2() {
- var date = new Date();
- let nowDate = new Date(date.setTime(date.getTime() - 3600 * 1000 * 24 * 1)).toJSON();
- let nowDates = nowDate.split("T");
- nowDate = nowDates[0];
- let oldDate = new Date(date.setTime(date.getTime() - 3600 * 1000 * 24 * 6)).toJSON();
- let oldDates = oldDate.split("T");
- oldDate = oldDates[0];
- return [oldDate, nowDate];
- }
- /**
- * 将接口返回的日期(12344518976156)转换成(2019-10-10)
- * 将接口返回的标准格式日期(Wed Oct 14 2020 10:26:34 GMT+0800 (中国标准时间))转换成(2019-10-10)
- * */
- export function dateChange(date) {
- let d = new Date(date);
- return d.getFullYear() + "-" + numberB0(d.getMonth() + 1) + "-" + numberB0(d.getDate());
- }
- /**
- * 将接口返回的日期(12344518976156)转换成(23:59:59)
- * 将接口返回的标准格式日期(Wed Oct 14 2020 10:26:34 GMT+0800 (中国标准时间))转换成(23:59:59)
- * */
- export function monthChange(date) {
- let d = new Date(date);
- return d.getFullYear() + "-" + numberB0(d.getMonth() + 1);
- }
- /**
- * 将接口返回的日期(12344518976156)转换成(23:59:59)
- * 将接口返回的标准格式日期(Wed Oct 14 2020 10:26:34 GMT+0800 (中国标准时间))转换成(23:59:59)
- * */
- export function timeChange(date) {
- let d = new Date(date);
- return (
- numberB0(d.getHours()) +
- ":" +
- numberB0(d.getMinutes()) +
- ":" +
- numberB0(d.getSeconds())
- );
- }
- export function timeHMChange(date) {
- let d = new Date(date);
- return numberB0(d.getHours()) + ":" + numberB0(d.getMinutes());
- }
- /**
- * 将接口返回的日期时间(12344518976156)转换成(2020-10-14 23:59:59)
- * 将接口返回的标准格式日期(Wed Oct 14 2020 10:26:34 GMT+0800 (中国标准时间))转换成(2020-10-14 23:59:59)
- * */
- export function dateTimeChange(date) {
- if (date === "" || date === null) return date;
- let d = new Date(date);
- return (
- d.getFullYear() +
- "-" +
- numberB0(d.getMonth() + 1) +
- "-" +
- numberB0(d.getDate()) +
- " " +
- numberB0(d.getHours()) +
- ":" +
- numberB0(d.getMinutes()) +
- ":" +
- numberB0(d.getSeconds())
- );
- }
- /**
- * getNowTime - 获取当前日期时间:2019-10-10 10:10:20
- * axios.js在用
- * */
- export function getNowTime() {
- var date = new Date();
- return (
- date.getFullYear() +
- "-" +
- numberB0(date.getMonth() + 1) +
- "-" +
- numberB0(date.getDate()) +
- " " +
- numberB0(date.getHours()) +
- ":" +
- numberB0(date.getMinutes()) +
- ":" +
- numberB0(date.getSeconds())
- );
- }
- /**
- * 传入[开始日期, 结束日期]
- * 返回格式[2020-10-01 00:00:00, 2020-10-01 23:59:59]
- * tag: 1,补时分秒
- * 2,补分秒
- * 3,补秒
- * */
- export function dateQjChange(list, tag) {
- if (list[0] === "" || list[0] === null) return list;
- let d1 = new Date(list[0]);
- let d2 = new Date(list[1]);
- if (tag === undefined) {
- tag = 1;
- }
- switch (tag) {
- case 1:
- return [
- d1.getFullYear() +
- "-" +
- numberB0(d1.getMonth() + 1) +
- "-" +
- numberB0(d1.getDate()) +
- " 00:00:00",
- d2.getFullYear() +
- "-" +
- numberB0(d2.getMonth() + 1) +
- "-" +
- numberB0(d2.getDate()) +
- " 23:59:59",
- ];
- case 2:
- return [
- d1.getFullYear() +
- "-" +
- numberB0(d1.getMonth() + 1) +
- "-" +
- numberB0(d1.getDate()) +
- " " +
- numberB0(d1.getHours()) +
- ":00:00",
- d2.getFullYear() +
- "-" +
- numberB0(d2.getMonth() + 1) +
- "-" +
- numberB0(d2.getDate()) +
- " " +
- numberB0(d2.getHours()) +
- ":59:59",
- ];
- break;
- case 3:
- return [
- d1.getFullYear() +
- "-" +
- numberB0(d1.getMonth() + 1) +
- "-" +
- numberB0(d1.getDate()) +
- " " +
- numberB0(d1.getHours()) +
- ":" +
- numberB0(d1.getMinutes()) +
- ":00",
- d2.getFullYear() +
- "-" +
- numberB0(d2.getMonth() + 1) +
- "-" +
- numberB0(d2.getDate()) +
- " " +
- numberB0(d2.getHours()) +
- ":" +
- numberB0(d2.getMinutes()) +
- ":59",
- ];
- break;
- }
- }
- /**
- * getNowTime2 - 获取当前日期时间:2019年10月10日 10:10:20 星期一
- * 地图版在用
- * */
- export function getNowTime2() {
- var date = new Date();
- var weekday = new Array(7);
- weekday[0] = "星期日";
- weekday[1] = "星期一";
- weekday[2] = "星期二";
- weekday[3] = "星期三";
- weekday[4] = "星期四";
- weekday[5] = "星期五";
- weekday[6] = "星期六";
- var n = weekday[date.getDay()];
- return (
- date.getFullYear() +
- "年" +
- numberB0(date.getMonth() + 1) +
- "月" +
- numberB0(date.getDate()) +
- "日 " +
- numberB0(date.getHours()) +
- ":" +
- numberB0(date.getMinutes()) +
- ":" +
- numberB0(date.getSeconds()) +
- " " +
- n
- );
- }
- //金额分割符,4位分割(仅数字)
- export function getNewNum(nStr) {
- nStr += "";
- var x = nStr.split(".");
- var x1 = x[0];
- var x2 = x.length > 1 ? "." + x[1] : "";
- var rgx = /(\d+)(\d{4})/;
- while (rgx.test(x1)) {
- x1 = x1.replace(rgx, "$1" + "," + "$2");
- }
- return x1 + x2;
- }
- /**
- * 提供获取内容页面的高度,便于处理两种不同显示滚动条的兼容问题。默认页面高度自然,框架提供了滚动条无需处理;特殊情况,页面高度需保持一屏,内部页面的高度需要自己计算,因此提供该方法,便于开发者开发内部页面。
- * type:midd居中模式;full全屏模式;
- * */
- export function getPageHeight(type) {
- let h = document.documentElement.clientHeight;
- type = type === undefined ? "midd" : type;
- if (type === "midd") {
- h = h - 48;
- }
- return h;
- }
- /**
- * 提供获取内容页面的宽度。
- * type:midd居中模式;full全屏模式;
- * 全屏模式无需计算宽度是否小于1600
- * */
- export function getPageWidth(type) {
- let w = document.documentElement.clientWidth;
- type = type === undefined ? "midd" : type;
- if (type === "midd") {
- if (w < 1600) {
- return 1200;
- } else {
- return 1500;
- }
- } else {
- return w;
- }
- }
- /*
- * Ant和element-ui 级联相同bug - 底层存在children的时候会显示空模块的问题,此方法可以完成任意级别的递归找children。
- * data:原型数据
- * */
- export function cascaderBugRepair(data) {
- if (data == null) return false;
- let nums = data.length;
- for (var i = 0; i < nums; i++) {
- if (data[i].children.length <= 0) {
- delete data[i].children;
- } else {
- if (data[i].children.length > 0) {
- data[i].children = cascaderBugRepair(data[i].children);
- }
- }
- }
- return data;
- }
- /*
- * ant - 级联 - 显示名字为:宝通运维/总中心/分中心
- * 修改为:分中心
- * */
- export function cascaderShowName({ labels }) {
- return labels[labels.length - 1];
- }
- /*
- * MD5加密方法
- * */
- export function getMd5(data) {
- const md5 = crypto.createHash("md5");
- md5.update(data);
- let md5password = md5.digest("hex");
- return md5password.toString().toUpperCase();
- }
- export default {
- getMd5,
- cascaderBugRepair,
- cascaderShowName,
- getPageWidth,
- getPageHeight,
- getNewNum,
- dateChange,
- timeHMChange,
- timeChange,
- getNowTime,
- getNowTime2,
- dateQjChange,
- getSevenDays,
- getSevenDays2,
- dateTimeChange,
- numberB0,
- monthChange,
- };
|