@guo514360255/antd-lib 1.4.1

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.
Files changed (37) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +44 -0
  3. package/dist/CustomDetailModal/detailModal.d.ts +72 -0
  4. package/dist/CustomDetailModal/index.d.ts +5 -0
  5. package/dist/CustomDetailModal/index.js +183 -0
  6. package/dist/CustomDetailModal/index.less +6 -0
  7. package/dist/CustomFormModal/formModal.d.ts +78 -0
  8. package/dist/CustomFormModal/index.d.ts +5 -0
  9. package/dist/CustomFormModal/index.js +293 -0
  10. package/dist/CustomFormModal/index.less +29 -0
  11. package/dist/CustomTable/index.d.ts +5 -0
  12. package/dist/CustomTable/index.js +412 -0
  13. package/dist/CustomTable/index.less +69 -0
  14. package/dist/CustomTable/table.d.ts +143 -0
  15. package/dist/CustomTag/index.d.ts +3 -0
  16. package/dist/CustomTag/index.js +27 -0
  17. package/dist/CustomTag/tag.d.ts +19 -0
  18. package/dist/CustomUpload/index.d.ts +22 -0
  19. package/dist/CustomUpload/index.js +197 -0
  20. package/dist/DynamicIcon/index.d.ts +9 -0
  21. package/dist/DynamicIcon/index.js +34 -0
  22. package/dist/FormItem/index.d.ts +9 -0
  23. package/dist/FormItem/index.js +47 -0
  24. package/dist/compontent.d.ts +86 -0
  25. package/dist/hooks/index.d.ts +2 -0
  26. package/dist/hooks/index.js +7 -0
  27. package/dist/hooks/useFullscreen.d.ts +6 -0
  28. package/dist/hooks/useFullscreen.js +77 -0
  29. package/dist/index.d.ts +13 -0
  30. package/dist/index.js +9 -0
  31. package/dist/utils/index.d.ts +3 -0
  32. package/dist/utils/index.js +8 -0
  33. package/dist/utils/rememberPwd.d.ts +34 -0
  34. package/dist/utils/rememberPwd.js +112 -0
  35. package/dist/utils/util.d.ts +54 -0
  36. package/dist/utils/util.js +119 -0
  37. package/package.json +90 -0
