ls-pro-common 1.0.4 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common.css +2276 -0
- package/dist/common.js +1 -1
- package/dist/common.less +1 -0
- package/dist/common.min.css +2276 -0
- package/dist/common.min.js +1 -1
- package/es/components/DtlLayout.d.ts +20 -0
- package/es/components/DtlLayout.js +64 -0
- package/es/components/InputTable.d.ts +18 -0
- package/es/components/InputTable.js +225 -0
- package/es/components/common.less +64 -0
- package/es/hooks/useDtl/index.d.ts +29 -0
- package/es/hooks/useDtl/index.js +654 -0
- package/es/hooks/useSingle/index.d.ts +19 -7
- package/es/hooks/useSingle/index.js +282 -85
- package/es/http/index.d.ts +1 -1
- package/es/http/index.js +7 -3
- package/es/index.d.ts +6 -3
- package/es/index.js +4 -2
- package/es/utils/index.d.ts +45 -1
- package/es/utils/index.js +90 -1
- package/lib/components/DtlLayout.d.ts +20 -0
- package/lib/components/DtlLayout.js +81 -0
- package/lib/components/InputTable.d.ts +18 -0
- package/lib/components/InputTable.js +254 -0
- package/lib/components/common.less +64 -0
- package/lib/hooks/useDtl/index.d.ts +29 -0
- package/lib/hooks/useDtl/index.js +675 -0
- package/lib/hooks/useSingle/index.d.ts +19 -7
- package/lib/hooks/useSingle/index.js +283 -86
- package/lib/http/index.d.ts +1 -1
- package/lib/http/index.js +7 -3
- package/lib/index.d.ts +6 -3
- package/lib/index.js +20 -4
- package/lib/utils/index.d.ts +45 -1
- package/lib/utils/index.js +114 -3
- package/package.json +3 -3
- package/es/components/EditModalForm.d.ts +0 -5
- package/es/components/EditModalForm.js +0 -29
- package/lib/components/EditModalForm.d.ts +0 -5
- package/lib/components/EditModalForm.js +0 -42
package/es/utils/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
1
2
|
import "antd/es/modal/style";
|
|
2
3
|
import _Modal from "antd/es/modal";
|
|
3
4
|
import "antd/es/message/style";
|
|
@@ -37,6 +38,19 @@ export var setUrlQuery = function setUrlQuery(url) {
|
|
|
37
38
|
|
|
38
39
|
return newUrl;
|
|
39
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* 给 url 添加网关
|
|
43
|
+
* @param url 原url,以 / 打头
|
|
44
|
+
* @param defGateway 默认网关 /petrel
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
export var toGatewayUrl = function toGatewayUrl(url) {
|
|
49
|
+
var defGateway = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '/petrel';
|
|
50
|
+
if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('//')) return url;
|
|
51
|
+
var gateway = getUrlQuery('gateway') || location.origin + defGateway;
|
|
52
|
+
return gateway + url;
|
|
53
|
+
};
|
|
40
54
|
/**
|
|
41
55
|
* 设置文档title
|
|
42
56
|
* @param {*} title
|
|
@@ -202,4 +216,79 @@ export var yesnoList = [{
|
|
|
202
216
|
value: 0,
|
|
203
217
|
text: '否',
|
|
204
218
|
label: '0→否'
|
|
205
|
-
}];
|
|
219
|
+
}];
|
|
220
|
+
/**
|
|
221
|
+
* 遍历树
|
|
222
|
+
* @param list 树对象
|
|
223
|
+
* @param fn 回调函数
|
|
224
|
+
* @param children 树属性字段
|
|
225
|
+
*/
|
|
226
|
+
|
|
227
|
+
export var treeEach = function treeEach(list, fn) {
|
|
228
|
+
var children = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "children";
|
|
229
|
+
list.forEach(function (item, index) {
|
|
230
|
+
fn(item, index, list); // @ts-ignore
|
|
231
|
+
|
|
232
|
+
if (Array.isArray(list[children]) && list[children].length) {
|
|
233
|
+
// @ts-ignore
|
|
234
|
+
treeEach(list[children], fn, children);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* 查询数
|
|
240
|
+
* @param list 树对象
|
|
241
|
+
* @param key 查询属性
|
|
242
|
+
* @param val 查询值
|
|
243
|
+
* @param children 树属性字段
|
|
244
|
+
* @returns 返回符合条件的第一条对象
|
|
245
|
+
*/
|
|
246
|
+
|
|
247
|
+
export var treeFind = function treeFind(list, key, val) {
|
|
248
|
+
var children = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "children";
|
|
249
|
+
var item = null;
|
|
250
|
+
|
|
251
|
+
var _iterator = _createForOfIteratorHelper(list),
|
|
252
|
+
_step;
|
|
253
|
+
|
|
254
|
+
try {
|
|
255
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
256
|
+
var row = _step.value;
|
|
257
|
+
|
|
258
|
+
if (row[key] === val) {
|
|
259
|
+
item = row;
|
|
260
|
+
break;
|
|
261
|
+
} else if (row[children] && row[children].length) {
|
|
262
|
+
item = treeFind(row[children], key, val);
|
|
263
|
+
|
|
264
|
+
if (item) {
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
} catch (err) {
|
|
270
|
+
_iterator.e(err);
|
|
271
|
+
} finally {
|
|
272
|
+
_iterator.f();
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return item;
|
|
276
|
+
};
|
|
277
|
+
export var getUserInfo = function getUserInfo() {
|
|
278
|
+
return getCache('user');
|
|
279
|
+
};
|
|
280
|
+
export var getUserName = function getUserName() {
|
|
281
|
+
var _getUserInfo;
|
|
282
|
+
|
|
283
|
+
return (_getUserInfo = getUserInfo()) === null || _getUserInfo === void 0 ? void 0 : _getUserInfo.userName;
|
|
284
|
+
};
|
|
285
|
+
export var getLoginName = function getLoginName() {
|
|
286
|
+
var _getUserInfo2;
|
|
287
|
+
|
|
288
|
+
return (_getUserInfo2 = getUserInfo()) === null || _getUserInfo2 === void 0 ? void 0 : _getUserInfo2.loginName;
|
|
289
|
+
};
|
|
290
|
+
export var getCompanyId = function getCompanyId() {
|
|
291
|
+
var _getUserInfo3;
|
|
292
|
+
|
|
293
|
+
return (_getUserInfo3 = getUserInfo()) === null || _getUserInfo3 === void 0 ? void 0 : _getUserInfo3.companyId;
|
|
294
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ProFormInstance } from 'ls-pro-form';
|
|
3
|
+
import './common.less';
|
|
4
|
+
export declare type DtlLyaoutProps = Record<string, any> & {
|
|
5
|
+
onExit: (visible?: boolean) => void;
|
|
6
|
+
onSave?: () => void;
|
|
7
|
+
renderButton?: (defaultBtn: JSX.Element[]) => JSX.Element[];
|
|
8
|
+
btnSaveText?: string;
|
|
9
|
+
btnExitText?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
masterObject?: any;
|
|
12
|
+
keyField?: string;
|
|
13
|
+
bodyClass?: string;
|
|
14
|
+
headerClass?: string;
|
|
15
|
+
bodyStyle?: React.CSSProperties;
|
|
16
|
+
headerStyle?: React.CSSProperties;
|
|
17
|
+
formRef?: React.MutableRefObject<ProFormInstance | undefined>;
|
|
18
|
+
};
|
|
19
|
+
declare function DtlLayout(props: DtlLyaoutProps): JSX.Element;
|
|
20
|
+
export default DtlLayout;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
require("antd/es/button/style");
|
|
13
|
+
|
|
14
|
+
var _button = _interopRequireDefault(require("antd/es/button"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
20
|
+
var _icons = require("@ant-design/icons");
|
|
21
|
+
|
|
22
|
+
require("./common.less");
|
|
23
|
+
|
|
24
|
+
function DtlLayout(props) {
|
|
25
|
+
var renderButton = props.renderButton,
|
|
26
|
+
title = props.title,
|
|
27
|
+
_props$keyField = props.keyField,
|
|
28
|
+
keyField = _props$keyField === void 0 ? 'id' : _props$keyField,
|
|
29
|
+
masterObject = props.masterObject,
|
|
30
|
+
children = props.children,
|
|
31
|
+
headerClass = props.headerClass,
|
|
32
|
+
headerStyle = props.headerStyle,
|
|
33
|
+
bodyClass = props.bodyClass,
|
|
34
|
+
bodyStyle = props.bodyStyle,
|
|
35
|
+
formRef = props.formRef,
|
|
36
|
+
_props$btnSaveText = props.btnSaveText,
|
|
37
|
+
btnSaveText = _props$btnSaveText === void 0 ? '保存' : _props$btnSaveText,
|
|
38
|
+
_props$btnExitText = props.btnExitText,
|
|
39
|
+
btnExitText = _props$btnExitText === void 0 ? '返回' : _props$btnExitText;
|
|
40
|
+
var dtlTitle = (0, _react.useMemo)(function () {
|
|
41
|
+
if (title) return title;
|
|
42
|
+
if (!masterObject) return '';
|
|
43
|
+
return masterObject[keyField] ? '编辑' : '新增';
|
|
44
|
+
}, [title, masterObject, keyField]);
|
|
45
|
+
var btns = [/*#__PURE__*/_react.default.createElement(_button.default, {
|
|
46
|
+
key: "btnSave",
|
|
47
|
+
onClick: function onClick() {
|
|
48
|
+
var _formRef$current;
|
|
49
|
+
|
|
50
|
+
if (props.onSave) {
|
|
51
|
+
return props.onSave();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
formRef === null || formRef === void 0 ? void 0 : (_formRef$current = formRef.current) === null || _formRef$current === void 0 ? void 0 : _formRef$current.submit();
|
|
55
|
+
},
|
|
56
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.SaveOutlined, null)
|
|
57
|
+
}, " ", btnSaveText, " "), /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
58
|
+
key: "btnBack",
|
|
59
|
+
onClick: function onClick() {
|
|
60
|
+
return props.onExit(false);
|
|
61
|
+
},
|
|
62
|
+
icon: /*#__PURE__*/_react.default.createElement(_icons.ArrowLeftOutlined, null)
|
|
63
|
+
}, " ", btnExitText, " ")];
|
|
64
|
+
var buttons = renderButton ? renderButton(btns) : btns;
|
|
65
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
66
|
+
className: "dtl-layout"
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
68
|
+
className: (0, _classnames.default)('dtl-header', headerClass),
|
|
69
|
+
style: headerStyle
|
|
70
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
71
|
+
className: "dtl-title"
|
|
72
|
+
}, dtlTitle), /*#__PURE__*/_react.default.createElement("div", {
|
|
73
|
+
className: "dtl-btns"
|
|
74
|
+
}, buttons)), /*#__PURE__*/_react.default.createElement("div", {
|
|
75
|
+
className: (0, _classnames.default)('dtl-body', bodyClass),
|
|
76
|
+
style: bodyStyle
|
|
77
|
+
}, children));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var _default = DtlLayout;
|
|
81
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { InputProps } from 'antd';
|
|
3
|
+
import type { ProFormItemProps } from 'ls-pro-form';
|
|
4
|
+
export declare type InputTableProps = ProFormItemProps<InputProps> & {
|
|
5
|
+
columns: any[];
|
|
6
|
+
url: string;
|
|
7
|
+
tableHeight?: number;
|
|
8
|
+
tableWidth?: number;
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
name: string;
|
|
11
|
+
valueField: string;
|
|
12
|
+
textField?: string;
|
|
13
|
+
textName?: string;
|
|
14
|
+
tableConfig?: any;
|
|
15
|
+
onSelectChange?: (item: any) => void;
|
|
16
|
+
};
|
|
17
|
+
declare function InputTable(prop: InputTableProps): JSX.Element;
|
|
18
|
+
export default InputTable;
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
require("antd/es/input/style");
|
|
13
|
+
|
|
14
|
+
var _input = _interopRequireDefault(require("antd/es/input"));
|
|
15
|
+
|
|
16
|
+
require("antd/es/popover/style");
|
|
17
|
+
|
|
18
|
+
var _popover = _interopRequireDefault(require("antd/es/popover"));
|
|
19
|
+
|
|
20
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
21
|
+
|
|
22
|
+
require("antd/es/button/style");
|
|
23
|
+
|
|
24
|
+
var _button = _interopRequireDefault(require("antd/es/button"));
|
|
25
|
+
|
|
26
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
27
|
+
|
|
28
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
29
|
+
|
|
30
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
31
|
+
|
|
32
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
33
|
+
|
|
34
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
35
|
+
|
|
36
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
37
|
+
|
|
38
|
+
var _lsProTable = _interopRequireDefault(require("ls-pro-table"));
|
|
39
|
+
|
|
40
|
+
var _lsProForm = require("ls-pro-form");
|
|
41
|
+
|
|
42
|
+
var _icons = require("@ant-design/icons");
|
|
43
|
+
|
|
44
|
+
var _http = require("../http");
|
|
45
|
+
|
|
46
|
+
var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "textField", "onSelectChange"],
|
|
47
|
+
_excluded2 = ["current", "pageSize"];
|
|
48
|
+
|
|
49
|
+
function InputTable(prop) {
|
|
50
|
+
//@ts-ignore
|
|
51
|
+
var _useContext = (0, _react.useContext)(_lsProForm.ProFormContext),
|
|
52
|
+
formRef = _useContext.formRef;
|
|
53
|
+
|
|
54
|
+
var tableRef = (0, _react.useRef)();
|
|
55
|
+
|
|
56
|
+
var _useState = (0, _react.useState)(false),
|
|
57
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
58
|
+
visible = _useState2[0],
|
|
59
|
+
setVisible = _useState2[1];
|
|
60
|
+
|
|
61
|
+
var _useState3 = (0, _react.useState)([]),
|
|
62
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
63
|
+
selectedRows = _useState4[0],
|
|
64
|
+
setSelectedRows = _useState4[1];
|
|
65
|
+
|
|
66
|
+
var _useState5 = (0, _react.useState)(''),
|
|
67
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
68
|
+
text = _useState6[0],
|
|
69
|
+
setText = _useState6[1];
|
|
70
|
+
|
|
71
|
+
var columns = prop.columns,
|
|
72
|
+
url = prop.url,
|
|
73
|
+
textName = prop.textName,
|
|
74
|
+
name = prop.name,
|
|
75
|
+
tableConfig = prop.tableConfig,
|
|
76
|
+
_prop$tableHeight = prop.tableHeight,
|
|
77
|
+
tableHeight = _prop$tableHeight === void 0 ? 400 : _prop$tableHeight,
|
|
78
|
+
_prop$tableWidth = prop.tableWidth,
|
|
79
|
+
tableWidth = _prop$tableWidth === void 0 ? 650 : _prop$tableWidth,
|
|
80
|
+
_prop$readonly = prop.readonly,
|
|
81
|
+
readonly = _prop$readonly === void 0 ? true : _prop$readonly,
|
|
82
|
+
multiple = prop.multiple,
|
|
83
|
+
valueField = prop.valueField,
|
|
84
|
+
textField = prop.textField,
|
|
85
|
+
onSelectChange = prop.onSelectChange,
|
|
86
|
+
rest = (0, _objectWithoutProperties2.default)(prop, _excluded);
|
|
87
|
+
var textNameProp = textName || name + '__text';
|
|
88
|
+
|
|
89
|
+
var loadData = /*#__PURE__*/function () {
|
|
90
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(param) {
|
|
91
|
+
var current, pageSize, rest, data, result;
|
|
92
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
93
|
+
while (1) {
|
|
94
|
+
switch (_context.prev = _context.next) {
|
|
95
|
+
case 0:
|
|
96
|
+
current = param.current, pageSize = param.pageSize, rest = (0, _objectWithoutProperties2.default)(param, _excluded2);
|
|
97
|
+
data = {
|
|
98
|
+
page: current,
|
|
99
|
+
pageSize: pageSize
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
if (Object.keys(rest).length) {
|
|
103
|
+
data.where = rest;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
_context.next = 5;
|
|
107
|
+
return (0, _http.httpGet)(url, data);
|
|
108
|
+
|
|
109
|
+
case 5:
|
|
110
|
+
result = _context.sent;
|
|
111
|
+
return _context.abrupt("return", {
|
|
112
|
+
data: result.rows || [],
|
|
113
|
+
total: result.total || 0,
|
|
114
|
+
success: true
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
case 7:
|
|
118
|
+
case "end":
|
|
119
|
+
return _context.stop();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}, _callee);
|
|
123
|
+
}));
|
|
124
|
+
|
|
125
|
+
return function loadData(_x) {
|
|
126
|
+
return _ref.apply(this, arguments);
|
|
127
|
+
};
|
|
128
|
+
}();
|
|
129
|
+
|
|
130
|
+
(0, _react.useEffect)(function () {
|
|
131
|
+
var _formRef$current;
|
|
132
|
+
|
|
133
|
+
var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current = formRef.current) === null || _formRef$current === void 0 ? void 0 : _formRef$current.getFieldsValue();
|
|
134
|
+
var txt = formValue[textField || valueField];
|
|
135
|
+
|
|
136
|
+
if (txt) {
|
|
137
|
+
setText(txt);
|
|
138
|
+
}
|
|
139
|
+
}, []);
|
|
140
|
+
|
|
141
|
+
var tableDom = /*#__PURE__*/_react.default.createElement(_lsProTable.default, (0, _extends2.default)({
|
|
142
|
+
columns: columns,
|
|
143
|
+
request: loadData,
|
|
144
|
+
rowKey: valueField,
|
|
145
|
+
manualRequest: false,
|
|
146
|
+
actionRef: tableRef,
|
|
147
|
+
search: {
|
|
148
|
+
labelWidth: 70
|
|
149
|
+
},
|
|
150
|
+
options: {
|
|
151
|
+
density: false,
|
|
152
|
+
reload: false,
|
|
153
|
+
setting: false
|
|
154
|
+
},
|
|
155
|
+
form: {
|
|
156
|
+
submitter: {
|
|
157
|
+
resetButtonProps: false
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
height: 'full',
|
|
161
|
+
rowSelection: {
|
|
162
|
+
type: multiple ? 'checkbox' : 'radio',
|
|
163
|
+
onChange: function onChange(keys, rows) {
|
|
164
|
+
setSelectedRows(rows);
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
tableAlertRender: false,
|
|
168
|
+
onRow: function onRow(record) {
|
|
169
|
+
return {
|
|
170
|
+
onDoubleClick: function onDoubleClick() {
|
|
171
|
+
var _formRef$current2, _formRef$current3;
|
|
172
|
+
|
|
173
|
+
var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 ? void 0 : _formRef$current2.getFieldsValue();
|
|
174
|
+
formValue[name] = record[valueField];
|
|
175
|
+
setText(record[textField || valueField]); // 如果需要接收名称(指定了名称属性名),则反回名称
|
|
176
|
+
|
|
177
|
+
if (textName) {
|
|
178
|
+
formValue[textNameProp] = record[textField || valueField];
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
(_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 ? void 0 : _formRef$current3.setFieldsValue((0, _objectSpread2.default)({}, formValue));
|
|
182
|
+
setVisible(false);
|
|
183
|
+
onSelectChange === null || onSelectChange === void 0 ? void 0 : onSelectChange(record);
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
},
|
|
187
|
+
toolBarRender: function toolBarRender() {
|
|
188
|
+
return [/*#__PURE__*/_react.default.createElement(_button.default, {
|
|
189
|
+
onClick: function onClick() {
|
|
190
|
+
if (selectedRows.length) {
|
|
191
|
+
var _formRef$current4, _formRef$current5;
|
|
192
|
+
|
|
193
|
+
var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current4 = formRef.current) === null || _formRef$current4 === void 0 ? void 0 : _formRef$current4.getFieldsValue();
|
|
194
|
+
formValue[name] = selectedRows.map(function (o) {
|
|
195
|
+
return o[valueField];
|
|
196
|
+
}).join(',');
|
|
197
|
+
var txt = selectedRows.map(function (o) {
|
|
198
|
+
return o[textField || valueField];
|
|
199
|
+
}).join(',');
|
|
200
|
+
setText(txt); // 如果需要接收名称,则反回名称
|
|
201
|
+
|
|
202
|
+
if (textName) {
|
|
203
|
+
formValue[textNameProp] = txt;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
(_formRef$current5 = formRef.current) === null || _formRef$current5 === void 0 ? void 0 : _formRef$current5.setFieldsValue((0, _objectSpread2.default)({}, formValue));
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
setVisible(false);
|
|
210
|
+
}
|
|
211
|
+
}, "\u786E\u8BA4")];
|
|
212
|
+
},
|
|
213
|
+
headerTitle: "\u53CC\u51FB\u8FD4\u56DE\u5F53\u524D\u884C\u6570\u636E"
|
|
214
|
+
}, tableConfig));
|
|
215
|
+
|
|
216
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
217
|
+
style: {
|
|
218
|
+
display: 'none'
|
|
219
|
+
}
|
|
220
|
+
}, /*#__PURE__*/_react.default.createElement(_lsProForm.ProFormText, {
|
|
221
|
+
name: name
|
|
222
|
+
})), /*#__PURE__*/_react.default.createElement(_lsProForm.ProFormText, (0, _extends2.default)({
|
|
223
|
+
name: textNameProp
|
|
224
|
+
}, rest), /*#__PURE__*/_react.default.createElement(_input.default, {
|
|
225
|
+
suffix: /*#__PURE__*/_react.default.createElement(_popover.default, {
|
|
226
|
+
content: /*#__PURE__*/_react.default.createElement("div", {
|
|
227
|
+
style: {
|
|
228
|
+
width: tableWidth + 'px',
|
|
229
|
+
height: tableHeight + 'px',
|
|
230
|
+
maxHeight: '95vh',
|
|
231
|
+
overflow: 'auto'
|
|
232
|
+
}
|
|
233
|
+
}, tableDom),
|
|
234
|
+
trigger: "click",
|
|
235
|
+
visible: visible,
|
|
236
|
+
onVisibleChange: setVisible
|
|
237
|
+
}, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, null)),
|
|
238
|
+
onClick: function onClick() {
|
|
239
|
+
return setVisible(true);
|
|
240
|
+
},
|
|
241
|
+
onInput: function onInput(e) {
|
|
242
|
+
var _formRef$current6;
|
|
243
|
+
|
|
244
|
+
var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current6 = formRef.current) === null || _formRef$current6 === void 0 ? void 0 : _formRef$current6.getFieldsValue();
|
|
245
|
+
formValue[name] = e.target.value;
|
|
246
|
+
formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
|
|
247
|
+
},
|
|
248
|
+
readOnly: readonly,
|
|
249
|
+
value: text
|
|
250
|
+
})));
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
var _default = InputTable;
|
|
254
|
+
exports.default = _default;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
.dtl-layout {
|
|
2
|
+
position : absolute;
|
|
3
|
+
top : 0;
|
|
4
|
+
left : 0;
|
|
5
|
+
right : 0;
|
|
6
|
+
bottom : 0;
|
|
7
|
+
background : white;
|
|
8
|
+
display : flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
|
|
11
|
+
.dtl-header {
|
|
12
|
+
display : flex;
|
|
13
|
+
justify-items: center;
|
|
14
|
+
padding : 5px 14px;
|
|
15
|
+
border-bottom: 1px solid #f0f0f0;
|
|
16
|
+
|
|
17
|
+
.dtl-title {
|
|
18
|
+
font-size: 14pt;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.dtl-btns {
|
|
22
|
+
flex : 1;
|
|
23
|
+
text-align: right;
|
|
24
|
+
|
|
25
|
+
button+button {
|
|
26
|
+
margin-left: 8px;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.dtl-body {
|
|
32
|
+
height : 0;
|
|
33
|
+
flex : 1;
|
|
34
|
+
overflow: auto;
|
|
35
|
+
padding : 12px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.dtl-flex {
|
|
39
|
+
display : flex;
|
|
40
|
+
flex-direction: column;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.flex {
|
|
45
|
+
flex: 1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.flex-column {
|
|
49
|
+
display : flex;
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
|
|
52
|
+
.flex {
|
|
53
|
+
height: 0;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.flex-row {
|
|
58
|
+
display : flex;
|
|
59
|
+
flex-direction: row;
|
|
60
|
+
|
|
61
|
+
.flex {
|
|
62
|
+
width: 0;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ActionType } from 'ls-pro-table';
|
|
2
|
+
import type { ProFormInstance } from 'ls-pro-form';
|
|
3
|
+
import type { SingleParamType } from '../useSingle';
|
|
4
|
+
export declare type DtlParamType = SingleParamType & {
|
|
5
|
+
mstKeyField: string;
|
|
6
|
+
dtlService: any;
|
|
7
|
+
relationField: string;
|
|
8
|
+
dtlItem: any;
|
|
9
|
+
};
|
|
10
|
+
declare function useDtl(dtlParam: DtlParamType): {
|
|
11
|
+
formRef: import("react").MutableRefObject<ProFormInstance<any> | undefined>;
|
|
12
|
+
tableRef: import("react").MutableRefObject<ActionType | undefined>;
|
|
13
|
+
dtlFormRef: import("react").MutableRefObject<ProFormInstance<any> | undefined>;
|
|
14
|
+
selectedRows: any;
|
|
15
|
+
showEdit: boolean;
|
|
16
|
+
editItem: any;
|
|
17
|
+
tableTools: JSX.Element[];
|
|
18
|
+
setSelectedRows: import("react").Dispatch<any>;
|
|
19
|
+
setShowEdit: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
20
|
+
setEditItem: import("react").Dispatch<any>;
|
|
21
|
+
onRemoveDtl: () => void;
|
|
22
|
+
onSaveDtl: (formData: any) => Promise<boolean>;
|
|
23
|
+
onLoadDtl: (params: Record<string, any>, sort: Record<string, any>, filter: Record<string, any>) => Promise<any>;
|
|
24
|
+
onAddDtl: () => Promise<boolean>;
|
|
25
|
+
onEditDtl: () => Promise<boolean>;
|
|
26
|
+
onSaveMst: (values: any) => Promise<void>;
|
|
27
|
+
onRemoveMst: () => Promise<boolean | undefined>;
|
|
28
|
+
};
|
|
29
|
+
export default useDtl;
|