@luck-design-biz/luckda 0.0.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 +49 -0
- package/README.zh-CN.md +51 -0
- package/es/components/Builder/index.js +133 -0
- package/es/components/LdAutoForm/index.js +136 -0
- package/es/components/LdCard/index.js +198 -0
- package/es/components/LdCard/model.js +34 -0
- package/es/components/LdCom/index.js +24 -0
- package/es/components/LdFormList/index.js +293 -0
- package/es/components/LdFormList/model.js +24 -0
- package/es/components/LdGrid/index.js +214 -0
- package/es/components/LdGrid/model.js +36 -0
- package/es/components/LdGridForm/index.js +172 -0
- package/es/components/LdGridForm/index.less +7 -0
- package/es/components/LdInfoPanel/index.js +114 -0
- package/es/components/LdPop/index.js +31 -0
- package/es/components/LdTree/index.js +244 -0
- package/es/components/LdTree/index.less +36 -0
- package/es/helper/FromItems.js +267 -0
- package/es/helper/action.js +129 -0
- package/es/helper/form.js +100 -0
- package/es/helper/ldBuilder.js +47 -0
- package/es/helper/ldComBuild.js +38 -0
- package/es/index.js +9 -0
- package/es/services.js +46 -0
- package/es/utils/form.js +214 -0
- package/es/utils/grid.js +194 -0
- package/es/utils/index.js +2 -0
- package/lib/components/Builder/index.js +142 -0
- package/lib/components/LdAutoForm/index.js +145 -0
- package/lib/components/LdCard/index.js +207 -0
- package/lib/components/LdCard/model.js +41 -0
- package/lib/components/LdCom/index.js +35 -0
- package/lib/components/LdFormList/index.js +301 -0
- package/lib/components/LdFormList/model.js +30 -0
- package/lib/components/LdGrid/index.js +223 -0
- package/lib/components/LdGrid/model.js +43 -0
- package/lib/components/LdGridForm/index.js +181 -0
- package/lib/components/LdGridForm/index.less +7 -0
- package/lib/components/LdInfoPanel/index.js +123 -0
- package/lib/components/LdPop/index.js +40 -0
- package/lib/components/LdTree/index.js +253 -0
- package/lib/components/LdTree/index.less +36 -0
- package/lib/helper/FromItems.js +287 -0
- package/lib/helper/action.js +138 -0
- package/lib/helper/form.js +111 -0
- package/lib/helper/ldBuilder.js +56 -0
- package/lib/helper/ldComBuild.js +49 -0
- package/lib/index.js +84 -0
- package/lib/services.js +54 -0
- package/lib/utils/form.js +225 -0
- package/lib/utils/grid.js +203 -0
- package/lib/utils/index.js +27 -0
- package/package.json +92 -0
package/es/utils/form.js
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["comName", "property"],
|
|
5
|
+
_excluded2 = ["name"],
|
|
6
|
+
_excluded3 = ["type"],
|
|
7
|
+
_excluded4 = ["comName", "property"],
|
|
8
|
+
_excluded5 = ["comName", "property"],
|
|
9
|
+
_excluded6 = ["comName", "property"],
|
|
10
|
+
_excluded7 = ["formItemRewrite"],
|
|
11
|
+
_excluded8 = ["name"],
|
|
12
|
+
_excluded9 = ["type", "name"];
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import moment from 'moment';
|
|
15
|
+
import { capitalize, merge, transform, isArray, omit, isNil } from 'lodash';
|
|
16
|
+
import { defaultComName, translator, splitStrToObj, formatCustomProps } from '../helper/form';
|
|
17
|
+
import { getColumnRender } from './grid';
|
|
18
|
+
import * as formItemUtils from '../helper/FromItems';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 根据动态表单配置项生成formItem
|
|
22
|
+
* @param {动态表单配置项} props
|
|
23
|
+
* @param {自定义动态表单配置项} customProps
|
|
24
|
+
* @returns <BasicForm name='' ... />
|
|
25
|
+
*/
|
|
26
|
+
export function getFormItem() {
|
|
27
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
28
|
+
comName = _ref.comName,
|
|
29
|
+
property = _ref.property,
|
|
30
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
32
|
+
if (!property) return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
33
|
+
var _translator = translator(props),
|
|
34
|
+
name = _translator.name,
|
|
35
|
+
translateProps = _objectWithoutProperties(_translator, _excluded2);
|
|
36
|
+
var _merge = merge(
|
|
37
|
+
// 移除type,不能删除type,会导致查询renderInfo的时候报错
|
|
38
|
+
translateProps, formatCustomProps(customProps)),
|
|
39
|
+
type = _merge.type,
|
|
40
|
+
_props = _objectWithoutProperties(_merge, _excluded3);
|
|
41
|
+
if (customProps.renderBasicFormItem) {
|
|
42
|
+
var com = customProps.renderBasicFormItem(_props);
|
|
43
|
+
var comProps = merge(_props, com.props);
|
|
44
|
+
return /*#__PURE__*/React.cloneElement(com, _objectSpread(_objectSpread({}, comProps), {}, {
|
|
45
|
+
name: name,
|
|
46
|
+
key: name
|
|
47
|
+
}), com.props.children);
|
|
48
|
+
}
|
|
49
|
+
var getFormItemUtils = formItemUtils["get".concat(capitalize(comName || defaultComName[property]), "Item")];
|
|
50
|
+
return getFormItemUtils(_objectSpread(_objectSpread({}, _props), {}, {
|
|
51
|
+
name: name,
|
|
52
|
+
key: name
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 根据后端返回数据组装表单数据
|
|
58
|
+
* @param {数组---动态表单配置参数列表} propsList
|
|
59
|
+
* @param {对象---后端返回的未处理数据} values
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
export var formItemDataFormat = function formItemDataFormat() {
|
|
63
|
+
var propsList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
64
|
+
var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
65
|
+
var data = transform(propsList, function (result, n) {
|
|
66
|
+
var _ref2 = n || {},
|
|
67
|
+
comName = _ref2.comName,
|
|
68
|
+
property = _ref2.property,
|
|
69
|
+
props = _objectWithoutProperties(_ref2, _excluded4);
|
|
70
|
+
var translatorProps = translator(props);
|
|
71
|
+
var name = translatorProps.name,
|
|
72
|
+
dataFormat = translatorProps.dataFormat;
|
|
73
|
+
switch (comName || defaultComName[property]) {
|
|
74
|
+
case 'date':
|
|
75
|
+
result[name] = values["".concat(name, "_virtual")] ? moment(values["".concat(name, "_virtual")], 'YYYY-MM-DD HH:mm:ss') : undefined;
|
|
76
|
+
break;
|
|
77
|
+
case 'user':
|
|
78
|
+
case 'select':
|
|
79
|
+
case 'group':
|
|
80
|
+
if (translatorProps.multiple) {
|
|
81
|
+
result[name] = splitStrToObj(values[name], values["".concat(name, "_virtual")]);
|
|
82
|
+
} else {
|
|
83
|
+
result[name] = values[name] ? {
|
|
84
|
+
key: values[name],
|
|
85
|
+
value: values[name],
|
|
86
|
+
label: values["".concat(name, "_virtual")]
|
|
87
|
+
} : undefined;
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case 'switch':
|
|
91
|
+
result[name] = values[name] && Number(values[name]);
|
|
92
|
+
break;
|
|
93
|
+
case 'region':
|
|
94
|
+
result[name] = values[name] ? JSON.parse(values[name]) : undefined;
|
|
95
|
+
break;
|
|
96
|
+
case 'year':
|
|
97
|
+
result[name] = values["".concat(name, "_virtual")] ? moment(values["".concat(name, "_virtual")], 'YYYY') : undefined;
|
|
98
|
+
break;
|
|
99
|
+
case 'radio':
|
|
100
|
+
result[name] = values[name];
|
|
101
|
+
break;
|
|
102
|
+
default:
|
|
103
|
+
if (!isNil(values["".concat(name, "_virtual")] || values[name])) result[name] = values["".concat(name, "_virtual")] || values[name];
|
|
104
|
+
}
|
|
105
|
+
values = omit(values, [name, "".concat(name, "_virtual")]);
|
|
106
|
+
}, {});
|
|
107
|
+
return _objectSpread(_objectSpread({}, values), data);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* 数据格式化
|
|
112
|
+
* @param {数组---动态表单配置参数列表} propsList
|
|
113
|
+
* @param {对象---表单获取到的未处理数据} values
|
|
114
|
+
* @returns
|
|
115
|
+
*/
|
|
116
|
+
export var dataFormat = function dataFormat() {
|
|
117
|
+
var propsList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
118
|
+
var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
119
|
+
// 姚小川说:冗余字段后端处理,不需要前端传给后端
|
|
120
|
+
var data = transform(propsList, function (result, n) {
|
|
121
|
+
var _ref3 = n || {},
|
|
122
|
+
comName = _ref3.comName,
|
|
123
|
+
property = _ref3.property,
|
|
124
|
+
props = _objectWithoutProperties(_ref3, _excluded5);
|
|
125
|
+
var translatorProps = translator(props);
|
|
126
|
+
var name = translatorProps.name;
|
|
127
|
+
switch (comName || defaultComName[property]) {
|
|
128
|
+
case 'date':
|
|
129
|
+
result[name] = values[name] ? moment(values[name]).valueOf() : undefined;
|
|
130
|
+
break;
|
|
131
|
+
case 'user':
|
|
132
|
+
case 'select':
|
|
133
|
+
case 'group':
|
|
134
|
+
if (isArray(values[name])) result[name] = values[name].map(function (v) {
|
|
135
|
+
return v.value || v.key;
|
|
136
|
+
}).join(',');else if (values[name]) result[name] = values[name].value || values[name].key;
|
|
137
|
+
break;
|
|
138
|
+
case 'switch':
|
|
139
|
+
result[name] = values[name] ? 1 : 0;
|
|
140
|
+
break;
|
|
141
|
+
case 'region':
|
|
142
|
+
result[name] = values[name] ? JSON.stringify(values[name]) : undefined;
|
|
143
|
+
break;
|
|
144
|
+
case 'year':
|
|
145
|
+
result[name] = values[name] ? moment(values[name]).format('YYYY') : undefined;
|
|
146
|
+
break;
|
|
147
|
+
default:
|
|
148
|
+
if (!isNil(values[name])) result[name] = values[name];
|
|
149
|
+
}
|
|
150
|
+
values = omit(values, [name, "".concat(name, "_cvt")]);
|
|
151
|
+
}, {});
|
|
152
|
+
return _objectSpread(_objectSpread({}, values), data);
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
*
|
|
157
|
+
* @param formType
|
|
158
|
+
* @param props
|
|
159
|
+
* @param customProps
|
|
160
|
+
* @returns {*&{field: *, editable: (false|{required: *}), renderBasicFormItem: ((function(): (*))|*), title, render: *}}
|
|
161
|
+
*/
|
|
162
|
+
export var getFormColumn = function getFormColumn() {
|
|
163
|
+
var _props$config;
|
|
164
|
+
var formType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'grid';
|
|
165
|
+
var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
166
|
+
comName = _ref4.comName,
|
|
167
|
+
property = _ref4.property,
|
|
168
|
+
props = _objectWithoutProperties(_ref4, _excluded6);
|
|
169
|
+
var _ref5 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
170
|
+
formItemRewrite = _ref5.formItemRewrite,
|
|
171
|
+
customProps = _objectWithoutProperties(_ref5, _excluded7);
|
|
172
|
+
var formItemType = comName || defaultComName[property];
|
|
173
|
+
if (formItemType === 'radio') formItemType = 'select';
|
|
174
|
+
var _translator2 = translator(props),
|
|
175
|
+
name = _translator2.name,
|
|
176
|
+
translateProps = _objectWithoutProperties(_translator2, _excluded8);
|
|
177
|
+
var _merge2 = merge(
|
|
178
|
+
// mode=writer移除type,不能删除type,会导致查询renderInfo的时候报错
|
|
179
|
+
translateProps, formatCustomProps(formItemRewrite)),
|
|
180
|
+
type = _merge2.type,
|
|
181
|
+
_ = _merge2.name,
|
|
182
|
+
_props = _objectWithoutProperties(_merge2, _excluded9);
|
|
183
|
+
var columnRender = getColumnRender(name, formItemType, _props);
|
|
184
|
+
if (formType !== 'writer') _props.name = name;
|
|
185
|
+
return _objectSpread(_objectSpread({
|
|
186
|
+
title: translateProps.label,
|
|
187
|
+
editable: formType === 'writer' && {
|
|
188
|
+
required: _props.required || ((_props$config = _props.config) === null || _props$config === void 0 ? void 0 : _props$config.required)
|
|
189
|
+
},
|
|
190
|
+
render: _props.render || columnRender
|
|
191
|
+
}, customProps), {}, {
|
|
192
|
+
renderBasicFormItem: function renderBasicFormItem() {
|
|
193
|
+
if (!property) return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
194
|
+
if (customProps.renderBasicFormItem) {
|
|
195
|
+
var com = customProps.renderBasicFormItem(_props);
|
|
196
|
+
var comProps = merge(_props, com.props);
|
|
197
|
+
return /*#__PURE__*/React.cloneElement(com, _objectSpread({
|
|
198
|
+
dataFormat: function dataFormat(value) {
|
|
199
|
+
return _defineProperty({}, name, value);
|
|
200
|
+
},
|
|
201
|
+
key: name
|
|
202
|
+
}, comProps), com.props.children);
|
|
203
|
+
}
|
|
204
|
+
var getFormItemUtils = formItemUtils["get".concat(capitalize(formItemType), "Item")];
|
|
205
|
+
return getFormItemUtils(_objectSpread({
|
|
206
|
+
dataFormat: function dataFormat(value) {
|
|
207
|
+
return _defineProperty({}, name, value);
|
|
208
|
+
},
|
|
209
|
+
key: name
|
|
210
|
+
}, _props));
|
|
211
|
+
},
|
|
212
|
+
field: name
|
|
213
|
+
});
|
|
214
|
+
};
|
package/es/utils/grid.js
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
+
var _excluded = ["comName", "property"],
|
|
3
|
+
_excluded2 = ["name", "isVr"],
|
|
4
|
+
_excluded3 = ["filter", "filterParams"];
|
|
5
|
+
var _getDvaApp;
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { getDvaApp } from 'umi';
|
|
8
|
+
import { merge, isNil, isArray } from 'lodash';
|
|
9
|
+
import { Switch, Tag } from 'antd';
|
|
10
|
+
import moment from 'moment';
|
|
11
|
+
import { defaultComName, translator, formatCustomProps } from '../helper/form';
|
|
12
|
+
import { formatMessage } from '@luck-design-biz/base/utils';
|
|
13
|
+
var _getDvaApp$_store = (_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp._store,
|
|
14
|
+
dispatch = _getDvaApp$_store.dispatch;
|
|
15
|
+
export function getColumnRender(name, type) {
|
|
16
|
+
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
17
|
+
var render = function render(text, record) {
|
|
18
|
+
return record["".concat(name, "_virtual")] || text;
|
|
19
|
+
};
|
|
20
|
+
switch (type) {
|
|
21
|
+
case 'number':
|
|
22
|
+
case 'string':
|
|
23
|
+
case 'textarea':
|
|
24
|
+
render = function render(text, record) {
|
|
25
|
+
var _props$config;
|
|
26
|
+
return record["".concat(name, "_virtual")] || (((_props$config = props.config) === null || _props$config === void 0 ? void 0 : _props$config.precision) && text ? text.toFixed(props.config.precision) : text);
|
|
27
|
+
};
|
|
28
|
+
break;
|
|
29
|
+
case 'date':
|
|
30
|
+
render = function render(text, record) {
|
|
31
|
+
return record["".concat(name, "_virtual")] || (text ? moment(text).format('YYYY-MM-DD HH:mm:ss') : undefined);
|
|
32
|
+
};
|
|
33
|
+
break;
|
|
34
|
+
case 'year':
|
|
35
|
+
render = function render(text, record) {
|
|
36
|
+
return record["".concat(name, "_virtual")] || (text ? moment(value).format('YYYY-MM-DD') : undefined);
|
|
37
|
+
};
|
|
38
|
+
break;
|
|
39
|
+
case 'user':
|
|
40
|
+
case 'select':
|
|
41
|
+
case 'group':
|
|
42
|
+
render = function render(text, record) {
|
|
43
|
+
if (record["".concat(name, "_virtual")]) return record["".concat(name, "_virtual")];
|
|
44
|
+
if (isArray(text)) return text.map(function (i) {
|
|
45
|
+
return i.label;
|
|
46
|
+
}).join(',');
|
|
47
|
+
if (!isNil(text)) return text.label;
|
|
48
|
+
};
|
|
49
|
+
break;
|
|
50
|
+
case 'switch':
|
|
51
|
+
render = function render(text) {
|
|
52
|
+
return /*#__PURE__*/React.createElement(Switch, {
|
|
53
|
+
checked: !!text,
|
|
54
|
+
size: "small"
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
break;
|
|
58
|
+
case 'color':
|
|
59
|
+
render = function render(text) {
|
|
60
|
+
return /*#__PURE__*/React.createElement(Tag, {
|
|
61
|
+
color: text
|
|
62
|
+
}, text);
|
|
63
|
+
};
|
|
64
|
+
break;
|
|
65
|
+
case 'region':
|
|
66
|
+
render = function render(text, record) {
|
|
67
|
+
return record["".concat(name, "_virtual")] || text ? text.map(function (i) {
|
|
68
|
+
return i.name;
|
|
69
|
+
}).join('/') : undefined;
|
|
70
|
+
};
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
}
|
|
74
|
+
return render;
|
|
75
|
+
}
|
|
76
|
+
export var getGridColumn = function getGridColumn() {
|
|
77
|
+
var _props$config2;
|
|
78
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
79
|
+
comName = _ref.comName,
|
|
80
|
+
property = _ref.property,
|
|
81
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
82
|
+
var customProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
83
|
+
var _translator = translator(props),
|
|
84
|
+
name = _translator.name,
|
|
85
|
+
_translator$isVr = _translator.isVr,
|
|
86
|
+
isVr = _translator$isVr === void 0 ? false : _translator$isVr,
|
|
87
|
+
translateProps = _objectWithoutProperties(_translator, _excluded2);
|
|
88
|
+
var _merge = merge(translateProps, formatCustomProps(customProps)),
|
|
89
|
+
filter = _merge.filter,
|
|
90
|
+
filterParams = _merge.filterParams,
|
|
91
|
+
_props = _objectWithoutProperties(_merge, _excluded3);
|
|
92
|
+
var data = {
|
|
93
|
+
field: name,
|
|
94
|
+
title: _props.label,
|
|
95
|
+
render: _props.render || getColumnRender(name, comName || defaultComName[property], _props)
|
|
96
|
+
};
|
|
97
|
+
// data.filter = false;
|
|
98
|
+
if (filter) {
|
|
99
|
+
// 因为后端升级问题,暂时关闭过滤功能
|
|
100
|
+
data.filter = filter;
|
|
101
|
+
data.filterParams = filterParams;
|
|
102
|
+
}
|
|
103
|
+
if (!isVr && !filter) {
|
|
104
|
+
switch (comName || defaultComName[property]) {
|
|
105
|
+
case 'switch':
|
|
106
|
+
data.filter = 'select';
|
|
107
|
+
data.filterParams = {
|
|
108
|
+
options: [{
|
|
109
|
+
key: 0,
|
|
110
|
+
label: formatMessage({
|
|
111
|
+
id: 'app.base.state.no',
|
|
112
|
+
label: '否'
|
|
113
|
+
})
|
|
114
|
+
}, {
|
|
115
|
+
key: 1,
|
|
116
|
+
label: formatMessage({
|
|
117
|
+
id: 'app.base.state.yes',
|
|
118
|
+
label: '是'
|
|
119
|
+
})
|
|
120
|
+
}],
|
|
121
|
+
key: name
|
|
122
|
+
};
|
|
123
|
+
break;
|
|
124
|
+
case 'date':
|
|
125
|
+
case 'year':
|
|
126
|
+
data.filter = 'date';
|
|
127
|
+
break;
|
|
128
|
+
case 'user':
|
|
129
|
+
data.filter = 'select';
|
|
130
|
+
data.filterParams = {
|
|
131
|
+
options: function options() {
|
|
132
|
+
return dispatch({
|
|
133
|
+
type: 'global/getUser'
|
|
134
|
+
});
|
|
135
|
+
},
|
|
136
|
+
searchData: function searchData(str) {
|
|
137
|
+
return dispatch({
|
|
138
|
+
type: "global/getUser",
|
|
139
|
+
payload: str
|
|
140
|
+
});
|
|
141
|
+
},
|
|
142
|
+
key: name,
|
|
143
|
+
mode: _props.mode && ((_props$config2 = _props.config) === null || _props$config2 === void 0 ? void 0 : _props$config2.mode),
|
|
144
|
+
filterOption: false
|
|
145
|
+
};
|
|
146
|
+
break;
|
|
147
|
+
case 'select':
|
|
148
|
+
case 'radio':
|
|
149
|
+
data.filter = 'select';
|
|
150
|
+
if (_props.alias) {
|
|
151
|
+
var _props$config3;
|
|
152
|
+
data.filterParams = {
|
|
153
|
+
options: function options() {
|
|
154
|
+
return dispatch({
|
|
155
|
+
type: 'global/getDatadic',
|
|
156
|
+
payload: {
|
|
157
|
+
snamealias: _props.alias
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
},
|
|
161
|
+
key: name,
|
|
162
|
+
mode: _props.mode && ((_props$config3 = _props.config) === null || _props$config3 === void 0 ? void 0 : _props$config3.mode)
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
break;
|
|
166
|
+
case 'group':
|
|
167
|
+
data.filter = 'treeSelect';
|
|
168
|
+
data.filterParams = {
|
|
169
|
+
options: function options() {
|
|
170
|
+
return dispatch({
|
|
171
|
+
type: 'global/readGroup',
|
|
172
|
+
payload: {
|
|
173
|
+
sclassKey: _props.sclassKey
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
searchData: function searchData(str) {
|
|
178
|
+
return dispatch({
|
|
179
|
+
type: 'global/readGroup',
|
|
180
|
+
payload: {
|
|
181
|
+
sclassKey: _props.sclassKey,
|
|
182
|
+
sname: str
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
},
|
|
186
|
+
key: name,
|
|
187
|
+
mode: 'multiple'
|
|
188
|
+
};
|
|
189
|
+
break;
|
|
190
|
+
default:
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return data;
|
|
194
|
+
};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = exports.LuckDaContext = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _ahooks = require("ahooks");
|
|
15
|
+
var _luckDesign = require("luck-design");
|
|
16
|
+
var _LdPop = _interopRequireDefault(require("../LdPop"));
|
|
17
|
+
var _services = require("../../services");
|
|
18
|
+
var _action2 = require("../../helper/action");
|
|
19
|
+
var _utils = require("@luck-design-biz/base/utils");
|
|
20
|
+
var LuckDaContext = /*#__PURE__*/(0, _react.createContext)();
|
|
21
|
+
exports.LuckDaContext = LuckDaContext;
|
|
22
|
+
var builder = function builder(WrappedComponent, moduleCode) {
|
|
23
|
+
var Component = function Component(props) {
|
|
24
|
+
if (!moduleCode) return (0, _utils.formatMessage)({
|
|
25
|
+
id: 'luckda.paramMiss.moduleCode',
|
|
26
|
+
label: '缺少模块Key'
|
|
27
|
+
});
|
|
28
|
+
var _useState = (0, _react.useState)(null),
|
|
29
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
30
|
+
moduleData = _useState2[0],
|
|
31
|
+
setModuleData = _useState2[1];
|
|
32
|
+
var _useSetState = (0, _ahooks.useSetState)({}),
|
|
33
|
+
_useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
|
|
34
|
+
pops = _useSetState2[0],
|
|
35
|
+
setPops = _useSetState2[1];
|
|
36
|
+
var fieldProps = (0, _react.useRef)({});
|
|
37
|
+
var _useRequest = (0, _ahooks.useRequest)(_services.readModlue, {
|
|
38
|
+
defaultParams: [{
|
|
39
|
+
moduleCode: moduleCode
|
|
40
|
+
}],
|
|
41
|
+
onSuccess: function onSuccess(res) {
|
|
42
|
+
var code = res.code,
|
|
43
|
+
data = res.data;
|
|
44
|
+
if (code === 1) {
|
|
45
|
+
setModuleData({
|
|
46
|
+
actions: data.actions || {},
|
|
47
|
+
dataSets: data.dataSets || {},
|
|
48
|
+
isTree: data.isTree || [],
|
|
49
|
+
resources: data.resources || []
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}),
|
|
54
|
+
loading = _useRequest.loading;
|
|
55
|
+
var openPop = (0, _ahooks.useMemoizedFn)(function (ldId, params) {
|
|
56
|
+
setPops(function (prev) {
|
|
57
|
+
return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), {}, (0, _defineProperty2.default)({}, ldId, (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev[ldId]), params)));
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
var closePop = (0, _ahooks.useMemoizedFn)(function (ldId) {
|
|
61
|
+
setPops(function (prev) {
|
|
62
|
+
return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), {}, (0, _defineProperty2.default)({}, ldId, {
|
|
63
|
+
visible: false,
|
|
64
|
+
component: null
|
|
65
|
+
}));
|
|
66
|
+
});
|
|
67
|
+
setTimeout(function () {
|
|
68
|
+
setPops(function (prev) {
|
|
69
|
+
delete prev[ldId];
|
|
70
|
+
return prev;
|
|
71
|
+
});
|
|
72
|
+
}, 500);
|
|
73
|
+
});
|
|
74
|
+
var doAction = (0, _ahooks.useMemoizedFn)(function (_action, _data, _params) {
|
|
75
|
+
(0, _action2.doAction)(_action, _data, _params, {
|
|
76
|
+
actions: moduleData.actions,
|
|
77
|
+
moduleCode: moduleCode
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
var readFieldProps = function readFieldProps(ldId) {
|
|
81
|
+
openPop('luckdaConfigFields', {
|
|
82
|
+
title: '配置信息',
|
|
83
|
+
mode: 'drawer',
|
|
84
|
+
component: /*#__PURE__*/_react.default.createElement(_luckDesign.BasicForm, {
|
|
85
|
+
dataSource: {
|
|
86
|
+
data: fieldProps.current[ldId]
|
|
87
|
+
},
|
|
88
|
+
readOnly: true
|
|
89
|
+
}, /*#__PURE__*/_react.default.createElement(_luckDesign.BasicFormItem, {
|
|
90
|
+
type: 'jsonEditor',
|
|
91
|
+
name: 'data',
|
|
92
|
+
hideLabel: true,
|
|
93
|
+
config: {
|
|
94
|
+
displayDataTypes: false,
|
|
95
|
+
enableClipboard: true
|
|
96
|
+
}
|
|
97
|
+
}))
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
var setFieldProps = function setFieldProps() {
|
|
101
|
+
var _props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
102
|
+
fieldProps.current = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, fieldProps.current), _props);
|
|
103
|
+
};
|
|
104
|
+
if (loading) return 'loading...';
|
|
105
|
+
if (!moduleData) return (0, _utils.formatMessage)({
|
|
106
|
+
id: 'luckda.module.loadFailed',
|
|
107
|
+
label: '模块信息加载失败'
|
|
108
|
+
});
|
|
109
|
+
if (moduleData.length === 0) return (0, _utils.formatMessage)({
|
|
110
|
+
id: 'luckda.module.missDataSet',
|
|
111
|
+
label: '模块缺少数据集'
|
|
112
|
+
});
|
|
113
|
+
return /*#__PURE__*/_react.default.createElement(LuckDaContext.Provider, {
|
|
114
|
+
value: (0, _objectSpread4.default)((0, _objectSpread4.default)({}, moduleData), {}, {
|
|
115
|
+
doAction: doAction,
|
|
116
|
+
openPop: openPop,
|
|
117
|
+
closePop: closePop,
|
|
118
|
+
readFieldProps: readFieldProps,
|
|
119
|
+
setFieldProps: setFieldProps,
|
|
120
|
+
moduleCode: moduleCode
|
|
121
|
+
})
|
|
122
|
+
}, /*#__PURE__*/_react.default.createElement(WrappedComponent, (0, _extends2.default)({}, moduleData || {}, {
|
|
123
|
+
doAction: doAction,
|
|
124
|
+
openPop: openPop,
|
|
125
|
+
closePop: closePop
|
|
126
|
+
}, props)), Object.keys(pops).map(function (ldId) {
|
|
127
|
+
return /*#__PURE__*/_react.default.createElement(_LdPop.default, {
|
|
128
|
+
ldId: ldId,
|
|
129
|
+
key: ldId,
|
|
130
|
+
params: (0, _objectSpread4.default)({
|
|
131
|
+
visible: true,
|
|
132
|
+
onClose: function onClose() {
|
|
133
|
+
return closePop(ldId);
|
|
134
|
+
}
|
|
135
|
+
}, pops[ldId])
|
|
136
|
+
});
|
|
137
|
+
}));
|
|
138
|
+
};
|
|
139
|
+
return Component;
|
|
140
|
+
};
|
|
141
|
+
var _default = builder;
|
|
142
|
+
exports.default = _default;
|