Browse Source

feat(Form): 为fieldMapToTime的映射类型增加时间戳转换 (#2996)

为fieldMapToTime的第三个参数增加 timestamp 和 timestampStartDay 选项

timestamp的作用: 将映射的时间格式转为时间戳

timestampStartDay的作用: 将映射的时间格式转为当天0点开始的时间戳
invalid w 1 year ago
parent
commit
89d7a19f3f
1 changed files with 11 additions and 2 deletions
  1. 11 2
      src/components/Form/src/hooks/useFormValues.ts

+ 11 - 2
src/components/Form/src/hooks/useFormValues.ts

@@ -115,14 +115,23 @@ export function useFormValues({
 
       const [startTimeFormat, endTimeFormat] = Array.isArray(format) ? format : [format, format];
 
-      values[startTimeKey] = dateUtil(startTime).format(startTimeFormat);
-      values[endTimeKey] = dateUtil(endTime).format(endTimeFormat);
+      values[startTimeKey] = formatTime(startTime, startTimeFormat);
+      values[endTimeKey] = formatTime(endTime, endTimeFormat);
       Reflect.deleteProperty(values, field);
     }
 
     return values;
   }
 
+  function formatTime(time: string, format: string) {
+    if (format === 'timestamp') {
+      return dateUtil(time).unix();
+    } else if (format === 'timestampStartDay') {
+      return dateUtil(time).startOf('day').unix();
+    }
+    return dateUtil(time).format(format);
+  }
+
   function initDefault() {
     const schemas = unref(getSchema);
     const obj: Recordable = {};