ls-pro-common 3.0.13 → 3.0.15

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.
Files changed (111) hide show
  1. package/CHANGELOG.md +746 -0
  2. package/es/components/404.d.ts +3 -0
  3. package/es/components/404.jpg +0 -0
  4. package/es/components/404.js +9 -0
  5. package/es/components/AreaCascader.d.ts +4 -0
  6. package/es/components/AreaCascader.js +76 -0
  7. package/es/components/AreaCascaderPanel.d.ts +5 -0
  8. package/es/components/AreaCascaderPanel.js +230 -0
  9. package/es/components/DescritionCard.d.ts +11 -0
  10. package/es/components/DescritionCard.js +79 -0
  11. package/es/components/DtlLayout.d.ts +44 -0
  12. package/es/components/DtlLayout.js +116 -0
  13. package/es/components/GroupTip.d.ts +10 -0
  14. package/es/components/GroupTip.js +31 -0
  15. package/es/components/IconBack.d.ts +3 -0
  16. package/es/components/IconBack.js +20 -0
  17. package/es/components/IconBell.d.ts +3 -0
  18. package/es/components/IconBell.js +22 -0
  19. package/es/components/IconQuestion.d.ts +3 -0
  20. package/es/components/IconQuestion.js +26 -0
  21. package/es/components/IconSearch.d.ts +3 -0
  22. package/es/components/IconSearch.js +22 -0
  23. package/es/components/IconSelector.d.ts +14 -0
  24. package/es/components/IconSelector.js +222 -0
  25. package/es/components/IconText.d.ts +3 -0
  26. package/es/components/IconText.js +30 -0
  27. package/es/components/ImageSelector.d.ts +31 -0
  28. package/es/components/ImageSelector.js +437 -0
  29. package/es/components/InputMultiLine.d.ts +46 -0
  30. package/es/components/InputMultiLine.js +139 -0
  31. package/es/components/InputTable.d.ts +106 -0
  32. package/es/components/InputTable.js +473 -0
  33. package/es/components/Loading.d.ts +8 -0
  34. package/es/components/Loading.js +20 -0
  35. package/es/components/Permission.d.ts +6 -0
  36. package/es/components/Permission.js +13 -0
  37. package/es/components/antd-custom.less +356 -0
  38. package/es/components/common.less +474 -0
  39. package/es/hooks/useDtl/index.d.ts +47 -0
  40. package/es/hooks/useDtl/index.js +949 -0
  41. package/es/hooks/useGetState.d.ts +1 -0
  42. package/es/hooks/useGetState.js +17 -0
  43. package/es/hooks/usePermission/index.d.ts +15 -0
  44. package/es/hooks/usePermission/index.js +58 -0
  45. package/es/hooks/useSingle/index.d.ts +54 -0
  46. package/es/hooks/useSingle/index.js +662 -0
  47. package/es/http/index.d.ts +53 -0
  48. package/es/http/index.js +309 -0
  49. package/es/index.d.ts +32 -0
  50. package/es/index.js +26 -0
  51. package/es/service/BaseService.d.ts +24 -0
  52. package/es/service/BaseService.js +214 -0
  53. package/es/typing.d.ts +53 -0
  54. package/es/typing.js +1 -0
  55. package/es/utils/index.d.ts +258 -0
  56. package/es/utils/index.js +682 -0
  57. package/lib/components/404.d.ts +3 -0
  58. package/lib/components/404.jpg +0 -0
  59. package/lib/components/404.js +17 -0
  60. package/lib/components/AreaCascader.d.ts +4 -0
  61. package/lib/components/AreaCascader.js +85 -0
  62. package/lib/components/AreaCascaderPanel.d.ts +5 -0
  63. package/lib/components/AreaCascaderPanel.js +239 -0
  64. package/lib/components/DescritionCard.d.ts +11 -0
  65. package/lib/components/DescritionCard.js +88 -0
  66. package/lib/components/DtlLayout.d.ts +44 -0
  67. package/lib/components/DtlLayout.js +125 -0
  68. package/lib/components/GroupTip.d.ts +10 -0
  69. package/lib/components/GroupTip.js +39 -0
  70. package/lib/components/IconBack.d.ts +3 -0
  71. package/lib/components/IconBack.js +28 -0
  72. package/lib/components/IconBell.d.ts +3 -0
  73. package/lib/components/IconBell.js +30 -0
  74. package/lib/components/IconQuestion.d.ts +3 -0
  75. package/lib/components/IconQuestion.js +34 -0
  76. package/lib/components/IconSearch.d.ts +3 -0
  77. package/lib/components/IconSearch.js +30 -0
  78. package/lib/components/IconSelector.d.ts +14 -0
  79. package/lib/components/IconSelector.js +230 -0
  80. package/lib/components/IconText.d.ts +3 -0
  81. package/lib/components/IconText.js +38 -0
  82. package/lib/components/ImageSelector.d.ts +31 -0
  83. package/lib/components/ImageSelector.js +445 -0
  84. package/lib/components/InputMultiLine.d.ts +46 -0
  85. package/lib/components/InputMultiLine.js +148 -0
  86. package/lib/components/InputTable.d.ts +106 -0
  87. package/lib/components/InputTable.js +482 -0
  88. package/lib/components/Loading.d.ts +8 -0
  89. package/lib/components/Loading.js +28 -0
  90. package/lib/components/Permission.d.ts +6 -0
  91. package/lib/components/Permission.js +21 -0
  92. package/lib/components/antd-custom.less +356 -0
  93. package/lib/components/common.less +474 -0
  94. package/lib/hooks/useDtl/index.d.ts +47 -0
  95. package/lib/hooks/useDtl/index.js +957 -0
  96. package/lib/hooks/useGetState.d.ts +1 -0
  97. package/lib/hooks/useGetState.js +24 -0
  98. package/lib/hooks/usePermission/index.d.ts +15 -0
  99. package/lib/hooks/usePermission/index.js +65 -0
  100. package/lib/hooks/useSingle/index.d.ts +54 -0
  101. package/lib/hooks/useSingle/index.js +670 -0
  102. package/lib/http/index.d.ts +53 -0
  103. package/lib/http/index.js +323 -0
  104. package/lib/index.d.ts +32 -0
  105. package/lib/service/BaseService.d.ts +24 -0
  106. package/lib/service/BaseService.js +222 -0
  107. package/lib/typing.d.ts +53 -0
  108. package/lib/typing.js +5 -0
  109. package/lib/utils/index.d.ts +258 -0
  110. package/lib/utils/index.js +779 -0
  111. package/package.json +5 -13
