@luck-design-biz/luckda 0.0.4 → 0.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/package.json +2 -2
- package/es/components/Builder/index.js +0 -133
- package/es/components/LdAutoForm/index.js +0 -128
- package/es/components/LdCard/index.js +0 -197
- package/es/components/LdCard/model.js +0 -32
- package/es/components/LdCom/index.js +0 -24
- package/es/components/LdFormList/index.js +0 -299
- package/es/components/LdFormList/model.js +0 -25
- package/es/components/LdGrid/index.js +0 -227
- package/es/components/LdGrid/model.js +0 -33
- package/es/components/LdGridForm/index.js +0 -172
- package/es/components/LdGridForm/index.less +0 -7
- package/es/components/LdInfoPanel/index.js +0 -116
- package/es/components/LdPop/index.js +0 -31
- package/es/components/LdTree/index.js +0 -246
- package/es/components/LdTree/index.less +0 -36
- package/es/helper/FromItems.js +0 -267
- package/es/helper/action.js +0 -136
- package/es/helper/form.js +0 -100
- package/es/helper/ldBuilder.js +0 -47
- package/es/helper/ldComBuild.js +0 -38
- package/es/index.js +0 -9
- package/es/services.js +0 -46
- package/es/utils/action.js +0 -33
- package/es/utils/form.js +0 -214
- package/es/utils/grid.js +0 -194
- package/es/utils/index.js +0 -3
- package/lib/components/Builder/index.js +0 -142
- package/lib/components/LdAutoForm/index.js +0 -137
- package/lib/components/LdCard/index.js +0 -206
- package/lib/components/LdCard/model.js +0 -39
- package/lib/components/LdCom/index.js +0 -35
- package/lib/components/LdFormList/index.js +0 -307
- package/lib/components/LdFormList/model.js +0 -32
- package/lib/components/LdGrid/index.js +0 -236
- package/lib/components/LdGrid/model.js +0 -40
- package/lib/components/LdGridForm/index.js +0 -181
- package/lib/components/LdGridForm/index.less +0 -7
- package/lib/components/LdInfoPanel/index.js +0 -125
- package/lib/components/LdPop/index.js +0 -40
- package/lib/components/LdTree/index.js +0 -255
- package/lib/components/LdTree/index.less +0 -36
- package/lib/helper/FromItems.js +0 -287
- package/lib/helper/action.js +0 -145
- package/lib/helper/form.js +0 -111
- package/lib/helper/ldBuilder.js +0 -56
- package/lib/helper/ldComBuild.js +0 -49
- package/lib/index.js +0 -84
- package/lib/services.js +0 -54
- package/lib/utils/action.js +0 -40
- package/lib/utils/form.js +0 -225
- package/lib/utils/grid.js +0 -203
- package/lib/utils/index.js +0 -38
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
5
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
var _excluded = ["namespace", "formState", "formMode", "loading", "wrapperRef", "readOnly", "mainFormLdId", "renderFormList", "renderAffixLeft", "renderAffixRight", "beforeSubmit", "showSaveBtn", "saveBtnTitle", "affixLayout", "onValueChange", "afterSubmit", "renderFormExtra"],
|
|
7
|
-
_excluded2 = ["id", "header", "title", "readOnly", "extraConfig"],
|
|
8
|
-
_excluded3 = ["ldId", "initData", "overModel"];
|
|
9
|
-
import React, { useContext, useRef, forwardRef, Fragment, useImperativeHandle, useState } from 'react';
|
|
10
|
-
import { connect, getDvaApp } from 'umi';
|
|
11
|
-
import PropTypes from 'prop-types';
|
|
12
|
-
import { useCreation, useMemoizedFn } from 'ahooks';
|
|
13
|
-
import { BasicDivider } from 'luck-design';
|
|
14
|
-
import { formatMessage, ChildrenUtil } from '@luck-design-biz/base/utils';
|
|
15
|
-
import { FormList, FormListAffix, FormBtn } from '@luck-design-biz/base/FormList';
|
|
16
|
-
import buildLdAutoForm from '../LdAutoForm';
|
|
17
|
-
import buildLdGridForm from '../LdGridForm';
|
|
18
|
-
import { Collapse } from '@luck-design-biz/base';
|
|
19
|
-
import { LuckDaContext } from '../Builder';
|
|
20
|
-
import { LuckDaPopContext } from '../LdPop';
|
|
21
|
-
import createModel from './model';
|
|
22
|
-
import { onBatchSubmitAction } from '../../helper/action';
|
|
23
|
-
|
|
24
|
-
// 组件
|
|
25
|
-
var LdFormList = function LdFormList(_ref) {
|
|
26
|
-
var _formList$find;
|
|
27
|
-
var namespace = _ref.namespace,
|
|
28
|
-
formState = _ref.formState,
|
|
29
|
-
formMode = _ref.formMode,
|
|
30
|
-
loading = _ref.loading,
|
|
31
|
-
wrapperRef = _ref.wrapperRef,
|
|
32
|
-
readOnly = _ref.readOnly,
|
|
33
|
-
mainFormLdId = _ref.mainFormLdId,
|
|
34
|
-
renderFormList = _ref.renderFormList,
|
|
35
|
-
renderAffixLeft = _ref.renderAffixLeft,
|
|
36
|
-
renderAffixRight = _ref.renderAffixRight,
|
|
37
|
-
beforeSubmit = _ref.beforeSubmit,
|
|
38
|
-
showSaveBtn = _ref.showSaveBtn,
|
|
39
|
-
saveBtnTitle = _ref.saveBtnTitle,
|
|
40
|
-
affixLayout = _ref.affixLayout,
|
|
41
|
-
_ref$onValueChange = _ref.onValueChange,
|
|
42
|
-
onValueChange = _ref$onValueChange === void 0 ? function () {} : _ref$onValueChange,
|
|
43
|
-
afterSubmit = _ref.afterSubmit,
|
|
44
|
-
_ref$renderFormExtra = _ref.renderFormExtra,
|
|
45
|
-
renderFormExtra = _ref$renderFormExtra === void 0 ? function () {
|
|
46
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
47
|
-
} : _ref$renderFormExtra,
|
|
48
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
49
|
-
var _useState = useState(false),
|
|
50
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
-
submitLoading = _useState2[0],
|
|
52
|
-
setSubmitLoading = _useState2[1];
|
|
53
|
-
var _ref2 = useContext(LuckDaPopContext) || {},
|
|
54
|
-
defaultLayout = _ref2.affixLayout;
|
|
55
|
-
var _ref3 = useContext(LuckDaContext) || {},
|
|
56
|
-
readFieldProps = _ref3.readFieldProps,
|
|
57
|
-
dataSets = _ref3.dataSets,
|
|
58
|
-
doAction = _ref3.doAction;
|
|
59
|
-
var formListRef = useRef(null);
|
|
60
|
-
useImperativeHandle(wrapperRef, function () {
|
|
61
|
-
return _objectSpread(_objectSpread({}, formListRef.current), {}, {
|
|
62
|
-
onLdQuery: function onLdQuery() {
|
|
63
|
-
var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
64
|
-
if (props.formMode !== 'add') {
|
|
65
|
-
var _getDvaApp;
|
|
66
|
-
(_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp._store.dispatch({
|
|
67
|
-
type: "".concat(namespace, "/setTicketData"),
|
|
68
|
-
payload: {
|
|
69
|
-
ticketData: _objectSpread(_objectSpread({}, props.ticketData), _params)
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
formListRef.current.doQuery();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
var handleValueChange = useMemoizedFn(function (change) {
|
|
78
|
-
var _ref4 = formListRef.current || {},
|
|
79
|
-
formRefs = _ref4.formRefs;
|
|
80
|
-
var data = formRefs && Object.keys(formRefs).map(function (key) {
|
|
81
|
-
var _formRefs$key$current;
|
|
82
|
-
var getValue = formRefs[key].getData || ((_formRefs$key$current = formRefs[key].current) === null || _formRefs$key$current === void 0 ? void 0 : _formRefs$key$current.getFieldsValue);
|
|
83
|
-
return _defineProperty({}, key, getValue());
|
|
84
|
-
});
|
|
85
|
-
onValueChange(change, data);
|
|
86
|
-
});
|
|
87
|
-
var renderExtra = useMemoizedFn(function (formId, extraConfig) {
|
|
88
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, window['g_sessionStore'].get(window.appConfig['matchPresetAdmin']) === '1' && RUNTIME === 'dev' && /*#__PURE__*/React.createElement("a", {
|
|
89
|
-
onClick: function onClick() {
|
|
90
|
-
return readFieldProps(formId);
|
|
91
|
-
}
|
|
92
|
-
}, formatMessage({
|
|
93
|
-
id: 'app.luckda.button.readConfig',
|
|
94
|
-
label: '查看配置'
|
|
95
|
-
})), /*#__PURE__*/React.createElement(FormBtn, _extends({
|
|
96
|
-
formId: formId
|
|
97
|
-
}, extraConfig)));
|
|
98
|
-
});
|
|
99
|
-
var handleBatchSubmit = function handleBatchSubmit(values, action, _ref6) {
|
|
100
|
-
var formCode = _ref6.formCode,
|
|
101
|
-
formKey = _ref6.formKey;
|
|
102
|
-
setSubmitLoading(true);
|
|
103
|
-
onBatchSubmitAction({
|
|
104
|
-
values: values,
|
|
105
|
-
formList: formList,
|
|
106
|
-
dataSets: dataSets,
|
|
107
|
-
beforeSubmit: beforeSubmit,
|
|
108
|
-
doAction: doAction,
|
|
109
|
-
action: action,
|
|
110
|
-
formData: props.formData,
|
|
111
|
-
form_id: formKey,
|
|
112
|
-
effcode: formCode
|
|
113
|
-
}, function (success, indocno) {
|
|
114
|
-
setSubmitLoading(false);
|
|
115
|
-
if (success) {
|
|
116
|
-
if (afterSubmit) {
|
|
117
|
-
afterSubmit();
|
|
118
|
-
} else {
|
|
119
|
-
var _formListRef$current;
|
|
120
|
-
formListRef.current.onQuery(null, _defineProperty({}, mainFormLdId, {
|
|
121
|
-
indocno: indocno
|
|
122
|
-
}), function () {
|
|
123
|
-
return formListRef.current.setFormMode('edit');
|
|
124
|
-
});
|
|
125
|
-
props.parentModelName && ((_formListRef$current = formListRef.current) === null || _formListRef$current === void 0 ? void 0 : _formListRef$current.doParentsQuery());
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
var formConfig = _objectSpread(_objectSpread({
|
|
131
|
-
formState: formState,
|
|
132
|
-
formMode: formMode,
|
|
133
|
-
loading: loading || submitLoading
|
|
134
|
-
}, props), {}, {
|
|
135
|
-
namespace: namespace,
|
|
136
|
-
readOnly: readOnly,
|
|
137
|
-
mainFormLdId: mainFormLdId,
|
|
138
|
-
onValueChange: handleValueChange,
|
|
139
|
-
renderExtra: renderExtra
|
|
140
|
-
});
|
|
141
|
-
var formList = renderFormList(formConfig);
|
|
142
|
-
var mainDataSetKey = (_formList$find = formList.find(function (i) {
|
|
143
|
-
return i.id === mainFormLdId;
|
|
144
|
-
})) === null || _formList$find === void 0 ? void 0 : _formList$find.dataSetKey;
|
|
145
|
-
return /*#__PURE__*/React.createElement(FormList, _extends({
|
|
146
|
-
editFlow: true,
|
|
147
|
-
formState: formState,
|
|
148
|
-
formMode: formMode,
|
|
149
|
-
loading: loading || submitLoading
|
|
150
|
-
}, props, {
|
|
151
|
-
modelName: namespace,
|
|
152
|
-
ref: formListRef,
|
|
153
|
-
onAdd: function onAdd(values, other) {
|
|
154
|
-
return handleBatchSubmit(values, 'add', other);
|
|
155
|
-
},
|
|
156
|
-
onBatchUpdate: function onBatchUpdate(values, other) {
|
|
157
|
-
return handleBatchSubmit(values, 'update', other);
|
|
158
|
-
}
|
|
159
|
-
}), /*#__PURE__*/React.createElement(FormListAffix, {
|
|
160
|
-
showSaveBtn: !readOnly && showSaveBtn,
|
|
161
|
-
renderLeft: renderAffixLeft,
|
|
162
|
-
renderRight: renderAffixRight,
|
|
163
|
-
title: saveBtnTitle,
|
|
164
|
-
layout: affixLayout || defaultLayout
|
|
165
|
-
}), formList.map(function (formProps) {
|
|
166
|
-
var _ref7 = formProps || {},
|
|
167
|
-
ldId = _ref7.id,
|
|
168
|
-
_ref7$header = _ref7.header,
|
|
169
|
-
header = _ref7$header === void 0 ? 'collapse' : _ref7$header,
|
|
170
|
-
title = _ref7.title,
|
|
171
|
-
_readOnly = _ref7.readOnly,
|
|
172
|
-
_ref7$extraConfig = _ref7.extraConfig,
|
|
173
|
-
extraConfig = _ref7$extraConfig === void 0 ? {} : _ref7$extraConfig,
|
|
174
|
-
_props = _objectWithoutProperties(_ref7, _excluded2);
|
|
175
|
-
var _props$type = _props.type,
|
|
176
|
-
type = _props$type === void 0 ? 'auto' : _props$type;
|
|
177
|
-
var renderForm = type === 'auto' ? buildLdAutoForm : buildLdGridForm;
|
|
178
|
-
if (header === 'collapse') return /*#__PURE__*/React.createElement(Collapse, {
|
|
179
|
-
title: title || ldId,
|
|
180
|
-
extra: renderExtra(ldId, extraConfig),
|
|
181
|
-
id: ldId,
|
|
182
|
-
key: ldId,
|
|
183
|
-
mode: ldId !== mainFormLdId && 'tab'
|
|
184
|
-
}, renderForm(_objectSpread(_objectSpread({}, _props), {}, {
|
|
185
|
-
ldId: ldId,
|
|
186
|
-
mainFormLdId: mainFormLdId,
|
|
187
|
-
mainDataSetKey: mainDataSetKey,
|
|
188
|
-
readOnly: readOnly || _readOnly,
|
|
189
|
-
onValueChange: handleValueChange,
|
|
190
|
-
ticketData: props.ticketData
|
|
191
|
-
})));
|
|
192
|
-
return /*#__PURE__*/React.createElement(Fragment, {
|
|
193
|
-
key: ldId
|
|
194
|
-
}, header === 'divider' && /*#__PURE__*/React.createElement(BasicDivider, {
|
|
195
|
-
title: title || ldId,
|
|
196
|
-
id: ldId
|
|
197
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
198
|
-
style: {
|
|
199
|
-
textAlign: 'right'
|
|
200
|
-
}
|
|
201
|
-
}, renderExtra(ldId, extraConfig)), renderForm(_objectSpread(_objectSpread({}, _props), {}, {
|
|
202
|
-
ldId: ldId,
|
|
203
|
-
mainFormLdId: mainFormLdId,
|
|
204
|
-
mainDataSetKey: mainDataSetKey,
|
|
205
|
-
readOnly: readOnly || _readOnly,
|
|
206
|
-
onValueChange: handleValueChange,
|
|
207
|
-
ticketData: props.ticketData
|
|
208
|
-
})));
|
|
209
|
-
}), ChildrenUtil.deepMap(renderFormExtra(formConfig), function (child) {
|
|
210
|
-
var _child$type;
|
|
211
|
-
return /*#__PURE__*/React.cloneElement(child, ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Collapse' ? {
|
|
212
|
-
mode: child.props.mode || 'tab'
|
|
213
|
-
} : {});
|
|
214
|
-
}));
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
// 构建带有model的组件
|
|
218
|
-
var builder = function builder(WrappedComponent, namespace, initData) {
|
|
219
|
-
var _getDvaApp2;
|
|
220
|
-
(_getDvaApp2 = getDvaApp()) === null || _getDvaApp2 === void 0 ? void 0 : _getDvaApp2._store.dispatch({
|
|
221
|
-
type: "".concat(namespace, "/setFormInit"),
|
|
222
|
-
payload: _objectSpread({
|
|
223
|
-
formMode: 'add'
|
|
224
|
-
}, initData)
|
|
225
|
-
});
|
|
226
|
-
return connect(function (_ref8) {
|
|
227
|
-
var modelName = _ref8[namespace],
|
|
228
|
-
loading = _ref8.loading;
|
|
229
|
-
return {
|
|
230
|
-
formData: modelName.formData,
|
|
231
|
-
formOperates: modelName.formOperates,
|
|
232
|
-
formState: modelName.formState,
|
|
233
|
-
formMode: modelName.formMode,
|
|
234
|
-
ticketData: modelName.ticketData,
|
|
235
|
-
loading: loading.models[namespace]
|
|
236
|
-
};
|
|
237
|
-
})(WrappedComponent);
|
|
238
|
-
};
|
|
239
|
-
var Index = function Index(_ref9) {
|
|
240
|
-
var namespace = _ref9.ldId,
|
|
241
|
-
initData = _ref9.initData,
|
|
242
|
-
overModel = _ref9.overModel,
|
|
243
|
-
props = _objectWithoutProperties(_ref9, _excluded3);
|
|
244
|
-
var Component = useCreation(function () {
|
|
245
|
-
var _getDvaApp3, _getDvaApp4;
|
|
246
|
-
(_getDvaApp3 = getDvaApp()) === null || _getDvaApp3 === void 0 ? void 0 : _getDvaApp3.unmodel(namespace);
|
|
247
|
-
if (!((_getDvaApp4 = getDvaApp()) === null || _getDvaApp4 === void 0 ? void 0 : _getDvaApp4._store.getState()[namespace])) {
|
|
248
|
-
var _getDvaApp5;
|
|
249
|
-
(_getDvaApp5 = getDvaApp()) === null || _getDvaApp5 === void 0 ? void 0 : _getDvaApp5.model(createModel(namespace, overModel));
|
|
250
|
-
}
|
|
251
|
-
return builder(LdFormList, namespace, initData);
|
|
252
|
-
}, [namespace]);
|
|
253
|
-
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
254
|
-
namespace: namespace
|
|
255
|
-
}, props));
|
|
256
|
-
};
|
|
257
|
-
Index.propTypes = {
|
|
258
|
-
ldId: PropTypes.string.isRequired,
|
|
259
|
-
// 唯一key
|
|
260
|
-
initData: PropTypes.object,
|
|
261
|
-
// 初始化数据
|
|
262
|
-
readOnly: PropTypes.bool,
|
|
263
|
-
// 是否只读
|
|
264
|
-
mainFormLdId: PropTypes.string,
|
|
265
|
-
// 主数据集Key
|
|
266
|
-
renderFormList: PropTypes.func,
|
|
267
|
-
renderAffixLeft: PropTypes.func,
|
|
268
|
-
// 左侧渲染
|
|
269
|
-
renderAffixRight: PropTypes.func,
|
|
270
|
-
// 右侧渲染
|
|
271
|
-
beforeSubmit: PropTypes.func,
|
|
272
|
-
// 点击提交前的事件
|
|
273
|
-
showSaveBtn: PropTypes.bool,
|
|
274
|
-
// 是否展示保存按钮
|
|
275
|
-
saveBtnTitle: PropTypes.element,
|
|
276
|
-
// 自定义保存按钮上的内容
|
|
277
|
-
affixLayout: PropTypes.oneOf(['top', 'bottom']),
|
|
278
|
-
onValueChange: PropTypes.func // 参数变化的事件
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
Index.defaultProps = {
|
|
282
|
-
initData: {},
|
|
283
|
-
readOnly: false,
|
|
284
|
-
renderFormList: function renderFormList() {
|
|
285
|
-
return [];
|
|
286
|
-
},
|
|
287
|
-
showSaveBtn: true,
|
|
288
|
-
beforeSubmit: function beforeSubmit(values) {
|
|
289
|
-
return new Promise(function (resolve) {
|
|
290
|
-
return resolve(values);
|
|
291
|
-
});
|
|
292
|
-
},
|
|
293
|
-
overModel: {}
|
|
294
|
-
};
|
|
295
|
-
export default /*#__PURE__*/forwardRef(function (props, ref) {
|
|
296
|
-
return /*#__PURE__*/React.createElement(Index, _extends({
|
|
297
|
-
wrapperRef: ref
|
|
298
|
-
}, props));
|
|
299
|
-
});
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import { createFormModel } from '@luck-design-biz/base/utils/modelHelper';
|
|
3
|
-
export default function (namespace) {
|
|
4
|
-
var modelProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5
|
-
return createFormModel(_objectSpread(_objectSpread({}, modelProps), {}, {
|
|
6
|
-
namespace: namespace,
|
|
7
|
-
state: _objectSpread({
|
|
8
|
-
ticketData: null
|
|
9
|
-
}, (modelProps === null || modelProps === void 0 ? void 0 : modelProps.state) || {}),
|
|
10
|
-
reducers: _objectSpread({
|
|
11
|
-
setFormInit: function setFormInit(state, _ref) {
|
|
12
|
-
var payload = _ref.payload;
|
|
13
|
-
var formMode = payload.formMode,
|
|
14
|
-
ticketData = payload.ticketData;
|
|
15
|
-
state.formMode = formMode;
|
|
16
|
-
state.ticketData = ticketData;
|
|
17
|
-
},
|
|
18
|
-
setTicketData: function setTicketData(state, _ref2) {
|
|
19
|
-
var payload = _ref2.payload;
|
|
20
|
-
var ticketData = payload.ticketData;
|
|
21
|
-
state.ticketData = ticketData;
|
|
22
|
-
}
|
|
23
|
-
}, (modelProps === null || modelProps === void 0 ? void 0 : modelProps.reducers) || {})
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["columns", "resources", "actions", "doAction", "afterInit", "namespace", "wrapperRef", "list", "detail", "params", "filters", "loading", "unclosableSet", "onQuery", "doQuery", "pageno", "pagesize", "totalCount", "columnsRewrite", "columnsReset", "batchOperations", "formatDataSource", "resultSet", "actionsColumn", "readFilter", "isFlow", "isTreeGrid"],
|
|
6
|
-
_excluded2 = ["ldId", "moduleCode", "suppressInit", "overModel", "afterQuery"];
|
|
7
|
-
import React, { forwardRef, useImperativeHandle, useRef, useEffect } from 'react';
|
|
8
|
-
import { getDvaApp } from 'umi';
|
|
9
|
-
import { transform, includes, keyBy, union, keys } from 'lodash';
|
|
10
|
-
import { useCreation } from 'ahooks';
|
|
11
|
-
import PropTypes from 'prop-types';
|
|
12
|
-
import { build } from '@luck-design-biz/base/Component';
|
|
13
|
-
import { GridList } from '@luck-design-biz/base/List';
|
|
14
|
-
import ldBuilder from '../../helper/ldBuilder';
|
|
15
|
-
import { getGridColumn } from '../../utils';
|
|
16
|
-
import createModel from './model';
|
|
17
|
-
var LdGrid = function LdGrid(_ref) {
|
|
18
|
-
var columns = _ref.columns,
|
|
19
|
-
resources = _ref.resources,
|
|
20
|
-
actions = _ref.actions,
|
|
21
|
-
doAction = _ref.doAction,
|
|
22
|
-
afterInit = _ref.afterInit,
|
|
23
|
-
namespace = _ref.namespace,
|
|
24
|
-
wrapperRef = _ref.wrapperRef,
|
|
25
|
-
list = _ref.list,
|
|
26
|
-
detail = _ref.detail,
|
|
27
|
-
params = _ref.params,
|
|
28
|
-
filters = _ref.filters,
|
|
29
|
-
loading = _ref.loading,
|
|
30
|
-
unclosableSet = _ref.unclosableSet,
|
|
31
|
-
onQuery = _ref.onQuery,
|
|
32
|
-
doQuery = _ref.doQuery,
|
|
33
|
-
current = _ref.pageno,
|
|
34
|
-
pageSize = _ref.pagesize,
|
|
35
|
-
total = _ref.totalCount,
|
|
36
|
-
columnsRewrite = _ref.columnsRewrite,
|
|
37
|
-
columnsReset = _ref.columnsReset,
|
|
38
|
-
batchOperations = _ref.batchOperations,
|
|
39
|
-
formatDataSource = _ref.formatDataSource,
|
|
40
|
-
resultSet = _ref.resultSet,
|
|
41
|
-
actionsColumn = _ref.actionsColumn,
|
|
42
|
-
readFilter = _ref.readFilter,
|
|
43
|
-
isFlow = _ref.isFlow,
|
|
44
|
-
isTreeGrid = _ref.isTreeGrid,
|
|
45
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
46
|
-
var gridRef = useRef(null);
|
|
47
|
-
var treeConfig = useCreation(function () {
|
|
48
|
-
if (isTreeGrid) {
|
|
49
|
-
return {
|
|
50
|
-
treeData: true,
|
|
51
|
-
isFlow: true,
|
|
52
|
-
renderIndex: false,
|
|
53
|
-
getDataPath: function getDataPath(data) {
|
|
54
|
-
var _data$sidcc;
|
|
55
|
-
return (_data$sidcc = data.sidcc) === null || _data$sidcc === void 0 ? void 0 : _data$sidcc.substring(1, data.sidcc.length - 1).split('/');
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return {};
|
|
60
|
-
}, [isTreeGrid]);
|
|
61
|
-
useEffect(function () {
|
|
62
|
-
readFilter && readFilter(params, filters);
|
|
63
|
-
}, [params, filters]);
|
|
64
|
-
useImperativeHandle(wrapperRef, function () {
|
|
65
|
-
return _objectSpread(_objectSpread({}, gridRef.current), {}, {
|
|
66
|
-
onLdQuery: function onLdQuery() {
|
|
67
|
-
var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
68
|
-
doQuery({
|
|
69
|
-
params: _params
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
var _batchOperations = useCreation(function () {
|
|
75
|
-
return batchOperations.map(function (i) {
|
|
76
|
-
return _objectSpread(_objectSpread({}, i), {}, {
|
|
77
|
-
wanted: i.wanted || 'virtual'
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
}, [batchOperations]);
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* 优先级
|
|
84
|
-
* columnsReset 重置columns,不受模块管理限制,写什么展示什么
|
|
85
|
-
* columnsRewrite 覆盖模块管理配置,是否展示以模块管理配置为主,自己可以用hide来隐藏某字段
|
|
86
|
-
*/
|
|
87
|
-
var _columns = useCreation(function () {
|
|
88
|
-
if (columnsReset) return columnsReset;
|
|
89
|
-
var defaultColumns = keyBy(columns, 'field');
|
|
90
|
-
var customColumns = keyBy(columnsRewrite, 'field');
|
|
91
|
-
var mergeFields = union(keys(defaultColumns), keys(customColumns));
|
|
92
|
-
return transform(mergeFields, function (result, field) {
|
|
93
|
-
var _customColumns$field;
|
|
94
|
-
if ((_customColumns$field = customColumns[field]) === null || _customColumns$field === void 0 ? void 0 : _customColumns$field.hide) {
|
|
95
|
-
// 任何情况都不显示
|
|
96
|
-
} else if (!defaultColumns[field]) {
|
|
97
|
-
// 数据集中不存在的字段以自定义的形式展示
|
|
98
|
-
result.push(customColumns[field]);
|
|
99
|
-
} else if (defaultColumns[field].isShowInGrid)
|
|
100
|
-
// 数据集中存在的字段和自定义结合展示
|
|
101
|
-
result.push(getGridColumn(defaultColumns[field], customColumns[field] || {}));
|
|
102
|
-
}, []);
|
|
103
|
-
}, [columns, columnsRewrite, columnsReset]);
|
|
104
|
-
var _actionsColumn = useCreation(function () {
|
|
105
|
-
return actionsColumn ? _objectSpread(_objectSpread({}, actionsColumn), {}, {
|
|
106
|
-
getActions: function getActions(data, index, params) {
|
|
107
|
-
var gridActions = actionsColumn.getActions && actionsColumn.getActions(data, index, params) || [];
|
|
108
|
-
return transform(gridActions, function (result, value) {
|
|
109
|
-
if (!value.resource || includes(data['__infuse_serial__'] || resources, value.resource)) {
|
|
110
|
-
result.push(_objectSpread(_objectSpread({}, value), {}, {
|
|
111
|
-
wanted: value.resource || 'virtual'
|
|
112
|
-
}));
|
|
113
|
-
}
|
|
114
|
-
}, []);
|
|
115
|
-
}
|
|
116
|
-
}) : null;
|
|
117
|
-
}, [actionsColumn, resources]);
|
|
118
|
-
var _resultSet = _objectSpread(_objectSpread({
|
|
119
|
-
set: {
|
|
120
|
-
params: params,
|
|
121
|
-
filters: filters
|
|
122
|
-
}
|
|
123
|
-
}, resultSet), {}, {
|
|
124
|
-
unclosableSet: unclosableSet,
|
|
125
|
-
onQuery: onQuery
|
|
126
|
-
});
|
|
127
|
-
return /*#__PURE__*/React.createElement(GridList, _extends({
|
|
128
|
-
columns: _columns
|
|
129
|
-
// 资源串、行为配置
|
|
130
|
-
,
|
|
131
|
-
actionsColumn: _actionsColumn,
|
|
132
|
-
batchOperations: _batchOperations,
|
|
133
|
-
loading: loading,
|
|
134
|
-
pagination: isFlow ? false : {
|
|
135
|
-
total: total,
|
|
136
|
-
current: current,
|
|
137
|
-
pageSize: pageSize
|
|
138
|
-
},
|
|
139
|
-
dataSource: formatDataSource(list, detail),
|
|
140
|
-
resultSet: _resultSet
|
|
141
|
-
}, treeConfig, props, {
|
|
142
|
-
modelName: namespace,
|
|
143
|
-
operates: [].concat(_toConsumableArray(resources), ['virtual']),
|
|
144
|
-
ref: gridRef
|
|
145
|
-
}));
|
|
146
|
-
};
|
|
147
|
-
var ForwardLdGrid = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
148
|
-
return /*#__PURE__*/React.createElement(LdGrid, _extends({
|
|
149
|
-
wrapperRef: ref
|
|
150
|
-
}, props));
|
|
151
|
-
});
|
|
152
|
-
var LdIndex = function LdIndex(_ref2) {
|
|
153
|
-
var namespace = _ref2.ldId,
|
|
154
|
-
moduleCode = _ref2.moduleCode,
|
|
155
|
-
suppressInit = _ref2.suppressInit,
|
|
156
|
-
overModel = _ref2.overModel,
|
|
157
|
-
afterQuery = _ref2.afterQuery,
|
|
158
|
-
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
159
|
-
var isTreeGrid = includes(props.isTree, props.dataSetKey);
|
|
160
|
-
var Component = useCreation(function () {
|
|
161
|
-
var _getDvaApp, _getDvaApp2;
|
|
162
|
-
(_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp.unmodel(namespace);
|
|
163
|
-
if (!((_getDvaApp2 = getDvaApp()) === null || _getDvaApp2 === void 0 ? void 0 : _getDvaApp2._store.getState()[namespace])) {
|
|
164
|
-
var _getDvaApp3;
|
|
165
|
-
(_getDvaApp3 = getDvaApp()) === null || _getDvaApp3 === void 0 ? void 0 : _getDvaApp3.model(createModel(namespace, _objectSpread(_objectSpread({
|
|
166
|
-
isFlow: isTreeGrid || !!props.isFlow
|
|
167
|
-
}, overModel), {}, {
|
|
168
|
-
dataSetKey: props.dataSetKey,
|
|
169
|
-
moduleCode: moduleCode,
|
|
170
|
-
behaviorKey: isTreeGrid ? 'readTree' : 'readGrid',
|
|
171
|
-
afterQuery: afterQuery
|
|
172
|
-
})));
|
|
173
|
-
}
|
|
174
|
-
return build(ForwardLdGrid, namespace, {
|
|
175
|
-
suppressInit: suppressInit,
|
|
176
|
-
afterInit: props.afterInit
|
|
177
|
-
});
|
|
178
|
-
}, [namespace]);
|
|
179
|
-
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
180
|
-
isTreeGrid: isTreeGrid,
|
|
181
|
-
namespace: namespace
|
|
182
|
-
}, props));
|
|
183
|
-
};
|
|
184
|
-
var Index = ldBuilder(LdIndex);
|
|
185
|
-
Index.propTypes = {
|
|
186
|
-
ldId: PropTypes.string.isRequired,
|
|
187
|
-
// 唯一key
|
|
188
|
-
dataSetKey: PropTypes.string.isRequired,
|
|
189
|
-
// 数据集key
|
|
190
|
-
readOnly: PropTypes.bool,
|
|
191
|
-
// 是否只读
|
|
192
|
-
columnsRewrite: PropTypes.arrayOf(
|
|
193
|
-
//
|
|
194
|
-
PropTypes.shape({
|
|
195
|
-
field: PropTypes.string.isRequired
|
|
196
|
-
})),
|
|
197
|
-
batchOperations: PropTypes.array,
|
|
198
|
-
// 批量操作元素
|
|
199
|
-
formatDataSource: PropTypes.func,
|
|
200
|
-
// 格式化数据源
|
|
201
|
-
resultSet: PropTypes.object,
|
|
202
|
-
actionsColumn: PropTypes.object,
|
|
203
|
-
// 行操作
|
|
204
|
-
suppressInit: PropTypes.bool,
|
|
205
|
-
// 抑制初始化
|
|
206
|
-
afterInit: PropTypes.func // 初始化后
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
Index.defaultProps = {
|
|
210
|
-
columnsRewrite: [],
|
|
211
|
-
columnsReset: null,
|
|
212
|
-
batchOperations: [],
|
|
213
|
-
formatDataSource: function formatDataSource(_list, _detail) {
|
|
214
|
-
return _list.map(function (indocno) {
|
|
215
|
-
return _detail[indocno];
|
|
216
|
-
});
|
|
217
|
-
},
|
|
218
|
-
resultSet: {},
|
|
219
|
-
suppressInit: false,
|
|
220
|
-
isFlow: false,
|
|
221
|
-
overModel: {}
|
|
222
|
-
};
|
|
223
|
-
export default /*#__PURE__*/forwardRef(function (props, ref) {
|
|
224
|
-
return /*#__PURE__*/React.createElement(Index, _extends({
|
|
225
|
-
wrapperRef: ref
|
|
226
|
-
}, props));
|
|
227
|
-
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["readAll", "moduleCode", "dataSetKey", "behaviorKey", "afterQuery"];
|
|
4
|
-
import { createMainModel } from '@luck-design-biz/base/utils/modelHelper';
|
|
5
|
-
import { behaviorCall } from '../../utils';
|
|
6
|
-
export default function (namespace) {
|
|
7
|
-
var modelProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
8
|
-
var _readAll = modelProps.readAll,
|
|
9
|
-
moduleCode = modelProps.moduleCode,
|
|
10
|
-
dataSetKey = modelProps.dataSetKey,
|
|
11
|
-
behaviorKey = modelProps.behaviorKey,
|
|
12
|
-
afterQuery = modelProps.afterQuery,
|
|
13
|
-
_modelProps = _objectWithoutProperties(modelProps, _excluded);
|
|
14
|
-
return createMainModel(_objectSpread(_objectSpread({}, _modelProps), {}, {
|
|
15
|
-
namespace: namespace,
|
|
16
|
-
readAll: function readAll() {
|
|
17
|
-
var get = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
18
|
-
var post = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
19
|
-
return new Promise(function (resolve) {
|
|
20
|
-
(_readAll || behaviorCall)(_objectSpread({
|
|
21
|
-
moduleCode: moduleCode,
|
|
22
|
-
datasetCode: dataSetKey,
|
|
23
|
-
behaviorKey: behaviorKey
|
|
24
|
-
}, get), {
|
|
25
|
-
_AutoFilter: post
|
|
26
|
-
}).then(function (res) {
|
|
27
|
-
afterQuery && afterQuery(res);
|
|
28
|
-
resolve(res);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}));
|
|
33
|
-
}
|