@@ -0,0 +1,293 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
4
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
7
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
8
+ var _excluded = ["type", "onSubmit", "columns", "saveRequest", "updateRequest", "detailRequest", "handleData", "title", "formList"];
9
+ /*
10
+ * @Author: 郭郭
11
+ * @Date: 2025/8/15
12
+ * @Description:
13
+ */
14
+
15
+ import { DeleteOutlined } from '@ant-design/icons';
16
+ import { Button, Drawer, Form, message, Modal } from 'antd';
17
+ import cloneDeep from 'lodash/cloneDeep';
18
+ import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';
19
+ import CustomUpload from "../CustomUpload";
20
+ import FormItem from "../FormItem";
21
+ import "./index.less";
22
+ var CustomFormModal = /*#__PURE__*/forwardRef(function (props, ref) {
23
+ var type = props.type,
24
+ onSubmit = props.onSubmit,
25
+ columns = props.columns,
26
+ saveRequest = props.saveRequest,
27
+ updateRequest = props.updateRequest,
28
+ detailRequest = props.detailRequest,
29
+ handleData = props.handleData,
30
+ title = props.title,
31
+ _props$formList = props.formList,
32
+ formList = _props$formList === void 0 ? {} : _props$formList,
33
+ other = _objectWithoutProperties(props, _excluded);
34
+ var formRef = useRef();
35
+ var _useState = useState({}),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ values = _useState2[0],
38
+ setValues = _useState2[1];
39
+ var _useState3 = useState(false),
40
+ _useState4 = _slicedToArray(_useState3, 2),
41
+ open = _useState4[0],
42
+ setOpen = _useState4[1];
43
+ var _useState5 = useState(false),
44
+ _useState6 = _slicedToArray(_useState5, 2),
45
+ loading = _useState6[0],
46
+ setLoading = _useState6[1];
47
+ var _message$useMessage = message.useMessage(),
48
+ _message$useMessage2 = _slicedToArray(_message$useMessage, 2),
49
+ messageApi = _message$useMessage2[0],
50
+ messageHolder = _message$useMessage2[1];
51
+ var formKey = '_form_key';
52
+ var modalType = {
53
+ modal: Modal,
54
+ drawer: Drawer
55
+ };
56
+ var Component = modalType[type || 'drawer'];
57
+ var placeholder = {
58
+ input: '输入',
59
+ upload: '上传'
60
+ };
61
+ var handleColumns = function handleColumns(columns) {
62
+ var newColumns = (columns || []).filter(function (item) {
63
+ return !item.hideInForm;
64
+ });
65
+ newColumns === null || newColumns === void 0 || newColumns.forEach(function (item) {
66
+ // 所有select/treeSelect都附加搜索功能
67
+ if (['select', 'treeSelect'].includes(item.type)) {
68
+ item.fieldProps = _objectSpread({
69
+ showSearch: true
70
+ }, item.fieldProps || {});
71
+ }
72
+ return item;
73
+ });
74
+ return cloneDeep(newColumns).map(function (item) {
75
+ if (item.formKey) {
76
+ var _key = /_form_key$/.test(item.formKey) ? '' : formKey;
77
+ item.dataIndex = item.formKey + _key;
78
+ }
79
+ return item;
80
+ });
81
+ };
82
+ useImperativeHandle(ref, function () {
83
+ return {
84
+ open: function open(values) {
85
+ return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
86
+ var _formRef$current, data;
87
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
88
+ while (1) switch (_context.prev = _context.next) {
89
+ case 0:
90
+ setOpen(true);
91
+ if (!(values !== null && values !== void 0 && values.id && detailRequest)) {
92
+ _context.next = 9;
93
+ break;
94
+ }
95
+ _context.next = 4;
96
+ return detailRequest(values.id);
97
+ case 4:
98
+ data = _context.sent;
99
+ columns === null || columns === void 0 || columns.forEach(function (item) {
100
+ if (item.formKey) {
101
+ data["".concat(item.dataIndex).concat(formKey)] = data[item.dataIndex];
102
+ }
103
+ });
104
+ formRef === null || formRef === void 0 || (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.setFieldsValue(data || {});
105
+ setValues(data || {});
106
+ return _context.abrupt("return");
107
+ case 9:
108
+ setTimeout(function () {
109
+ var _formRef$current2;
110
+ formRef === null || formRef === void 0 || (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 || _formRef$current2.setFieldsValue(values || {});
111
+ setValues(values || {});
112
+ });
113
+ case 10:
114
+ case "end":
115
+ return _context.stop();
116
+ }
117
+ }, _callee);
118
+ }))();
119
+ }
120
+ };
121
+ });
122
+ var submitEvent = /*#__PURE__*/function () {
123
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
124
+ var _formRef$current3, _formRef$current4, formData, data, result, _key2;
125
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
126
+ while (1) switch (_context2.prev = _context2.next) {
127
+ case 0:
128
+ setLoading(true);
129
+ _context2.prev = 1;
130
+ _context2.next = 4;
131
+ return (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 ? void 0 : _formRef$current3.validateFields();
132
+ case 4:
133
+ formData = _context2.sent;
134
+ data = _objectSpread(_objectSpread({}, values), formData);
135
+ result = {};
136
+ for (_key2 in data) {
137
+ if (new RegExp(formKey).test(_key2)) {
138
+ result[_key2.replace(new RegExp(formKey), '')] = data[_key2];
139
+ } else {
140
+ result[_key2] = data[_key2];
141
+ }
142
+ }
143
+ if (handleData) {
144
+ result = handleData(result);
145
+ }
146
+ if (!values.id) {
147
+ _context2.next = 15;
148
+ break;
149
+ }
150
+ if (!updateRequest) {
151
+ _context2.next = 13;
152
+ break;
153
+ }
154
+ _context2.next = 13;
155
+ return updateRequest(result);
156
+ case 13:
157
+ _context2.next = 18;
158
+ break;
159
+ case 15:
160
+ if (!saveRequest) {
161
+ _context2.next = 18;
162
+ break;
163
+ }
164
+ _context2.next = 18;
165
+ return saveRequest(result);
166
+ case 18:
167
+ setOpen(false);
168
+ (_formRef$current4 = formRef.current) === null || _formRef$current4 === void 0 || _formRef$current4.resetFields();
169
+ if (onSubmit) {
170
+ onSubmit();
171
+ }
172
+ messageApi.success('提交成功');
173
+ _context2.next = 27;
174
+ break;
175
+ case 24:
176
+ _context2.prev = 24;
177
+ _context2.t0 = _context2["catch"](1);
178
+ console.log(_context2.t0, 'submit request error');
179
+ case 27:
180
+ setLoading(false);
181
+ case 28:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
185
+ }, _callee2, null, [[1, 24]]);
186
+ }));
187
+ return function submitEvent() {
188
+ return _ref.apply(this, arguments);
189
+ };
190
+ }();
191
+ var close = function close() {
192
+ var _formRef$current5;
193
+ setOpen(false);
194
+ (_formRef$current5 = formRef.current) === null || _formRef$current5 === void 0 || _formRef$current5.resetFields();
195
+ if (onSubmit) {
196
+ onSubmit();
197
+ }
198
+ };
199
+ var footer = [/*#__PURE__*/React.createElement(Button, {
200
+ key: "cancel",
201
+ size: "large",
202
+ onClick: close
203
+ }, "\u53D6\u6D88"), /*#__PURE__*/React.createElement(Button, {
204
+ key: "submit",
205
+ type: "primary",
206
+ size: "large",
207
+ loading: loading,
208
+ onClick: submitEvent
209
+ }, "\u63D0\u4EA4")];
210
+ var getPlaceholder = function getPlaceholder(type, title) {
211
+ return "\u8BF7".concat(placeholder[type || 'input'] || placeholder.default).concat(title ? title : '');
212
+ };
213
+ return /*#__PURE__*/React.createElement(React.Fragment, null, messageHolder, /*#__PURE__*/React.createElement(Component, _extends({
214
+ width: other.width || 600,
215
+ footer: footer,
216
+ title: "".concat(!!values.id ? '编辑' : '新增').concat(title || '')
217
+ }, other, {
218
+ open: open,
219
+ onClose: close,
220
+ className: "formContainer"
221
+ }), /*#__PURE__*/React.createElement(Form, {
222
+ size: "large",
223
+ layout: "vertical",
224
+ autoComplete: "off",
225
+ ref: formRef
226
+ }, handleColumns(columns || []).map(function (item) {
227
+ var defaultPlaceholder = getPlaceholder(item.type, item.title);
228
+ return item.type === 'group' ? /*#__PURE__*/React.createElement(Form.List, {
229
+ name: item.dataIndex,
230
+ key: item.dataIndex
231
+ }, function (fields, _ref2, _ref3) {
232
+ var add = _ref2.add,
233
+ remove = _ref2.remove;
234
+ var errors = _ref3.errors;
235
+ return /*#__PURE__*/React.createElement(React.Fragment, null, fields.map(function (field, key) {
236
+ return /*#__PURE__*/React.createElement(Form.Item, {
237
+ label: key === 0 ? "".concat(item.title) : '',
238
+ key: field.key,
239
+ rules: item.required ? [{
240
+ required: true
241
+ }] : [],
242
+ className: "dynamicItemContainer"
243
+ }, /*#__PURE__*/React.createElement("div", {
244
+ className: "listGroupContainer"
245
+ }, /*#__PURE__*/React.createElement("div", {
246
+ className: "listGroupContent"
247
+ }, (formList[item.dataIndex] || []).map(function (list) {
248
+ var placeholder = getPlaceholder(list.type, list.title);
249
+ return /*#__PURE__*/React.createElement(Form.Item, {
250
+ name: [field.name, list.dataIndex],
251
+ label: list.title,
252
+ key: list.dataIndex,
253
+ labelAlign: "right",
254
+ rules: [{
255
+ required: list.required,
256
+ message: placeholder
257
+ }].concat(_toConsumableArray(list.rules || []))
258
+ }, list.type === 'upload' ? /*#__PURE__*/React.createElement(CustomUpload, list) : /*#__PURE__*/React.createElement(FormItem, _extends({}, list, {
259
+ defaultPlaceholder: placeholder
260
+ })));
261
+ })), /*#__PURE__*/React.createElement("span", {
262
+ className: "listDelIcon"
263
+ }, /*#__PURE__*/React.createElement(DeleteOutlined, {
264
+ onClick: function onClick() {
265
+ return remove(field.name);
266
+ }
267
+ }))));
268
+ }), /*#__PURE__*/React.createElement(Form.Item, null, /*#__PURE__*/React.createElement(Button, {
269
+ type: "dashed",
270
+ block: true,
271
+ onClick: function onClick() {
272
+ return add();
273
+ }
274
+ }, '新增' + item.title), /*#__PURE__*/React.createElement(Form.ErrorList, {
275
+ errors: errors
276
+ })));
277
+ }) : /*#__PURE__*/React.createElement(Form.Item, {
278
+ key: item.dataIndex,
279
+ label: item.title ? "".concat(item.title) : '',
280
+ name: item.dataIndex,
281
+ rules: [{
282
+ required: item.required,
283
+ message: defaultPlaceholder
284
+ }].concat(_toConsumableArray(item.rules || []))
285
+ }, item.type === 'upload' ?
286
+ /*#__PURE__*/
287
+ // @ts-ignore
288
+ React.createElement(CustomUpload, item) : /*#__PURE__*/React.createElement(FormItem, _extends({}, item, {
289
+ defaultPlaceholder: defaultPlaceholder
290
+ })));
291
+ }))));
292
+ });
293
+ export default CustomFormModal;
@@ -0,0 +1,29 @@
1
+ .formContainer{
2
+ .ant-drawer-footer{
3
+ display: flex;
4
+ gap: 16px;
5
+ }
6
+ .dynamicItemContainer{
7
+ display: flex;
8
+ width: 100%;
9
+ > div {
10
+ width: 100%;
11
+ .listGroupContainer{
12
+ display: flex;
13
+ gap: 20px;
14
+ background-color: #f4f4f4;
15
+ border-radius: 4px;
16
+ padding: 10px 10px 0 10px;
17
+ .listGroupContent{
18
+ flex: 1;
19
+ }
20
+ }
21
+ > div:nth-child(2) {
22
+ }
23
+ }
24
+ .listDelIcon{
25
+ color: #F5222D;
26
+ cursor: pointer;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,5 @@
1
+ import { CustomTableProps } from "./table";
2
+ import React from 'react';
3
+ import './index.less';
4
+ declare const CustomTable: React.ForwardRefExoticComponent<Omit<CustomTableProps, "ref"> & React.RefAttributes<any>>;
5
+ export default CustomTable;