@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.
- package/LICENSE +21 -0
- package/README.md +44 -0
- package/dist/CustomDetailModal/detailModal.d.ts +72 -0
- package/dist/CustomDetailModal/index.d.ts +5 -0
- package/dist/CustomDetailModal/index.js +183 -0
- package/dist/CustomDetailModal/index.less +6 -0
- package/dist/CustomFormModal/formModal.d.ts +78 -0
- package/dist/CustomFormModal/index.d.ts +5 -0
- package/dist/CustomFormModal/index.js +293 -0
- package/dist/CustomFormModal/index.less +29 -0
- package/dist/CustomTable/index.d.ts +5 -0
- package/dist/CustomTable/index.js +412 -0
- package/dist/CustomTable/index.less +69 -0
- package/dist/CustomTable/table.d.ts +143 -0
- package/dist/CustomTag/index.d.ts +3 -0
- package/dist/CustomTag/index.js +27 -0
- package/dist/CustomTag/tag.d.ts +19 -0
- package/dist/CustomUpload/index.d.ts +22 -0
- package/dist/CustomUpload/index.js +197 -0
- package/dist/DynamicIcon/index.d.ts +9 -0
- package/dist/DynamicIcon/index.js +34 -0
- package/dist/FormItem/index.d.ts +9 -0
- package/dist/FormItem/index.js +47 -0
- package/dist/compontent.d.ts +86 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +7 -0
- package/dist/hooks/useFullscreen.d.ts +6 -0
- package/dist/hooks/useFullscreen.js +77 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +9 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/rememberPwd.d.ts +34 -0
- package/dist/utils/rememberPwd.js +112 -0
- package/dist/utils/util.d.ts +54 -0
- package/dist/utils/util.js +119 -0
- 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
|
+
}
|