@@ -0,0 +1,85 @@
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 = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ require("antd/es/cascader/style");
11
+ var _cascader = _interopRequireDefault(require("antd/es/cascader"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ var _http = require("../http");
17
+ var _utils = require("../utils");
18
+ var AreaCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
19
+ var _useState = (0, _react.useState)([]),
20
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
21
+ options = _useState2[0],
22
+ setOptions = _useState2[1];
23
+ var areaRef = (0, _react.useRef)();
24
+ (0, _react.useImperativeHandle)(ref, function () {
25
+ return areaRef.current;
26
+ });
27
+ (0, _react.useEffect)(function () {
28
+ initOptions();
29
+ }, []);
30
+ var initOptions = /*#__PURE__*/function () {
31
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
32
+ var cacheItems, api, result, opts;
33
+ return _regenerator.default.wrap(function _callee$(_context) {
34
+ while (1) switch (_context.prev = _context.next) {
35
+ case 0:
36
+ cacheItems = (0, _utils.getCache)("areaOptions", true);
37
+ if (!(cacheItems && Array.isArray(cacheItems))) {
38
+ _context.next = 4;
39
+ break;
40
+ }
41
+ setOptions(cacheItems);
42
+ return _context.abrupt("return");
43
+ case 4:
44
+ api = '/petrel/petrel-location-center-api/sysAdministrativeDivision/allByTree';
45
+ _context.next = 7;
46
+ return (0, _http.httpGet)(api, {}, false);
47
+ case 7:
48
+ result = _context.sent;
49
+ opts = result.rows || [];
50
+ (0, _utils.treeEach)(opts, function (item) {
51
+ item.label = item.name;
52
+ item.value = item.id;
53
+ if (item.level === 'district') {
54
+ delete item.children;
55
+ }
56
+ delete item.name;
57
+ delete item.id;
58
+ delete item.level;
59
+ delete item.parentId;
60
+ });
61
+ (0, _utils.setCache)('areaOptions', opts, true);
62
+ setOptions(opts);
63
+ case 12:
64
+ case "end":
65
+ return _context.stop();
66
+ }
67
+ }, _callee);
68
+ }));
69
+ return function initOptions() {
70
+ return _ref.apply(this, arguments);
71
+ };
72
+ }();
73
+ return /*#__PURE__*/_react.default.createElement(_cascader.default, (0, _extends2.default)({
74
+ options: options,
75
+ style: {
76
+ width: '100%'
77
+ },
78
+ changeOnSelect: true,
79
+ placeholder: "\u8BF7\u9009\u62E9"
80
+ }, props, {
81
+ ref: areaRef
82
+ }));
83
+ });
84
+ var _default = AreaCascader;
85
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { CascaderProps } from 'antd';
3
+ import './common.less';
4
+ declare const AreaPicker: React.ForwardRefExoticComponent<CascaderProps<any> & React.RefAttributes<unknown>>;
5
+ export default AreaPicker;
@@ -0,0 +1,239 @@
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 = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ require("antd/es/cascader/style");
11
+ var _cascader = _interopRequireDefault(require("antd/es/cascader"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+ require("antd/es/button/style");
14
+ var _button = _interopRequireDefault(require("antd/es/button"));
15
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
18
+ var _react = _interopRequireWildcard(require("react"));
19
+ var _http = require("../http");
20
+ var _utils = require("../utils");
21
+ require("./common.less");
22
+ var AreaPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
23
+ var propsConfig = (0, _objectSpread2.default)({
24
+ getPopupContainer: function getPopupContainer(triggerNode) {
25
+ var _document;
26
+ return (_document = document) === null || _document === void 0 ? void 0 : _document.body;
27
+ },
28
+ placeholder: "请选择"
29
+ }, props);
30
+ var _useState = (0, _react.useState)((0, _utils.getCache)('areaOptionsPanel', true) || []),
31
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
32
+ options = _useState2[0],
33
+ setOptions = _useState2[1];
34
+ //显示数据
35
+ var _useState3 = (0, _react.useState)((0, _utils.getCache)('areaOptionsPanel', true) || []),
36
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
37
+ showData = _useState4[0],
38
+ setShowData = _useState4[1];
39
+ //暂存值
40
+ var _useState5 = (0, _react.useState)([]),
41
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
42
+ listData = _useState6[0],
43
+ setListData = _useState6[1];
44
+ //省市区实际值
45
+ var _useState7 = (0, _react.useState)(props.value || []),
46
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
47
+ actualData = _useState8[0],
48
+ setActualData = _useState8[1];
49
+ //标题显示值
50
+ var _useState9 = (0, _react.useState)('province'),
51
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
52
+ areaTitle = _useState10[0],
53
+ setAreaTitle = _useState10[1];
54
+ var areaRef = (0, _react.useRef)();
55
+ (0, _react.useImperativeHandle)(ref, function () {
56
+ return areaRef.current;
57
+ });
58
+ (0, _react.useEffect)(function () {
59
+ initOptions();
60
+ }, []);
61
+ (0, _react.useEffect)(function () {
62
+ if (actualData.length !== 0) {
63
+ var _props$onChange;
64
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, actualData, listData);
65
+ } else {
66
+ setAreaTitle('province');
67
+ }
68
+ }, [actualData]);
69
+ (0, _react.useEffect)(function () {
70
+ var _props$value;
71
+ if (!options.length || !((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length)) return;
72
+ var _props$value2 = (0, _slicedToArray2.default)(props.value, 3),
73
+ pKey = _props$value2[0],
74
+ cKey = _props$value2[1],
75
+ dKey = _props$value2[2];
76
+ var province = pKey ? options.find(function (o) {
77
+ return o.value === pKey;
78
+ }) : false;
79
+ var city = province && cKey ? province.children.find(function (o) {
80
+ return o.value === cKey;
81
+ }) : false;
82
+ var district = city && dKey ? city.children.find(function (o) {
83
+ return o.value === dKey;
84
+ }) : false;
85
+ var area = [province, city, district].filter(Boolean);
86
+ setListData(area);
87
+ setAreaTitle(area.length === 3 ? 'district' : area.length === 2 ? 'city' : 'province');
88
+ setShowData(area.length === 3 ? city.children : area.length === 2 ? province.children : options);
89
+ }, [options]);
90
+ var initOptions = /*#__PURE__*/function () {
91
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
92
+ var cacheItems, api, result, opts;
93
+ return _regenerator.default.wrap(function _callee$(_context) {
94
+ while (1) switch (_context.prev = _context.next) {
95
+ case 0:
96
+ cacheItems = (0, _utils.getCache)('areaOptionsPanel', true);
97
+ if (!(cacheItems && Array.isArray(cacheItems) && cacheItems.length)) {
98
+ _context.next = 3;
99
+ break;
100
+ }
101
+ return _context.abrupt("return");
102
+ case 3:
103
+ api = '/petrel/petrel-location-center-api/sysAdministrativeDivision/allByTree';
104
+ _context.next = 6;
105
+ return (0, _http.httpGet)(api, {}, false);
106
+ case 6:
107
+ result = _context.sent;
108
+ opts = result.rows || [];
109
+ (0, _utils.treeEach)(opts, function (item) {
110
+ item.label = item.name;
111
+ item.value = item.id;
112
+ if (item.level === 'district') {
113
+ delete item.children;
114
+ }
115
+ delete item.name;
116
+ delete item.id;
117
+ delete item.parentId;
118
+ });
119
+ (0, _utils.setCache)('areaOptionsPanel', opts, true);
120
+ setOptions(opts);
121
+ setShowData(opts);
122
+ case 12:
123
+ case "end":
124
+ return _context.stop();
125
+ }
126
+ }, _callee);
127
+ }));
128
+ return function initOptions() {
129
+ return _ref.apply(this, arguments);
130
+ };
131
+ }();
132
+ var dropdownRender = function dropdownRender(menus) {
133
+ var _listData$, _listData$3;
134
+ var title = /*#__PURE__*/_react.default.createElement("div", {
135
+ className: "ls-area-cascaded-header"
136
+ }, /*#__PURE__*/_react.default.createElement("div", {
137
+ className: "ls-word-box-display"
138
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
139
+ type: "text",
140
+ onClick: function onClick() {
141
+ setAreaTitle('province');
142
+ setShowData(options);
143
+ setListData(function (val) {
144
+ return val.length ? [val[0]] : [];
145
+ });
146
+ }
147
+ }, /*#__PURE__*/_react.default.createElement("span", {
148
+ className: 'ls-myself-select-title-style'
149
+ }, listData[0] ? (_listData$ = listData[0]) === null || _listData$ === void 0 ? void 0 : _listData$.label : '省/直辖市'))), /*#__PURE__*/_react.default.createElement("div", {
150
+ className: "ls-word-box-display"
151
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
152
+ type: "text",
153
+ disabled: listData.length < 2,
154
+ onClick: function onClick() {
155
+ var _listData$2;
156
+ setAreaTitle('city');
157
+ setShowData((_listData$2 = listData[0]) === null || _listData$2 === void 0 ? void 0 : _listData$2.children);
158
+ setListData(function (val) {
159
+ return val.filter(function (o, i) {
160
+ return i < 2;
161
+ });
162
+ });
163
+ }
164
+ }, /*#__PURE__*/_react.default.createElement("span", {
165
+ className: 'ls-myself-select-title-style'
166
+ }, areaTitle !== 'province' && listData[1] ? (_listData$3 = listData[1]) === null || _listData$3 === void 0 ? void 0 : _listData$3.label : '市'))), /*#__PURE__*/_react.default.createElement("div", {
167
+ className: "ls-word-box-display"
168
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
169
+ type: "text",
170
+ disabled: listData.length < 3
171
+ }, /*#__PURE__*/_react.default.createElement("span", {
172
+ className: 'ls-myself-select-title-style'
173
+ }, listData[2] ? listData[2].label : '区'))));
174
+ return /*#__PURE__*/_react.default.createElement("div", {
175
+ className: "ls-area-cascaded-box"
176
+ }, title, /*#__PURE__*/_react.default.createElement("div", {
177
+ className: "ls-area-cascaded-body"
178
+ }, showData.map(function (item) {
179
+ return /*#__PURE__*/_react.default.createElement("div", {
180
+ className: "ls-area-cascaded-span ".concat(actualData.find(function (o) {
181
+ return o === item.value;
182
+ }) ? ' ls-area-selected' : ''),
183
+ title: item.label,
184
+ onClick: function onClick(e) {
185
+ var _areaRef$current;
186
+ switch ((item === null || item === void 0 ? void 0 : item.level) || '') {
187
+ case 'province':
188
+ setShowData(item === null || item === void 0 ? void 0 : item.children);
189
+ setActualData([item === null || item === void 0 ? void 0 : item.value]);
190
+ setListData(function (val) {
191
+ return [item];
192
+ });
193
+ //面板标题指向市
194
+ setAreaTitle('city');
195
+ break;
196
+ case 'city':
197
+ setShowData(item === null || item === void 0 ? void 0 : item.children);
198
+ setActualData(function (val) {
199
+ return [val[0], item === null || item === void 0 ? void 0 : item.value];
200
+ });
201
+ setListData(function (val) {
202
+ return [val[0], item];
203
+ });
204
+ setAreaTitle('district');
205
+ break;
206
+ case 'district':
207
+ setActualData(function (val) {
208
+ return [val[0], val[1], item === null || item === void 0 ? void 0 : item.value];
209
+ });
210
+ setListData(function (val) {
211
+ return [val[0], val[1], item];
212
+ });
213
+ (_areaRef$current = areaRef.current) === null || _areaRef$current === void 0 ? void 0 : _areaRef$current.blur();
214
+ break;
215
+ default:
216
+ break;
217
+ }
218
+ }
219
+ }, item.label);
220
+ })));
221
+ };
222
+ return /*#__PURE__*/_react.default.createElement(_cascader.default, (0, _extends2.default)({
223
+ options: options,
224
+ style: {
225
+ width: '100%'
226
+ },
227
+ className: 'ls-area-box-position',
228
+ changeOnSelect: true,
229
+ ref: areaRef,
230
+ onClear: function onClear() {
231
+ setActualData([]);
232
+ setListData([]);
233
+ setShowData(options);
234
+ },
235
+ dropdownRender: dropdownRender
236
+ }, propsConfig));
237
+ });
238
+ var _default = AreaPicker;
239
+ exports.default = _default;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import type { ProCardProps } from 'ls-pro-card';
3
+ import type { ProDescriptionsProps } from 'ls-pro-descriptions';
4
+ import './common.less';
5
+ export declare type DescritionCardProps = ProCardProps & {
6
+ hasBackground?: boolean;
7
+ desc?: ProDescriptionsProps;
8
+ collapseTitle?: string;
9
+ };
10
+ declare function DescritionCard(props: DescritionCardProps): JSX.Element;
11
+ export default DescritionCard;
@@ -0,0 +1,88 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _icons = require("@ant-design/icons");
15
+ var _lsProCard = _interopRequireDefault(require("ls-pro-card"));
16
+ var _lsProDescriptions = _interopRequireDefault(require("ls-pro-descriptions"));
17
+ require("./common.less");
18
+ var _excluded = ["title", "extra", "className", "collapsible", "defaultCollapsed", "desc", "hasBackground", "collapseTitle"];
19
+ function DescritionCard(props) {
20
+ var title = props.title,
21
+ extra = props.extra,
22
+ className = props.className,
23
+ _props$collapsible = props.collapsible,
24
+ collapsible = _props$collapsible === void 0 ? true : _props$collapsible,
25
+ _props$defaultCollaps = props.defaultCollapsed,
26
+ defaultCollapsed = _props$defaultCollaps === void 0 ? false : _props$defaultCollaps,
27
+ desc = props.desc,
28
+ hasBackground = props.hasBackground,
29
+ _props$collapseTitle = props.collapseTitle,
30
+ collapseTitle = _props$collapseTitle === void 0 ? '展开/收起' : _props$collapseTitle,
31
+ rest = (0, _objectWithoutProperties2.default)(props, _excluded);
32
+ var _useState = (0, _react.useState)(defaultCollapsed),
33
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
+ collapsed = _useState2[0],
35
+ setCollapsed = _useState2[1];
36
+ var titleLayout = (0, _react.useMemo)(function () {
37
+ if (typeof title === 'string') {
38
+ return /*#__PURE__*/_react.default.createElement("div", {
39
+ className: 'description-card-title'
40
+ }, /*#__PURE__*/_react.default.createElement("span", null, title));
41
+ } else {
42
+ return title;
43
+ }
44
+ }, [title]);
45
+ var collapsedDom = (0, _react.useMemo)(function () {
46
+ if (!collapsible) return null;
47
+ return /*#__PURE__*/_react.default.createElement(_icons.UpOutlined, {
48
+ rotate: !!collapsed ? 180 : undefined,
49
+ style: {
50
+ margin: 'auto',
51
+ marginLeft: '24px',
52
+ fontSize: '16px',
53
+ color: 'var(--ant-primary-color, #4997e6)'
54
+ },
55
+ onClick: function onClick() {
56
+ setCollapsed(!collapsed);
57
+ },
58
+ title: collapseTitle || undefined
59
+ });
60
+ }, [collapsed, collapsible]);
61
+ var extraDom = (0, _react.useMemo)(function () {
62
+ if (extra && collapsedDom) {
63
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, extra, collapsedDom);
64
+ } else if (extra) {
65
+ return extra;
66
+ } else if (collapsedDom) {
67
+ return collapsedDom;
68
+ }
69
+ return null;
70
+ }, [extra, collapsedDom]);
71
+ return desc ? /*#__PURE__*/_react.default.createElement(_lsProCard.default, (0, _extends2.default)({
72
+ className: (0, _classnames.default)('description-card', {
73
+ 'has-background': hasBackground
74
+ }, className),
75
+ title: titleLayout,
76
+ extra: extraDom,
77
+ collapsed: collapsed
78
+ }, rest), /*#__PURE__*/_react.default.createElement(_lsProDescriptions.default, desc)) : /*#__PURE__*/_react.default.createElement(_lsProCard.default, (0, _extends2.default)({
79
+ className: (0, _classnames.default)('description-card', {
80
+ 'has-background': hasBackground
81
+ }, className),
82
+ title: titleLayout,
83
+ extra: extraDom,
84
+ collapsed: collapsed
85
+ }, rest));
86
+ }
87
+ var _default = DescritionCard;
88
+ exports.default = _default;
@@ -0,0 +1,44 @@
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
+ /** 返回方法 */
6
+ onExit: (visible?: boolean) => void;
7
+ /** 保存方法 */
8
+ onSave?: () => void;
9
+ /** 自定义按钮方法,defaultBtn 默认有三个按钮,btnBack=返回,btnSave=保存,btnAudit=审核 */
10
+ renderButton?: (defaultBtn: JSX.Element[]) => JSX.Element[];
11
+ /** 审核方法 */
12
+ onAudit?: () => void;
13
+ /**按钮状态 */
14
+ btnStatus?: (btnKey: string) => boolean | void;
15
+ /** 保存按钮文本,默认为‘保存’,传入''时不展示 */
16
+ btnSaveText?: string;
17
+ /** 审核按钮文本,默认为‘审核’,传入''时不展示 */
18
+ btnAuditText?: string;
19
+ /** 返回按钮文本,默认为'返回' */
20
+ btnExitText?: string;
21
+ /** 标题 */
22
+ title?: JSX.Element | string;
23
+ /** 主表对象 */
24
+ masterObject?: any;
25
+ /** 主表主键字段 */
26
+ keyField?: string;
27
+ /** body类 */
28
+ bodyClass?: string;
29
+ /** header 类 */
30
+ headerClass?: string;
31
+ /** body样式 */
32
+ bodyStyle?: React.CSSProperties;
33
+ /** header样式 */
34
+ headerStyle?: React.CSSProperties;
35
+ /** 表单ref */
36
+ formRef?: React.MutableRefObject<ProFormInstance | undefined>;
37
+ /**状态字段 */
38
+ statusField?: string;
39
+ /** 审核状态值 */
40
+ auditStatus?: number;
41
+ isView?: boolean;
42
+ };
43
+ declare function DtlLayout(props: DtlLyaoutProps): JSX.Element;
44
+ export default DtlLayout;
@@ -0,0 +1,125 @@
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 = void 0;
9
+ require("antd/es/space/style");
10
+ var _space = _interopRequireDefault(require("antd/es/space"));
11
+ require("antd/es/button/style");
12
+ var _button = _interopRequireDefault(require("antd/es/button"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+ var _icons = require("@ant-design/icons");
16
+ require("./common.less");
17
+ var _usePermission2 = _interopRequireDefault(require("../hooks/usePermission"));
18
+ var _IconBack = _interopRequireDefault(require("./IconBack"));
19
+ function DtlLayout(props) {
20
+ var title = props.title,
21
+ _props$keyField = props.keyField,
22
+ keyField = _props$keyField === void 0 ? 'id' : _props$keyField,
23
+ masterObject = props.masterObject,
24
+ children = props.children,
25
+ headerClass = props.headerClass,
26
+ headerStyle = props.headerStyle,
27
+ bodyClass = props.bodyClass,
28
+ bodyStyle = props.bodyStyle,
29
+ formRef = props.formRef,
30
+ _props$btnSaveText = props.btnSaveText,
31
+ btnSaveText = _props$btnSaveText === void 0 ? '保存' : _props$btnSaveText,
32
+ _props$btnExitText = props.btnExitText,
33
+ btnExitText = _props$btnExitText === void 0 ? '返回' : _props$btnExitText,
34
+ _props$btnAuditText = props.btnAuditText,
35
+ btnAuditText = _props$btnAuditText === void 0 ? '审核' : _props$btnAuditText,
36
+ btnStatus = props.btnStatus,
37
+ statusField = props.statusField,
38
+ auditStatus = props.auditStatus,
39
+ _props$isView = props.isView,
40
+ isView = _props$isView === void 0 ? false : _props$isView;
41
+ var _usePermission = (0, _usePermission2.default)(),
42
+ checkRight = _usePermission.checkRight;
43
+ var dtlTitle = (0, _react.useMemo)(function () {
44
+ if (title) return title;
45
+ if (!masterObject) return '';
46
+ return masterObject[keyField] ? '编辑' : '新增';
47
+ }, [title, masterObject, keyField]);
48
+ var isAudit = function isAudit() {
49
+ if (masterObject && statusField && auditStatus) {
50
+ return Number(masterObject[statusField] || 0) >= auditStatus;
51
+ }
52
+ return false;
53
+ };
54
+ var btnDisabled = function btnDisabled(btnKey) {
55
+ if (isView) return true;
56
+ // 优先处理自定义的状态
57
+ if (btnStatus && typeof btnStatus(btnKey) === 'boolean') {
58
+ return btnStatus(btnKey) || false;
59
+ }
60
+ return isAudit();
61
+ };
62
+ var btns = (0, _react.useMemo)(function () {
63
+ var back = /*#__PURE__*/_react.default.createElement(_button.default, {
64
+ key: "btnBack",
65
+ onClick: function onClick() {
66
+ return props.onExit(false);
67
+ },
68
+ className: "ant-btn-gray",
69
+ icon: /*#__PURE__*/_react.default.createElement(_IconBack.default, null)
70
+ }, btnExitText);
71
+ var btnList = [back];
72
+ // 有新增或更改权限且未审核,开放出保存按钮
73
+ if (btnSaveText && (checkRight(2) || checkRight(4)) && !isAudit() && !isView) {
74
+ btnList.unshift( /*#__PURE__*/_react.default.createElement(_button.default, {
75
+ key: "btnSave",
76
+ onClick: function onClick() {
77
+ var _formRef$current;
78
+ if (props.onSave) {
79
+ return props.onSave();
80
+ }
81
+ formRef === null || formRef === void 0 ? void 0 : (_formRef$current = formRef.current) === null || _formRef$current === void 0 ? void 0 : _formRef$current.submit();
82
+ },
83
+ disabled: btnDisabled('btnSave'),
84
+ icon: /*#__PURE__*/_react.default.createElement(_icons.SaveOutlined, null)
85
+ }, btnSaveText));
86
+ }
87
+ // 转入onAudit方法且有审核权限,数据未审核,开放出审核按钮
88
+ if (btnAuditText && props.onAudit && checkRight(64) && !isAudit() && !isView) {
89
+ btnList.unshift( /*#__PURE__*/_react.default.createElement(_button.default, {
90
+ key: "btnAudit",
91
+ disabled: btnDisabled('btnAudit'),
92
+ onClick: function onClick() {
93
+ if (!props.onAudit) return;
94
+ props.onAudit();
95
+ },
96
+ icon: /*#__PURE__*/_react.default.createElement(_icons.AuditOutlined, null)
97
+ }, btnAuditText));
98
+ }
99
+ // 如果用户直接返回空,还是需要把返回按钮加上。
100
+ if (props.renderButton) {
101
+ btnList = props.renderButton(btnList);
102
+ if (!btnList || !btnList.length) {
103
+ btnList = [back];
104
+ }
105
+ }
106
+ return btnList;
107
+ }, [props]);
108
+ return /*#__PURE__*/_react.default.createElement("div", {
109
+ className: "dtl-layout"
110
+ }, /*#__PURE__*/_react.default.createElement("div", {
111
+ className: (0, _classnames.default)('dtl-header', headerClass),
112
+ style: headerStyle
113
+ }, /*#__PURE__*/_react.default.createElement("div", {
114
+ className: "dtl-title"
115
+ }, dtlTitle), /*#__PURE__*/_react.default.createElement("div", {
116
+ className: "dtl-btns"
117
+ }, /*#__PURE__*/_react.default.createElement(_space.default, {
118
+ size: 8
119
+ }, btns))), /*#__PURE__*/_react.default.createElement("div", {
120
+ className: (0, _classnames.default)('dtl-body', bodyClass),
121
+ style: bodyStyle
122
+ }, children));
123
+ }
124
+ var _default = DtlLayout;
125
+ exports.default = _default;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import './common.less';
3
+ export declare type GroupTitleProps = {
4
+ text: React.ReactNode | string;
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ isInner?: boolean;
8
+ };
9
+ declare const GroupTip: React.FC<GroupTitleProps>;
10
+ export default GroupTip;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ require("./common.less");
12
+ var GroupTip = function GroupTip(_ref) {
13
+ var children = _ref.children,
14
+ className = _ref.className,
15
+ text = _ref.text,
16
+ _ref$style = _ref.style,
17
+ style = _ref$style === void 0 ? {} : _ref$style,
18
+ _ref$isInner = _ref.isInner,
19
+ isInner = _ref$isInner === void 0 ? true : _ref$isInner;
20
+ var cls = (0, _classnames.default)('ls-group-tip', className);
21
+ var styles = isInner ? {} : {
22
+ paddingTop: '12px',
23
+ paddingLeft: '20px',
24
+ borderTopLeftRadius: '8px',
25
+ borderTopRightRadius: '8px'
26
+ };
27
+ return /*#__PURE__*/_react.default.createElement("div", {
28
+ className: cls,
29
+ style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, styles), style)
30
+ }, /*#__PURE__*/_react.default.createElement("div", {
31
+ className: "ls-group-divider"
32
+ }), /*#__PURE__*/_react.default.createElement("div", {
33
+ className: "ls-group-text"
34
+ }, text), children && /*#__PURE__*/_react.default.createElement("div", {
35
+ className: "flex"
36
+ }, children));
37
+ };
38
+ var _default = GroupTip;
39
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import type { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
2
+ declare const IconBack: (props: Partial<CustomIconComponentProps>) => JSX.Element;
3
+ export default IconBack;