UNPKG

tav-ui

Version:
63 lines (60 loc) 2.1 kB
import { unref } from 'vue'; import { set } from 'lodash-es'; import { dateUtil } from '../../../../utils/dateUtil2.mjs'; import { isObject, isArray, isFunction, isString, isNullOrUnDef } from '../../../../utils/is2.mjs'; function useFormValues({ defaultValueRef, getSchema, formModel, getProps }) { function handleFormValues(values) { if (!isObject(values)) return {}; const res = {}; for (const item of Object.entries(values)) { let [, value] = item; const [key] = item; if (!key || isArray(value) && value.length === 0 || isFunction(value)) continue; const transformDateFunc = unref(getProps).transformDateFunc; if (isObject(value)) value = transformDateFunc?.(value); if (isArray(value) && value[0]?._isAMomentObject && value[1]?._isAMomentObject) value = value.map((item2) => transformDateFunc?.(item2)); if (isString(value)) value = value.trim(); set(res, key, value); } return handleRangeTimeValue(res); } function handleRangeTimeValue(values) { const fieldMapToTime = unref(getProps).fieldMapToTime; if (!fieldMapToTime || !Array.isArray(fieldMapToTime)) return values; for (const [field, [startTimeKey, endTimeKey], format = "YYYY-MM-DD"] of fieldMapToTime) { if (!field || !startTimeKey || !endTimeKey || !values[field]) continue; const [startTime, endTime] = values[field]; values[startTimeKey] = dateUtil(startTime).format(format); values[endTimeKey] = dateUtil(endTime).format(format); Reflect.deleteProperty(values, field); } return values; } function initDefault() { const schemas = unref(getSchema); const obj = {}; schemas.forEach((item) => { const { defaultValue } = item; if (!isNullOrUnDef(defaultValue)) { obj[item.field] = defaultValue; formModel[item.field] = defaultValue; } }); defaultValueRef.value = obj; } return { handleFormValues, initDefault }; } export { useFormValues }; //# sourceMappingURL=useFormValues2.mjs.map