ztxkui 3.9.4 → 3.9.6

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.
package/dist/Demo.js CHANGED
@@ -2,11 +2,12 @@ import EnhanceSelect from 'components/EnhanceSelect';
2
2
  import { useEffect, useState } from 'react';
3
3
  import { stringify } from 'qs';
4
4
  import { Link } from 'react-router-dom';
5
+ import { token } from './constants';
5
6
  var selectStyle = { width: '200px' };
6
7
  function request(options) {
7
8
  return fetch(options.url + "?" + stringify(options.params), {
8
9
  headers: {
9
- 'Zmdms-Auth': 'bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6bnVsbCwicmVhbF9uYW1lIjoi6ZmI5Lqa6ZuEIiwiY2xpZW50X3R5cGUiOiJ3ZWIiLCJkYXRhX3JvbGVfaWQiOiIxMzQ1OTc4NTA1MzAyMDU2OTYyLDE0NjgwMzUzNTE2MjUyODU2MzQsMTU0MjA3NjMwODU3ODAyNTQ3NCIsImNsaWVudF9pZCI6InN3b3JkIiwidXNlcl90eXBlIjoid2ViIiwicm9sZV9pZCI6IjExMjM1OTg4MTY3Mzg2NzUyMDEsMTQ2NzAxNTk3NTQ4NDc2MDA2NiwxNDY4MDM0NDM3MTU3OTYxNzI5LDE0ODA4MjkzMzc5MzkxMzI0MTciLCJwb3N0X25hbWUiOm51bGwsInNjb3BlIjpbImFsbCJdLCJpbnRlcnZpZXdfaWQiOm51bGwsImV4cCI6MTY2NTAzMzgwMywib3JnX25hbWUiOm51bGwsImp0aSI6Ijk1MDJkZjkxLWEwZDAtNDU5Ni1hZGEwLWU1YmEzM2RiYjkzOCIsIm1lbWJlcl9pZCI6MSwiY29tcGFueV9pZCI6bnVsbCwic3lzdGVtX2lkIjpudWxsLCJkZXB0X25hbWUiOm51bGwsImF2YXRhciI6IiIsImRhdGFfcm9sZV9uYW1lIjoiYWRtaW4sYWRtaW4sYWRtaW4iLCJhdXRob3JpdGllcyI6WyJhZG1pbiIsInVzZXIiLCJhZG1pbmlzdHJhdG9yIl0sInJvbGVfbmFtZSI6ImFkbWluaXN0cmF0b3IsdXNlcixhZG1pbixhZG1pbiIsInJlc3VtZV90ZW1wbGF0ZSI6bnVsbCwibGljZW5zZSI6InBvd2VyZWQgYnkgem1kbXMiLCJwb3N0X2lkIjoiIiwidXNlcl9pZCI6IjE0MTI5NTM4MDQzMzM1NTU3MTQiLCJvcmdfaWQiOm51bGwsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjpudWxsfQ.YhEz7JGYIXKXVinlyHEqgmxltIEPCySypAvfOqbxQWY',
10
+ 'Zmdms-Auth': "bearer " + token,
10
11
  },
11
12
  method: options.method,
12
13
  }).then(function (response) { return response.json(); });
@@ -18,14 +19,15 @@ function Demo() {
18
19
  var _c = useState(), value = _c[0], setValue = _c[1];
19
20
  var _d = useState(), value1 = _d[0], setValue1 = _d[1];
20
21
  var _e = useState(), value2 = _e[0], setValue2 = _e[1];
21
- var _f = useState('0'), selectVal = _f[0], setSelectVal = _f[1];
22
+ var _f = useState(), value3 = _f[0], setValue3 = _f[1];
23
+ var _g = useState('0'), selectVal = _g[0], setSelectVal = _g[1];
22
24
  var params = useState({
23
25
  tenantId: '000000',
24
26
  isCreateUser: 0,
25
27
  })[0];
26
- var _g = useState(JSON.stringify({
28
+ var _h = useState(JSON.stringify({
27
29
  status: 50,
28
- })), params1 = _g[0], setParams1 = _g[1];
30
+ })), params1 = _h[0], setParams1 = _h[1];
29
31
  // 模拟接口请求
30
32
  useEffect(function () {
31
33
  var timeoutId = setTimeout(function () {
@@ -97,10 +99,16 @@ function Demo() {
97
99
  React.createElement("h2", null, "\u5F02\u6B65\u83B7\u53D6\u6570\u636E\uFF0C\u5E76\u7F13\u5B58\u6570\u636E"),
98
100
  React.createElement("h2", null, "\u8FDC\u7A0B\u6A21\u7CCA\u641C\u7D22"),
99
101
  React.createElement("button", { onClick: function () { return setValue('1462433051208762629'); } }, "\u4FEE\u6539"),
102
+ React.createElement("button", { onClick: function () {
103
+ console.log(value, value3);
104
+ } }, "\u83B7\u53D6\u6570\u636E"),
100
105
  React.createElement("p", null, "\u8FDC\u7A0B\u641C\u7D22"),
101
106
  React.createElement(EnhanceSelect, { style: selectStyle,
102
107
  // defaultList={list}
103
- placeholder: "\u53EF\u8FDC\u7A0B\u6A21\u7CCA\u641C\u7D22", url: "http://192.168.0.83:8000/api/zmdms-system/employee/page", request: request, remoteSearch: true, isHandAddItem: true, isRemoteSearchDataKey: false, dataKey: "id", titleKey: "empName", value: value, showAll: true, onChange: function (value, option, fullData) {
108
+ placeholder: "\u53EF\u8FDC\u7A0B\u6A21\u7CCA\u641C\u7D22", url: "http://192.168.0.83:8000/api/zmdms-system/employee/page", request: request, remoteSearch: true, isHandAddItem: true, isRemoteSearchDataKey: false, dataKey: "id", titleKey: "empName", value: value, showAll: true,
109
+ // isPaste
110
+ onChange: function (value, option, fullData) {
111
+ console.log(value);
104
112
  setValue(value);
105
113
  }, params: JSON.stringify(params),
106
114
  // value={value}
@@ -108,7 +116,10 @@ function Demo() {
108
116
  // defaultList={defaultList}
109
117
  isClickRequest: true }),
110
118
  React.createElement("p", null, "\u4E00\u6B21\u6027\u52A0\u8F7D\u6570\u636E"),
111
- React.createElement(EnhanceSelect, { style: selectStyle, placeholder: "\u4E00\u6B21\u6027\u52A0\u8F7D\u6570\u636E", url: "http://192.168.0.83:8000/api/zmdms-system/company/list", request: request, dataKey: "id", titleKey: "name", isClickRequest: true }),
119
+ React.createElement(EnhanceSelect, { style: selectStyle, placeholder: "\u4E00\u6B21\u6027\u52A0\u8F7D\u6570\u636E", url: "http://192.168.0.83:8000/api/zmdms-system/company/list", request: request, dataKey: "id", titleKey: "name", isClickRequest: true, isPaste: true, mode: "multiple", value: value3, onChange: function (value, option, fullData) {
120
+ console.log(value);
121
+ setValue3(value);
122
+ } }),
112
123
  React.createElement("p", null, "\u5F02\u6B65\u83B7\u53D6\u6570\u636E"),
113
124
  React.createElement("button", { onClick: function () {
114
125
  setParams1(JSON.stringify({
@@ -50,13 +50,15 @@ export var RANGEPICKER_RANGES = {
50
50
  };
51
51
  var test = "1.23asdasdasddddddddddddddddddddasdasdasddddddddddddddddddddasdasdasddddddddddddddddddddasdasdasddddddddddddddddddddasdasdasddddddddddddddddddddasdasdasddddddddddddddddddddasdasdasdddddddddddddddddddd\n2.asldkj\u963F\u65AF\u5229\u5EB7\u5927\u5BB6ask\u6765\u5F97\u53CA\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u770B\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u4E86\u5362\u5361\u65AF\u89C9\u5F97\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u770B\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u4E86\u5362\u5361\u65AF\u89C9\u5F97\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u770B\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u4E86\u5362\u5361\u65AF\u89C9\u5F97\n3.\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u770B\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u4E86\u5362\u5361\u65AF\u89C9\u5F97\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u770B\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u4E86\u5362\u5361\u65AF\u89C9\u5F97\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u770B\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u4E86\u5362\u5361\u65AF\u89C9\u5F97\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u770B\u963F\u65AF\u5229\u5EB7\u5927\u5BB6\u4E86\u5362\u5361\u65AF\u89C9\u5F97\n4.alskjdalkdj\u963F\u62C9\u5C71\u53E3\u5927\u5BB6\u963F\u65AF\u5229\u5EB7\u7684\u6309\u5B9E\u9645\u5F00\u6765\u5927\u5BB6lakjdaskldjalskdjlkasjdlkasjdlkasjdlkasjdlkasjdlkajsldasjlkdjaslkdjasldjaslkdjaskldjlaksjdlasjdlkasjdlkasjdklasjlkdjaslkdjaskldjaskldjlaskjdlaksjdlkasjdklaskjd\n";
52
52
  function BasicDemo() {
53
- var _a = useState(10), value = _a[0], setValue = _a[1];
54
- var _b = useState([
53
+ var _a = useState(2123123), value = _a[0], setValue = _a[1];
54
+ var _b = useState(2123123), value1 = _b[0], setValue1 = _b[1];
55
+ var _c = useState(2123123), value2 = _c[0], setValue2 = _c[1];
56
+ var _d = useState([
55
57
  dayjs('2022-05-11'),
56
58
  dayjs('2022-05-31'),
57
- ]), rangeValue = _b[0], setRangeValue = _b[1];
58
- var _c = useState(false), loading = _c[0], setLoading = _c[1];
59
- var _d = useState(), iValue = _d[0], setIValue = _d[1];
59
+ ]), rangeValue = _d[0], setRangeValue = _d[1];
60
+ var _e = useState(false), loading = _e[0], setLoading = _e[1];
61
+ var _f = useState(), iValue = _f[0], setIValue = _f[1];
60
62
  return (React.createElement(Container, { loading: loading, isFlex: true },
61
63
  React.createElement(Button, { onClick: function () {
62
64
  setLoading(true);
@@ -107,7 +109,17 @@ function BasicDemo() {
107
109
  React.createElement(InputNumber, { value: value, onChange: function (value) {
108
110
  console.log(value, 1);
109
111
  setValue(value);
110
- }, precision: 8, formatterType: "currency", style: { width: '300px' } }),
112
+ },
113
+ // precision={3}
114
+ formatterType: "currency", style: { width: '300px' } }),
115
+ React.createElement(InputNumber, { value: value1, onChange: function (value) {
116
+ console.log(value, 1);
117
+ setValue1(value);
118
+ }, precision: 3, formatterType: "percent", style: { width: '300px' } }),
119
+ React.createElement(InputNumber, { value: value2, onChange: function (value) {
120
+ console.log(value, 1);
121
+ setValue2(value);
122
+ }, precision: 3, formatterType: "thousands", style: { width: '300px' } }),
111
123
  React.createElement(AntInputNumber, { value: value, onChange: function (value) {
112
124
  console.log(value, 1);
113
125
  setValue(value);
@@ -122,13 +134,11 @@ function BasicDemo() {
122
134
  React.createElement("div", { className: "placeholder" },
123
135
  React.createElement("button", { onClick: function () {
124
136
  var _a, _b, _c, _d;
125
- console.log(value, rangeValue);
137
+ console.log(value, value1, value2, rangeValue);
126
138
  console.log((_b = (_a = rangeValue === null || rangeValue === void 0 ? void 0 : rangeValue[0]) === null || _a === void 0 ? void 0 : _a.format) === null || _b === void 0 ? void 0 : _b.call(_a, 'YYYY-MM-DD'));
127
139
  console.log((_d = (_c = rangeValue === null || rangeValue === void 0 ? void 0 : rangeValue[1]) === null || _c === void 0 ? void 0 : _c.format) === null || _d === void 0 ? void 0 : _d.call(_c, 'YYYY-MM-DD'));
128
140
  } }, "\u83B7\u53D6\u6570\u636E")),
129
- React.createElement(Input.TextArea, { className: "placeholder", autoSize: true, ref: function (el) {
130
- console.log(el);
131
- } }),
141
+ React.createElement(Input.TextArea, { className: "placeholder", autoSize: true }),
132
142
  React.createElement("div", { style: { border: '1px solid red' } },
133
143
  React.createElement(FormList, { gutter: 16 },
134
144
  React.createElement(FormList.FormItem, { span: 24, title: "\u63D0\u5355\u53F7\u63D0\u5355\u53F7\u63D0\u5355\u53F7\u63D0\u5355\u53F7", isEllipsis: false }, test),
@@ -61,7 +61,7 @@ var FormDemo = function () {
61
61
  React.createElement(Form, { name: "test-list", form: form },
62
62
  React.createElement(SearchContainer, { dark: true },
63
63
  React.createElement(SearchLeft, { configInfo: configInfoMemo, isDynamic: true, dynamicStorageKey: "symbol-key-00001", isToggle: true, handleRef: handleRef },
64
- React.createElement(SearchItem, { width: "half", name: "pwNo", configname: "pwNoCopy", label: "\u5165\u5E93\u5355\u53F7", rules: [
64
+ React.createElement(SearchItem, { width: "half", name: "pwNo", configname: "pwNoCopy", label: "\u5165\u5E93\u5355\u53F7", disabled: true, rules: [
65
65
  {
66
66
  required: true,
67
67
  message: '采购基本数据-请选择入库单号',
@@ -70,7 +70,7 @@ var FormDemo = function () {
70
70
  React.createElement(Input.TextArea, { autoSize: true, allowClear: true, disabled: true, onChange: function (e) {
71
71
  console.log(e.target.value);
72
72
  } })),
73
- React.createElement(SearchItem, { width: "half", name: "pwNo1", label: "\u5165\u5E93\u5355\u53F71", rules: [
73
+ React.createElement(SearchItem, { width: "half", name: "pwNo1", label: "\u5165\u5E93\u5355\u53F71", dynamicdisabled: "1", rules: [
74
74
  {
75
75
  required: false,
76
76
  message: '采购基本数据-请选择入库单号1',
@@ -150,7 +150,7 @@ var EditableTable = function () {
150
150
  placeholder: '输入',
151
151
  min: 0,
152
152
  precision: 2,
153
- formatterType: 'currency',
153
+ // formatterType: 'currency',
154
154
  },
155
155
  required: true,
156
156
  showCopy: true,
@@ -132,6 +132,13 @@ export interface IProps<T> extends Omit<SelectProps<T>, 'onChange'> {
132
132
  */
133
133
  isClickRequest?: boolean;
134
134
  handleRef?: any;
135
+ /**
136
+ * 是否粘贴根据一定规则直接设置成数据。
137
+ * 类似于粘贴板中:'小明,小红,小丽'
138
+ * 需要调用onChange方法,选中 选中 小明、小红、小丽
139
+ */
140
+ isPaste?: boolean;
141
+ pasteRule?: string[];
135
142
  }
136
143
  export declare function clearCatchData(url: string): void;
137
144
  /**
@@ -149,6 +156,6 @@ export declare function clearCatchData(url: string): void;
149
156
  * { code: 200, data: { records: [] } } || { status: 200, data: { code: 200, data: { records: [] } } }
150
157
  * 如果数据不能在接口层面满足以上形式,那么组件提供transformData属性,转换接口数据格式
151
158
  */
152
- declare function EnhanceSelect<VT extends SelectValue = SelectValue>({ list, defaultList, params, url, method, timeout, dataKey, componentKey, titleKey, showAll, isCatch, onCompleted, onChange, onSearch, request, remoteSearch, remoteSearchKey, remoteSearchDataKey, isRemoteSearchDataKey, transformData, joinKey, joinStr, lineFeedKey, lineFeedStr, mustHasParams, disabledValues, searchDeleteKeys, isHandAddItem, isPage, currentSize, isCopy, onBlur, onFocus, isClickRequest, handleRef, ...restProps }: IProps<VT>): JSX.Element;
159
+ declare function EnhanceSelect<VT extends SelectValue = SelectValue>({ list, defaultList, params, url, method, timeout, dataKey, componentKey, titleKey, showAll, isCatch, onCompleted, onChange, onSearch, request, remoteSearch, remoteSearchKey, remoteSearchDataKey, isRemoteSearchDataKey, transformData, joinKey, joinStr, lineFeedKey, lineFeedStr, mustHasParams, disabledValues, searchDeleteKeys, isHandAddItem, isPage, currentSize, isCopy, onBlur, onFocus, isClickRequest, handleRef, isPaste, pasteRule, ...restProps }: IProps<VT>): JSX.Element;
153
160
  declare const _default: React.MemoExoticComponent<typeof EnhanceSelect>;
154
161
  export default _default;
@@ -126,36 +126,35 @@ function clearNullData(arr, dataKey, titleKey) {
126
126
  * 如果数据不能在接口层面满足以上形式,那么组件提供transformData属性,转换接口数据格式
127
127
  */
128
128
  function EnhanceSelect(_a) {
129
- var list = _a.list, defaultList = _a.defaultList, params = _a.params, url = _a.url, _b = _a.method, method = _b === void 0 ? 'GET' : _b, _c = _a.timeout, timeout = _c === void 0 ? 60000 : _c, _d = _a.dataKey, dataKey = _d === void 0 ? 'id' : _d, componentKey = _a.componentKey, _e = _a.titleKey, titleKey = _e === void 0 ? 'name' : _e, showAll = _a.showAll, isCatch = _a.isCatch, onCompleted = _a.onCompleted, onChange = _a.onChange, onSearch = _a.onSearch, request = _a.request, remoteSearch = _a.remoteSearch, remoteSearchKey = _a.remoteSearchKey, remoteSearchDataKey = _a.remoteSearchDataKey, _f = _a.isRemoteSearchDataKey, isRemoteSearchDataKey = _f === void 0 ? true : _f, transformData = _a.transformData, joinKey = _a.joinKey, _g = _a.joinStr, joinStr = _g === void 0 ? '-' : _g, lineFeedKey = _a.lineFeedKey, _h = _a.lineFeedStr, lineFeedStr = _h === void 0 ? '-' : _h, mustHasParams = _a.mustHasParams, disabledValues = _a.disabledValues, searchDeleteKeys = _a.searchDeleteKeys, isHandAddItem = _a.isHandAddItem, isPage = _a.isPage, _j = _a.currentSize, currentSize = _j === void 0 ? 30 : _j, isCopy = _a.isCopy, onBlur = _a.onBlur, onFocus = _a.onFocus, isClickRequest = _a.isClickRequest, handleRef = _a.handleRef, restProps = __rest(_a, ["list", "defaultList", "params", "url", "method", "timeout", "dataKey", "componentKey", "titleKey", "showAll", "isCatch", "onCompleted", "onChange", "onSearch", "request", "remoteSearch", "remoteSearchKey", "remoteSearchDataKey", "isRemoteSearchDataKey", "transformData", "joinKey", "joinStr", "lineFeedKey", "lineFeedStr", "mustHasParams", "disabledValues", "searchDeleteKeys", "isHandAddItem", "isPage", "currentSize", "isCopy", "onBlur", "onFocus", "isClickRequest", "handleRef"]);
129
+ var list = _a.list, defaultList = _a.defaultList, params = _a.params, url = _a.url, _b = _a.method, method = _b === void 0 ? 'GET' : _b, _c = _a.timeout, timeout = _c === void 0 ? 60000 : _c, _d = _a.dataKey, dataKey = _d === void 0 ? 'id' : _d, componentKey = _a.componentKey, _e = _a.titleKey, titleKey = _e === void 0 ? 'name' : _e, showAll = _a.showAll, isCatch = _a.isCatch, onCompleted = _a.onCompleted, onChange = _a.onChange, onSearch = _a.onSearch, request = _a.request, remoteSearch = _a.remoteSearch, remoteSearchKey = _a.remoteSearchKey, remoteSearchDataKey = _a.remoteSearchDataKey, _f = _a.isRemoteSearchDataKey, isRemoteSearchDataKey = _f === void 0 ? true : _f, transformData = _a.transformData, joinKey = _a.joinKey, _g = _a.joinStr, joinStr = _g === void 0 ? '-' : _g, lineFeedKey = _a.lineFeedKey, _h = _a.lineFeedStr, lineFeedStr = _h === void 0 ? '-' : _h, mustHasParams = _a.mustHasParams, disabledValues = _a.disabledValues, searchDeleteKeys = _a.searchDeleteKeys, isHandAddItem = _a.isHandAddItem, isPage = _a.isPage, _j = _a.currentSize, currentSize = _j === void 0 ? 30 : _j, isCopy = _a.isCopy, onBlur = _a.onBlur, onFocus = _a.onFocus, isClickRequest = _a.isClickRequest, handleRef = _a.handleRef, isPaste = _a.isPaste, _k = _a.pasteRule, pasteRule = _k === void 0 ? [',', '-', '\r\n', '\r', '\n', ' '] : _k, restProps = __rest(_a, ["list", "defaultList", "params", "url", "method", "timeout", "dataKey", "componentKey", "titleKey", "showAll", "isCatch", "onCompleted", "onChange", "onSearch", "request", "remoteSearch", "remoteSearchKey", "remoteSearchDataKey", "isRemoteSearchDataKey", "transformData", "joinKey", "joinStr", "lineFeedKey", "lineFeedStr", "mustHasParams", "disabledValues", "searchDeleteKeys", "isHandAddItem", "isPage", "currentSize", "isCopy", "onBlur", "onFocus", "isClickRequest", "handleRef", "isPaste", "pasteRule"]);
130
130
  // TODO: 注释动态设置open逻辑 start
131
131
  // const currentClick = useRef<boolean>(true);
132
132
  // TODO: 注释动态设置open逻辑 end
133
133
  // 下拉数据源
134
- var _k = useFetchState([]), selectList = _k[0], setSelectList = _k[1];
134
+ var _l = useFetchState([]), selectList = _l[0], setSelectList = _l[1];
135
135
  // 手动添加的数据源
136
- var _l = useState([]), handleAddItems = _l[0], setHandleAddItems = _l[1];
136
+ var _m = useState([]), handleAddItems = _m[0], setHandleAddItems = _m[1];
137
137
  // 多选时,自己需要合并的数据
138
- var _m = useFetchState([]), multipleList = _m[0], setMultipleList = _m[1];
139
- var _o = useFetchState(false), loading = _o[0], setLoading = _o[1];
138
+ var _o = useFetchState([]), multipleList = _o[0], setMultipleList = _o[1];
139
+ var _p = useFetchState(false), loading = _p[0], setLoading = _p[1];
140
140
  var fetchId = useRef(0); // 请求Id,每次请求都会加1
141
141
  // 是否使用过远程搜索主键key
142
- var _p = useFetchState(false), firstLoading = _p[0], setFirstLoading = _p[1];
142
+ var _q = useFetchState(false), firstLoading = _q[0], setFirstLoading = _q[1];
143
143
  // 第一次清空时,才做远程查询
144
- var _q = useFetchState(false), firstClearData = _q[0], setFirstClearData = _q[1];
144
+ var _r = useFetchState(false), firstClearData = _r[0], setFirstClearData = _r[1];
145
145
  // 获得焦点选中
146
- var _r = useState(false), isOpen = _r[0], setIsOpen = _r[1];
146
+ var _s = useState(false), isOpen = _s[0], setIsOpen = _s[1];
147
147
  // 当前搜索文本
148
- var _s = useState(), searchValue = _s[0], setSearchValue = _s[1];
148
+ var _t = useState(), searchValue = _t[0], setSearchValue = _t[1];
149
149
  // 当前页
150
- var _t = useState(1), currentPage = _t[0], setCurrentPage = _t[1];
150
+ var _u = useState(1), currentPage = _u[0], setCurrentPage = _u[1];
151
151
  // 总条数
152
- var _u = useState(0), count = _u[0], setCount = _u[1];
153
- // TODO: 注释动态设置open逻辑 start
154
- // // 手动清空数据
155
- // const handleClearDataRef = useRef<boolean>(false);
156
- // TODO: 注释动态设置open逻辑 end
152
+ var _v = useState(0), count = _v[0], setCount = _v[1];
157
153
  // 是否自动请求
158
154
  var isAutoRequest = useRef(false); // 请求过了
155
+ // 自动填词
156
+ var autoPasteListRef = useRef([]);
157
+ var selectRef = useRef();
159
158
  // 处理value
160
159
  var newValue = useMemo(function () {
161
160
  var _a, _b;
@@ -238,6 +237,39 @@ function EnhanceSelect(_a) {
238
237
  console.log(err);
239
238
  });
240
239
  }, [setSelectList, setLoading, transformData, mustHasParams]);
240
+ // 分词粘贴
241
+ function pasteHandle(value) {
242
+ if (isPaste && restProps.mode === 'multiple') {
243
+ var pasteRuleIndex = pasteRule.findIndex(function (item) { return value.indexOf(item) !== -1; });
244
+ if (pasteRuleIndex !== -1) {
245
+ var splitStr = pasteRule[pasteRuleIndex];
246
+ var resultValue = value.split(splitStr);
247
+ resultValue = Array.from(new Set(resultValue));
248
+ if (Array.isArray(restProps.value)) {
249
+ try {
250
+ resultValue = restProps.value.concat(resultValue.filter(function (v) {
251
+ return (restProps.value.findIndex(function (i) { var _a; return ((_a = i === null || i === void 0 ? void 0 : i.toString) === null || _a === void 0 ? void 0 : _a.call(i)) === v; }) === -1);
252
+ }));
253
+ }
254
+ catch (err) { }
255
+ }
256
+ autoPasteListRef.current = resultValue.map(function (v) {
257
+ var _a;
258
+ return (_a = {},
259
+ _a[dataKey] = v,
260
+ _a[titleKey] = v,
261
+ _a);
262
+ });
263
+ onChangeHandle(resultValue, resultValue);
264
+ setTimeout(function () {
265
+ var _a, _b;
266
+ (_b = (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.blur) === null || _b === void 0 ? void 0 : _b.call(_a);
267
+ }, 300);
268
+ return true;
269
+ }
270
+ }
271
+ return false;
272
+ }
241
273
  // 远程搜索
242
274
  var getRemoteDataHandle = useCallback(function (value, dataKeyValue, otherObj) {
243
275
  if (otherObj === void 0) { otherObj = {}; }
@@ -343,14 +375,10 @@ function EnhanceSelect(_a) {
343
375
  var _a;
344
376
  // 当value有值时才进行搜索
345
377
  // if (value) {
346
- console.log(value);
347
- // setIsOpen(true);
348
- // TODO: 注释动态设置open逻辑 start
349
- // if (value || handleClearDataRef.current) {
350
- // setIsOpen(true);
351
- // }
352
- // handleClearDataRef.current = false;
353
- // TODO: 注释动态设置open逻辑 end
378
+ var result = pasteHandle(value);
379
+ if (result) {
380
+ return;
381
+ }
354
382
  if (isHandAddItem) {
355
383
  if (value) {
356
384
  setHandleAddItems([
@@ -370,17 +398,14 @@ function EnhanceSelect(_a) {
370
398
  getRemoteDataHandle(value, '');
371
399
  // }
372
400
  };
373
- var onSearchHandle = debounce(searchHandle, 800);
401
+ var onSearchHandle = debounce(searchHandle, 400);
374
402
  var onSearchHandleInner = function (value) {
375
403
  var _a;
376
404
  // console.log(value);
377
- // setIsOpen(true);
378
- // TODO: 注释动态设置open逻辑 start
379
- // if (value || handleClearDataRef.current) {
380
- // setIsOpen(true);
381
- // }
382
- // handleClearDataRef.current = false;
383
- // TODO: 注释动态设置open逻辑 end
405
+ var result = pasteHandle(value);
406
+ if (result) {
407
+ return;
408
+ }
384
409
  if (isHandAddItem) {
385
410
  if (value) {
386
411
  setHandleAddItems([
@@ -811,18 +836,17 @@ function EnhanceSelect(_a) {
811
836
  }
812
837
  // 本地搜索
813
838
  var filterOptionHandle = function (input, option) {
839
+ if (isPaste && restProps.mode === 'multiple') {
840
+ var pasteRuleIndex = pasteRule.findIndex(function (item) { return input.indexOf(item) !== -1; });
841
+ if (pasteRuleIndex !== -1) {
842
+ return true;
843
+ }
844
+ }
814
845
  var text = textContent(option === null || option === void 0 ? void 0 : option.children);
815
- return (text === null || text === void 0 ? void 0 : text.toLowerCase().indexOf(input.toLowerCase())) >= 0;
846
+ return (text === null || text === void 0 ? void 0 : text.toLowerCase().indexOf(input.toLowerCase().trim())) >= 0;
816
847
  };
817
848
  // onChange 方法
818
- var onChangeHandle = function (value, option) {
819
- // TODO: 注释动态设置open逻辑 start
820
- // if ((Array.isArray(value) && value.length === 0) || !value) {
821
- // currentClick.current = true;
822
- // } else {
823
- // currentClick.current = false;
824
- // }
825
- // TODO: 注释动态设置open逻辑 end
849
+ function onChangeHandle(value, option) {
826
850
  setFirstLoading(true);
827
851
  if (((Array.isArray(value) && value.length === 0) || !value) &&
828
852
  remoteSearch &&
@@ -833,7 +857,7 @@ function EnhanceSelect(_a) {
833
857
  }
834
858
  // const _defaultList = Array.isArray(defaultList) ? defaultList : [];
835
859
  var _defaultList = clearNullData(Array.isArray(defaultList) ? defaultList : [], dataKey, titleKey);
836
- var currentList = concatData(concatData(selectList || [], _defaultList), multipleList || []);
860
+ var currentList = concatData(concatData(concatData(selectList || [], _defaultList), multipleList || []), autoPasteListRef.current);
837
861
  if (currentList && Array.isArray(currentList)) {
838
862
  var key_1 = dataKey;
839
863
  // 支持多选模式
@@ -900,31 +924,19 @@ function EnhanceSelect(_a) {
900
924
  else {
901
925
  onChange && onChange(value, option);
902
926
  }
903
- };
927
+ }
904
928
  // 焦点事件
905
929
  var onFocusHandle = function (e) {
906
- console.log('焦点事件');
930
+ // console.log('焦点事件');
907
931
  setIsOpen(true);
908
- // TODO: 注释动态设置open逻辑 start
909
- // currentClick.current = false;
910
- // TODO: 注释动态设置open逻辑 end
911
932
  onFocus && onFocus(e);
912
933
  };
913
934
  var onBlurHandle = function (e) {
914
- // TODO: 注释动态设置open逻辑 start
915
- // console.log('失去焦点事件');
916
- // setIsOpen(false);
917
- // currentClick.current = false;
918
- // TODO: 注释动态设置open逻辑 end
919
935
  onBlur && onBlur(e);
920
936
  };
921
937
  // 清空数据时
922
938
  var onClearHandle = function () {
923
939
  // console.log('清空数据事件');
924
- // TODO: 注释动态设置open逻辑 start
925
- // handleClearDataRef.current = true;
926
- // setIsOpen(false);
927
- // TODO: 注释动态设置open逻辑 end
928
940
  };
929
941
  // 选中时
930
942
  var onSelectHandle = function (value, obj) {
@@ -939,11 +951,6 @@ function EnhanceSelect(_a) {
939
951
  document === null || document === void 0 ? void 0 : document.execCommand('copy');
940
952
  document.body.removeChild(textarea);
941
953
  }
942
- // TODO: 注释动态设置open逻辑 start
943
- // if (!restProps.mode) {
944
- // setIsOpen(false);
945
- // }
946
- // TODO: 注释动态设置open逻辑 end
947
954
  };
948
955
  // 点击时
949
956
  var onClickHandle = function (e) {
@@ -954,24 +961,6 @@ function EnhanceSelect(_a) {
954
961
  sendRemoteRequest();
955
962
  sendRemoteRequest1();
956
963
  }
957
- // TODO: 注释动态设置open逻辑 start
958
- // if (currentClick.current) {
959
- // console.log(e.nativeEvent.target.getAttribute('class'));
960
- // let className = '';
961
- // try {
962
- // className = e.nativeEvent.target.getAttribute('class');
963
- // } catch (err) {
964
- // console.log(err);
965
- // }
966
- // const bool = className.indexOf('rc-virtual-list') === -1;
967
- // if (isOpen && bool) {
968
- // setIsOpen(false);
969
- // } else {
970
- // setIsOpen(true);
971
- // }
972
- // }
973
- // currentClick.current = true;
974
- // TODO: 注释动态设置open逻辑 end
975
964
  };
976
965
  // 滚动加载
977
966
  var onPopupScrollHandle = function (e) {
@@ -1012,6 +1001,6 @@ function EnhanceSelect(_a) {
1012
1001
  // 这里需要注释掉,因为修改了一部分逻辑
1013
1002
  disabled: remoteSearch || isClickRequest
1014
1003
  ? restProps.disabled
1015
- : loading || restProps.disabled }), renderSelectOption()));
1004
+ : loading || restProps.disabled, ref: selectRef }), renderSelectOption()));
1016
1005
  }
1017
1006
  export default memo(EnhanceSelect);
@@ -25,9 +25,12 @@ import { InputNumber as AntInputNumber } from 'antd';
25
25
  import { message } from '../../index';
26
26
  import { getFormatter, } from '../../hooks/useFormatter';
27
27
  function InputNumber(props) {
28
- var formatterType = props.formatterType, currencySymbol = props.currencySymbol, formatter = props.formatter, parser = props.parser, precision = props.precision, max = props.max, min = props.min, onChange = props.onChange, onBlur = props.onBlur, onPressEnter = props.onPressEnter, onOverRange = props.onOverRange, overMaxTip = props.overMaxTip, lowMinTip = props.lowMinTip, restProps = __rest(props, ["formatterType", "currencySymbol", "formatter", "parser", "precision", "max", "min", "onChange", "onBlur", "onPressEnter", "onOverRange", "overMaxTip", "lowMinTip"]);
28
+ var formatterType = props.formatterType, currencySymbol = props.currencySymbol, formatter = props.formatter, parser = props.parser, precision = props.precision, max = props.max, min = props.min, onChange = props.onChange, onBlur = props.onBlur, onPressEnter = props.onPressEnter, onOverRange = props.onOverRange, overMaxTip = props.overMaxTip, lowMinTip = props.lowMinTip, onFocus = props.onFocus, restProps = __rest(props, ["formatterType", "currencySymbol", "formatter", "parser", "precision", "max", "min", "onChange", "onBlur", "onPressEnter", "onOverRange", "overMaxTip", "lowMinTip", "onFocus"]);
29
29
  var selfValue = useRef();
30
- var _a = getFormatter(formatterType, currencySymbol), _formatter = _a.formatter, _parser = _a.parser, _precision = _a.precision;
30
+ // 元素是否获得焦点
31
+ // 用来处理formatter优先级比precision高的问题
32
+ var isFocusRef = useRef(false);
33
+ var _a = getFormatter(formatterType, currencySymbol, isFocusRef, precision), _formatter = _a.formatter, _parser = _a.parser, _precision = _a.precision;
31
34
  var onChangeHandle = function (value) {
32
35
  selfValue.current = value;
33
36
  onChange && onChange(value);
@@ -50,13 +53,18 @@ function InputNumber(props) {
50
53
  }
51
54
  };
52
55
  var onBlurHandle = function (e) {
56
+ isFocusRef.current = false;
53
57
  onOverRangeHandle();
54
58
  onBlur && onBlur(e);
55
59
  };
60
+ var onFocusHandle = function (e) {
61
+ isFocusRef.current = true;
62
+ onFocus && onFocus(e);
63
+ };
56
64
  var onPressEnterHandle = function (e) {
57
65
  onOverRangeHandle();
58
66
  onPressEnter && onPressEnter(e);
59
67
  };
60
- return (React.createElement(AntInputNumber, __assign({ formatter: formatter || _formatter, parser: parser || _parser, precision: precision !== null && precision !== void 0 ? precision : _precision, onChange: onChangeHandle, onBlur: onBlurHandle, onPressEnter: onPressEnterHandle }, restProps)));
68
+ return (React.createElement(AntInputNumber, __assign({ formatter: formatter || _formatter, parser: parser || _parser, precision: precision !== null && precision !== void 0 ? precision : _precision, onChange: onChangeHandle, onBlur: onBlurHandle, onPressEnter: onPressEnterHandle, onFocus: onFocusHandle }, restProps)));
61
69
  }
62
70
  export default InputNumber;
@@ -5,6 +5,7 @@ export interface ISearchLayout {
5
5
  show?: boolean;
6
6
  disabled?: boolean;
7
7
  hiddenLabelName?: string;
8
+ dynamicDisabled?: any;
8
9
  [props: string]: any;
9
10
  }
10
11
  /**
@@ -135,13 +135,14 @@ dynamicStorageKey // 动态列配置的key值
135
135
  // 遍历当前子元素
136
136
  React.Children.forEach(children, function (item) {
137
137
  if (item === null || item === void 0 ? void 0 : item.props) {
138
- var _a = item.props, name_2 = _a.name, label_1 = _a.label, hiddenLabelName_1 = _a.hiddenLabelName, disabled = _a.disabled;
138
+ var _a = item.props, name_2 = _a.name, label_1 = _a.label, hiddenLabelName_1 = _a.hiddenLabelName, disabled = _a.disabled, dynamicDisabled_1 = _a.dynamicdisabled;
139
139
  _initDynamicList_1.push({
140
140
  name: name_2,
141
141
  label: label_1,
142
142
  hiddenLabelName: hiddenLabelName_1,
143
143
  show: true,
144
144
  disabled: disabled,
145
+ dynamicDisabled: dynamicDisabled_1,
145
146
  });
146
147
  if (!dynamicList_1 || dynamicList_1.length === 0) {
147
148
  _currentDynamicList_1.push({
@@ -150,6 +151,7 @@ dynamicStorageKey // 动态列配置的key值
150
151
  hiddenLabelName: hiddenLabelName_1,
151
152
  show: true,
152
153
  disabled: disabled,
154
+ dynamicDisabled: dynamicDisabled_1,
153
155
  });
154
156
  }
155
157
  else {
@@ -160,6 +162,7 @@ dynamicStorageKey // 动态列配置的key值
160
162
  currentData.forEach(function (item) {
161
163
  item.label = label_1;
162
164
  item.hiddenLabelName = hiddenLabelName_1;
165
+ item.dynamicDisabled = dynamicDisabled_1;
163
166
  });
164
167
  if (currentData.length > 1) {
165
168
  var index = _currentDynamicList_1.findIndex(function (currentDynamic) { return currentDynamic.name === name_2; });
@@ -180,6 +183,7 @@ dynamicStorageKey // 动态列配置的key值
180
183
  hiddenLabelName: item.hiddenLabelName,
181
184
  show: true,
182
185
  disabled: item.disabled,
186
+ dynamicDisabled: item.dynamicdisabled,
183
187
  }); }));
184
188
  // 将删除的数据剔除出去
185
189
  _currentDynamicList_1 = _currentDynamicList_1.filter(function (item) {
@@ -65,6 +65,6 @@ var SearchDrawer = function (_a) {
65
65
  React.createElement("span", null, "\uFF08\u62D6\u62FD\u6392\u5E8F\uFF09"))), width: 290, placement: "right", visible: visible, closable: false, maskClosable: false, footer: renderFooter() },
66
66
  React.createElement(DndProvider, { backend: HTML5Backend, context: window },
67
67
  React.createElement(Checkbox.Group, { value: checkedValues, onChange: onCheckboxChange }, dynamicList.map(function (item, index) { return (React.createElement(Sortable, { key: item.name, type: "search-drawer", index: index, onMoveItem: onMoveItem },
68
- React.createElement(Checkbox, { value: item.name }, item.label || item.hiddenLabelName || item.name))); })))));
68
+ React.createElement(Checkbox, { value: item.name, disabled: item.disabled || item.dynamicDisabled }, item.label || item.hiddenLabelName || item.name))); })))));
69
69
  };
70
70
  export default memo(SearchDrawer);
@@ -18,6 +18,8 @@ export interface ISearchItem extends FormItemProps {
18
18
  hiddenLabelName?: string;
19
19
  /** 没有lable显示边框 */
20
20
  noLabelShowBg?: boolean;
21
+ /** 动态列禁用隐藏 */
22
+ dynamicdisabled?: any;
21
23
  }
22
24
  declare const SearchItem: React.FC<ISearchItem>;
23
25
  export default SearchItem;
@@ -1 +1 @@
1
- export declare const token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6IiIsInJlYWxfbmFtZSI6IumZiOS6mumbhCIsImNsaWVudF90eXBlIjoid2ViIiwiZGF0YV9yb2xlX2lkIjoiMTM0NTk3ODUwNTMwMjA1Njk2MiwxNDY4MDM1MzUxNjI1Mjg1NjM0LDE1NDIwNzYzMDg1NzgwMjU0NzQiLCJjbGllbnRfaWQiOiJzd29yZCIsInVzZXJfdHlwZSI6IndlYiIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxLDE0NjcwMTU5NzU0ODQ3NjAwNjYsMTQ2ODAzNDQzNzE1Nzk2MTcyOSwxNDgwODI5MzM3OTM5MTMyNDE3IiwicG9zdF9uYW1lIjpudWxsLCJzY29wZSI6WyJhbGwiXSwiaW50ZXJ2aWV3X2lkIjoiIiwiZXhwIjoxNjY2NTc0OTQ1LCJvcmdfbmFtZSI6bnVsbCwianRpIjoiZTIxZmU0MzctNjk4Yi00ZGZhLWE1MzQtNDU2NmQwZjAzMDhmIiwibWVtYmVyX2lkIjoiMSIsImNvbXBhbnlfaWQiOiIiLCJzeXN0ZW1faWQiOm51bGwsImRlcHRfbmFtZSI6bnVsbCwiYXZhdGFyIjoiIiwiZGF0YV9yb2xlX25hbWUiOiJhZG1pbixhZG1pbixhZG1pbiIsImF1dGhvcml0aWVzIjpbImFkbWluIiwidXNlciIsImFkbWluaXN0cmF0b3IiXSwicm9sZV9uYW1lIjoiYWRtaW5pc3RyYXRvcix1c2VyLGFkbWluLGFkbWluIiwicmVzdW1lX3RlbXBsYXRlIjpudWxsLCJsaWNlbnNlIjoicG93ZXJlZCBieSB6bWRtcyIsInBvc3RfaWQiOiIiLCJ1c2VyX2lkIjoiMTQxMjk1MzgwNDMzMzU1NTcxNCIsIm9yZ19pZCI6IiIsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjoiIn0.3wQ20AOx9kTlKYw1NgSnvt_qUOl3QnJopejxIQtXgU0";
1
+ export declare const token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6IiIsInJlYWxfbmFtZSI6IumZiOS6mumbhCIsImNsaWVudF90eXBlIjoid2ViIiwiZGF0YV9yb2xlX2lkIjoiMTM0NTk3ODUwNTMwMjA1Njk2MiwxNDY4MDM1MzUxNjI1Mjg1NjM0LDE1NDIwNzYzMDg1NzgwMjU0NzQiLCJjbGllbnRfaWQiOiJzd29yZCIsInVzZXJfdHlwZSI6IndlYiIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxLDE0NjcwMTU5NzU0ODQ3NjAwNjYsMTQ2ODAzNDQzNzE1Nzk2MTcyOSwxNDgwODI5MzM3OTM5MTMyNDE3IiwicG9zdF9uYW1lIjpudWxsLCJzY29wZSI6WyJhbGwiXSwiaW50ZXJ2aWV3X2lkIjoiIiwiZXhwIjoxNjY2ODM5MjU4LCJvcmdfbmFtZSI6bnVsbCwianRpIjoiOWRjOTZjZTEtNGEzOS00ZGY4LTlmYzQtYTIwMTU2ZmFjYTgyIiwibWVtYmVyX2lkIjoiMSIsImNvbXBhbnlfaWQiOiIiLCJzeXN0ZW1faWQiOm51bGwsImRlcHRfbmFtZSI6bnVsbCwiYXZhdGFyIjoiIiwiZGF0YV9yb2xlX25hbWUiOiJhZG1pbixhZG1pbixhZG1pbiIsImF1dGhvcml0aWVzIjpbImFkbWluIiwidXNlciIsImFkbWluaXN0cmF0b3IiXSwicm9sZV9uYW1lIjoiYWRtaW5pc3RyYXRvcix1c2VyLGFkbWluLGFkbWluIiwicmVzdW1lX3RlbXBsYXRlIjpudWxsLCJsaWNlbnNlIjoicG93ZXJlZCBieSB6bWRtcyIsInBvc3RfaWQiOiIiLCJ1c2VyX2lkIjoiMTQxMjk1MzgwNDMzMzU1NTcxNCIsIm9yZ19pZCI6IiIsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjoiIn0.lKFfJTGK-DB43Okpf-j3rMuPaPPMIWGNsyDJUqokBYY";
package/dist/constants.js CHANGED
@@ -1 +1 @@
1
- export var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6IiIsInJlYWxfbmFtZSI6IumZiOS6mumbhCIsImNsaWVudF90eXBlIjoid2ViIiwiZGF0YV9yb2xlX2lkIjoiMTM0NTk3ODUwNTMwMjA1Njk2MiwxNDY4MDM1MzUxNjI1Mjg1NjM0LDE1NDIwNzYzMDg1NzgwMjU0NzQiLCJjbGllbnRfaWQiOiJzd29yZCIsInVzZXJfdHlwZSI6IndlYiIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxLDE0NjcwMTU5NzU0ODQ3NjAwNjYsMTQ2ODAzNDQzNzE1Nzk2MTcyOSwxNDgwODI5MzM3OTM5MTMyNDE3IiwicG9zdF9uYW1lIjpudWxsLCJzY29wZSI6WyJhbGwiXSwiaW50ZXJ2aWV3X2lkIjoiIiwiZXhwIjoxNjY2NTc0OTQ1LCJvcmdfbmFtZSI6bnVsbCwianRpIjoiZTIxZmU0MzctNjk4Yi00ZGZhLWE1MzQtNDU2NmQwZjAzMDhmIiwibWVtYmVyX2lkIjoiMSIsImNvbXBhbnlfaWQiOiIiLCJzeXN0ZW1faWQiOm51bGwsImRlcHRfbmFtZSI6bnVsbCwiYXZhdGFyIjoiIiwiZGF0YV9yb2xlX25hbWUiOiJhZG1pbixhZG1pbixhZG1pbiIsImF1dGhvcml0aWVzIjpbImFkbWluIiwidXNlciIsImFkbWluaXN0cmF0b3IiXSwicm9sZV9uYW1lIjoiYWRtaW5pc3RyYXRvcix1c2VyLGFkbWluLGFkbWluIiwicmVzdW1lX3RlbXBsYXRlIjpudWxsLCJsaWNlbnNlIjoicG93ZXJlZCBieSB6bWRtcyIsInBvc3RfaWQiOiIiLCJ1c2VyX2lkIjoiMTQxMjk1MzgwNDMzMzU1NTcxNCIsIm9yZ19pZCI6IiIsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjoiIn0.3wQ20AOx9kTlKYw1NgSnvt_qUOl3QnJopejxIQtXgU0';
1
+ export var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJyZXN1bWVfZGF0ZSI6bnVsbCwidXNlcl9uYW1lIjoiY2hlbnl4IiwiZW1wX25hbWUiOm51bGwsImVtcF9udW1iZXIiOm51bGwsImltdF9pZCI6IiIsInJlYWxfbmFtZSI6IumZiOS6mumbhCIsImNsaWVudF90eXBlIjoid2ViIiwiZGF0YV9yb2xlX2lkIjoiMTM0NTk3ODUwNTMwMjA1Njk2MiwxNDY4MDM1MzUxNjI1Mjg1NjM0LDE1NDIwNzYzMDg1NzgwMjU0NzQiLCJjbGllbnRfaWQiOiJzd29yZCIsInVzZXJfdHlwZSI6IndlYiIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxLDE0NjcwMTU5NzU0ODQ3NjAwNjYsMTQ2ODAzNDQzNzE1Nzk2MTcyOSwxNDgwODI5MzM3OTM5MTMyNDE3IiwicG9zdF9uYW1lIjpudWxsLCJzY29wZSI6WyJhbGwiXSwiaW50ZXJ2aWV3X2lkIjoiIiwiZXhwIjoxNjY2ODM5MjU4LCJvcmdfbmFtZSI6bnVsbCwianRpIjoiOWRjOTZjZTEtNGEzOS00ZGY4LTlmYzQtYTIwMTU2ZmFjYTgyIiwibWVtYmVyX2lkIjoiMSIsImNvbXBhbnlfaWQiOiIiLCJzeXN0ZW1faWQiOm51bGwsImRlcHRfbmFtZSI6bnVsbCwiYXZhdGFyIjoiIiwiZGF0YV9yb2xlX25hbWUiOiJhZG1pbixhZG1pbixhZG1pbiIsImF1dGhvcml0aWVzIjpbImFkbWluIiwidXNlciIsImFkbWluaXN0cmF0b3IiXSwicm9sZV9uYW1lIjoiYWRtaW5pc3RyYXRvcix1c2VyLGFkbWluLGFkbWluIiwicmVzdW1lX3RlbXBsYXRlIjpudWxsLCJsaWNlbnNlIjoicG93ZXJlZCBieSB6bWRtcyIsInBvc3RfaWQiOiIiLCJ1c2VyX2lkIjoiMTQxMjk1MzgwNDMzMzU1NTcxNCIsIm9yZ19pZCI6IiIsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6bnVsbCwiZGVwdF9pZCI6IiIsImhhbmRsZV9ocl9uYW1lIjpudWxsLCJhY2NvdW50IjoiY2hlbnl4IiwicmVzdW1lX2lkIjoiIn0.lKFfJTGK-DB43Okpf-j3rMuPaPPMIWGNsyDJUqokBYY';
@@ -11,18 +11,14 @@ interface IParserFuc {
11
11
  * @description 根据类型获取转换函数
12
12
  * @param formatterType 转换类型
13
13
  */
14
- declare function useFormatter(formatterType: IFormatterType | undefined, currencySymbol?: ICurrencySymbol): {
15
- formatter: IFormatterFuc;
16
- parser: IParserFuc;
17
- precision: number;
14
+ declare function useFormatter(formatterType: IFormatterType | undefined, currencySymbol: ICurrencySymbol, inputNumberRef: any): {
15
+ formatter?: IFormatterFuc;
16
+ parser?: IParserFuc;
17
+ precision?: number;
18
18
  };
19
- export declare function getFormatter(formatterType: IFormatterType | undefined, currencySymbol?: ICurrencySymbol): {
20
- formatter: IFormatterFuc;
21
- parser: IParserFuc;
22
- precision: number;
23
- } | {
19
+ export declare function getFormatter(formatterType: IFormatterType | undefined, currencySymbol: ICurrencySymbol, isFocusRef: any, precision?: number): {
24
20
  formatter: (value: any) => any;
25
21
  parser: (value: any) => any;
26
- precision: any;
22
+ precision: number;
27
23
  };
28
24
  export default useFormatter;
@@ -1,4 +1,5 @@
1
1
  import { useState, useEffect } from 'react';
2
+ import { exactRound } from 'ztxkutils/dist/tools';
2
3
  var MONEY_PRECISION = 3; // 金额的精度
3
4
  var QUANTITY_PRECISION = 2; // 数值的精度
4
5
  /**
@@ -6,63 +7,50 @@ var QUANTITY_PRECISION = 2; // 数值的精度
6
7
  * @description 根据类型获取转换函数
7
8
  * @param formatterType 转换类型
8
9
  */
9
- function useFormatter(formatterType, currencySymbol) {
10
+ function useFormatter(formatterType, currencySymbol, inputNumberRef) {
10
11
  if (currencySymbol === void 0) { currencySymbol = '$'; }
11
- var _a = useState(), formatter = _a[0], setFormatter = _a[1];
12
- var _b = useState(), parser = _b[0], setParser = _b[1];
13
- var _c = useState(), precision = _c[0], setPrecision = _c[1];
12
+ var _a = useState({
13
+ formatter: function (value) {
14
+ console.log('formatter', value, inputNumberRef.current);
15
+ return value;
16
+ },
17
+ parser: function (value) { return value; },
18
+ precision: undefined,
19
+ }), config = _a[0], setConfig = _a[1];
14
20
  useEffect(function () {
15
21
  if (formatterType === 'currency') {
16
- var formatterFn_1 = function (value) {
17
- return (currencySymbol + " " + value).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
18
- };
19
- var parserFn_1 = function (value) {
20
- // /\$\s?|(,*)/g
21
- return value
22
- ? // eslint-disable-next-line no-eval
23
- value.replace(eval("/${currencySymbol}\\s?|(,*)/g"), '')
24
- : Number(value);
25
- };
26
- setFormatter(function () {
27
- return formatterFn_1;
28
- });
29
- setParser(function () {
30
- return parserFn_1;
22
+ var formatterFn = function (value) { return formatCurrency(value); };
23
+ var parserFn = function (value) { return value.replace(/(,*)/g, ''); };
24
+ setConfig({
25
+ formatter: formatterFn,
26
+ parser: parserFn,
27
+ precision: MONEY_PRECISION,
31
28
  });
32
- setPrecision(MONEY_PRECISION);
33
29
  }
34
30
  if (formatterType === 'percent') {
35
- var formatterFn_2 = function (value) { return value + "%"; };
36
- var parserFn_2 = function (value) {
31
+ var formatterFn = function (value) { return value + "%"; };
32
+ var parserFn = function (value) {
37
33
  return value ? value.replace('%', '') : Number(value);
38
34
  };
39
- setFormatter(function () {
40
- return formatterFn_2;
35
+ setConfig({
36
+ formatter: formatterFn,
37
+ parser: parserFn,
38
+ precision: QUANTITY_PRECISION,
41
39
  });
42
- setParser(function () {
43
- return parserFn_2;
44
- });
45
- setPrecision(QUANTITY_PRECISION);
46
40
  }
47
41
  if (formatterType === 'thousands') {
48
- var formatterFn_3 = function (value) { return value + "\u2030"; };
49
- var parserFn_3 = function (value) {
42
+ var formatterFn = function (value) { return value + "\u2030"; };
43
+ var parserFn = function (value) {
50
44
  return value ? value.replace('‰', '') : Number(value);
51
45
  };
52
- setFormatter(function () {
53
- return formatterFn_3;
54
- });
55
- setParser(function () {
56
- return parserFn_3;
46
+ setConfig({
47
+ formatter: formatterFn,
48
+ parser: parserFn,
49
+ precision: QUANTITY_PRECISION,
57
50
  });
58
- setPrecision(QUANTITY_PRECISION);
59
51
  }
60
52
  }, [formatterType, currencySymbol]);
61
- return {
62
- formatter: formatter,
63
- parser: parser,
64
- precision: precision,
65
- };
53
+ return config;
66
54
  }
67
55
  function formatCurrency(n) {
68
56
  if (n != null) {
@@ -104,12 +92,18 @@ function formatCurrency(n) {
104
92
  return n;
105
93
  }
106
94
  }
107
- export function getFormatter(formatterType, currencySymbol) {
95
+ export function getFormatter(formatterType, currencySymbol, isFocusRef, precision) {
108
96
  if (currencySymbol === void 0) { currencySymbol = '$'; }
109
97
  if (formatterType === 'currency') {
110
98
  // let formatterFn: IFormatterFuc = (value) =>
111
99
  // `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
112
- var formatterFn = function (value) { return formatCurrency(value); };
100
+ var formatterFn = function (v) {
101
+ var value = v;
102
+ if (value && !isFocusRef.current && precision) {
103
+ value = exactRound(value, precision);
104
+ }
105
+ return formatCurrency(value);
106
+ };
113
107
  var parserFn = function (value) { return value.replace(/(,*)/g, ''); };
114
108
  return {
115
109
  formatter: formatterFn,
@@ -118,7 +112,13 @@ export function getFormatter(formatterType, currencySymbol) {
118
112
  };
119
113
  }
120
114
  if (formatterType === 'percent') {
121
- var formatterFn = function (value) { return value + "%"; };
115
+ var formatterFn = function (v) {
116
+ var value = v;
117
+ if (value && !isFocusRef.current && precision) {
118
+ value = exactRound(value, precision);
119
+ }
120
+ return value + "%";
121
+ };
122
122
  var parserFn = function (value) {
123
123
  return value ? value.replace('%', '') : Number(value);
124
124
  };
@@ -129,7 +129,13 @@ export function getFormatter(formatterType, currencySymbol) {
129
129
  };
130
130
  }
131
131
  if (formatterType === 'thousands') {
132
- var formatterFn = function (value) { return value + "\u2030"; };
132
+ var formatterFn = function (v) {
133
+ var value = v;
134
+ if (value && !isFocusRef.current && precision) {
135
+ value = exactRound(value, precision);
136
+ }
137
+ return value + "\u2030";
138
+ };
133
139
  var parserFn = function (value) {
134
140
  return value ? value.replace('‰', '') : Number(value);
135
141
  };
@@ -140,9 +146,14 @@ export function getFormatter(formatterType, currencySymbol) {
140
146
  };
141
147
  }
142
148
  return {
143
- formatter: function (value) { return value; },
149
+ formatter: function (value) {
150
+ if (value && !isFocusRef.current && precision) {
151
+ return exactRound(value, precision);
152
+ }
153
+ return value;
154
+ },
144
155
  parser: function (value) { return value; },
145
- precision: undefined,
156
+ precision: precision,
146
157
  };
147
158
  }
148
159
  export default useFormatter;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkui",
3
- "version": "3.9.4",
3
+ "version": "3.9.6",
4
4
  "private": false,
5
5
  "description": "React components library",
6
6
  "author": "zt-front-end",