ls-pro-common 1.0.7 → 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.
@@ -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;
@@ -628,6 +628,11 @@ function useDtl(dtlParam) {
628
628
  if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.import) {
629
629
  tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
630
630
  key: "import",
631
+ onClick: function onClick() {
632
+ var _tableRef$current, _tableRef$current$sho;
633
+
634
+ tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : (_tableRef$current$sho = _tableRef$current.showImport) === null || _tableRef$current$sho === void 0 ? void 0 : _tableRef$current$sho.call(_tableRef$current);
635
+ },
631
636
  icon: /*#__PURE__*/_react.default.createElement(_icons.ImportOutlined, null)
632
637
  }, "\u5BFC\u5165"));
633
638
  }
@@ -635,6 +640,11 @@ function useDtl(dtlParam) {
635
640
  if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.export) {
636
641
  tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
637
642
  key: "export",
643
+ onClick: function onClick() {
644
+ var _tableRef$current2, _tableRef$current2$sh;
645
+
646
+ tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : (_tableRef$current2$sh = _tableRef$current2.showExport) === null || _tableRef$current2$sh === void 0 ? void 0 : _tableRef$current2$sh.call(_tableRef$current2);
647
+ },
638
648
  icon: /*#__PURE__*/_react.default.createElement(_icons.ExportOutlined, null)
639
649
  }, "\u5BFC\u51FA"));
640
650
  }
@@ -36,5 +36,6 @@ declare function useSingle(inParam: SingleParamType): {
36
36
  onLoad: (params: Record<string, any>, sort: Record<string, any>, filter: Record<string, any>) => Promise<any>;
37
37
  onAdd: () => Promise<void>;
38
38
  onEdit: () => Promise<void>;
39
+ onExport: (url: string, param: any) => Promise<boolean>;
39
40
  };
40
41
  export default useSingle;
@@ -390,6 +390,27 @@ function useSingle(inParam) {
390
390
  };
391
391
  }();
392
392
 
393
+ var onExport = /*#__PURE__*/function () {
394
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(url, param) {
395
+ return _regenerator.default.wrap(function _callee6$(_context6) {
396
+ while (1) {
397
+ switch (_context6.prev = _context6.next) {
398
+ case 0:
399
+ return _context6.abrupt("return", true);
400
+
401
+ case 1:
402
+ case "end":
403
+ return _context6.stop();
404
+ }
405
+ }
406
+ }, _callee6);
407
+ }));
408
+
409
+ return function onExport(_x5, _x6) {
410
+ return _ref6.apply(this, arguments);
411
+ };
412
+ }();
413
+
393
414
  var tableTools = [];
394
415
 
395
416
  if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.add) {
@@ -422,6 +443,11 @@ function useSingle(inParam) {
422
443
  if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.import) {
423
444
  tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
424
445
  key: "import",
446
+ onClick: function onClick() {
447
+ var _tableRef$current, _tableRef$current$sho;
448
+
449
+ tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : (_tableRef$current$sho = _tableRef$current.showImport) === null || _tableRef$current$sho === void 0 ? void 0 : _tableRef$current$sho.call(_tableRef$current);
450
+ },
425
451
  icon: /*#__PURE__*/_react.default.createElement(_icons.ImportOutlined, null)
426
452
  }, "\u5BFC\u5165"));
427
453
  }
@@ -429,6 +455,11 @@ function useSingle(inParam) {
429
455
  if (toolConfig === null || toolConfig === void 0 ? void 0 : toolConfig.export) {
430
456
  tableTools.push( /*#__PURE__*/_react.default.createElement(_button.default, {
431
457
  key: "export",
458
+ onClick: function onClick() {
459
+ var _tableRef$current2, _tableRef$current2$sh;
460
+
461
+ tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : (_tableRef$current2$sh = _tableRef$current2.showExport) === null || _tableRef$current2$sh === void 0 ? void 0 : _tableRef$current2$sh.call(_tableRef$current2);
462
+ },
432
463
  icon: /*#__PURE__*/_react.default.createElement(_icons.ExportOutlined, null)
433
464
  }, "\u5BFC\u51FA"));
434
465
  }
@@ -448,7 +479,8 @@ function useSingle(inParam) {
448
479
  onSave: onSave,
449
480
  onLoad: onLoad,
450
481
  onAdd: onAdd,
451
- onEdit: onEdit
482
+ onEdit: onEdit,
483
+ onExport: onExport
452
484
  };
453
485
  }
454
486
 
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import DtlLayout from './components/DtlLayout';
2
+ import InputTable from './components/InputTable';
2
3
  import BaseService from './service/BaseService';
3
4
  import request, { httpGet, httpPut, httpPost, httpDelete, getDict, fetchOptions } from './http';
4
5
  import * as utils from './utils';
@@ -9,4 +10,4 @@ import useDtl from './hooks/useDtl';
9
10
  import type { ApiResponse, TableToolbar, BaseApiType, MethodType } from './typing';
