ls-pro-common 1.0.4 → 1.0.5
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/common.css +54 -0
- package/dist/common.js +1 -1
- package/dist/common.js.LICENSE.txt +0 -24
- package/dist/common.less +1 -0
- package/dist/common.min.css +54 -0
- package/dist/common.min.js +1 -1
- package/dist/common.min.js.LICENSE.txt +0 -24
- package/es/components/DtlLayout.d.ts +20 -0
- package/es/components/DtlLayout.js +64 -0
- package/es/components/common.less +64 -0
- package/es/hooks/useDtl/index.d.ts +29 -0
- package/es/hooks/useDtl/index.js +644 -0
- package/es/hooks/useSingle/index.d.ts +18 -7
- package/es/hooks/useSingle/index.js +249 -84
- package/es/http/index.d.ts +1 -1
- package/es/http/index.js +7 -3
- package/es/index.d.ts +5 -3
- package/es/index.js +3 -2
- package/es/utils/index.d.ts +38 -1
- package/es/utils/index.js +77 -1
- package/lib/components/DtlLayout.d.ts +20 -0
- package/lib/components/DtlLayout.js +81 -0
- package/lib/components/common.less +64 -0
- package/lib/hooks/useDtl/index.d.ts +29 -0
- package/lib/hooks/useDtl/index.js +665 -0
- package/lib/hooks/useSingle/index.d.ts +18 -7
- package/lib/hooks/useSingle/index.js +250 -85
- package/lib/http/index.d.ts +1 -1
- package/lib/http/index.js +7 -3
- package/lib/index.d.ts +5 -3
- package/lib/index.js +12 -4
- package/lib/utils/index.d.ts +38 -1
- package/lib/utils/index.js +97 -2
- package/package.json +3 -3
- package/es/components/EditModalForm.d.ts +0 -5
- package/es/components/EditModalForm.js +0 -29
- package/lib/components/EditModalForm.d.ts +0 -5
- package/lib/components/EditModalForm.js +0 -42
|
@@ -0,0 +1,665 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
require("antd/es/button/style");
|
|
13
|
+
|
|
14
|
+
var _button = _interopRequireDefault(require("antd/es/button"));
|
|
15
|
+
|
|
16
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
+
|
|
18
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
19
|
+
|
|
20
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
21
|
+
|
|
22
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
23
|
+
|
|
24
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
27
|
+
|
|
28
|
+
var _icons = require("@ant-design/icons");
|
|
29
|
+
|
|
30
|
+
var _utils = require("../../utils");
|
|
31
|
+
|
|
32
|
+
var _excluded = ["current", "pageSize"];
|
|
33
|
+
|
|
34
|
+
function useDtl(dtlParam) {
|
|
35
|
+
var mstService = dtlParam.service,
|
|
36
|
+
masterObject = dtlParam.initItem,
|
|
37
|
+
_dtlParam$mstKeyField = dtlParam.mstKeyField,
|
|
38
|
+
mstKeyField = _dtlParam$mstKeyField === void 0 ? 'id' : _dtlParam$mstKeyField,
|
|
39
|
+
dtlService = dtlParam.dtlService,
|
|
40
|
+
relationField = dtlParam.relationField,
|
|
41
|
+
toolConfig = dtlParam.toolConfig,
|
|
42
|
+
dtlItem = dtlParam.dtlItem,
|
|
43
|
+
beforeLoad = dtlParam.beforeLoad,
|
|
44
|
+
beforeAdd = dtlParam.beforeAdd,
|
|
45
|
+
beforeEdit = dtlParam.beforeEdit,
|
|
46
|
+
beforeRemove = dtlParam.beforeRemove,
|
|
47
|
+
afterSave = dtlParam.afterSave,
|
|
48
|
+
afterRemove = dtlParam.afterRemove;
|
|
49
|
+
/** @name 选中行数据 */
|
|
50
|
+
|
|
51
|
+
var _useState = (0, _react.useState)([]),
|
|
52
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
53
|
+
selectedRows = _useState2[0],
|
|
54
|
+
setSelectedRows = _useState2[1];
|
|
55
|
+
/** @name 显示新增编辑框 */
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
var _useState3 = (0, _react.useState)(false),
|
|
59
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
60
|
+
showEdit = _useState4[0],
|
|
61
|
+
setShowEdit = _useState4[1];
|
|
62
|
+
/** @name 新增或编辑对象初始值 */
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
var _useState5 = (0, _react.useState)(dtlItem),
|
|
66
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
67
|
+
editItem = _useState6[0],
|
|
68
|
+
setEditItem = _useState6[1];
|
|
69
|
+
/** @name 从表表格Ref */
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
var tableRef = (0, _react.useRef)();
|
|
73
|
+
/** @name 主表表单Ref */
|
|
74
|
+
|
|
75
|
+
var formRef = (0, _react.useRef)();
|
|
76
|
+
/** @name 从表编辑表单Ref */
|
|
77
|
+
|
|
78
|
+
var dtlFormRef = (0, _react.useRef)();
|
|
79
|
+
|
|
80
|
+
var onSaveMst = /*#__PURE__*/function () {
|
|
81
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(values) {
|
|
82
|
+
var _result$flag;
|
|
83
|
+
|
|
84
|
+
var data, result;
|
|
85
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
86
|
+
while (1) {
|
|
87
|
+
switch (_context.prev = _context.next) {
|
|
88
|
+
case 0:
|
|
89
|
+
data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, masterObject), values);
|
|
90
|
+
_context.next = 3;
|
|
91
|
+
return mstService.save(data);
|
|
92
|
+
|
|
93
|
+
case 3:
|
|
94
|
+
result = _context.sent;
|
|
95
|
+
_context.t0 = afterSave;
|
|
96
|
+
|
|
97
|
+
if (!_context.t0) {
|
|
98
|
+
_context.next = 10;
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
_context.next = 8;
|
|
103
|
+
return afterSave(result, data);
|
|
104
|
+
|
|
105
|
+
case 8:
|
|
106
|
+
_context.t1 = _context.sent;
|
|
107
|
+
_context.t0 = _context.t1 === false;
|
|
108
|
+
|
|
109
|
+
case 10:
|
|
110
|
+
if (!_context.t0) {
|
|
111
|
+
_context.next = 12;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return _context.abrupt("return");
|
|
116
|
+
|
|
117
|
+
case 12:
|
|
118
|
+
if ((result === null || result === void 0 ? void 0 : (_result$flag = result.flag) === null || _result$flag === void 0 ? void 0 : _result$flag.retCode) === '0') {
|
|
119
|
+
(0, _utils.showSuccess)(result.flag.retMsg);
|
|
120
|
+
Object.assign(masterObject, result.data);
|
|
121
|
+
setEditItem({});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
case 13:
|
|
125
|
+
case "end":
|
|
126
|
+
return _context.stop();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, _callee);
|
|
130
|
+
}));
|
|
131
|
+
|
|
132
|
+
return function onSaveMst(_x) {
|
|
133
|
+
return _ref.apply(this, arguments);
|
|
134
|
+
};
|
|
135
|
+
}();
|
|
136
|
+
/** 删除按钮事件 */
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
var onRemoveMst = /*#__PURE__*/function () {
|
|
140
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
141
|
+
var _result$flag2;
|
|
142
|
+
|
|
143
|
+
var ids, result;
|
|
144
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
145
|
+
while (1) {
|
|
146
|
+
switch (_context2.prev = _context2.next) {
|
|
147
|
+
case 0:
|
|
148
|
+
if (!(!masterObject || !masterObject[mstKeyField])) {
|
|
149
|
+
_context2.next = 2;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return _context2.abrupt("return");
|
|
154
|
+
|
|
155
|
+
case 2:
|
|
156
|
+
_context2.next = 4;
|
|
157
|
+
return (0, _utils.showConfirm)('确认要删除当前数据?');
|
|
158
|
+
|
|
159
|
+
case 4:
|
|
160
|
+
if (!beforeRemove) {
|
|
161
|
+
_context2.next = 10;
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
_context2.next = 7;
|
|
166
|
+
return beforeRemove([masterObject]);
|
|
167
|
+
|
|
168
|
+
case 7:
|
|
169
|
+
ids = _context2.sent;
|
|
170
|
+
|
|
171
|
+
if (!(ids === false)) {
|
|
172
|
+
_context2.next = 10;
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return _context2.abrupt("return");
|
|
177
|
+
|
|
178
|
+
case 10:
|
|
179
|
+
if (!ids) {
|
|
180
|
+
ids = [masterObject[mstKeyField]];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
_context2.next = 13;
|
|
184
|
+
return mstService.remove(ids);
|
|
185
|
+
|
|
186
|
+
case 13:
|
|
187
|
+
result = _context2.sent;
|
|
188
|
+
_context2.t0 = afterRemove;
|
|
189
|
+
|
|
190
|
+
if (!_context2.t0) {
|
|
191
|
+
_context2.next = 20;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
_context2.next = 18;
|
|
196
|
+
return afterRemove(result, masterObject[mstKeyField]);
|
|
197
|
+
|
|
198
|
+
case 18:
|
|
199
|
+
_context2.t1 = _context2.sent;
|
|
200
|
+
_context2.t0 = _context2.t1 === false;
|
|
201
|
+
|
|
202
|
+
case 20:
|
|
203
|
+
if (!_context2.t0) {
|
|
204
|
+
_context2.next = 22;
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return _context2.abrupt("return");
|
|
209
|
+
|
|
210
|
+
case 22:
|
|
211
|
+
if (!((result === null || result === void 0 ? void 0 : (_result$flag2 = result.flag) === null || _result$flag2 === void 0 ? void 0 : _result$flag2.retCode) === '0')) {
|
|
212
|
+
_context2.next = 25;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
(0, _utils.showSuccess)(result.flag.retMsg);
|
|
217
|
+
return _context2.abrupt("return", true);
|
|
218
|
+
|
|
219
|
+
case 25:
|
|
220
|
+
return _context2.abrupt("return", false);
|
|
221
|
+
|
|
222
|
+
case 26:
|
|
223
|
+
case "end":
|
|
224
|
+
return _context2.stop();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}, _callee2);
|
|
228
|
+
}));
|
|
229
|
+
|
|
230
|
+
return function onRemoveMst() {
|
|
231
|
+
return _ref2.apply(this, arguments);
|
|
232
|
+
};
|
|
233
|
+
}();
|
|
234
|
+
/** 新增按钮事件 */
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
var onAddDtl = /*#__PURE__*/function () {
|
|
238
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
239
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
240
|
+
while (1) {
|
|
241
|
+
switch (_context3.prev = _context3.next) {
|
|
242
|
+
case 0:
|
|
243
|
+
if (masterObject[mstKeyField]) {
|
|
244
|
+
_context3.next = 3;
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
(0, _utils.showWarn)("请先保存主表");
|
|
249
|
+
return _context3.abrupt("return", false);
|
|
250
|
+
|
|
251
|
+
case 3:
|
|
252
|
+
_context3.t0 = beforeAdd;
|
|
253
|
+
|
|
254
|
+
if (!_context3.t0) {
|
|
255
|
+
_context3.next = 9;
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
_context3.next = 7;
|
|
260
|
+
return beforeAdd(dtlItem);
|
|
261
|
+
|
|
262
|
+
case 7:
|
|
263
|
+
_context3.t1 = _context3.sent;
|
|
264
|
+
_context3.t0 = _context3.t1 === false;
|
|
265
|
+
|
|
266
|
+
case 9:
|
|
267
|
+
if (!_context3.t0) {
|
|
268
|
+
_context3.next = 11;
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
return _context3.abrupt("return", false);
|
|
273
|
+
|
|
274
|
+
case 11:
|
|
275
|
+
setEditItem(dtlItem);
|
|
276
|
+
setShowEdit(true);
|
|
277
|
+
return _context3.abrupt("return", true);
|
|
278
|
+
|
|
279
|
+
case 14:
|
|
280
|
+
case "end":
|
|
281
|
+
return _context3.stop();
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}, _callee3);
|
|
285
|
+
}));
|
|
286
|
+
|
|
287
|
+
return function onAddDtl() {
|
|
288
|
+
return _ref3.apply(this, arguments);
|
|
289
|
+
};
|
|
290
|
+
}();
|
|
291
|
+
/** 编辑按钮事件 */
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
var onEditDtl = /*#__PURE__*/function () {
|
|
295
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
296
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
297
|
+
while (1) {
|
|
298
|
+
switch (_context4.prev = _context4.next) {
|
|
299
|
+
case 0:
|
|
300
|
+
if (selectedRows.length) {
|
|
301
|
+
_context4.next = 3;
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
(0, _utils.showWarn)('请先选择需要更改的数据');
|
|
306
|
+
return _context4.abrupt("return", false);
|
|
307
|
+
|
|
308
|
+
case 3:
|
|
309
|
+
_context4.t0 = beforeEdit;
|
|
310
|
+
|
|
311
|
+
if (!_context4.t0) {
|
|
312
|
+
_context4.next = 9;
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
_context4.next = 7;
|
|
317
|
+
return beforeEdit(selectedRows[0]);
|
|
318
|
+
|
|
319
|
+
case 7:
|
|
320
|
+
_context4.t1 = _context4.sent;
|
|
321
|
+
_context4.t0 = _context4.t1 === false;
|
|
322
|
+
|
|
323
|
+
case 9:
|
|
324
|
+
if (!_context4.t0) {
|
|
325
|
+
_context4.next = 11;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
return _context4.abrupt("return", false);
|
|
330
|
+
|
|
331
|
+
case 11:
|
|
332
|
+
setEditItem(selectedRows[0]);
|
|
333
|
+
setShowEdit(true);
|
|
334
|
+
return _context4.abrupt("return", true);
|
|
335
|
+
|
|
336
|
+
case 14:
|
|
337
|
+
case "end":
|
|
338
|
+
return _context4.stop();
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}, _callee4);
|
|
342
|
+
}));
|
|
343
|
+
|
|
344
|
+
return function onEditDtl() {
|
|
345
|
+
return _ref4.apply(this, arguments);
|
|
346
|
+
};
|
|
347
|
+
}();
|
|
348
|
+
/** 删除按钮事件 */
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
var onRemoveDtl = function onRemoveDtl() {
|
|
352
|
+
if (!selectedRows.length) {
|
|
353
|
+
(0, _utils.showWarn)('请选择需要删除的数据');
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
(0, _utils.showConfirm)('确认要删除选择的数据?').then( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
358
|
+
var _result$flag3;
|
|
359
|
+
|
|
360
|
+
var ids, result;
|
|
361
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
362
|
+
while (1) {
|
|
363
|
+
switch (_context5.prev = _context5.next) {
|
|
364
|
+
case 0:
|
|
365
|
+
if (!beforeRemove) {
|
|
366
|
+
_context5.next = 6;
|
|
367
|
+
break;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
_context5.next = 3;
|
|
371
|
+
return beforeRemove(selectedRows);
|
|
372
|
+
|
|
373
|
+
case 3:
|
|
374
|
+
ids = _context5.sent;
|
|
375
|
+
|
|
376
|
+
if (!(ids === false)) {
|
|
377
|
+
_context5.next = 6;
|
|
378
|
+
break;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
return _context5.abrupt("return");
|
|
382
|
+
|
|
383
|
+
case 6:
|
|
384
|
+
if (!ids) {
|
|
385
|
+
ids = selectedRows.map(function (o) {
|
|
386
|
+
return o.id;
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
_context5.next = 9;
|
|
391
|
+
return dtlService.remove(ids);
|
|
392
|
+
|
|
393
|
+
case 9:
|
|
394
|
+
result = _context5.sent;
|
|
395
|
+
_context5.t0 = afterRemove;
|
|
396
|
+
|
|
397
|
+
if (!_context5.t0) {
|
|
398
|
+
_context5.next = 16;
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
_context5.next = 14;
|
|
403
|
+
return afterRemove(result, selectedRows);
|
|
404
|
+
|
|
405
|
+
case 14:
|
|
406
|
+
_context5.t1 = _context5.sent;
|
|
407
|
+
_context5.t0 = _context5.t1 === false;
|
|
408
|
+
|
|
409
|
+
case 16:
|
|
410
|
+
if (!_context5.t0) {
|
|
411
|
+
_context5.next = 18;
|
|
412
|
+
break;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
return _context5.abrupt("return");
|
|
416
|
+
|
|
417
|
+
case 18:
|
|
418
|
+
if ((result === null || result === void 0 ? void 0 : (_result$flag3 = result.flag) === null || _result$flag3 === void 0 ? void 0 : _result$flag3.retCode) === '0') {
|
|
419
|
+
(0, _utils.showSuccess)(result.flag.retMsg);
|
|
420
|
+
|
|
421
|
+
if (tableRef.current) {
|
|
422
|
+
tableRef.current.reload(false);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
case 19:
|
|
427
|
+
case "end":
|
|
428
|
+
return _context5.stop();
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}, _callee5);
|
|
432
|
+
})));
|
|
433
|
+
};
|
|
434
|
+
/** 新增,更改对应的保存事件 */
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
var onSaveDtl = /*#__PURE__*/function () {
|
|
438
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(formData) {
|
|
439
|
+
var _result$flag4;
|
|
440
|
+
|
|
441
|
+
var data, result;
|
|
442
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
443
|
+
while (1) {
|
|
444
|
+
switch (_context6.prev = _context6.next) {
|
|
445
|
+
case 0:
|
|
446
|
+
data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, editItem), formData);
|
|
447
|
+
|
|
448
|
+
if (!data.id) {
|
|
449
|
+
data[relationField] = masterObject[mstKeyField];
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
_context6.next = 4;
|
|
453
|
+
return dtlService.save(data);
|
|
454
|
+
|
|
455
|
+
case 4:
|
|
456
|
+
result = _context6.sent;
|
|
457
|
+
_context6.t0 = afterSave;
|
|
458
|
+
|
|
459
|
+
if (!_context6.t0) {
|
|
460
|
+
_context6.next = 11;
|
|
461
|
+
break;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
_context6.next = 9;
|
|
465
|
+
return afterSave(data);
|
|
466
|
+
|
|
467
|
+
case 9:
|
|
468
|
+
_context6.t1 = _context6.sent;
|
|
469
|
+
_context6.t0 = _context6.t1 === false;
|
|
470
|
+
|
|
471
|
+
case 11:
|
|
472
|
+
if (!_context6.t0) {
|
|
473
|
+
_context6.next = 13;
|
|
474
|
+
break;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
return _context6.abrupt("return", false);
|
|
478
|
+
|
|
479
|
+
case 13:
|
|
480
|
+
if (!((result === null || result === void 0 ? void 0 : (_result$flag4 = result.flag) === null || _result$flag4 === void 0 ? void 0 : _result$flag4.retCode) === '0')) {
|
|
481
|
+
_context6.next = 17;
|
|
482
|
+
break;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
(0, _utils.showSuccess)(result.flag.retMsg);
|
|
486
|
+
|
|
487
|
+
if (tableRef.current) {
|
|
488
|
+
tableRef.current.reload(false);
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
return _context6.abrupt("return", true);
|
|
492
|
+
|
|
493
|
+
case 17:
|
|
494
|
+
return _context6.abrupt("return", false);
|
|
495
|
+
|
|
496
|
+
case 18:
|
|
497
|
+
case "end":
|
|
498
|
+
return _context6.stop();
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
}, _callee6);
|
|
502
|
+
}));
|
|
503
|
+
|
|
504
|
+
return function onSaveDtl(_x2) {
|
|
505
|
+
return _ref6.apply(this, arguments);
|
|
506
|
+
};
|
|
507
|
+
}();
|
|
508
|
+
/** 加载数据方法 */
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
var onLoadDtl = /*#__PURE__*/function () {
|
|
512
|
+
var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(params, sort, filter) {
|
|
513
|
+
var current, pageSize, rest, param, key, result;
|
|
514
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
515
|
+
while (1) {
|
|
516
|
+
switch (_context7.prev = _context7.next) {
|
|
517
|
+
case 0:
|
|
518
|
+
current = params.current, pageSize = params.pageSize, rest = (0, _objectWithoutProperties2.default)(params, _excluded);
|
|
519
|
+
|
|
520
|
+
if (!(!masterObject || !masterObject[mstKeyField])) {
|
|
521
|
+
_context7.next = 3;
|
|
522
|
+
break;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
return _context7.abrupt("return", {
|
|
526
|
+
data: [],
|
|
527
|
+
success: true
|
|
528
|
+
});
|
|
529
|
+
|
|
530
|
+
case 3:
|
|
531
|
+
param = {};
|
|
532
|
+
|
|
533
|
+
if (current) {
|
|
534
|
+
param.page = current;
|
|
535
|
+
param.pageSize = pageSize;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
param.where = {};
|
|
539
|
+
param.where[relationField] = masterObject[mstKeyField];
|
|
540
|
+
|
|
541
|
+
if (Object.keys(rest).length) {
|
|
542
|
+
Object.assign(param.where, rest);
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
for (key in param.where) {
|
|
546
|
+
if (param.where[key] === '') {
|
|
547
|
+
delete param.where[key];
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
_context7.t0 = beforeLoad;
|
|
552
|
+
|
|
553
|
+
if (!_context7.t0) {
|
|
554
|
+
_context7.next = 15;
|
|
555
|
+
break;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
_context7.next = 13;
|
|
559
|
+
return beforeLoad(param);
|
|
560
|
+
|
|
561
|
+
case 13:
|
|
562
|
+
_context7.t1 = _context7.sent;
|
|
563
|
+
_context7.t0 = _context7.t1 === false;
|
|
564
|
+
|
|
565
|
+
case 15:
|
|
566
|
+
if (!_context7.t0) {
|
|
567
|
+
_context7.next = 17;
|
|
568
|
+
break;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
return _context7.abrupt("return", {
|
|
572
|
+
data: [],
|
|
573
|
+
success: true
|
|
574
|
+
});
|
|
575
|
+
|
|
576
|
+
case 17:
|
|
577
|
+
_context7.next = 19;
|
|
578
|
+
return dtlService.load(param);
|
|
579
|
+
|
|
580
|
+
case 19:
|
|
581
|
+
result = _context7.sent;
|
|
582
|
+
result.data = result.rows;
|
|
583
|
+
result.success = true;
|
|
584
|
+
return _context7.abrupt("return", result);
|
|
585
|
+
|
|
586
|
+
case 23:
|
|
587
|
+
case "end":
|
|
588
|
+
return _context7.stop();
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}, _callee7);
|
|
592
|
+
}));
|
|
593
|
+
|
|
594
|
+
return function onLoadDtl(_x3, _x4, _x5) {
|
|
595
|
+
return _ref7.apply(this, arguments);
|
|
596
|
+
};
|
|
597
|
+
}();
|
|
598
|
+
|
|
599
|
+
var tableTools = [];
|
|
600
|
+
|
|
601
|
+
if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.add) {
|
|
602
|
+
tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
603
|
+
key: "add",
|
|
604
|
+
onClick: onAddDtl,
|
|
605
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.PlusOutlined, null)
|
|
606
|
+
}, "\u65B0\u589E"));
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.edit) {
|
|
610
|
+
tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
611
|
+
key: "edit",
|
|
612
|
+
disabled: selectedRows.length !== 1,
|
|
613
|
+
onClick: onEditDtl,
|
|
614
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null)
|
|
615
|
+
}, "\u7F16\u8F91"));
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.remove) {
|
|
619
|
+
tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
620
|
+
key: "remove",
|
|
621
|
+
onClick: onRemoveDtl,
|
|
622
|
+
danger: true,
|
|
623
|
+
disabled: selectedRows.length === 0,
|
|
624
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.DeleteOutlined, null)
|
|
625
|
+
}, "\u5220\u9664"));
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.import) {
|
|
629
|
+
tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
630
|
+
key: "import",
|
|
631
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.ImportOutlined, null)
|
|
632
|
+
}, "\u5BFC\u5165"));
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.export) {
|
|
636
|
+
tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
637
|
+
key: "export",
|
|
638
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.ExportOutlined, null)
|
|
639
|
+
}, "\u5BFC\u51FA"));
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
return {
|
|
643
|
+
formRef: formRef,
|
|
644
|
+
tableRef: tableRef,
|
|
645
|
+
dtlFormRef: dtlFormRef,
|
|
646
|
+
selectedRows: selectedRows,
|
|
647
|
+
showEdit: showEdit,
|
|
648
|
+
editItem: editItem,
|
|
649
|
+
tableTools: tableTools,
|
|
650
|
+
setSelectedRows: setSelectedRows,
|
|
651
|
+
setShowEdit: setShowEdit,
|
|
652
|
+
setEditItem: setEditItem,
|
|
653
|
+
onRemoveDtl: onRemoveDtl,
|
|
654
|
+
onSaveDtl: onSaveDtl,
|
|
655
|
+
onLoadDtl: onLoadDtl,
|
|
656
|
+
onAddDtl: onAddDtl,
|
|
657
|
+
onEditDtl: onEditDtl,
|
|
658
|
+
onSaveMst: onSaveMst,
|
|
659
|
+
onRemoveMst: onRemoveMst
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
;
|
|
664
|
+
var _default = useDtl;
|
|
665
|
+
exports.default = _default;
|
|
@@ -1,29 +1,40 @@
|
|
|
1
1
|
import type { ActionType } from 'ls-pro-table';
|
|
2
2
|
import type { ProFormInstance } from 'ls-pro-form';
|
|
3
|
-
import type { TableToolbar } from '../../typing';
|
|
3
|
+
import type { ApiResponse, TableToolbar } from '../../typing';
|
|
4
|
+
export declare type SingleParamType = {
|
|
5
|
+
service: any;
|
|
6
|
+
toolConfig?: TableToolbar;
|
|
7
|
+
initItem?: any;
|
|
8
|
+
beforeLoad?: (param: Record<string, any>) => Promise<boolean>;
|
|
9
|
+
beforeRemove?: (rows: any[]) => Promise<any>;
|
|
10
|
+
beforeAdd?: (item: any) => Promise<any>;
|
|
11
|
+
beforeEdit?: (item: any) => Promise<any>;
|
|
12
|
+
afterRemove?: (result: ApiResponse, rows?: any[]) => Promise<boolean>;
|
|
13
|
+
afterSave?: (result: ApiResponse, item?: any) => Promise<boolean>;
|
|
14
|
+
};
|
|
4
15
|
/**
|
|
5
16
|
* 单表基本增删改查 hooks
|
|
6
17
|
* @param service 单表服务
|
|
7
|
-
* @param
|
|
18
|
+
* @param toolConfig 定义基础功能按钮
|
|
8
19
|
* @param initItem 对象初始值,新增时设置默认值
|
|
9
|
-
* @param onBeforeSave 保存之前方法,开放给每个模块重写
|
|
10
20
|
* @param onBeforeRemove 删除之前方法,开放给每个模块重写
|
|
11
21
|
* @returns
|
|
12
22
|
*/
|
|
13
|
-
declare function useSingle(
|
|
23
|
+
declare function useSingle(inParam: SingleParamType): {
|
|
14
24
|
formRef: import("react").MutableRefObject<ProFormInstance<any> | undefined>;
|
|
25
|
+
editFormRef: import("react").MutableRefObject<ProFormInstance<any> | undefined>;
|
|
15
26
|
tableRef: import("react").MutableRefObject<ActionType | undefined>;
|
|
16
27
|
selectedRows: any;
|
|
17
28
|
showEdit: boolean;
|
|
18
29
|
editItem: any;
|
|
19
|
-
|
|
30
|
+
tableTools: JSX.Element[];
|
|
20
31
|
setSelectedRows: import("react").Dispatch<any>;
|
|
21
32
|
setShowEdit: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
22
33
|
setEditItem: import("react").Dispatch<any>;
|
|
23
34
|
onRemove: () => void;
|
|
24
35
|
onSave: (formData: any) => Promise<boolean>;
|
|
25
36
|
onLoad: (params: Record<string, any>, sort: Record<string, any>, filter: Record<string, any>) => Promise<any>;
|
|
26
|
-
onAdd: () => void
|
|
27
|
-
onEdit: () => void
|
|
37
|
+
onAdd: () => Promise<void>;
|
|
38
|
+
onEdit: () => Promise<void>;
|
|
28
39
|
};
|
|
29
40
|
export default useSingle;
|