|
|
|
@ -1,9 +1,9 @@ |
|
|
|
import { isArray, isFunction, isObject, isString, isNullOrUnDef } from '/@/utils/is'; |
|
|
|
import { isArray, isFunction, isNotEmpty, isObject, isString, isNullOrUnDef } from '/@/utils/is'; |
|
|
|
import { dateUtil } from '/@/utils/dateUtil'; |
|
|
|
import { unref } from 'vue'; |
|
|
|
import type { Ref, ComputedRef } from 'vue'; |
|
|
|
import type { FormProps, FormSchema } from '../types/form'; |
|
|
|
import { cloneDeep, set } from 'lodash-es'; |
|
|
|
import { cloneDeep, get, set, unset } from 'lodash-es'; |
|
|
|
|
|
|
|
interface UseFormValuesContext { |
|
|
|
defaultValueRef: Ref<any>; |
|
|
|
@ -106,18 +106,22 @@ export function useFormValues({ |
|
|
|
continue; |
|
|
|
} |
|
|
|
// If the value to be converted is empty, remove the field
|
|
|
|
if (!values[field]) { |
|
|
|
Reflect.deleteProperty(values, field); |
|
|
|
if (!get(values, field)) { |
|
|
|
unset(values, field); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
const [startTime, endTime]: string[] = values[field]; |
|
|
|
const [startTime, endTime]: string[] = get(values, field); |
|
|
|
|
|
|
|
const [startTimeFormat, endTimeFormat] = Array.isArray(format) ? format : [format, format]; |
|
|
|
|
|
|
|
values[startTimeKey] = formatTime(startTime, startTimeFormat); |
|
|
|
values[endTimeKey] = formatTime(endTime, endTimeFormat); |
|
|
|
Reflect.deleteProperty(values, field); |
|
|
|
if (isNotEmpty(startTime)) { |
|
|
|
set(values, startTimeKey, formatTime(startTime, startTimeFormat)); |
|
|
|
} |
|
|
|
if (isNotEmpty(endTime)) { |
|
|
|
set(values, endTimeKey, formatTime(endTime, endTimeFormat)); |
|
|
|
} |
|
|
|
unset(values, field); |
|
|
|
} |
|
|
|
|
|
|
|
return values; |
|
|
|
|