10
11
  import type { DtlLyaoutProps } from './components/DtlLayout';
11
12
  export type { ApiResponse, TableToolbar, BaseApiType, MethodType, DtlLyaoutProps };
12
- export { DtlLayout, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl };
13
+ export { DtlLayout, InputTable, BaseService, request, httpDelete, httpGet, httpPost, httpPut, getDict, fetchOptions, utils, useSingle, useDtl };
package/lib/index.js CHANGED
@@ -19,6 +19,12 @@ Object.defineProperty(exports, "DtlLayout", {
19
19
  return _DtlLayout.default;
20
20
  }
21
21
  });
22
+ Object.defineProperty(exports, "InputTable", {
23
+ enumerable: true,
24
+ get: function get() {
25
+ return _InputTable.default;
26
+ }
27
+ });
22
28
  Object.defineProperty(exports, "fetchOptions", {
23
29
  enumerable: true,
24
30
  get: function get() {
@@ -77,6 +83,8 @@ exports.utils = void 0;
77
83
 
78
84
  var _DtlLayout = _interopRequireDefault(require("./components/DtlLayout"));
79
85
 
86
+ var _InputTable = _interopRequireDefault(require("./components/InputTable"));
87
+
80
88
  var _BaseService = _interopRequireDefault(require("./service/BaseService"));
81
89
 
82
90
  var _http = _interopRequireWildcard(require("./http"));
@@ -6,6 +6,13 @@ export declare const getUrlQuery: (name: string, url?: string) => string;
6
6
  * @returns
7
7
  */
8
8
  export declare const setUrlQuery: (url: string, keyvals?: Record<string, any>) => string;
9
+ /**
10
+ * 给 url 添加网关
11
+ * @param url 原url,以 / 打头
12
+ * @param defGateway 默认网关 /petrel
13
+ * @returns
14
+ */
15
+ export declare const toGatewayUrl: (url: string, defGateway?: string) => string;
9
16
  /**
10
17
  * 设置文档title
11
18
  * @param {*} title
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.yesnoList = exports.treeFind = exports.treeEach = exports.statusList = exports.showWarn = exports.showSuccess = exports.showError = exports.showConfirm = exports.setUrlQuery = exports.setTitle = exports.setCookie = exports.setCache = exports.rangeToSearch = exports.isLogin = exports.getUserName = exports.getUserInfo = exports.getUrlQuery = exports.getLoginName = exports.getCookie = exports.getCompanyId = exports.getCache = exports.dateFormat = void 0;
8
+ exports.yesnoList = exports.treeFind = exports.treeEach = exports.toGatewayUrl = exports.statusList = exports.showWarn = exports.showSuccess = exports.showError = exports.showConfirm = exports.setUrlQuery = exports.setTitle = exports.setCookie = exports.setCache = exports.rangeToSearch = exports.isLogin = exports.getUserName = exports.getUserInfo = exports.getUrlQuery = exports.getLoginName = exports.getCookie = exports.getCompanyId = exports.getCache = exports.dateFormat = void 0;
9
9
 
10
10
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
11
11
 
@@ -58,6 +58,22 @@ var setUrlQuery = function setUrlQuery(url) {
58
58
 
59
59
  return newUrl;
60
60
  };
61
+ /**
62
+ * 给 url 添加网关
63
+ * @param url 原url,以 / 打头
64
+ * @param defGateway 默认网关 /petrel
65
+ * @returns
66
+ */
67
+
68
+
69
+ exports.setUrlQuery = setUrlQuery;
70
+
71
+ var toGatewayUrl = function toGatewayUrl(url) {
72
+ var defGateway = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '/petrel';
73
+ if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('//')) return url;
74
+ var gateway = getUrlQuery('gateway') || location.origin + defGateway;
75
+ return gateway + url;
76
+ };
61
77
  /**
62
78
  * 设置文档title
63
79
  * @param {*} title
@@ -65,7 +81,7 @@ var setUrlQuery = function setUrlQuery(url) {
65
81
  */
66
82
 
67
83
 
68
- exports.setUrlQuery = setUrlQuery;
84
+ exports.toGatewayUrl = toGatewayUrl;
69
85
 
70
86
  var setTitle = function setTitle(title) {
71
87
  if (!title) return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ls-pro-common",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "ls-pro-common",
5
5
  "keywords": [
6
6
  "antd",
@@ -28,8 +28,8 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@ant-design/icons": "^4.3.0",
31
- "ls-pro-table": "2.62.13",
32
- "ls-pro-form": "1.52.18",
31
+ "ls-pro-table": "2.62.15",
32
+ "ls-pro-form": "1.52.19",
33
33
  "@babel/runtime": "^7.16.3",
34
34
  "classnames": "^2.2.6",
35
35
  "moment": "^2.27.0",