Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | 66x 66x 3x 3x 3x 66x 8x 66x 66x 66x 66x 66x 66x 1x 66x 66x 66x | import { RecordProps, SaveRecordProps } from "@props/RecordProps"; import { isNumeric } from "@utils/DecimalUtils"; import { isObject } from "@utils/ObjectUtils"; import dayjs from "dayjs"; window.__moment = dayjs; /** * 枚举字段的转换函数 * @param record 记录 * @param value 要转换的枚举值,从后台获取,格式为 {id: xxx}, * 或者直接是 id 形式 "xxx" 或者 xxx */ export const transferObjectOrObjects = ( record: RecordProps, value: { id: number } | Array<number> ): number | Array<number> | { id: number } | null => { Iif (Array.isArray(value)) { return value; } Eif (isObject(value) && "id" in value) { return value; } if (typeof value === 'number') { return value; } if (typeof value === 'string' && isNumeric(value)) { return parseInt(value); } return null; }; /** * 日期字段值的转换函数 * @param record 记录 * @param value 要转换的日期值,从后台返回前台的日期值是字符串, * 在将值传递给 antd 的 DatePicker 控件进行显示之前,需要先转换为 Moment 对象 */ export const transferStringToMomentObj = ( record: RecordProps, value: string ): dayjs.Dayjs | undefined => { return value == null ? undefined : dayjs(value); }; export const transferStringToTagList = (record: RecordProps, value: string): string[] | number[] | undefined => { if (!value) { return undefined; } return JSON.parse(value); }; export const transferZonedDatetimeToMomentObj = ( record: RecordProps, value: string ): dayjs.Dayjs| undefined => { return value == null ? undefined : dayjs(value.includes('[') ? value.split('[')[0] : value); }; export const transferAndFormatJson = ( record: RecordProps, value: string ): string | undefined => { try { return (value == null) ? undefined : JSON.stringify(JSON.parse(value), null, 2); } catch (e) { return value; } }; export const transferObjectIds = ( record: RecordProps, value: string ): Array<string> | undefined => { return value == null ? undefined : value.split(","); }; export const transferSubTable = ( record: RecordProps, value: RecordProps[] ): RecordProps[] => { // console.log("transferSubTable", value); return value; }; export const transferMomentObjToLocalDateString = (record: SaveRecordProps, date: dayjs.Dayjs): string => { return date?.format("YYYY-MM-DD"); }; export const transferMomentObjToLocalDateTimeString = (record: SaveRecordProps, date: dayjs.Dayjs): string => { return date?.format("YYYY-MM-DDTHH:mm:ss"); }; export const transferMomentObjToString = (record: SaveRecordProps, date: dayjs.Dayjs): string => { return date?.toISOString(); }; export const transferTagListToString = (record: SaveRecordProps, value?: string[]): string | undefined => { if (!value) { return undefined; } return JSON.stringify(value); }; |