//格式化日期 export function getDate(type) { const date = new Date(); let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); if (type === 'end') { day = day + 1; } month = month > 9 ? month : '0' + month; day = day > 9 ? day : '0' + day; return `${year}-${month}-${day}`; } export function stopScroll(){ var box=function(e) {passive: false ;}; document.body.style.overflow='hidden'; document.addEventListener("touchmove",box,false); } export function startScroll(){ var box=function(e){passive: false }; document.body.style.overflow='';//出现滚动条 document.removeEventListener("touchmove",box,false); } // 生成随机数 export const getRuleNo = (suffix = 'R') => { const randomNum = Math.floor(Math.random() * 1000000) return `${suffix}${parseTime(new Date(), '{y}{m}{d}')}${randomNum}` } export function parseTime (time, cFormat) { if (arguments.length === 0 || !time) { return null } const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' let date if (typeof time === 'object') { date = time } else { if (typeof time === 'string') { if (/^[0-9]+$/.test(time)) { // support "1548221490638" time = parseInt(time) } else { // support safari // https://stackoverflow.com/questions/4310953/invalid-date-in-safari time = time.replace(new RegExp(/-/gm), '/') } } if (typeof time === 'number' && time.toString().length === 10) { time = time * 1000 } date = new Date(time) } const formatObj = { y: date.getFullYear(), m: date.getMonth() + 1, d: date.getDate(), h: date.getHours(), i: date.getMinutes(), s: date.getSeconds(), a: date.getDay() } const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { const value = formatObj[key] // Note: getDay() returns 0 on Sunday if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } return value.toString().padStart(2, '0') }) return time_str } /** * 将毫秒,转换成时间字符串。例如说,xx 分钟 * * @param ms 毫秒 * @returns {string} 字符串 */ export function getDates(ms) { const day = Math.floor(ms / (24 * 60 * 60 * 1000)); const hour = Math.floor((ms / (60 * 60 * 1000) - day * 24)); const minute = Math.floor(((ms / (60 * 1000)) - day * 24 * 60 - hour * 60)); const second = Math.floor((ms / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60)); if (day > 0) { return day + "天" + hour + "小时" + minute + "分钟"; } if (hour > 0) { return hour + "小时" + minute + "分钟"; } if (minute > 0) { return minute + "分钟"; } if (second > 0) { return second + "秒"; } else { return 0 + "秒"; } } //机构一维数组转树形结构 export function toTreeData(option) { var _a, _b; if (Array.isArray(option)) { option = { data: arguments[0], idField: arguments[1], parentIdField: arguments[2], childrenField: arguments[3], parentId: arguments[4], addParentIds: arguments[5], parentIdsField: arguments[6], parentIds: arguments[7] }; } const data = option.data; const idField = option.idField || option.idKey || "id"; const parentIdField = option.parentIdField || option.pidKey || "parentId"; const childrenField = option.childrenField || option.childKey || "children"; const parentIdIsNull = typeof option.parentId === "undefined" && typeof option.pid === "undefined"; const parentId = parentIdIsNull ? [] : (_a = option.parentId) != null ? _a : option.pid; const addParentIds = (_b = option.addParentIds) != null ? _b : option.addPIds; const parentIdsField = option.parentIdsField || option.parentsKey || "parentIds"; const parentIds = option.parentIds; if (parentIdIsNull) { data.forEach((d) => { let flag = true; for (let i = 0; i < data.length; i++) { if (d[parentIdField] == data[i][idField]) { flag = false; break; } } if (flag) { parentId.push(d[parentIdField]); } }); } const result = []; data.forEach((d) => { if (d[idField] == d[parentIdField]) { throw new Error( [ "data error: {", idField + ": ", JSON.stringify(d[idField]), parentIdField + ": ", JSON.stringify(d[parentIdField]), "}" ].join("") ); } const isArr = Array.isArray(parentId); const isParent = isArr ? parentId.includes(d[parentIdField]) : d[parentIdField] == parentId; if (isParent) { const r = { ...d }; const children = toTreeData({ data, idField, parentIdField, childrenField, parentId: d[idField], addParentIds, parentIdsField, parentIds: (parentIds != null ? parentIds : []).concat([d[idField]]) }); if (children.length > 0) { r[childrenField] = children; } if (addParentIds) { r[parentIdsField] = parentIds != null ? parentIds : []; } result.push(r); } }); return result; }