| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- // 问候语:根据当前小时返回不同问候语
- export function greetings() {
- // 当前时间(用于计算问候语)
- const currentDate = new Date();
- const hours = currentDate.getHours();
- if (hours >= 6 && hours < 8) {
- return "晨起披衣出草堂,轩窗已自喜微凉🌅!";
- } else if (hours >= 8 && hours < 12) {
- return `上午好!`;
- } else if (hours >= 12 && hours < 14) {
- return `中午好!`;
- } else if (hours >= 14 && hours < 18) {
- return `下午好!`;
- } else if (hours >= 18 && hours < 24) {
- return `晚上好!`;
- } else {
- return "偷偷向银河要了一把碎星,只等你闭上眼睛撒入你的梦中,晚安🌛!";
- }
- }
- export function getRangeDate(startDate: string | number | Date, endDate: string | number | Date) {
- const targetArr = [];
- const start = new Date(startDate);
- const end = new Date(endDate);
- const startDateInfo = {
- year: start.getFullYear(),
- month: start.getMonth() + 1,
- day: start.getDate(),
- };
- const endDateInfo = {
- year: end.getFullYear(),
- month: end.getMonth() + 1,
- day: end.getDate(),
- };
- if (startDateInfo.year === endDateInfo.year) {
- //同年
- if (startDateInfo.month !== endDateInfo.month) {
- //同年,不同月份
- //获取开始时间所在月的月底日期
- const startMax = new Date(startDateInfo.year, startDateInfo.month, 0).getDate();
- const endNum = startMax - startDateInfo.day + endDateInfo.day;
- for (let i = startDateInfo.day; i <= startDateInfo.day + endNum; i++) {
- if (i > startMax) {
- targetArr.push(
- `${endDateInfo.year}-${
- endDateInfo.month < 10 ? "0" + endDateInfo.month : endDateInfo.month
- }-${i - startMax < 10 ? "0" + (i - startMax) : i - startMax}`
- );
- } else {
- targetArr.push(
- `${startDateInfo.year}-${
- startDateInfo.month < 10 ? "0" + startDateInfo.month : startDateInfo.month
- }-${i < 10 ? "0" + i : i}`
- );
- }
- }
- } else {
- //同年同月
- for (let i = startDateInfo.day; i <= endDateInfo.day; i++) {
- targetArr.push(
- `${startDateInfo.year}-${
- startDateInfo.month < 10 ? "0" + startDateInfo.month : startDateInfo.month
- }-${i < 10 ? "0" + i : i}`
- );
- }
- }
- } else {
- //不同年 【既然不同年那肯定也不同月】
- const startMax = new Date(startDateInfo.year, startDateInfo.month, 0).getDate();
- const endNum = startMax - startDateInfo.day + endDateInfo.day;
- for (let i = startDateInfo.day; i <= startDateInfo.day + endNum; i++) {
- if (i > startMax) {
- targetArr.push(
- `${endDateInfo.year}-${
- endDateInfo.month < 10 ? "0" + endDateInfo.month : endDateInfo.month
- }-${i - startMax < 10 ? "0" + (i - startMax) : i - startMax}`
- );
- } else {
- targetArr.push(
- `${startDateInfo.year}-${
- startDateInfo.month < 10 ? "0" + startDateInfo.month : startDateInfo.month
- }-${i < 10 ? "0" + i : i}`
- );
- }
- }
- }
- return targetArr;
- }
- export function listToTree(list: any[]) {
- const map: { [key: string | number]: any } = {};
- // 创建映射表,保留每个节点的 parent_id 等原始字段
- list.forEach((item) => {
- map[item.id] = { ...item };
- });
- const tree: any[] = [];
- list.forEach((item) => {
- const parentId = item.parent_id;
- if (parentId && map[parentId]) {
- // 将当前节点加入其父节点的 children 数组中
- if (!map[parentId].children) {
- map[parentId].children = [];
- }
- map[parentId].children.push(map[item.id]);
- } else if (parentId === null || parentId === undefined) {
- // 根节点
- tree.push(map[item.id]);
- }
- });
- return tree;
- }
- // 加载部门选项
- export function formatTree(nodes: any[]): any[] {
- return nodes.map((node) => {
- const formattedNode = {
- value: node.id,
- label: node.name,
- disabled: node.status === false || String(node.status) === "false",
- };
- if (node.children && node.children.length > 0) {
- Object.assign(formattedNode, { children: formatTree(node.children) });
- }
- return formattedNode;
- });
- }
- export function cloneDeep(obj: any) {
- return JSON.parse(JSON.stringify(obj));
- }
- export function isEmpty(obj: string | null | undefined) {
- if (obj === undefined || obj === null || obj === "") {
- return true;
- } else {
- return false;
- }
- }
- // 验证是否为blob格式
- export function blobValidate(data: Blob): boolean {
- return data.type !== "application/json";
- }
|