| 1 | import dayjs from 'utils/dayjs'; |
| 2 | |
| 3 | const IniValues = (fields, record = {}) => { |
| 4 | const iniArray = {}; |
| 5 | Object.keys(fields).forEach((field) => { |
| 6 | const type = fields[field].type; |
| 7 | const value = record[field]; |
| 8 | let showValue; |
| 9 | switch (type) { |
| 10 | case 'boolean': |
| 11 | showValue = value; |
| 12 | break; |
| 13 | |
| 14 | case 'date': |
| 15 | showValue = value ? dayjs(value, 'YYYY-MM-DD').toDate() : null; |
| 16 | break; |
| 17 | |
| 18 | case 'dateRange': |
| 19 | if (!value || !value.length) { |
| 20 | showValue = []; |
| 21 | } else { |
| 22 | showValue = value.map((item) => |
| 23 | item ? dayjs(item, 'YYYY-MM-DD').toDate() : null, |
| 24 | ); |
| 25 | } |
| 26 | break; |
| 27 | |
| 28 | case 'datetime': |
| 29 | showValue = value ? dayjs(value).toDate() : null; |
| 30 | break; |
| 31 | |
| 32 | case 'datetimeRange': |
| 33 | if (!value || !value.length) { |
| 34 | showValue = []; |
| 35 | } else { |
| 36 | showValue = value.map((item) => |
| 37 | item ? dayjs(item).toDate() : null, |
| 38 | ); |
| 39 | } |
| 40 | break; |
| 41 | |
| 42 | case 'decimal': |
| 43 | showValue = value; |
| 44 | break; |
| 45 | |
| 46 | case 'decimalRange': |
| 47 | showValue = value || []; |
| 48 | break; |
| 49 | |
| 50 | case 'enum': |
| 51 | if (!value || typeof value === 'string' || value instanceof String) { |
| 52 | showValue = value; |
| 53 | } else { |
| 54 | showValue = value.id; |
| 55 | } |
| 56 | break; |
| 57 | |
| 58 | case 'files': |
| 59 | showValue = value; |
| 60 | break; |