ls-pro-common 1.0.28 → 1.0.31

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.
@@ -10,7 +10,7 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
10
10
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
11
11
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
12
12
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
13
- var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "labelWidth", "textField", "onSelectChange", "beforeLoad", "afterLoad", "isV2", "allowClear", "keepSelect"],
13
+ var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "labelWidth", "textField", "onSelectChange", "beforeLoad", "afterLoad", "isV2", "allowClear", "keepSelect", "fieldProps"],
14
14
  _excluded2 = ["current", "pageSize"];
15
15
  import React from "react";
16
16
  import { useRef, useState, useEffect, useContext } from 'react';
@@ -66,6 +66,7 @@ function InputTable(prop) {
66
66
  allowClear = _prop$allowClear === void 0 ? true : _prop$allowClear,
67
67
  _prop$keepSelect = prop.keepSelect,
68
68
  keepSelect = _prop$keepSelect === void 0 ? false : _prop$keepSelect,
69
+ fieldProps = prop.fieldProps,
69
70
  rest = _objectWithoutProperties(prop, _excluded);
70
71
 
71
72
  var textNameProp = textName || name + '__text';
@@ -148,7 +149,6 @@ function InputTable(prop) {
148
149
  var tableDom = /*#__PURE__*/React.createElement(ProTable, _extends({
149
150
  columns: columns,
150
151
  request: loadData,
151
- rowKey: valueField,
152
152
  manualRequest: false,
153
153
  actionRef: tableRef,
154
154
  search: {
@@ -219,7 +219,7 @@ function InputTable(prop) {
219
219
  name: name
220
220
  })), rest.label ? /*#__PURE__*/React.createElement(ProFormText, _extends({
221
221
  name: textNameProp
222
- }, rest), /*#__PURE__*/React.createElement(_Input, {
222
+ }, rest), /*#__PURE__*/React.createElement(_Input, _extends({
223
223
  suffix: /*#__PURE__*/React.createElement(_Popover, {
224
224
  content: /*#__PURE__*/React.createElement("div", {
225
225
  style: {
@@ -232,9 +232,15 @@ function InputTable(prop) {
232
232
  trigger: "click",
233
233
  visible: visible,
234
234
  onVisibleChange: setVisible
235
- }, /*#__PURE__*/React.createElement(MoreOutlined, null)),
235
+ }, /*#__PURE__*/React.createElement(MoreOutlined, {
236
+ onClick: function onClick(e) {
237
+ setVisible(true);
238
+ e.stopPropagation && e.stopPropagation();
239
+ }
240
+ })),
236
241
  onClick: function onClick() {
237
- return setVisible(true);
242
+ if (readonly) return;
243
+ setVisible(true);
238
244
  },
239
245
  onInput: function onInput(e) {
240
246
  var _formRef$current6;
@@ -257,7 +263,7 @@ function InputTable(prop) {
257
263
  },
258
264
  readOnly: readonly,
259
265
  allowClear: allowClear
260
- })) : /*#__PURE__*/React.createElement(_Input, _extends({
266
+ }, fieldProps))) : /*#__PURE__*/React.createElement(_Input, _extends({
261
267
  suffix: /*#__PURE__*/React.createElement(_Popover, {
262
268
  content: /*#__PURE__*/React.createElement("div", {
263
269
  style: {
@@ -270,9 +276,15 @@ function InputTable(prop) {
270
276
  trigger: "click",
271
277
  visible: visible,
272
278
  onVisibleChange: setVisible
273
- }, /*#__PURE__*/React.createElement(MoreOutlined, null)),
279
+ }, /*#__PURE__*/React.createElement(MoreOutlined, {
280
+ onClick: function onClick(e) {
281
+ setVisible(true);
282
+ e.stopPropagation && e.stopPropagation();
283
+ }
284
+ })),
274
285
  onClick: function onClick() {
275
- return setVisible(true);
286
+ if (readonly) return;
287
+ setVisible(true);
276
288
  },
277
289
  onInput: function onInput(e) {
278
290
  var _formRef$current8;
@@ -299,7 +311,7 @@ function InputTable(prop) {
299
311
  readOnly: readonly,
300
312
  value: text,
301
313
  allowClear: allowClear
302
- }, rest === null || rest === void 0 ? void 0 : rest.fieldProps)));
314
+ }, fieldProps)));
303
315
  }
304
316
 
305
317
  export default InputTable;
@@ -82,6 +82,14 @@ export declare const treeEach: (list: any[], fn: (item: any, index: any, list: a
82
82
  * @returns 返回符合条件的第一条对象
83
83
  */
84
84
  export declare const treeFind: (list: any[], key: string, val: any, children?: string) => any;
85
+ /**
86
+ * 处理普通的尺码横排
87
+ * @param orgSizeHeader 后端返回的原始尺码组表头
88
+ * @param typeWidth 尺码组宽 sizeTypeNo,默认120
89
+ * @param sizeWidth 尺码宽f1~f100, 默认100
90
+ * @returns 返回已处理好的表头[{dataIndex:sizeTypeNo,title:'国标码',width:120,children[...]},{dataIndex:'f1',...}...]
91
+ */
92
+ export declare const handleSizeCols: (orgSizeHeader: any[], typeWidth?: number, sizeWidth?: number) => any[];
85
93
  export declare const isDev: boolean;
86
94
  export declare type UserType = {
87
95
  id?: string;
package/es/utils/index.js CHANGED
@@ -217,6 +217,99 @@ export var treeFind = function treeFind(list, key, val) {
217
217
 
218
218
  return item;
219
219
  };
220
+ /**
221
+ * 处理普通的尺码横排
222
+ * @param orgSizeHeader 后端返回的原始尺码组表头
223
+ * @param typeWidth 尺码组宽 sizeTypeNo,默认120
224
+ * @param sizeWidth 尺码宽f1~f100, 默认100
225
+ * @returns 返回已处理好的表头[{dataIndex:sizeTypeNo,title:'国标码',width:120,children[...]},{dataIndex:'f1',...}...]
226
+ */
227
+
228
+ export var handleSizeCols = function handleSizeCols(orgSizeHeader) {
229
+ var typeWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 120;
230
+ var sizeWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
231
+ // f1~f100 当所有尺码组都为null时,删除不需要的尺码。
232
+ var arr = orgSizeHeader.map(function (o) {
233
+ var _loop = function _loop(key) {
234
+ if (orgSizeHeader.every(function (item) {
235
+ return !item['f' + key];
236
+ })) {
237
+ delete o['f' + key];
238
+ }
239
+ };
240
+
241
+ for (var key = 1; key <= 100; key++) {
242
+ _loop(key);
243
+ }
244
+
245
+ return o;
246
+ }); // 多表头时找到最底层的表头
247
+
248
+ var findNext = function findNext(item) {
249
+ if (item.children.length) {
250
+ return findNext(item.children[0]);
251
+ }
252
+
253
+ return item;
254
+ };
255
+
256
+ var headers = []; // 用于保存返回表头
257
+
258
+ var header; // 用于保存每个配码的表头信息
259
+
260
+ arr.forEach(function (h, i) {
261
+ // 先处理尺码组
262
+ header = {
263
+ dataIndex: 'sizeTypeNo',
264
+ title: h.sizeTypeNo,
265
+ width: typeWidth,
266
+ ellipsis: true
267
+ }; //当返回多个尺码组时,需要用children支持多表头
268
+
269
+ if (arr.length > i + 1) {
270
+ header.children = [];
271
+ } // 第一个尺码组,直接添加,第二个之后,加到上一个的children中。
272
+
273
+
274
+ if (i === 0) {
275
+ headers.push(header);
276
+ } else {
277
+ findNext(headers.find(function (o) {
278
+ return o.dataIndex === 'sizeTypeNo';
279
+ })).children.push(header);
280
+ } // 处理 f1~f100
281
+
282
+
283
+ var _loop2 = function _loop2(k) {
284
+ if (k === 'sizeTypeNo') return "continue";
285
+ header = {
286
+ dataIndex: k,
287
+ title: h[k] || ' ',
288
+ width: sizeWidth,
289
+ ellipsis: true
290
+ };
291
+
292
+ if (arr.length > i + 1) {
293
+ header.children = [];
294
+ }
295
+
296
+ if (i === 0) {
297
+ headers.push(header);
298
+ } else {
299
+ findNext(headers.find(function (o) {
300
+ return o.dataIndex === k;
301
+ })).children.push(header);
302
+ }
303
+ };
304
+
305
+ for (var k in h) {
306
+ var _ret = _loop2(k);
307
+
308
+ if (_ret === "continue") continue;
309
+ }
310
+ });
311
+ return headers;
312
+ };
220
313
  export var isDev = location.href.includes("//localhost");
221
314
  /** @name 用户信息 */
222
315
 
@@ -43,7 +43,7 @@ var _icons = require("@ant-design/icons");
43
43
 
44
44
  var _http = require("../http");
45
45
 
46
- var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "labelWidth", "textField", "onSelectChange", "beforeLoad", "afterLoad", "isV2", "allowClear", "keepSelect"],
46
+ var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "labelWidth", "textField", "onSelectChange", "beforeLoad", "afterLoad", "isV2", "allowClear", "keepSelect", "fieldProps"],
47
47
  _excluded2 = ["current", "pageSize"];
48
48
 
49
49
  function InputTable(prop) {
@@ -93,6 +93,7 @@ function InputTable(prop) {
93
93
  allowClear = _prop$allowClear === void 0 ? true : _prop$allowClear,
94
94
  _prop$keepSelect = prop.keepSelect,
95
95
  keepSelect = _prop$keepSelect === void 0 ? false : _prop$keepSelect,
96
+ fieldProps = prop.fieldProps,
96
97
  rest = (0, _objectWithoutProperties2.default)(prop, _excluded);
97
98
  var textNameProp = textName || name + '__text';
98
99
 
@@ -175,7 +176,6 @@ function InputTable(prop) {
175
176
  var tableDom = /*#__PURE__*/_react.default.createElement(_lsProTable.default, (0, _extends2.default)({
176
177
  columns: columns,
177
178
  request: loadData,
178
- rowKey: valueField,
179
179
  manualRequest: false,
180
180
  actionRef: tableRef,
181
181
  search: {
@@ -247,7 +247,7 @@ function InputTable(prop) {
247
247
  name: name
248
248
  })), rest.label ? /*#__PURE__*/_react.default.createElement(_lsProForm.ProFormText, (0, _extends2.default)({
249
249
  name: textNameProp
250
- }, rest), /*#__PURE__*/_react.default.createElement(_input.default, {
250
+ }, rest), /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
251
251
  suffix: /*#__PURE__*/_react.default.createElement(_popover.default, {
252
252
  content: /*#__PURE__*/_react.default.createElement("div", {
253
253
  style: {
@@ -260,9 +260,15 @@ function InputTable(prop) {
260
260
  trigger: "click",
261
261
  visible: visible,
262
262
  onVisibleChange: setVisible
263
- }, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, null)),
263
+ }, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, {
264
+ onClick: function onClick(e) {
265
+ setVisible(true);
266
+ e.stopPropagation && e.stopPropagation();
267
+ }
268
+ })),
264
269
  onClick: function onClick() {
265
- return setVisible(true);
270
+ if (readonly) return;
271
+ setVisible(true);
266
272
  },
267
273
  onInput: function onInput(e) {
268
274
  var _formRef$current6;
@@ -285,7 +291,7 @@ function InputTable(prop) {
285
291
  },
286
292
  readOnly: readonly,
287
293
  allowClear: allowClear
288
- })) : /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
294
+ }, fieldProps))) : /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
289
295
  suffix: /*#__PURE__*/_react.default.createElement(_popover.default, {
290
296
  content: /*#__PURE__*/_react.default.createElement("div", {
291
297
  style: {
@@ -298,9 +304,15 @@ function InputTable(prop) {
298
304
  trigger: "click",
299
305
  visible: visible,
300
306
  onVisibleChange: setVisible
301
- }, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, null)),
307
+ }, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, {
308
+ onClick: function onClick(e) {
309
+ setVisible(true);
310
+ e.stopPropagation && e.stopPropagation();
311
+ }
312
+ })),
302
313
  onClick: function onClick() {
303
- return setVisible(true);
314
+ if (readonly) return;
315
+ setVisible(true);
304
316
  },
305
317
  onInput: function onInput(e) {
306
318
  var _formRef$current8;
@@ -327,7 +339,7 @@ function InputTable(prop) {
327
339
  readOnly: readonly,
328
340
  value: text,
329
341
  allowClear: allowClear
330
- }, rest === null || rest === void 0 ? void 0 : rest.fieldProps)));
342
+ }, fieldProps)));
331
343
  }
