@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
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = 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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _ahooks = require("ahooks");
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
var _ldBuilder = _interopRequireDefault(require("../../helper/ldBuilder"));
|
|
18
|
+
var _FormList = require("@luck-design-biz/base/FormList");
|
|
19
|
+
var _utils = require("../../utils");
|
|
20
|
+
var _form = require("../../helper/form");
|
|
21
|
+
var _Builder = require("../Builder");
|
|
22
|
+
var _services = require("../../services");
|
|
23
|
+
var _index = _interopRequireDefault(require("./index.less"));
|
|
24
|
+
var _excluded = ["columns", "resources", "actions", "doAction", "ldId", "dataSetKey", "columnsRewrite", "onQuery", "onAdd", "onUpdate", "onDelete", "mainFormLdId", "mainDataSetKey", "onValueChange", "type", "afterOperate", "moduleCode", "defaultDataSourceFormat", "ticketData", "className"];
|
|
25
|
+
var buildLdGridForm = function buildLdGridForm(_ref) {
|
|
26
|
+
var _ref$columns = _ref.columns,
|
|
27
|
+
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
28
|
+
_ref$resources = _ref.resources,
|
|
29
|
+
resources = _ref$resources === void 0 ? [] : _ref$resources,
|
|
30
|
+
_ref$actions = _ref.actions,
|
|
31
|
+
actions = _ref$actions === void 0 ? {} : _ref$actions,
|
|
32
|
+
_ref$doAction = _ref.doAction,
|
|
33
|
+
doAction = _ref$doAction === void 0 ? function () {} : _ref$doAction,
|
|
34
|
+
ldId = _ref.ldId,
|
|
35
|
+
dataSetKey = _ref.dataSetKey,
|
|
36
|
+
_ref$columnsRewrite = _ref.columnsRewrite,
|
|
37
|
+
columnsRewrite = _ref$columnsRewrite === void 0 ? [] : _ref$columnsRewrite,
|
|
38
|
+
_ref$onQuery = _ref.onQuery,
|
|
39
|
+
onQuery = _ref$onQuery === void 0 ? {} : _ref$onQuery,
|
|
40
|
+
_ref$onAdd = _ref.onAdd,
|
|
41
|
+
onAdd = _ref$onAdd === void 0 ? {} : _ref$onAdd,
|
|
42
|
+
_ref$onUpdate = _ref.onUpdate,
|
|
43
|
+
onUpdate = _ref$onUpdate === void 0 ? {} : _ref$onUpdate,
|
|
44
|
+
_ref$onDelete = _ref.onDelete,
|
|
45
|
+
onDelete = _ref$onDelete === void 0 ? {} : _ref$onDelete,
|
|
46
|
+
mainFormLdId = _ref.mainFormLdId,
|
|
47
|
+
mainDataSetKey = _ref.mainDataSetKey,
|
|
48
|
+
_ref$onValueChange = _ref.onValueChange,
|
|
49
|
+
onValueChange = _ref$onValueChange === void 0 ? function () {} : _ref$onValueChange,
|
|
50
|
+
_ref$type = _ref.type,
|
|
51
|
+
type = _ref$type === void 0 ? 'grid' : _ref$type,
|
|
52
|
+
_afterOperate = _ref.afterOperate,
|
|
53
|
+
moduleCode = _ref.moduleCode,
|
|
54
|
+
_ref$defaultDataSourc = _ref.defaultDataSourceFormat,
|
|
55
|
+
defaultDataSourceFormat = _ref$defaultDataSourc === void 0 ? function () {
|
|
56
|
+
return {};
|
|
57
|
+
} : _ref$defaultDataSourc,
|
|
58
|
+
_ref$ticketData = _ref.ticketData,
|
|
59
|
+
ticketData = _ref$ticketData === void 0 ? {} : _ref$ticketData,
|
|
60
|
+
className = _ref.className,
|
|
61
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
62
|
+
var _ref2 = (0, _react.useContext)(_Builder.LuckDaContext) || {},
|
|
63
|
+
setFieldProps = _ref2.setFieldProps;
|
|
64
|
+
var defaultValues = (0, _react.useRef)();
|
|
65
|
+
var isMain = ldId === mainFormLdId;
|
|
66
|
+
var gridColumns = columns.map(function (col) {
|
|
67
|
+
if ((col.comName || _form.defaultComName[col.property]) === 'radio') return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, col), {}, {
|
|
68
|
+
comName: 'select'
|
|
69
|
+
});
|
|
70
|
+
return col;
|
|
71
|
+
});
|
|
72
|
+
var _columns = (0, _ahooks.useCreation)(function () {
|
|
73
|
+
var _defaultValues = {};
|
|
74
|
+
var _nodes = (0, _lodash.transform)(gridColumns, function (result, col) {
|
|
75
|
+
if (col.isShowInForm) {
|
|
76
|
+
var _objectSpread2;
|
|
77
|
+
var customColumn = columnsRewrite.find(function (column) {
|
|
78
|
+
return column.field === col.field;
|
|
79
|
+
}) || {};
|
|
80
|
+
if (col.isReadOnly) customColumn = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, customColumn), {}, {
|
|
81
|
+
editable: false,
|
|
82
|
+
mode: 'grid'
|
|
83
|
+
});
|
|
84
|
+
_defaultValues = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, _defaultValues), {}, (_objectSpread2 = {}, (0, _defineProperty2.default)(_objectSpread2, col.field, col['optDefaultValue']), (0, _defineProperty2.default)(_objectSpread2, "".concat(col.field, "_virtual"), col['optDefaultValueCvt']), _objectSpread2));
|
|
85
|
+
result.push((0, _utils.getFormColumn)(type, col, customColumn));
|
|
86
|
+
}
|
|
87
|
+
}, []);
|
|
88
|
+
defaultValues.current = _defaultValues;
|
|
89
|
+
setFieldProps((0, _defineProperty2.default)({}, ldId, _nodes.map(function (col) {
|
|
90
|
+
var node = col.renderBasicFormItem();
|
|
91
|
+
var renderBasicFormItem = node === null || node === void 0 ? void 0 : node.props;
|
|
92
|
+
return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, col), {}, {
|
|
93
|
+
renderBasicFormItem: (0, _objectSpread4.default)({
|
|
94
|
+
component: node.type.comName || node.type.displayName
|
|
95
|
+
}, renderBasicFormItem)
|
|
96
|
+
});
|
|
97
|
+
})));
|
|
98
|
+
return _nodes;
|
|
99
|
+
}, [columns, columnsRewrite, isMain]);
|
|
100
|
+
var defaultDataSource = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, (0, _utils.formItemDataFormat)(columns, defaultValues.current)), defaultDataSourceFormat(defaultValues.current));
|
|
101
|
+
var formConfig = {
|
|
102
|
+
formId: ldId,
|
|
103
|
+
columns: _columns,
|
|
104
|
+
isMain: isMain,
|
|
105
|
+
defaultDataSource: defaultDataSource,
|
|
106
|
+
newItemDefaultValue: defaultDataSource
|
|
107
|
+
};
|
|
108
|
+
var onOperate = (0, _ahooks.useMemoizedFn)(function () {
|
|
109
|
+
var _onOperate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
110
|
+
var behaviorKey = arguments.length > 1 ? arguments[1] : undefined;
|
|
111
|
+
return (0, _objectSpread4.default)((0, _objectSpread4.default)({
|
|
112
|
+
api: function api(get, post, formData) {
|
|
113
|
+
var _formData$mainFormLdI;
|
|
114
|
+
return (0, _services.readBehaviorCall)((0, _objectSpread4.default)((0, _objectSpread4.default)({}, get), {}, (0, _defineProperty2.default)({}, isMain ? 'indocno' : 'relationId', ((_formData$mainFormLdI = formData[mainFormLdId]) === null || _formData$mainFormLdI === void 0 ? void 0 : _formData$mainFormLdI.indocno) || ticketData.indocno)), post, formData);
|
|
115
|
+
},
|
|
116
|
+
get: function get() {
|
|
117
|
+
return {
|
|
118
|
+
moduleCode: moduleCode,
|
|
119
|
+
datasetCode: dataSetKey,
|
|
120
|
+
behaviorKey: behaviorKey
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}, _onOperate), {}, {
|
|
124
|
+
post: function post(data) {
|
|
125
|
+
var _submitData = data.map(function (item) {
|
|
126
|
+
return (0, _utils.dataFormat)(gridColumns, item);
|
|
127
|
+
});
|
|
128
|
+
if (_onOperate === null || _onOperate === void 0 ? void 0 : _onOperate.post) return _onOperate.post(_submitData); // 以预设为主
|
|
129
|
+
return (0, _defineProperty2.default)({}, dataSetKey, (0, _defineProperty2.default)({}, "".concat(behaviorKey, "List"), _submitData));
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
return /*#__PURE__*/_react.default.createElement(_FormList.GridForm, (0, _extends2.default)({
|
|
134
|
+
noAddon: true,
|
|
135
|
+
operates: resources,
|
|
136
|
+
orderByAdd: "asc",
|
|
137
|
+
rowSelection: true,
|
|
138
|
+
type: type
|
|
139
|
+
}, props, {
|
|
140
|
+
onQuery: (0, _objectSpread4.default)((0, _objectSpread4.default)({
|
|
141
|
+
api: _services.readBehaviorCall,
|
|
142
|
+
get: function get(formData) {
|
|
143
|
+
var _formData$mainFormLdI2, _params2;
|
|
144
|
+
var _params = (_params2 = {}, (0, _defineProperty2.default)(_params2, isMain ? 'indocno' : 'relationId', ((_formData$mainFormLdI2 = formData[mainFormLdId]) === null || _formData$mainFormLdI2 === void 0 ? void 0 : _formData$mainFormLdI2.indocno) || ticketData.indocno), (0, _defineProperty2.default)(_params2, "moduleCode", moduleCode), (0, _defineProperty2.default)(_params2, "datasetCode", dataSetKey), (0, _defineProperty2.default)(_params2, "behaviorKey", 'readGrid'), _params2);
|
|
145
|
+
if (!isMain) _params.relationDs = mainDataSetKey;
|
|
146
|
+
return _params;
|
|
147
|
+
}
|
|
148
|
+
}, onQuery), {}, {
|
|
149
|
+
format: function format(data) {
|
|
150
|
+
var formItemData = data.map(function (item) {
|
|
151
|
+
return (0, _utils.formItemDataFormat)(gridColumns, item);
|
|
152
|
+
});
|
|
153
|
+
if (onQuery === null || onQuery === void 0 ? void 0 : onQuery.format) return onQuery.format(data, formItemData); // 以预设为主
|
|
154
|
+
return formItemData;
|
|
155
|
+
}
|
|
156
|
+
}),
|
|
157
|
+
onAdd: onOperate(onAdd, 'add'),
|
|
158
|
+
onUpdate: onOperate(onUpdate, 'update'),
|
|
159
|
+
onDelete: (0, _objectSpread4.default)((0, _objectSpread4.default)({}, onOperate(onDelete, 'delete')), {}, {
|
|
160
|
+
post: function post(data) {
|
|
161
|
+
var _submitData = data.map(function (item) {
|
|
162
|
+
return {
|
|
163
|
+
indocno: item.indocno
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
if (onDelete === null || onDelete === void 0 ? void 0 : onDelete.post) return onDelete.post(_submitData); // 以预设为主
|
|
167
|
+
return (0, _defineProperty2.default)({}, dataSetKey, {
|
|
168
|
+
deleteList: _submitData
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
})
|
|
172
|
+
}, formConfig, {
|
|
173
|
+
afterOperate: function afterOperate(dataList, operate) {
|
|
174
|
+
onValueChange((0, _defineProperty2.default)({}, ldId, (0, _defineProperty2.default)({}, operate, dataList)));
|
|
175
|
+
_afterOperate && _afterOperate(dataList, operate);
|
|
176
|
+
},
|
|
177
|
+
className: (0, _classnames.default)(_index.default.ldGridForm, (0, _defineProperty2.default)({}, className, !!className))
|
|
178
|
+
}));
|
|
179
|
+
};
|
|
180
|
+
var _default = (0, _ldBuilder.default)(buildLdGridForm);
|
|
181
|
+
exports.default = _default;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
var _ahooks = require("ahooks");
|
|
16
|
+
var _luckDesign = require("luck-design");
|
|
17
|
+
var _services = require("../../services");
|
|
18
|
+
var _lodash = require("lodash");
|
|
19
|
+
var _ldBuilder = _interopRequireDefault(require("../../helper/ldBuilder"));
|
|
20
|
+
var _excluded = ["columns", "resources", "actions", "doAction", "wrapperRef", "moduleCode", "dataSetKey", "defaultParmas", "suppressInit", "afterInit", "customColumns", "service"];
|
|
21
|
+
var formatInfoPanelData = function formatInfoPanelData(columns, data) {
|
|
22
|
+
return (0, _lodash.transform)(columns, function (result, col) {
|
|
23
|
+
result[col.dataIndex] = col.render && col.render(data[col.dataIndex], data) || data["".concat(col.dataIndex, "_virtual")] || data[col.dataIndex];
|
|
24
|
+
}, {});
|
|
25
|
+
};
|
|
26
|
+
var LdInfoPanel = function LdInfoPanel(_ref) {
|
|
27
|
+
var columns = _ref.columns,
|
|
28
|
+
resources = _ref.resources,
|
|
29
|
+
actions = _ref.actions,
|
|
30
|
+
doAction = _ref.doAction,
|
|
31
|
+
wrapperRef = _ref.wrapperRef,
|
|
32
|
+
moduleCode = _ref.moduleCode,
|
|
33
|
+
dataSetKey = _ref.dataSetKey,
|
|
34
|
+
_defaultParmas = _ref.defaultParmas,
|
|
35
|
+
suppressInit = _ref.suppressInit,
|
|
36
|
+
afterInit = _ref.afterInit,
|
|
37
|
+
customColumns = _ref.customColumns,
|
|
38
|
+
service = _ref.service,
|
|
39
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
40
|
+
var infoPanelRef = (0, _react.useRef)(null);
|
|
41
|
+
var _useState = (0, _react.useState)({}),
|
|
42
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
43
|
+
dataSource = _useState2[0],
|
|
44
|
+
setDataSource = _useState2[1];
|
|
45
|
+
var defaultParams = (0, _ahooks.useCreation)(function () {
|
|
46
|
+
return [(0, _objectSpread2.default)({
|
|
47
|
+
moduleCode: moduleCode,
|
|
48
|
+
datasetCode: dataSetKey,
|
|
49
|
+
behaviorKey: 'readForm'
|
|
50
|
+
}, _defaultParmas)];
|
|
51
|
+
}, []);
|
|
52
|
+
(0, _react.useImperativeHandle)(wrapperRef, function () {
|
|
53
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, infoPanelRef.current), {}, {
|
|
54
|
+
onLdQuery: function onLdQuery() {
|
|
55
|
+
var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
56
|
+
run((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params[0]), defaultParams[0]), _params));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
var _columns = (0, _ahooks.useCreation)(function () {
|
|
61
|
+
return customColumns ? customColumns.map(function (col) {
|
|
62
|
+
var xCol = columns.find(function (column) {
|
|
63
|
+
return column.field === col.dataIndex;
|
|
64
|
+
}) || {};
|
|
65
|
+
return (0, _objectSpread2.default)({
|
|
66
|
+
title: xCol.fieldName
|
|
67
|
+
}, col);
|
|
68
|
+
}) : customColumns.map(function (item) {
|
|
69
|
+
return {
|
|
70
|
+
title: item.fieldName,
|
|
71
|
+
dataIndex: item.field
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
}, [columns]);
|
|
75
|
+
var _useRequest = (0, _ahooks.useRequest)(service || _services.readBehaviorCall, {
|
|
76
|
+
// 获取树数据源
|
|
77
|
+
defaultParams: defaultParams,
|
|
78
|
+
manual: suppressInit,
|
|
79
|
+
onSuccess: function onSuccess(data) {
|
|
80
|
+
var code = data.code,
|
|
81
|
+
list = data.list,
|
|
82
|
+
detail = data.detail;
|
|
83
|
+
if (code === 1 && list[0]) {
|
|
84
|
+
var _data = detail[list[0]];
|
|
85
|
+
setDataSource(_data);
|
|
86
|
+
afterInit && afterInit(_data);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}),
|
|
90
|
+
loading = _useRequest.loading,
|
|
91
|
+
run = _useRequest.run,
|
|
92
|
+
params = _useRequest.params;
|
|
93
|
+
return /*#__PURE__*/_react.default.createElement(_luckDesign.InfoPanel, (0, _extends2.default)({
|
|
94
|
+
dataSource: formatInfoPanelData(_columns, dataSource),
|
|
95
|
+
columns: _columns,
|
|
96
|
+
mode: 'grid',
|
|
97
|
+
loading: loading
|
|
98
|
+
}, props, {
|
|
99
|
+
ref: infoPanelRef
|
|
100
|
+
}));
|
|
101
|
+
};
|
|
102
|
+
var Index = (0, _ldBuilder.default)(LdInfoPanel);
|
|
103
|
+
Index.propTypes = {
|
|
104
|
+
dataSetKey: _propTypes.default.string.isRequired,
|
|
105
|
+
// 数据集key
|
|
106
|
+
suppressInit: _propTypes.default.bool,
|
|
107
|
+
// 抑制初始化
|
|
108
|
+
afterInit: _propTypes.default.func,
|
|
109
|
+
// 初始化后
|
|
110
|
+
customColumns: _propTypes.default.array,
|
|
111
|
+
defaultParmas: _propTypes.default.object
|
|
112
|
+
};
|
|
113
|
+
Index.defaultProps = {
|
|
114
|
+
suppressInit: false,
|
|
115
|
+
customColumns: null,
|
|
116
|
+
defaultParmas: {}
|
|
117
|
+
};
|
|
118
|
+
var _default = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
119
|
+
return /*#__PURE__*/_react.default.createElement(Index, (0, _extends2.default)({
|
|
120
|
+
wrapperRef: ref
|
|
121
|
+
}, props));
|
|
122
|
+
});
|
|
123
|
+
exports.default = _default;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = exports.LuckDaPopContext = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _lodash = require("lodash");
|
|
13
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
+
var _base = require("@luck-design-biz/base");
|
|
15
|
+
var _excluded = ["component", "size"];
|
|
16
|
+
var LuckDaPopContext = /*#__PURE__*/(0, _react.createContext)();
|
|
17
|
+
exports.LuckDaPopContext = LuckDaPopContext;
|
|
18
|
+
var LdPop = function LdPop() {
|
|
19
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
20
|
+
ldId = _ref.ldId,
|
|
21
|
+
_ref$params = _ref.params,
|
|
22
|
+
params = _ref$params === void 0 ? {} : _ref$params;
|
|
23
|
+
var component = params.component,
|
|
24
|
+
size = params.size,
|
|
25
|
+
_params = (0, _objectWithoutProperties2.default)(params, _excluded);
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_base.FormWindow, (0, _extends2.default)({
|
|
27
|
+
showBtn: false,
|
|
28
|
+
size: size,
|
|
29
|
+
id: ldId
|
|
30
|
+
}, _params), /*#__PURE__*/_react.default.createElement(LuckDaPopContext.Provider, {
|
|
31
|
+
value: {
|
|
32
|
+
affixLayout: (0, _lodash.includes)(['large', 'full'], size) ? 'top' : 'bottom'
|
|
33
|
+
} // 用于动态显示formList布局
|
|
34
|
+
}, component));
|
|
35
|
+
};
|
|
36
|
+
LdPop.propTypes = {
|
|
37
|
+
ldId: _propTypes.default.string.isRequired
|
|
38
|
+
};
|
|
39
|
+
var _default = LdPop;
|
|
40
|
+
exports.default = _default;
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _ahooks = require("ahooks");
|
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
var _antd = require("antd");
|
|
20
|
+
var _luckDesign = require("luck-design");
|
|
21
|
+
var _utils = require("@luck-design-biz/base/utils");
|
|
22
|
+
var _base = require("@luck-design-biz/base");
|
|
23
|
+
var _ldBuilder = _interopRequireDefault(require("../../helper/ldBuilder"));
|
|
24
|
+
var _services = require("../../services");
|
|
25
|
+
var _index = _interopRequireDefault(require("./index.less"));
|
|
26
|
+
var _excluded = ["columns", "resources", "actions", "doAction", "wrapperRef", "ldId", "dataSetKey", "defaultParmas", "moduleCode", "readOnly", "title", "rowKey", "treeNodeTitle", "unselectableNodes", "rightMenus", "defaultExpandDeep", "draggable", "onDrop", "className", "treeClassName", "rootAdd", "suppressInit", "afterInit", "isTree", "service"],
|
|
27
|
+
_excluded2 = ["onClick"];
|
|
28
|
+
var LdTree = function LdTree(_ref) {
|
|
29
|
+
var columns = _ref.columns,
|
|
30
|
+
resources = _ref.resources,
|
|
31
|
+
actions = _ref.actions,
|
|
32
|
+
doAction = _ref.doAction,
|
|
33
|
+
wrapperRef = _ref.wrapperRef,
|
|
34
|
+
ldId = _ref.ldId,
|
|
35
|
+
dataSetKey = _ref.dataSetKey,
|
|
36
|
+
_defaultParmas = _ref.defaultParmas,
|
|
37
|
+
moduleCode = _ref.moduleCode,
|
|
38
|
+
readOnly = _ref.readOnly,
|
|
39
|
+
title = _ref.title,
|
|
40
|
+
rowKey = _ref.rowKey,
|
|
41
|
+
treeNodeTitle = _ref.treeNodeTitle,
|
|
42
|
+
unselectableNodes = _ref.unselectableNodes,
|
|
43
|
+
rightMenus = _ref.rightMenus,
|
|
44
|
+
defaultExpandDeep = _ref.defaultExpandDeep,
|
|
45
|
+
draggable = _ref.draggable,
|
|
46
|
+
onDrop = _ref.onDrop,
|
|
47
|
+
className = _ref.className,
|
|
48
|
+
treeClassName = _ref.treeClassName,
|
|
49
|
+
rootAdd = _ref.rootAdd,
|
|
50
|
+
suppressInit = _ref.suppressInit,
|
|
51
|
+
afterInit = _ref.afterInit,
|
|
52
|
+
isTree = _ref.isTree,
|
|
53
|
+
service = _ref.service,
|
|
54
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
55
|
+
if (!(0, _lodash.includes)(isTree, dataSetKey)) return (0, _utils.formatMessage)({
|
|
56
|
+
id: 'luckda.ldTree.notTres',
|
|
57
|
+
label: '此数据集非树形数据集,请选择树形数据集'
|
|
58
|
+
});
|
|
59
|
+
var _useState = (0, _react.useState)(null),
|
|
60
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
61
|
+
dataSource = _useState2[0],
|
|
62
|
+
setDataSource = _useState2[1];
|
|
63
|
+
var _useState3 = (0, _react.useState)({}),
|
|
64
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
65
|
+
defaultExpandedProps = _useState4[0],
|
|
66
|
+
setDefaultExpandedProps = _useState4[1];
|
|
67
|
+
var treeRef = (0, _react.useRef)(null);
|
|
68
|
+
var defaultParams = [(0, _objectSpread2.default)({
|
|
69
|
+
moduleCode: moduleCode,
|
|
70
|
+
datasetCode: dataSetKey,
|
|
71
|
+
behaviorKey: 'readTree'
|
|
72
|
+
}, _defaultParmas)];
|
|
73
|
+
var _useRequest = (0, _ahooks.useRequest)(service || _services.readBehaviorCall, {
|
|
74
|
+
// 获取树数据源
|
|
75
|
+
defaultParams: defaultParams,
|
|
76
|
+
manual: suppressInit,
|
|
77
|
+
onSuccess: function onSuccess(data) {
|
|
78
|
+
var code = data.code,
|
|
79
|
+
list = data.list,
|
|
80
|
+
detail = data.detail;
|
|
81
|
+
if (code === 1) {
|
|
82
|
+
var _data = list.map(function (i) {
|
|
83
|
+
return detail[i];
|
|
84
|
+
});
|
|
85
|
+
// 判断是否默认展开
|
|
86
|
+
if (defaultExpandDeep === 'all') setDefaultExpandedProps({
|
|
87
|
+
defaultExpandAll: true
|
|
88
|
+
});else if ((0, _lodash.isNumber)(defaultExpandDeep) && defaultExpandDeep > 0) {
|
|
89
|
+
var defaultExpanded = (0, _lodash.transform)(_data, function (result, n) {
|
|
90
|
+
if (n.sidcc.substring(1, n.sidcc.length - 1).split('/').length < defaultExpandDeep + 1) {
|
|
91
|
+
result.push("".concat(n[rowKey]));
|
|
92
|
+
}
|
|
93
|
+
}, []);
|
|
94
|
+
setDefaultExpandedProps({
|
|
95
|
+
defaultExpandedKeys: defaultExpanded
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
var treeData = (0, _utils.dataToTree)(_data);
|
|
99
|
+
setDataSource(treeData);
|
|
100
|
+
afterInit && afterInit(treeData);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}),
|
|
104
|
+
loading = _useRequest.loading,
|
|
105
|
+
run = _useRequest.run,
|
|
106
|
+
params = _useRequest.params;
|
|
107
|
+
(0, _react.useImperativeHandle)(wrapperRef, function () {
|
|
108
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, treeRef.current), {}, {
|
|
109
|
+
onLdQuery: function onLdQuery() {
|
|
110
|
+
var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
111
|
+
run((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params[0]), _params), defaultParams[0]));
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
var handleMenuClick = function handleMenuClick(menu, data) {
|
|
116
|
+
var onClick = menu.onClick,
|
|
117
|
+
other = (0, _objectWithoutProperties2.default)(menu, _excluded2);
|
|
118
|
+
onClick && onClick(other, data);
|
|
119
|
+
};
|
|
120
|
+
var renderRightMenus = function renderRightMenus(menus, data) {
|
|
121
|
+
return menus.map(function (menu) {
|
|
122
|
+
return /*#__PURE__*/_react.default.createElement("a", {
|
|
123
|
+
onClick: function onClick() {
|
|
124
|
+
return handleMenuClick(menu, data);
|
|
125
|
+
},
|
|
126
|
+
className: _index.default.rightMenu,
|
|
127
|
+
key: menu.key
|
|
128
|
+
}, menu.name || '');
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
var renderRight = function renderRight(data) {
|
|
132
|
+
var rightMenusResult = rightMenus(data);
|
|
133
|
+
var _rightMenusResult = (0, _lodash.cloneDeep)(rightMenusResult);
|
|
134
|
+
// 去除没有权限或者该模块下没有的行为
|
|
135
|
+
(0, _lodash.remove)(_rightMenusResult, function (n) {
|
|
136
|
+
return n.resource && !(0, _lodash.includes)(data['__infuse_serial__'] || resources, n.resource);
|
|
137
|
+
});
|
|
138
|
+
return _rightMenusResult.length > 0 && /*#__PURE__*/_react.default.createElement(_antd.Popover, {
|
|
139
|
+
overlayClassName: _index.default.classTreeOperates,
|
|
140
|
+
placement: "right",
|
|
141
|
+
title: null,
|
|
142
|
+
content: renderRightMenus(_rightMenusResult, data)
|
|
143
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
|
|
144
|
+
type: "more"
|
|
145
|
+
}));
|
|
146
|
+
};
|
|
147
|
+
var renderTitleNode = function renderTitleNode(data, unSelectable) {
|
|
148
|
+
var nodeTitle = (0, _lodash.isFunction)(treeNodeTitle) ? treeNodeTitle(data) : data[treeNodeTitle];
|
|
149
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
150
|
+
className: _index.default.nodeTitle
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
152
|
+
title: nodeTitle,
|
|
153
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)({}, _index.default.nodeTitleDisabled, unSelectable))
|
|
154
|
+
}, nodeTitle), !readOnly && renderRight(data));
|
|
155
|
+
};
|
|
156
|
+
var renderTreeNodes = (0, _ahooks.useMemoizedFn)(function (data) {
|
|
157
|
+
return data.map(function (item) {
|
|
158
|
+
// 判断是否可选择
|
|
159
|
+
var unSelectable = (0, _lodash.isFunction)(unselectableNodes) ? unselectableNodes(item) : unselectableNodes.includes(item[rowKey]);
|
|
160
|
+
if (item.children) {
|
|
161
|
+
return /*#__PURE__*/_react.default.createElement(_luckDesign.LuckTree.TreeNode, {
|
|
162
|
+
isLeaf: false,
|
|
163
|
+
title: renderTitleNode(item, unSelectable),
|
|
164
|
+
key: item[rowKey],
|
|
165
|
+
dataRef: item,
|
|
166
|
+
selectable: !unSelectable
|
|
167
|
+
}, renderTreeNodes(item.children));
|
|
168
|
+
}
|
|
169
|
+
return /*#__PURE__*/_react.default.createElement(_luckDesign.LuckTree.TreeNode, {
|
|
170
|
+
title: renderTitleNode(item, unSelectable),
|
|
171
|
+
key: item[rowKey],
|
|
172
|
+
dataRef: item,
|
|
173
|
+
selectable: !unSelectable
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
var handleDrop = (0, _ahooks.useMemoizedFn)(function (info) {
|
|
178
|
+
var dragInfo = (0, _utils.dragTreeData)(info, dataSource);
|
|
179
|
+
onDrop && onDrop(info, dragInfo);
|
|
180
|
+
});
|
|
181
|
+
var onAdd = (0, _ahooks.useCreation)(function () {
|
|
182
|
+
return !(readOnly || !rootAdd || rootAdd.resource && !(0, _lodash.includes)(resources, rootAdd.resource)) ? function () {
|
|
183
|
+
return handleMenuClick(rootAdd);
|
|
184
|
+
} : null;
|
|
185
|
+
}, [readOnly, rootAdd, resources]);
|
|
186
|
+
return /*#__PURE__*/_react.default.createElement(_base.TreeBox, {
|
|
187
|
+
suppressTitle: !title,
|
|
188
|
+
title: title,
|
|
189
|
+
loading: loading,
|
|
190
|
+
id: ldId,
|
|
191
|
+
onAdd: onAdd,
|
|
192
|
+
className: className
|
|
193
|
+
}, dataSource && /*#__PURE__*/_react.default.createElement(_luckDesign.LuckTree, (0, _extends2.default)({
|
|
194
|
+
blockNode: true,
|
|
195
|
+
className: (0, _classnames.default)(_index.default.tree, (0, _defineProperty2.default)({}, className, !!treeClassName)),
|
|
196
|
+
draggable: !readOnly && draggable,
|
|
197
|
+
onDrop: handleDrop
|
|
198
|
+
}, defaultExpandedProps, props, {
|
|
199
|
+
ref: treeRef
|
|
200
|
+
}), renderTreeNodes(dataSource)));
|
|
201
|
+
};
|
|
202
|
+
var Index = (0, _ldBuilder.default)(LdTree);
|
|
203
|
+
Index.propTypes = {
|
|
204
|
+
ldId: _propTypes.default.string.isRequired,
|
|
205
|
+
// 唯一key
|
|
206
|
+
dataSetKey: _propTypes.default.string.isRequired,
|
|
207
|
+
// 数据集key
|
|
208
|
+
readOnly: _propTypes.default.bool,
|
|
209
|
+
// 是否只读
|
|
210
|
+
title: _propTypes.default.string,
|
|
211
|
+
// 树的标题
|
|
212
|
+
rowKey: _propTypes.default.string,
|
|
213
|
+
// 数据主键key
|
|
214
|
+
treeNodeTitle: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),
|
|
215
|
+
// 树节点名称
|
|
216
|
+
unselectableNodes: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func]),
|
|
217
|
+
// 不可选择树节点
|
|
218
|
+
rightMenus: _propTypes.default.func,
|
|
219
|
+
// 自定义追加的操作
|
|
220
|
+
defaultExpandDeep: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['all'])]),
|
|
221
|
+
// 默认展开的节点深度
|
|
222
|
+
draggable: _propTypes.default.bool,
|
|
223
|
+
// 是否可拖拽排序
|
|
224
|
+
onDrop: _propTypes.default.func,
|
|
225
|
+
// 拖拽排序的事件,当draggable为true时使用
|
|
226
|
+
actions: _propTypes.default.object,
|
|
227
|
+
// 行为
|
|
228
|
+
suppressInit: _propTypes.default.bool,
|
|
229
|
+
// 抑制初始化
|
|
230
|
+
afterInit: _propTypes.default.func // 初始化后
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
Index.defaultProps = {
|
|
234
|
+
readOnly: false,
|
|
235
|
+
title: false,
|
|
236
|
+
rowKey: 'indocno',
|
|
237
|
+
treeNodeTitle: 'sname',
|
|
238
|
+
defaultExpandDeep: 0,
|
|
239
|
+
draggable: false,
|
|
240
|
+
unselectableNodes: [],
|
|
241
|
+
actions: {},
|
|
242
|
+
rightMenus: function rightMenus() {
|
|
243
|
+
return [];
|
|
244
|
+
},
|
|
245
|
+
suppressInit: false,
|
|
246
|
+
defaultParmas: {}
|
|
247
|
+
};
|
|
248
|
+
var _default = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
249
|
+
return /*#__PURE__*/_react.default.createElement(Index, (0, _extends2.default)({
|
|
250
|
+
wrapperRef: ref
|
|
251
|
+
}, props));
|
|
252
|
+
});
|
|
253
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
.tree {
|
|
2
|
+
.nodeTitle {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
width: 100%;
|
|
6
|
+
|
|
7
|
+
div {
|
|
8
|
+
flex: 1;
|
|
9
|
+
overflow-x: hidden;
|
|
10
|
+
white-space: nowrap;
|
|
11
|
+
text-overflow: ellipsis;
|
|
12
|
+
}
|
|
13
|
+
div.nodeTitleDisabled {
|
|
14
|
+
color: var(--luck-text-color-disabled);
|
|
15
|
+
}
|
|
16
|
+
div.nodeTitleDisabled:hover {
|
|
17
|
+
cursor: not-allowed;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:global {
|
|
22
|
+
.ant-tree-title {
|
|
23
|
+
width: 100%;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
.classTreeOperates {
|
|
28
|
+
:global(.ant-popover-inner-content) {
|
|
29
|
+
padding: 0;
|
|
30
|
+
}
|
|
31
|
+
.rightMenu {
|
|
32
|
+
display: block;
|
|
33
|
+
padding: 4px 8px;
|
|
34
|
+
color: var(--luck-text-color-);
|
|
35
|
+
}
|
|
36
|
+
}
|