@ecoding/components.antd 0.2.31 → 0.2.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { RangePickerProps } from "antd/es/date-picker";
3
+ declare type IProps = RangePickerProps & {
4
+ value?: string | number;
5
+ disabledDate?: (current: any) => RangePickerProps['disabledDate'];
6
+ onChange?: any;
7
+ showTime?: boolean;
8
+ className?: string;
9
+ style?: React.CSSProperties;
10
+ disabled?: boolean;
11
+ format?: string;
12
+ };
13
+ declare const Picker: React.FC<IProps>;
14
+ export default Picker;
@@ -0,0 +1,40 @@
1
+ import React, { useEffect, useState } from "react";
2
+ import dayjs from "dayjs";
3
+ import { DatePicker } from "antd";
4
+ const Picker = (props) => {
5
+ const [date, setDates] = useState();
6
+ // const disabledDate: RangePickerProps['disabledDate'] = (current) => {
7
+ // // Can not select days before today and today
8
+ // return current && current < dayjs().endOf('day');
9
+ // };
10
+ const change = (v) => {
11
+ let value;
12
+ setDates(v);
13
+ if (props.format) {
14
+ value = dayjs(v).format(props.format || "YYYY-MM-DD HH:mm:ss");
15
+ }
16
+ else {
17
+ value = dayjs(v).valueOf();
18
+ }
19
+ props.onChange && props.onChange(value);
20
+ };
21
+ useEffect(() => {
22
+ if (!props.value) {
23
+ return;
24
+ }
25
+ let v;
26
+ if (typeof props.value === "string") {
27
+ v = /^[0-9]*$/.test(props.value) ? dayjs(Number(props.value)) : dayjs(props.value);
28
+ }
29
+ if (typeof props.value === "number") {
30
+ v = dayjs(props.value);
31
+ }
32
+ if (typeof props.value === "object") {
33
+ v = props.value;
34
+ }
35
+ setDates(v);
36
+ }, [props.value]);
37
+ return (React.createElement(DatePicker, { value: date, className: props.className || undefined, style: props.style || undefined, showTime: props.showTime ? { defaultValue: dayjs("00:00:00", "HH:mm:ss") } : undefined, disabledDate: props.disabledDate || undefined, disabled: props.disabled || undefined, onChange: change }));
38
+ };
39
+ Picker.defaultProps = {};
40
+ export default Picker;
@@ -12,6 +12,7 @@ interface IProps {
12
12
  maxCount?: number;
13
13
  name?: string;
14
14
  data?: any;
15
+ extraData?: any;
15
16
  value?: IRes[];
16
17
  headers?: any;
17
18
  uploadRef?: any;
@@ -51,16 +51,21 @@ const SingleFileUpload = (props) => {
51
51
  return props.action();
52
52
  }, [props.actionParams]);