332
344
 
333
345
  var _default = InputTable;
@@ -82,6 +82,14 @@ export declare const treeEach: (list: any[], fn: (item: any, index: any, list: a
82
82
  * @returns 返回符合条件的第一条对象
83
83
  */
84
84
  export declare const treeFind: (list: any[], key: string, val: any, children?: string) => any;
85
+ /**
86
+ * 处理普通的尺码横排
87
+ * @param orgSizeHeader 后端返回的原始尺码组表头
88
+ * @param typeWidth 尺码组宽 sizeTypeNo,默认120
89
+ * @param sizeWidth 尺码宽f1~f100, 默认100
90
+ * @returns 返回已处理好的表头[{dataIndex:sizeTypeNo,title:'国标码',width:120,children[...]},{dataIndex:'f1',...}...]
91
+ */
92
+ export declare const handleSizeCols: (orgSizeHeader: any[], typeWidth?: number, sizeWidth?: number) => any[];
85
93
  export declare const isDev: boolean;
86
94
  export declare type UserType = {
87
95
  id?: string;
@@ -25,7 +25,7 @@ Object.defineProperty(exports, "getUrlQuery", {
25
25
  return _utils.getUrlQuery;
26
26
  }
27
27
  });
28
- exports.setTitle = exports.setCookie = exports.setCache = exports.rangeToSearch = exports.isLogin = exports.isDev = exports.getUserName = exports.getUserInfo = void 0;
28
+ exports.setTitle = exports.setCookie = exports.setCache = exports.rangeToSearch = exports.isLogin = exports.isDev = exports.handleSizeCols = exports.getUserName = exports.getUserInfo = void 0;
29
29
  Object.defineProperty(exports, "setUrlQuery", {
30
30
  enumerable: true,
31
31
  get: function get() {
@@ -306,8 +306,104 @@ var treeFind = function treeFind(list, key, val) {
306
306
 
307
307
  return item;
308
308
  };
309
+ /**
310
+ * 处理普通的尺码横排
311
+ * @param orgSizeHeader 后端返回的原始尺码组表头
312
+ * @param typeWidth 尺码组宽 sizeTypeNo,默认120
313
+ * @param sizeWidth 尺码宽f1~f100, 默认100
314
+ * @returns 返回已处理好的表头[{dataIndex:sizeTypeNo,title:'国标码',width:120,children[...]},{dataIndex:'f1',...}...]
315
+ */
316
+
309
317
 
310
318
  exports.treeFind = treeFind;
319
+
320
+ var handleSizeCols = function handleSizeCols(orgSizeHeader) {
321
+ var typeWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 120;
322
+ var sizeWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
323
+ // f1~f100 当所有尺码组都为null时,删除不需要的尺码。
324
+ var arr = orgSizeHeader.map(function (o) {
325
+ var _loop = function _loop(key) {
326
+ if (orgSizeHeader.every(function (item) {
327
+ return !item['f' + key];
328
+ })) {
329
+ delete o['f' + key];
330
+ }
331
+ };
332
+
333
+ for (var key = 1; key <= 100; key++) {
334
+ _loop(key);
335
+ }
336
+
337
+ return o;
338
+ }); // 多表头时找到最底层的表头
339
+
340
+ var findNext = function findNext(item) {
341
+ if (item.children.length) {
342
+ return findNext(item.children[0]);
343
+ }
344
+
345
+ return item;
346
+ };
347
+
348
+ var headers = []; // 用于保存返回表头
349
+
350
+ var header; // 用于保存每个配码的表头信息
351
+
352
+ arr.forEach(function (h, i) {
353
+ // 先处理尺码组
354
+ header = {
355
+ dataIndex: 'sizeTypeNo',
356
+ title: h.sizeTypeNo,
357
+ width: typeWidth,
358
+ ellipsis: true
359
+ }; //当返回多个尺码组时,需要用children支持多表头
360
+
361
+ if (arr.length > i + 1) {
362
+ header.children = [];
363
+ } // 第一个尺码组,直接添加,第二个之后,加到上一个的children中。
364
+
365
+
366
+ if (i === 0) {
367
+ headers.push(header);
368
+ } else {
369
+ findNext(headers.find(function (o) {
370
+ return o.dataIndex === 'sizeTypeNo';
371
+ })).children.push(header);
372
+ } // 处理 f1~f100
373
+
374
+
375
+ var _loop2 = function _loop2(k) {
376
+ if (k === 'sizeTypeNo') return "continue";
377
+ header = {
378
+ dataIndex: k,
379
+ title: h[k] || ' ',
380
+ width: sizeWidth,
381
+ ellipsis: true
382
+ };
383
+
384
+ if (arr.length > i + 1) {
385
+ header.children = [];
386
+ }
387
+
388
+ if (i === 0) {
389
+ headers.push(header);
390
+ } else {
391
+ findNext(headers.find(function (o) {
392
+ return o.dataIndex === k;
393
+ })).children.push(header);
394
+ }
395
+ };
396
+
397
+ for (var k in h) {
398
+ var _ret = _loop2(k);
399
+
400
+ if (_ret === "continue") continue;
401
+ }
402
+ });
403
+ return headers;
404
+ };
405
+
406
+ exports.handleSizeCols = handleSizeCols;
311
407
  var isDev = location.href.includes("//localhost");
312
408
  /** @name 用户信息 */
313
409
 
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "ls-pro-common",
3
- "version": "1.0.28",
3
+ "version": "1.0.31",
4
4
  "description": "ls-pro-common",
5
5
  "keywords": [
6
- "antd",
7
- "admin",
6
+ "antd",
8
7
  "ant-design",
9
- "ant-design-pro"
8
+ "ant-design-pro",
9
+ "ls-pro-common"
10
10
  ],
11
11
  "sideEffects": [
12
12
  "*.less"
@@ -28,7 +28,7 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@ant-design/icons": "^4.3.0",
31
- "ls-pro-table": "2.62.25",
31
+ "ls-pro-table": "2.62.26",
32
32
  "ls-pro-form": "1.52.24",
33
33
  "@babel/runtime": "^7.16.3",
34
34
  "classnames": "^2.2.6",