@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/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 UmiJS
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
luck业务组件库
|
|
3
|
+
---### 安装依赖
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
### 编译
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm run build
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### 本地调试
|
|
16
|
+
|
|
17
|
+
#### 业务组件库必须要在业务项目中调试运行,业务组件库提供以下方法进行本地调试:
|
|
18
|
+
|
|
19
|
+
首先需要全局安装 yalc
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install yalc -g
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
安装成功后执行以下操作编译并发布全局(本地)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm run async
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
进入需要相关业务项目中,将发布全局的组件库 link 进去
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
yalc link luck-biz-components
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 发布 npm
|
|
38
|
+
|
|
39
|
+
首先更新 package.json 中的版本号,然后登录进入 npm 账号
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm login
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
最后执行发布命令
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm publish
|
|
49
|
+
```
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# 🌟 Dumi Template
|
|
2
|
+
|
|
3
|
+
为组件开发场景而生的文档模板
|
|
4
|
+
|
|
5
|
+
[English](./README.md) | 简体中文
|
|
6
|
+
|
|
7
|
+
## 🚀 如何使用?
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
## ✨ 在线预览
|
|
12
|
+
|
|
13
|
+
https://umijs.github.io/luck-biz-components/
|
|
14
|
+
|
|
15
|
+
## 📒 目录介绍
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
├── docs 文档存放路径
|
|
19
|
+
│ ├── index.md 首页展示
|
|
20
|
+
│ └── **.** 网站目录文档
|
|
21
|
+
├── src 组件主目录
|
|
22
|
+
│ ├── index.ts 组件注册
|
|
23
|
+
│ └── Foo 组件开发
|
|
24
|
+
├── .eslintrc.js eslint 配置
|
|
25
|
+
├── .fatherrc.ts father 配置
|
|
26
|
+
├── .umirc.ts dumi 配置
|
|
27
|
+
└── tsconfig.json typescript 配置
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
其余文件可自行查阅了解。
|
|
31
|
+
|
|
32
|
+
## 🤖 命令介绍
|
|
33
|
+
|
|
34
|
+
| 名称 | 描述 | 备注 |
|
|
35
|
+
| ----------------------- | -------------- | -------------------------------------------------------------------- |
|
|
36
|
+
| `npm run start` | 项目启动 | 使用 [dumi](https://github.com/umijs/dumi),组件开发和文档开发在一起 |
|
|
37
|
+
| `npm run test` | 组件测试 | - |
|
|
38
|
+
| `npm run test:coverage` | 代码覆盖率查看 | - |
|
|
39
|
+
| `npm run prettier` | 代码美化 | - |
|
|
40
|
+
| `npm run build` | 组件打包 | 使用 [father](https://github.com/umijs/father) 工具 |
|
|
41
|
+
| `npm run release` | 组件打包发布 | - |
|
|
42
|
+
| `npm run docs:build` | 文档打包 | - |
|
|
43
|
+
| `npm run docs:deploy` | 文档发布 | 这里默认是使用了 GitHub Pages |
|
|
44
|
+
| `npm run deploy` | 文档打包发布 | - |
|
|
45
|
+
|
|
46
|
+
## 交流群
|
|
47
|
+
|
|
48
|
+
<div>
|
|
49
|
+
<img data-type="dingtalk" src="https://gw.alipayobjects.com/zos/bmw-prod/ce3439e7-3bf9-4031-b823-6473439ec9e6/kxkiis4c_w1004_h1346.jpeg" width="300" />
|
|
50
|
+
<img data-type="wechat" src="https://gw.alipayobjects.com/zos/bmw-prod/c18bc2a5-719a-48ca-b225-c79ef88bfb43/k7m10ymd_w1004_h1346.jpeg" width="300" />
|
|
51
|
+
</div>
|
|
@@ -0,0 +1,133 @@
|
|
|
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 React, { createContext, useState, useRef } from 'react';
|
|
6
|
+
import { useRequest, useSetState, useMemoizedFn } from 'ahooks';
|
|
7
|
+
import { BasicForm, BasicFormItem } from 'luck-design';
|
|
8
|
+
import LdPop from '../LdPop';
|
|
9
|
+
import { readModlue } from '../../services';
|
|
10
|
+
import { doAction as doActionUtils } from '../../helper/action';
|
|
11
|
+
import { formatMessage } from '@luck-design-biz/base/utils';
|
|
12
|
+
var LuckDaContext = /*#__PURE__*/createContext();
|
|
13
|
+
var builder = function builder(WrappedComponent, moduleCode) {
|
|
14
|
+
var Component = function Component(props) {
|
|
15
|
+
if (!moduleCode) return formatMessage({
|
|
16
|
+
id: 'luckda.paramMiss.moduleCode',
|
|
17
|
+
label: '缺少模块Key'
|
|
18
|
+
});
|
|
19
|
+
var _useState = useState(null),
|
|
20
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
+
moduleData = _useState2[0],
|
|
22
|
+
setModuleData = _useState2[1];
|
|
23
|
+
var _useSetState = useSetState({}),
|
|
24
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
25
|
+
pops = _useSetState2[0],
|
|
26
|
+
setPops = _useSetState2[1];
|
|
27
|
+
var fieldProps = useRef({});
|
|
28
|
+
var _useRequest = useRequest(readModlue, {
|
|
29
|
+
defaultParams: [{
|
|
30
|
+
moduleCode: moduleCode
|
|
31
|
+
}],
|
|
32
|
+
onSuccess: function onSuccess(res) {
|
|
33
|
+
var code = res.code,
|
|
34
|
+
data = res.data;
|
|
35
|
+
if (code === 1) {
|
|
36
|
+
setModuleData({
|
|
37
|
+
actions: data.actions || {},
|
|
38
|
+
dataSets: data.dataSets || {},
|
|
39
|
+
isTree: data.isTree || [],
|
|
40
|
+
resources: data.resources || []
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}),
|
|
45
|
+
loading = _useRequest.loading;
|
|
46
|
+
var openPop = useMemoizedFn(function (ldId, params) {
|
|
47
|
+
setPops(function (prev) {
|
|
48
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, ldId, _objectSpread(_objectSpread({}, prev[ldId]), params)));
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
var closePop = useMemoizedFn(function (ldId) {
|
|
52
|
+
setPops(function (prev) {
|
|
53
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, ldId, {
|
|
54
|
+
visible: false,
|
|
55
|
+
component: null
|
|
56
|
+
}));
|
|
57
|
+
});
|
|
58
|
+
setTimeout(function () {
|
|
59
|
+
setPops(function (prev) {
|
|
60
|
+
delete prev[ldId];
|
|
61
|
+
return prev;
|
|
62
|
+
});
|
|
63
|
+
}, 500);
|
|
64
|
+
});
|
|
65
|
+
var doAction = useMemoizedFn(function (_action, _data, _params) {
|
|
66
|
+
doActionUtils(_action, _data, _params, {
|
|
67
|
+
actions: moduleData.actions,
|
|
68
|
+
moduleCode: moduleCode
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
var readFieldProps = function readFieldProps(ldId) {
|
|
72
|
+
openPop('luckdaConfigFields', {
|
|
73
|
+
title: '配置信息',
|
|
74
|
+
mode: 'drawer',
|
|
75
|
+
component: /*#__PURE__*/React.createElement(BasicForm, {
|
|
76
|
+
dataSource: {
|
|
77
|
+
data: fieldProps.current[ldId]
|
|
78
|
+
},
|
|
79
|
+
readOnly: true
|
|
80
|
+
}, /*#__PURE__*/React.createElement(BasicFormItem, {
|
|
81
|
+
type: 'jsonEditor',
|
|
82
|
+
name: 'data',
|
|
83
|
+
hideLabel: true,
|
|
84
|
+
config: {
|
|
85
|
+
displayDataTypes: false,
|
|
86
|
+
enableClipboard: true
|
|
87
|
+
}
|
|
88
|
+
}))
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
var setFieldProps = function setFieldProps() {
|
|
92
|
+
var _props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
93
|
+
fieldProps.current = _objectSpread(_objectSpread({}, fieldProps.current), _props);
|
|
94
|
+
};
|
|
95
|
+
if (loading) return 'loading...';
|
|
96
|
+
if (!moduleData) return formatMessage({
|
|
97
|
+
id: 'luckda.module.loadFailed',
|
|
98
|
+
label: '模块信息加载失败'
|
|
99
|
+
});
|
|
100
|
+
if (moduleData.length === 0) return formatMessage({
|
|
101
|
+
id: 'luckda.module.missDataSet',
|
|
102
|
+
label: '模块缺少数据集'
|
|
103
|
+
});
|
|
104
|
+
return /*#__PURE__*/React.createElement(LuckDaContext.Provider, {
|
|
105
|
+
value: _objectSpread(_objectSpread({}, moduleData), {}, {
|
|
106
|
+
doAction: doAction,
|
|
107
|
+
openPop: openPop,
|
|
108
|
+
closePop: closePop,
|
|
109
|
+
readFieldProps: readFieldProps,
|
|
110
|
+
setFieldProps: setFieldProps,
|
|
111
|
+
moduleCode: moduleCode
|
|
112
|
+
})
|
|
113
|
+
}, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, moduleData || {}, {
|
|
114
|
+
doAction: doAction,
|
|
115
|
+
openPop: openPop,
|
|
116
|
+
closePop: closePop
|
|
117
|
+
}, props)), Object.keys(pops).map(function (ldId) {
|
|
118
|
+
return /*#__PURE__*/React.createElement(LdPop, {
|
|
119
|
+
ldId: ldId,
|
|
120
|
+
key: ldId,
|
|
121
|
+
params: _objectSpread({
|
|
122
|
+
visible: true,
|
|
123
|
+
onClose: function onClose() {
|
|
124
|
+
return closePop(ldId);
|
|
125
|
+
}
|
|
126
|
+
}, pops[ldId])
|
|
127
|
+
});
|
|
128
|
+
}));
|
|
129
|
+
};
|
|
130
|
+
return Component;
|
|
131
|
+
};
|
|
132
|
+
export default builder;
|
|
133
|
+
export { LuckDaContext };
|
|
@@ -0,0 +1,136 @@
|
|
|
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 = ["columns", "resources", "actions", "doAction", "ldId", "dataSetKey", "filedsRewrite", "mainFormLdId", "mainDataSetKey", "onValueChange", "onQuery", "onAdd", "onUpdate", "moduleCode", "defaultDataSourceFormat", "ticketData"];
|
|
7
|
+
import React, { useContext, useRef, useState } from 'react';
|
|
8
|
+
import { useCreation, useMemoizedFn } from 'ahooks';
|
|
9
|
+
import { keys, transform } from "lodash";
|
|
10
|
+
import { AutoForm } from '@luck-design-biz/base/FormList';
|
|
11
|
+
import ldBuilder from '../../helper/ldBuilder';
|
|
12
|
+
import { getFormItem, formItemDataFormat, dataFormat } from '../../utils';
|
|
13
|
+
import { LuckDaContext } from '../Builder';
|
|
14
|
+
import { readBehaviorCall } from '../../services';
|
|
15
|
+
var buildLdAutoForm = function buildLdAutoForm(_ref) {
|
|
16
|
+
var _ref$columns = _ref.columns,
|
|
17
|
+
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
18
|
+
_ref$resources = _ref.resources,
|
|
19
|
+
resources = _ref$resources === void 0 ? [] : _ref$resources,
|
|
20
|
+
_ref$actions = _ref.actions,
|
|
21
|
+
actions = _ref$actions === void 0 ? {} : _ref$actions,
|
|
22
|
+
_ref$doAction = _ref.doAction,
|
|
23
|
+
doAction = _ref$doAction === void 0 ? function () {} : _ref$doAction,
|
|
24
|
+
ldId = _ref.ldId,
|
|
25
|
+
dataSetKey = _ref.dataSetKey,
|
|
26
|
+
_ref$filedsRewrite = _ref.filedsRewrite,
|
|
27
|
+
filedsRewrite = _ref$filedsRewrite === void 0 ? [] : _ref$filedsRewrite,
|
|
28
|
+
mainFormLdId = _ref.mainFormLdId,
|
|
29
|
+
mainDataSetKey = _ref.mainDataSetKey,
|
|
30
|
+
_ref$onValueChange = _ref.onValueChange,
|
|
31
|
+
onValueChange = _ref$onValueChange === void 0 ? function () {} : _ref$onValueChange,
|
|
32
|
+
_ref$onQuery = _ref.onQuery,
|
|
33
|
+
onQuery = _ref$onQuery === void 0 ? {} : _ref$onQuery,
|
|
34
|
+
_ref$onAdd = _ref.onAdd,
|
|
35
|
+
onAdd = _ref$onAdd === void 0 ? {} : _ref$onAdd,
|
|
36
|
+
_ref$onUpdate = _ref.onUpdate,
|
|
37
|
+
onUpdate = _ref$onUpdate === void 0 ? {} : _ref$onUpdate,
|
|
38
|
+
moduleCode = _ref.moduleCode,
|
|
39
|
+
_ref$defaultDataSourc = _ref.defaultDataSourceFormat,
|
|
40
|
+
defaultDataSourceFormat = _ref$defaultDataSourc === void 0 ? function () {
|
|
41
|
+
return {};
|
|
42
|
+
} : _ref$defaultDataSourc,
|
|
43
|
+
_ref$ticketData = _ref.ticketData,
|
|
44
|
+
ticketData = _ref$ticketData === void 0 ? {} : _ref$ticketData,
|
|
45
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
46
|
+
var _ref2 = useContext(LuckDaContext) || {},
|
|
47
|
+
setFieldProps = _ref2.setFieldProps;
|
|
48
|
+
var defaultValues = useRef();
|
|
49
|
+
var _useState = useState(null),
|
|
50
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
+
selfResources = _useState2[0],
|
|
52
|
+
setSelfResources = _useState2[1];
|
|
53
|
+
var isMain = ldId === mainFormLdId;
|
|
54
|
+
var basicItems = useCreation(function () {
|
|
55
|
+
var _defaultValues = {};
|
|
56
|
+
var _nodes = transform(columns, function (result, col) {
|
|
57
|
+
if (col.isShowInForm) {
|
|
58
|
+
var _objectSpread2;
|
|
59
|
+
var customFiled = filedsRewrite.find(function (field) {
|
|
60
|
+
return field.name === col.field;
|
|
61
|
+
}) || {};
|
|
62
|
+
_defaultValues = _objectSpread(_objectSpread({}, _defaultValues), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, col.field, col['optDefaultValue']), _defineProperty(_objectSpread2, "".concat(col.field, "_virtual"), col['optDefaultValueCvt']), _objectSpread2));
|
|
63
|
+
result.push(getFormItem(col, _objectSpread(_objectSpread({}, customFiled), {}, {
|
|
64
|
+
handleValueChange: function handleValueChange(value) {
|
|
65
|
+
return onValueChange(_defineProperty({}, ldId, _defineProperty({}, col.field, value)));
|
|
66
|
+
}
|
|
67
|
+
})));
|
|
68
|
+
}
|
|
69
|
+
}, []);
|
|
70
|
+
defaultValues.current = _defaultValues;
|
|
71
|
+
setFieldProps(_defineProperty({}, ldId, _nodes.map(function (i) {
|
|
72
|
+
return _objectSpread({
|
|
73
|
+
component: i.type.comName || i.type.displayName
|
|
74
|
+
}, i.props);
|
|
75
|
+
})));
|
|
76
|
+
return _nodes;
|
|
77
|
+
}, [columns, filedsRewrite, isMain]);
|
|
78
|
+
var formConfig = {
|
|
79
|
+
formId: ldId,
|
|
80
|
+
isMain: isMain,
|
|
81
|
+
defaultDataSource: _objectSpread(_objectSpread({}, formItemDataFormat(columns, defaultValues.current)), defaultDataSourceFormat(defaultValues.current))
|
|
82
|
+
};
|
|
83
|
+
var onOperate = useMemoizedFn(function () {
|
|
84
|
+
var _onOperate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
85
|
+
var behaviorKey = arguments.length > 1 ? arguments[1] : undefined;
|
|
86
|
+
return _objectSpread(_objectSpread({
|
|
87
|
+
api: function api(get, post, formData) {
|
|
88
|
+
var _formData$mainFormLdI;
|
|
89
|
+
post[dataSetKey][isMain ? 'indocno' : 'relationId'] = ((_formData$mainFormLdI = formData[mainFormLdId]) === null || _formData$mainFormLdI === void 0 ? void 0 : _formData$mainFormLdI.indocno) || ticketData.indocno;
|
|
90
|
+
return readBehaviorCall(get, post, formData);
|
|
91
|
+
},
|
|
92
|
+
get: function get() {
|
|
93
|
+
return {
|
|
94
|
+
moduleCode: moduleCode,
|
|
95
|
+
datasetCode: dataSetKey,
|
|
96
|
+
behaviorKey: behaviorKey
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}, _onOperate), {}, {
|
|
100
|
+
post: function post(_ref3) {
|
|
101
|
+
var values = _ref3.values,
|
|
102
|
+
submitData = _ref3.submitData;
|
|
103
|
+
var _submitData = dataFormat(columns, submitData);
|
|
104
|
+
if (_onOperate === null || _onOperate === void 0 ? void 0 : _onOperate.post) return _onOperate.post({
|
|
105
|
+
values: values,
|
|
106
|
+
submitData: _submitData
|
|
107
|
+
}); // 以预设为主
|
|
108
|
+
return _defineProperty({}, dataSetKey, _submitData);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
return /*#__PURE__*/React.createElement(AutoForm, _extends({}, props, {
|
|
113
|
+
onQuery: _objectSpread(_objectSpread({
|
|
114
|
+
api: readBehaviorCall,
|
|
115
|
+
get: function get(formData) {
|
|
116
|
+
var _formData$mainFormLdI2, _params2;
|
|
117
|
+
var _params = (_params2 = {}, _defineProperty(_params2, isMain ? 'indocno' : 'relationId', ((_formData$mainFormLdI2 = formData[mainFormLdId]) === null || _formData$mainFormLdI2 === void 0 ? void 0 : _formData$mainFormLdI2.indocno) || ticketData.indocno), _defineProperty(_params2, "moduleCode", moduleCode), _defineProperty(_params2, "datasetCode", dataSetKey), _defineProperty(_params2, "behaviorKey", 'readForm'), _params2);
|
|
118
|
+
if (!isMain) _params.relationDs = mainDataSetKey;
|
|
119
|
+
return _params;
|
|
120
|
+
}
|
|
121
|
+
}, onQuery), {}, {
|
|
122
|
+
format: function format(data) {
|
|
123
|
+
if (data['__infuse_serial__']) {
|
|
124
|
+
setSelfResources(data['__infuse_serial__']);
|
|
125
|
+
}
|
|
126
|
+
var formItemData = _objectSpread({}, formItemDataFormat(columns, data));
|
|
127
|
+
if (onQuery === null || onQuery === void 0 ? void 0 : onQuery.format) return onQuery.format(data, formItemData); // 以预设为主
|
|
128
|
+
return formItemData;
|
|
129
|
+
}
|
|
130
|
+
}),
|
|
131
|
+
onAdd: onOperate(onAdd, 'add'),
|
|
132
|
+
onUpdate: onOperate(onUpdate, 'update'),
|
|
133
|
+
operates: selfResources || resources
|
|
134
|
+
}, formConfig), basicItems);
|
|
135
|
+
};
|
|
136
|
+
export default ldBuilder(buildLdAutoForm);
|
|
@@ -0,0 +1,198 @@
|
|
|
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", "loading", "wrapperRef", "hasMore", "list", "detail", "params", "doQuery", "onQuery", "readFilter", "unclosableSet", "formatDataSource", "resultSet", "cardConfig", "cardActions", "onOperationsClick", "readOnly", "batchOperations"],
|
|
6
|
+
_excluded2 = ["ldId", "moduleCode", "suppressInit", "unclosableSet", "pageSize", "service"];
|
|
7
|
+
import React, { forwardRef, useImperativeHandle, useRef, useEffect } from 'react';
|
|
8
|
+
import { getDvaApp } from 'umi';
|
|
9
|
+
import PropTypes from 'prop-types';
|
|
10
|
+
import { Icon, Tooltip } from 'antd';
|
|
11
|
+
import { ResultSet, PermissionUtil } from 'luck-design';
|
|
12
|
+
import { includes } from 'lodash';
|
|
13
|
+
import { useCreation, useMemoizedFn } from 'ahooks';
|
|
14
|
+
import createModel from './model';
|
|
15
|
+
import ldBuilder from '../../helper/ldBuilder';
|
|
16
|
+
import { CardList, Card } from '@luck-design-biz/base/List';
|
|
17
|
+
import { formatMessage } from '@luck-design-biz/base/utils';
|
|
18
|
+
import { build } from '@luck-design-biz/base/Component';
|
|
19
|
+
var LdCard = function LdCard(_ref) {
|
|
20
|
+
var columns = _ref.columns,
|
|
21
|
+
resources = _ref.resources,
|
|
22
|
+
actions = _ref.actions,
|
|
23
|
+
doAction = _ref.doAction,
|
|
24
|
+
afterInit = _ref.afterInit,
|
|
25
|
+
namespace = _ref.namespace,
|
|
26
|
+
loading = _ref.loading,
|
|
27
|
+
wrapperRef = _ref.wrapperRef,
|
|
28
|
+
hasMore = _ref.hasMore,
|
|
29
|
+
list = _ref.list,
|
|
30
|
+
detail = _ref.detail,
|
|
31
|
+
params = _ref.params,
|
|
32
|
+
doQuery = _ref.doQuery,
|
|
33
|
+
onQuery = _ref.onQuery,
|
|
34
|
+
readFilter = _ref.readFilter,
|
|
35
|
+
unclosableSet = _ref.unclosableSet,
|
|
36
|
+
formatDataSource = _ref.formatDataSource,
|
|
37
|
+
resultSet = _ref.resultSet,
|
|
38
|
+
cardConfig = _ref.cardConfig,
|
|
39
|
+
cardActions = _ref.cardActions,
|
|
40
|
+
onOperationsClick = _ref.onOperationsClick,
|
|
41
|
+
readOnly = _ref.readOnly,
|
|
42
|
+
batchOperations = _ref.batchOperations,
|
|
43
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
44
|
+
var cardRef = useRef(null);
|
|
45
|
+
useEffect(function () {
|
|
46
|
+
readFilter && readFilter(params);
|
|
47
|
+
}, [params]);
|
|
48
|
+
useImperativeHandle(wrapperRef, function () {
|
|
49
|
+
return _objectSpread(_objectSpread({}, cardRef.current), {}, {
|
|
50
|
+
onLdQuery: function onLdQuery() {
|
|
51
|
+
var _params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
52
|
+
doQuery({
|
|
53
|
+
params: _params,
|
|
54
|
+
callback: afterInit
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
var _batchOperations = useCreation(function () {
|
|
60
|
+
return batchOperations.map(function (i) {
|
|
61
|
+
return _objectSpread(_objectSpread({}, i), {}, {
|
|
62
|
+
wanted: i.wanted || 'virtual'
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}, [batchOperations]);
|
|
66
|
+
var renderCard = useMemoizedFn(function (item) {
|
|
67
|
+
return /*#__PURE__*/React.createElement(Card, _extends({}, cardConfig, {
|
|
68
|
+
dataSource: item,
|
|
69
|
+
operates: readOnly ? [] : item['__infuse_serial__'] || resources,
|
|
70
|
+
onCardClick: function onCardClick(_item, e) {
|
|
71
|
+
return onOperationsClick && onOperationsClick('read', _item, e);
|
|
72
|
+
},
|
|
73
|
+
onCardDelete: function onCardDelete(_item, e) {
|
|
74
|
+
return onOperationsClick && onOperationsClick('delete', _item, e);
|
|
75
|
+
},
|
|
76
|
+
actions: PermissionUtil(cardActions.map(function (i) {
|
|
77
|
+
return i.render ? /*#__PURE__*/React.createElement("div", {
|
|
78
|
+
key: i.key,
|
|
79
|
+
wanted: i.resource || 'virtual',
|
|
80
|
+
style: {
|
|
81
|
+
fontSize: '18px'
|
|
82
|
+
}
|
|
83
|
+
}, i.render()) : /*#__PURE__*/React.createElement(Tooltip, {
|
|
84
|
+
key: i.key,
|
|
85
|
+
wanted: i.resource || 'virtual',
|
|
86
|
+
placement: "top",
|
|
87
|
+
title: i.title
|
|
88
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
89
|
+
style: {
|
|
90
|
+
fontSize: '18px'
|
|
91
|
+
},
|
|
92
|
+
onClick: function onClick(e) {
|
|
93
|
+
e.stopPropagation();
|
|
94
|
+
i.onClick ? i.onClick(item, e) : onOperationsClick(i.key, item, e);
|
|
95
|
+
}
|
|
96
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
97
|
+
type: i.icon
|
|
98
|
+
})));
|
|
99
|
+
}), readOnly ? [] : [].concat(_toConsumableArray(item['__infuse_serial__'] || resources), ['virtual']))
|
|
100
|
+
}));
|
|
101
|
+
});
|
|
102
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, Object.keys(params).length > 0 && /*#__PURE__*/React.createElement(ResultSet, _extends({
|
|
103
|
+
set: params,
|
|
104
|
+
onQuery: onQuery
|
|
105
|
+
}, resultSet, {
|
|
106
|
+
unclosableSet: unclosableSet
|
|
107
|
+
})), /*#__PURE__*/React.createElement(CardList, _extends({
|
|
108
|
+
col: 4,
|
|
109
|
+
loading: loading,
|
|
110
|
+
renderCard: renderCard
|
|
111
|
+
}, props, {
|
|
112
|
+
operates: [].concat(_toConsumableArray(resources), ['virtual']),
|
|
113
|
+
modelName: namespace,
|
|
114
|
+
dataSource: formatDataSource(list, detail),
|
|
115
|
+
hasMore: !!hasMore,
|
|
116
|
+
batchOperations: _batchOperations,
|
|
117
|
+
ref: cardRef
|
|
118
|
+
})));
|
|
119
|
+
};
|
|
120
|
+
var ForwardLdCard = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
121
|
+
return /*#__PURE__*/React.createElement(LdCard, _extends({
|
|
122
|
+
wrapperRef: ref
|
|
123
|
+
}, props));
|
|
124
|
+
});
|
|
125
|
+
var LdIndex = function LdIndex(_ref2) {
|
|
126
|
+
var namespace = _ref2.ldId,
|
|
127
|
+
moduleCode = _ref2.moduleCode,
|
|
128
|
+
suppressInit = _ref2.suppressInit,
|
|
129
|
+
unclosableSet = _ref2.unclosableSet,
|
|
130
|
+
pageSize = _ref2.pageSize,
|
|
131
|
+
service = _ref2.service,
|
|
132
|
+
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
133
|
+
if (includes(props.isTree, props.dataSetKey)) return formatMessage({
|
|
134
|
+
id: 'luckda.ldCard.notTres',
|
|
135
|
+
label: '此数据集为树形数据集,请选择非树形数据集'
|
|
136
|
+
});
|
|
137
|
+
var Component = useCreation(function () {
|
|
138
|
+
var _getDvaApp, _getDvaApp2;
|
|
139
|
+
(_getDvaApp = getDvaApp()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp.unmodel(namespace);
|
|
140
|
+
if (!((_getDvaApp2 = getDvaApp()) === null || _getDvaApp2 === void 0 ? void 0 : _getDvaApp2._store.getState()[namespace])) {
|
|
141
|
+
var _getDvaApp3;
|
|
142
|
+
(_getDvaApp3 = getDvaApp()) === null || _getDvaApp3 === void 0 ? void 0 : _getDvaApp3.model(createModel(namespace, {
|
|
143
|
+
isFlow: !!props.isFlow,
|
|
144
|
+
dataSetKey: props.dataSetKey,
|
|
145
|
+
moduleCode: moduleCode,
|
|
146
|
+
unclosableSet: unclosableSet,
|
|
147
|
+
pageSize: pageSize,
|
|
148
|
+
service: service
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
return build(ForwardLdCard, namespace, {
|
|
152
|
+
suppressInit: suppressInit,
|
|
153
|
+
afterInit: props.afterInit
|
|
154
|
+
});
|
|
155
|
+
}, [namespace]);
|
|
156
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
157
|
+
namespace: namespace
|
|
158
|
+
}, props));
|
|
159
|
+
};
|
|
160
|
+
var Index = ldBuilder(LdIndex);
|
|
161
|
+
Index.propTypes = {
|
|
162
|
+
ldId: PropTypes.string.isRequired,
|
|
163
|
+
// 唯一key
|
|
164
|
+
dataSetKey: PropTypes.string.isRequired,
|
|
165
|
+
// 数据集key
|
|
166
|
+
readOnly: PropTypes.bool,
|
|
167
|
+
// 是否只读
|
|
168
|
+
formatDataSource: PropTypes.func,
|
|
169
|
+
// 格式化数据源
|
|
170
|
+
resultSet: PropTypes.object,
|
|
171
|
+
suppressInit: PropTypes.bool,
|
|
172
|
+
// 抑制初始化
|
|
173
|
+
afterInit: PropTypes.func,
|
|
174
|
+
// 初始化后
|
|
175
|
+
cardConfig: PropTypes.object,
|
|
176
|
+
// 卡片配置项
|
|
177
|
+
onOperationsClick: PropTypes.func,
|
|
178
|
+
// 操作
|
|
179
|
+
cardActions: PropTypes.array // 卡片行为
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
Index.defaultProps = {
|
|
183
|
+
resultSet: {},
|
|
184
|
+
suppressInit: false,
|
|
185
|
+
isFlow: false,
|
|
186
|
+
cardConfig: {},
|
|
187
|
+
formatDataSource: function formatDataSource(_list, _detail) {
|
|
188
|
+
return _list.map(function (indocno) {
|
|
189
|
+
return _detail[indocno];
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
cardActions: []
|
|
193
|
+
};
|
|
194
|
+
export default /*#__PURE__*/forwardRef(function (props, ref) {
|
|
195
|
+
return /*#__PURE__*/React.createElement(Index, _extends({
|
|
196
|
+
wrapperRef: ref
|
|
197
|
+
}, props));
|
|
198
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import { createListModel } from '@luck-design-biz/base/utils/modelHelper';
|
|
3
|
+
import { readBehaviorCall } from '../../services';
|
|
4
|
+
export default function (namespace) {
|
|
5
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
6
|
+
_ref$isFlow = _ref.isFlow,
|
|
7
|
+
isFlow = _ref$isFlow === void 0 ? false : _ref$isFlow,
|
|
8
|
+
dataSetKey = _ref.dataSetKey,
|
|
9
|
+
moduleCode = _ref.moduleCode,
|
|
10
|
+
_ref$unclosableSet = _ref.unclosableSet,
|
|
11
|
+
unclosableSet = _ref$unclosableSet === void 0 ? [] : _ref$unclosableSet,
|
|
12
|
+
pageSize = _ref.pageSize,
|
|
13
|
+
service = _ref.service;
|
|
14
|
+
return createListModel({
|
|
15
|
+
namespace: namespace,
|
|
16
|
+
isFlow: isFlow,
|
|
17
|
+
unclosableSet: unclosableSet,
|
|
18
|
+
pageSize: pageSize,
|
|
19
|
+
readAll: function readAll() {
|
|
20
|
+
var get = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
21
|
+
var post = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
22
|
+
return (service || readBehaviorCall)(_objectSpread(_objectSpread({}, get), {}, {
|
|
23
|
+
moduleCode: moduleCode,
|
|
24
|
+
datasetCode: dataSetKey,
|
|
25
|
+
behaviorKey: 'readGrid'
|
|
26
|
+
}), {
|
|
27
|
+
_AutoFilter: post
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
state: {},
|
|
31
|
+
effects: {},
|
|
32
|
+
reducers: {}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["options"];
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { Button, Tabs } from 'antd';
|
|
6
|
+
import { Collapse, ButtonRadio, IconFont } from '@luck-design-biz/base';
|
|
7
|
+
import { ldComBuilder, filterOptions, deepFilterCom } from '../../helper/ldComBuild';
|
|
8
|
+
export var LdButton = ldComBuilder(Button);
|
|
9
|
+
export var LdCollapse = ldComBuilder(Collapse);
|
|
10
|
+
export var LdButtonRadio = function LdButtonRadio(_ref) {
|
|
11
|
+
var _ref$options = _ref.options,
|
|
12
|
+
options = _ref$options === void 0 ? [] : _ref$options,
|
|
13
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
14
|
+
return /*#__PURE__*/React.createElement(ButtonRadio, _extends({}, props, {
|
|
15
|
+
options: filterOptions(options)
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
export var LdIconFont = ldComBuilder(IconFont);
|
|
19
|
+
var LdTabs = deepFilterCom(Tabs, function (child) {
|
|
20
|
+
var _child$type;
|
|
21
|
+
return (child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'TabPane';
|
|
22
|
+
});
|
|
23
|
+
LdTabs.TabPane = Tabs.TabPane;
|
|
24
|
+
export { LdTabs };
|