53
53
  const handleChange = (info, type) => {
54
+ var _a, _b;
54
55
  switch (info.file.status) {
55
56
  case 'uploading':
56
57
  Loading.show();
57
58
  break;
58
59
  case 'done':
59
60
  Loading.hide();
60
- const response = info.file.response;
61
+ const response = info.file.response || {};
61
62
  const file = info.file;
62
- if ((response && response.code === 200) || response.success) {
63
- const tempObj = Object.assign({ name: file.name, url: response.data.url }, props.data);
63
+ const data = response.data || response.model;
64
+ if (response.code === 200 ||
65
+ response.code === 0 ||
66
+ response.success ||
67
+ response.successed) {
68
+ const tempObj = Object.assign({ name: file.name, url: data.url }, props.extraData);
64
69
  const tempRes = infos.concat([]);
65
70
  tempRes.push(tempObj);
66
71
  setInfos(tempRes);
@@ -84,7 +89,7 @@ const SingleFileUpload = (props) => {
84
89
  Toast.error({
85
90
  mask: true,
86
91
  title: info.file.response
87
- ? `${info.file.name}-${info.file.response.msg}` || `${info.file.name}-${info.file.response.message}`
92
+ ? `${info.file.name}-${(_a = info.file.response) === null || _a === void 0 ? void 0 : _a.msg}` || `${info.file.name}-${(_b = info.file.response) === null || _b === void 0 ? void 0 : _b.message}`
88
93
  : `${info.file.name}-服务出错,文件上传失败`
89
94
  });
90
95
  props.onError && props.onError(info.file);
@@ -128,6 +133,7 @@ SingleFileUpload.defaultProps = {
128
133
  openFileDialogOnClick: true,
129
134
  icon: true,
130
135
  data: {},
136
+ extraData: {},
131
137
  maxCount: 10,
132
138
  headers: undefined,
133
139
  buttonText: '点击上传',
@@ -1,14 +1,15 @@
1
1
  import React from "react";
2
- import { RangePickerProps } from "antd/es/date-picker";
3
2
  import type { Dayjs } from "dayjs";
4
3
  declare type RangeValue = [Dayjs | null, Dayjs | null] | null;
5
- declare type IProps = RangePickerProps & {
4
+ interface IProps {
6
5
  value?: RangeValue;
6
+ showTime?: boolean;
7
7
  rangeDay?: number;
8
8
  onChange?: any;
9
9
  className?: string;
10
10
  style?: React.CSSProperties;
11
11
  disabled?: boolean;
12
- };
12
+ format?: string;
13
+ }
13
14
  declare const Picker: React.FC<IProps>;
14
15
  export default Picker;
@@ -1,9 +1,10 @@
1
- import React, { useState } from "react";
1
+ import React, { useState, useEffect } from "react";
2
2
  import dayjs from "dayjs";
3
3
  import { DatePicker } from "antd";
4
+ ;
4
5
  const { RangePicker } = DatePicker;
5
6
  const Picker = (props) => {
6
- const [dates, setDates] = useState(props.value || null);
7
+ const [dates, setDates] = useState();
7
8
  const disabledDate = (current) => {
8
9
  if (!dates) {
9
10
  return false;
@@ -12,11 +13,48 @@ const Picker = (props) => {
12
13
  const tooEarly = dates[1] && dates[1].diff(current, "days") > props.rangeDay;
13
14
  return !!tooEarly || !!tooLate;
14
15
  };
15
- return (React.createElement(RangePicker, { showTime: {
16
+ const change = (v) => {
17
+ if (!v) {
18
+ return;
19
+ }
20
+ let value;
21
+ setDates(v);
22
+ if (props.format) { // "YYYY-MM-DD HH:mm:ss"
23
+ value = [dayjs(v[0]).format(props.format), dayjs(v[1]).format(props.format)];
24
+ }
25
+ else {
26
+ value = [dayjs(v[0]).valueOf(), dayjs(v[1]).valueOf()];
27
+ }
28
+ props.onChange && props.onChange(value);
29
+ };
30
+ useEffect(() => {
31
+ if (!props.value || !Array.isArray(props.value) || props.value.length < 2) {
32
+ return;
33
+ }
34
+ const v = [];
35
+ props.value.forEach((item) => {
36
+ if (typeof item === "string") {
37
+ if (/^[0-9]*$/.test(item)) {
38
+ v.push(dayjs(Number(item)));
39
+ }
40
+ else {
41
+ v.push(dayjs(item));
42
+ }
43
+ }
44
+ if (typeof item === "number") {
45
+ v.push(dayjs(item));
46
+ }
47
+ if (typeof item === "object") {
48
+ v.push(item);
49
+ }
50
+ });
51
+ setDates(v);
52
+ }, [props.value]);
53
+ return (React.createElement(RangePicker, { value: dates, className: props.className || undefined, style: props.style || undefined, showTime: props.showTime ? {
16
54
  defaultValue: [dayjs("00:00:00", "HH:mm:ss"), dayjs("23:59:59", "HH:mm:ss")]
17
- }, onCalendarChange: (val) => setDates(val), disabledDate: disabledDate, onChange: (v) => props.onChange(v) }));
55
+ } : undefined, onCalendarChange: (val) => setDates(val), disabledDate: props.rangeDay ? disabledDate : undefined, disabled: props.disabled || undefined, onChange: change }));
18
56
  };
19
57
  Picker.defaultProps = {
20
- rangeDay: 30
58
+ rangeDay: undefined
21
59
  };
22
60
  export default Picker;
@@ -30,12 +30,16 @@ const SingleFileUpload = (props) => {
30
30
  case "uploading":
31
31
  break;
32
32
  case "done":
33
- const response = info.file.response;
34
- if ((response && response.code === 200) || response.success) {
35
- const url = response.data && response.data.url;
33
+ const response = info.file.response || {};
34
+ const data = response.data || response.model;
35
+ if (response.code === 200 ||
36
+ response.code === 0 ||
37
+ response.success ||
38
+ response.successed) {
39
+ const url = data && data.url;
36
40
  setFileUrl(url);
37
41
  props.onChange && props.onChange(url);
38
- props.onDone && props.onDone(info.file, info.file.response.data);
42
+ props.onDone && props.onDone(info.file, data);
39
43
  }
40
44
  else {
41
45
  Toast.error({
@@ -53,9 +53,13 @@ const ImgUpload = (props) => {
53
53
  break;
54
54
  case "done":
55
55
  setLoading(false);
56
- const response = info.file.response;
57
- if ((response && response.code === 200) || response.success) {
58
- const url = response.data && response.data.url;
56
+ const response = info.file.response || {};
57
+ const data = response.data || response.model;
58
+ if (response.code === 200 ||
59
+ response.code === 0 ||
60
+ response.success ||
61
+ response.successed) {
62
+ const url = data && data.url;
59
63
  setImageUrl(url);
60
64
  // Form.item 值注入关键
61
65
  props.onChange && props.onChange(url);
package/lib/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { default as AsyncCascader } from "./core/async-cascader";
8
8
  export { default as LengthInput } from "./core/length-input";
9
9
  export { default as PhoneInput } from "./core/phone-input";
10
10
  export { default as RangePicker } from "./core/range-picker";
11
+ export { default as DatePicker } from "./core/date.picker";
11
12
  export { default as SingleImgUpload } from "./core/single-img-upload";
12
13
  export { default as SingleFileUpload } from "./core/single-file-upload";
13
14
  export { default as MultipleUpload } from "./core/multiple-upload";
package/lib/index.js CHANGED
@@ -8,6 +8,7 @@ export { default as AsyncCascader } from "./core/async-cascader";
8
8
  export { default as LengthInput } from "./core/length-input";
9
9
  export { default as PhoneInput } from "./core/phone-input";
10
10
  export { default as RangePicker } from "./core/range-picker";
11
+ export { default as DatePicker } from "./core/date.picker";
11
12
  export { default as SingleImgUpload } from "./core/single-img-upload";
12
13
  export { default as SingleFileUpload } from "./core/single-file-upload";
13
14
  export { default as MultipleUpload } from "./core/multiple-upload";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecoding/components.antd",
3
- "version": "0.2.31",
3
+ "version": "0.2.33",
4
4
  "author": "cxc",
5
5
  "homepage": "",
6
6
  "license": "MIT",
@@ -44,5 +44,5 @@
44
44
  "dependencies": {
45
45
  "react-quill": "^2.0.0"
46
46
  },
47
- "gitHead": "bd97cd7929a841cc580a8b1399d177f8cb33893d"
47
+ "gitHead": "d73e8530a38213c98888a7ed09f1225c0cecbc73"
48
48
  }