ls-pro-common 1.0.29 → 1.0.32

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.
@@ -85,6 +85,11 @@ function IconSelector(prop) {
85
85
  list = _useState10[0],
86
86
  setList = _useState10[1];
87
87
 
88
+ var _useState11 = (0, _react.useState)(''),
89
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
90
+ searchKey = _useState12[0],
91
+ setSearchKey = _useState12[1];
92
+
88
93
  var type = prop.type,
89
94
  _prop$uploadable = prop.uploadable,
90
95
  uploadable = _prop$uploadable === void 0 ? true : _prop$uploadable,
@@ -107,7 +112,7 @@ function IconSelector(prop) {
107
112
  }, [type]);
108
113
 
109
114
  var loadData = /*#__PURE__*/function () {
110
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(pageIndex) {
115
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(pageIndex, keys) {
111
116
  var url, param, result, rows;
112
117
  return _regenerator.default.wrap(function _callee$(_context) {
113
118
  while (1) {
@@ -120,16 +125,21 @@ function IconSelector(prop) {
120
125
  "page.pn": pageIndex,
121
126
  "page.size": pageSize
122
127
  };
123
- _context.next = 4;
128
+
129
+ if (keys) {
130
+ param['search.mongoName_like'] = keys;
131
+ }
132
+
133
+ _context.next = 5;
124
134
  return (0, _http.httpGet)(url, param);
125
135
 
126
- case 4:
136
+ case 5:
127
137
  result = _context.sent;
128
138
  rows = result.rows || [];
129
139
  setList(rows);
130
140
  setTotal(result.total || 0);
131
141
 
132
- case 8:
142
+ case 9:
133
143
  case "end":
134
144
  return _context.stop();
135
145
  }
@@ -137,15 +147,15 @@ function IconSelector(prop) {
137
147
  }, _callee);
138
148
  }));
139
149
 
140
- return function loadData(_x) {
150
+ return function loadData(_x, _x2) {
141
151
  return _ref.apply(this, arguments);
142
152
  };
143
153
  }();
144
154
 
145
155
  (0, _react.useEffect)(function () {
146
156
  if (!visible) return;
147
- loadData(page);
148
- }, [visible, page]);
157
+ loadData(page, searchKey);
158
+ }, [visible, page, searchKey]);
149
159
  var totalPage = (0, _react.useMemo)(function () {
150
160
  if (total === 0) return 1;
151
161
  return Math.ceil(total / pageSize);
@@ -185,7 +195,7 @@ function IconSelector(prop) {
185
195
  if (page !== totalPage) {
186
196
  setPage(totalPage);
187
197
  } else {
188
- loadData(totalPage);
198
+ loadData(totalPage, searchKey);
189
199
  }
190
200
  } else {
191
201
  (0, _utils.showSuccess)(result.flag.retMsg);
@@ -215,14 +225,33 @@ function IconSelector(prop) {
215
225
  }
216
226
  }) : /*#__PURE__*/_react.default.createElement(_icons.PlusOutlined, {
217
227
  onClick: function onClick() {
218
- return setVisible(true);
228
+ var _rest$fieldProps;
229
+
230
+ if ((rest === null || rest === void 0 ? void 0 : rest.disabled) || (rest === null || rest === void 0 ? void 0 : (_rest$fieldProps = rest.fieldProps) === null || _rest$fieldProps === void 0 ? void 0 : _rest$fieldProps.disabled)) {
231
+ return;
232
+ }
233
+
234
+ setVisible(true);
219
235
  }
220
236
  })
221
237
  }, rest.fieldProps, {
222
238
  readOnly: readonly,
223
239
  allowClear: allowClear
224
240
  }))), /*#__PURE__*/_react.default.createElement(_modal.default, {
225
- title: title,
241
+ title: /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", null, title), /*#__PURE__*/_react.default.createElement("span", {
242
+ style: {
243
+ display: 'inline-block',
244
+ width: 230,
245
+ marginLeft: 30
246
+ }
247
+ }, /*#__PURE__*/_react.default.createElement(_input.default, {
248
+ suffix: /*#__PURE__*/_react.default.createElement(_icons.SearchOutlined, null),
249
+ placeholder: "\u8F93\u5165\u56FE\u7247\u540D\u67E5\u8BE2",
250
+ onPressEnter: function onPressEnter(e) {
251
+ setPage(1);
252
+ setSearchKey(e.target.value || '');
253
+ }
254
+ }))),
226
255
  visible: visible,
227
256
  width: modalWidth,
228
257
  destroyOnClose: true,
@@ -266,9 +295,13 @@ function IconSelector(prop) {
266
295
  }
267
296
  }, "\u4E0B\u4E00\u9875"), /*#__PURE__*/_react.default.createElement(_button.default, {
268
297
  onClick: function onClick() {
269
- return loadData(page);
298
+ return loadData(page, searchKey);
270
299
  }
271
300
  }, "\u5237\u65B0"))
301
+ }, /*#__PURE__*/_react.default.createElement("div", {
302
+ style: {
303
+ minHeight: '120px'
304
+ }
272
305
  }, list.map(function (o) {
273
306
  return /*#__PURE__*/_react.default.createElement(_card.default, {
274
307
  hoverable: true,
@@ -296,7 +329,8 @@ function IconSelector(prop) {
296
329
  formRef.current.setFieldsValue(val);
297
330
  setImgUrl((0, _utils.toGatewayUrl)(o.mongoUrl));
298
331
  setVisible(false);
299
- }
332
+ },
333
+ key: o.id
300
334
  }, /*#__PURE__*/_react.default.createElement("div", {
301
335
  style: {
302
336
  height: 80
@@ -315,7 +349,7 @@ function IconSelector(prop) {
315
349
  overflow: 'hidden'
316
350
  }
317
351
  }, o.mongoName));
318
- })));
352
+ }))));
319
353
  }
320
354
 
321
355
  var _default = IconSelector;
@@ -2,21 +2,43 @@
2
2
  import type { InputProps } from 'antd';
3
3
  import type { ProFormItemProps } from 'ls-pro-form';
4
4
  export declare type InputTableProps = ProFormItemProps<InputProps> & {
5
+ /**@name 弹框选择表格列配置 */
5
6
  columns: any[];
7
+ /**@name 调用后端API地址 */
6
8
  url: string;
9
+ /**@name 弹框表格高度,默认400 */
7
10
  tableHeight?: number;
11
+ /**@name 弹框表格宽度,默认650*/
8
12
  tableWidth?: number;
13
+ /**@name 是否支持多选 */
9
14
  multiple?: boolean;
15
+ /**@name 表单项name, 跟 form.item 的 name一致 */
10
16
  name: string;
17
+ /**@name 返回的值字段,表格中valueField配置的字段时返回给name */
11
18
  valueField: string;
19
+ /**@name 返回输入框显示的字段,textField字段值返回给textName */
12
20
  textField?: string;
21
+ /**@name 用于接收textField返回的值 */
13
22
  textName?: string;
23
+ /** @name 表格的其它配置 */
14
24
  tableConfig?: any;
25
+ /**@name 表单label宽度,默认70 */
15
26
  labelWidth?: number;
27
+ /**@name 是否2.0接口 */
16
28
  isV2?: boolean;
29
+ /**@name 是否支持跨页选择 */
17
30
  keepSelect?: boolean;
18
- onSelectChange?: (item: any) => void;
31
+ /**@name 回车事件查询关键字 */
32
+ searchField?: string;
33
+ /**@name 填充其它表单项目配置 */
34
+ fillMap?: Record<string, string>;
35
+ /**@name 输入后检查数据的触发方式,默认为entry回车触发 */
36
+ triggerCheck?: 'entry' | 'blur';
37
+ /**@name 选择行事件 */
38
+ onSelectChange?: (item: any, formRef?: any) => void;
39
+ /**@name 加载之前事件,param为查询条件对象,可以通过此方法调整 */
19
40
  beforeLoad?: (param: any) => void;
41
+ /**@name 加载之后事件,row为接口返回数据,可以通过此方法调整 */
20
42
  afterLoad?: (rows: any[]) => void;
21
43
  };
22
44
  declare function InputTable(prop: InputTableProps): JSX.Element;
@@ -43,7 +43,9 @@ 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", "fieldProps"],
46
+ var _utils = require("../utils");
47
+
48
+ var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "labelWidth", "textField", "onSelectChange", "beforeLoad", "afterLoad", "isV2", "allowClear", "keepSelect", "fieldProps", "searchField", "fillMap", "triggerCheck"],
47
49
  _excluded2 = ["current", "pageSize"];
48
50
 
49
51
  function InputTable(prop) {
@@ -94,8 +96,36 @@ function InputTable(prop) {
94
96
  _prop$keepSelect = prop.keepSelect,
95
97
  keepSelect = _prop$keepSelect === void 0 ? false : _prop$keepSelect,
96
98
  fieldProps = prop.fieldProps,
97
- rest = (0, _objectWithoutProperties2.default)(prop, _excluded);
98
- var textNameProp = textName || name + '__text';
99
+ searchField = prop.searchField,
100
+ fillMap = prop.fillMap,
101
+ _prop$triggerCheck = prop.triggerCheck,
102
+ triggerCheck = _prop$triggerCheck === void 0 ? 'entry' : _prop$triggerCheck,
103
+ rest = (0, _objectWithoutProperties2.default)(prop, _excluded); //显示输入框绑定的name,如果不设置textName,设置为$name__text
104
+
105
+ var textNameProp = (0, _react.useMemo)(function () {
106
+ return textName || name + '__text';
107
+ }, [textName, name]); // 输入框回车时,调用查询参数字段
108
+
109
+ var searchKey = (0, _react.useMemo)(function () {
110
+ if (searchField) return searchField;
111
+ var col; //先取显示字段
112
+
113
+ if (textField) {
114
+ col = columns.find(function (o) {
115
+ return o.dataIndex === textField || o.key === textField;
116
+ });
117
+ } //取不到时取值字段
118
+
119
+
120
+ if (!col) {
121
+ col = columns.find(function (o) {
122
+ return o.dataIndex === valueField || o.key === valueField;
123
+ });
124
+ }
125
+
126
+ if (col) return col.searchField || col.dataIndex;
127
+ return textField || valueField;
128
+ }, [columns, searchField, valueField, textField]);
99
129
 
100
130
  var loadData = /*#__PURE__*/function () {
101
131
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(param) {
@@ -145,7 +175,7 @@ function InputTable(prop) {
145
175
 
146
176
  return _context.abrupt("return", {
147
177
  data: rows,
148
- total: result.total || 0,
178
+ total: Number(result.total || 0),
149
179
  success: true
150
180
  });
151
181
 
@@ -171,7 +201,111 @@ function InputTable(prop) {
171
201
  formValue[textNameProp] = formValue[name];
172
202
  formRef === null || formRef === void 0 ? void 0 : formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
173
203
  }
174
- }, []);
204
+ }, []); // 处理返回数据
205
+
206
+ var handleValue = function handleValue(row) {
207
+ var _formRef$current2, _formRef$current3;
208
+
209
+ var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 ? void 0 : _formRef$current2.getFieldsValue();
210
+ var txt; //支持多选
211
+
212
+ if (Array.isArray(row)) {
213
+ //返回值
214
+ formValue[name] = row.map(function (o) {
215
+ return o[valueField];
216
+ }).join(','); //显示值
217
+
218
+ txt = row.map(function (o) {
219
+ return o[textField || valueField];
220
+ }).join(','); //处理填充其它字段
221
+
222
+ if (fillMap) {
223
+ var _loop = function _loop(key) {
224
+ formValue[key] = row.map(function (o) {
225
+ return o[fillMap[key]];
226
+ }).join(',');
227
+ };
228
+
229
+ for (var key in fillMap) {
230
+ _loop(key);
231
+ }
232
+ }
233
+ } else {
234
+ formValue[name] = row[valueField] || '';
235
+ txt = row[textField || valueField] || '';
236
+
237
+ if (fillMap) {
238
+ for (var _key in fillMap) {
239
+ formValue[_key] = row[fillMap[_key]] || '';
240
+ }
241
+ }
242
+ }
243
+
244
+ formValue[textNameProp] = txt;
245
+ setText(txt);
246
+ setVisible(false);
247
+ (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 ? void 0 : _formRef$current3.setFieldsValue((0, _objectSpread2.default)({}, formValue));
248
+ onSelectChange === null || onSelectChange === void 0 ? void 0 : onSelectChange(row, formRef);
249
+ }; // 可输入时,回车或失去焦点调接口查询数据
250
+
251
+
252
+ var onQuery = function onQuery(e) {
253
+ if (rest.disabled || (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.disabled) || readonly) return;
254
+ var val = e.target.value;
255
+
256
+ if (val) {
257
+ var param = {
258
+ current: 1,
259
+ pageSize: 10
260
+ };
261
+ param[searchKey] = val;
262
+ loadData(param).then(function (result) {
263
+ var rows = result.data || [];
264
+
265
+ if (!rows.length) {
266
+ handleValue({});
267
+ (0, _utils.showWarn)("".concat(val, "\u67E5\u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u8BB0\u5F55\uFF01"));
268
+ } else if (multiple) {
269
+ handleValue(rows);
270
+ } else {
271
+ handleValue(rows[0]);
272
+ }
273
+ });
274
+ e.stopPropagation();
275
+ e.preventDefault();
276
+ }
277
+ }; //直接输入不回车,value 和 text 为同一个值
278
+
279
+
280
+ var onInput = function onInput(e) {
281
+ var _formRef$current4;
282
+
283
+ var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current4 = formRef.current) === null || _formRef$current4 === void 0 ? void 0 : _formRef$current4.getFieldsValue();
284
+ var val = e.target.value;
285
+ formValue[name] = val;
286
+ formValue[textNameProp] = val;
287
+ setText(val);
288
+ formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
289
+ }; // 当表单重置或点clear时,处理值
290
+
291
+
292
+ var clearValue = function clearValue(e) {
293
+ if (!e.target.value) {
294
+ var _formRef$current5;
295
+
296
+ setText('');
297
+ var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current5 = formRef.current) === null || _formRef$current5 === void 0 ? void 0 : _formRef$current5.getFieldsValue();
298
+ formValue[name] = '';
299
+ formValue[textNameProp] = ''; // 不处理,其它表单自己清空
300
+ // if (fillMap) {
301
+ // for (let key in fillMap) {
302
+ // formValue[key] = '';
303
+ // }
304
+ // }
305
+
306
+ formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
307
+ }
308
+ };
175
309
 
176
310
  var tableDom = /*#__PURE__*/_react.default.createElement(_lsProTable.default, (0, _extends2.default)({
177
311
  columns: columns,
@@ -203,36 +337,14 @@ function InputTable(prop) {
203
337
  onRow: function onRow(record) {
204
338
  return {
205
339
  onDoubleClick: function onDoubleClick() {
206
- var _formRef$current2, _formRef$current3;
207
-
208
- var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 ? void 0 : _formRef$current2.getFieldsValue();
209
- formValue[name] = record[valueField];
210
- var txt = record[textField || valueField];
211
- formValue[textNameProp] = txt;
212
- setText(txt);
213
- (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 ? void 0 : _formRef$current3.setFieldsValue((0, _objectSpread2.default)({}, formValue));
214
- setVisible(false);
215
- onSelectChange === null || onSelectChange === void 0 ? void 0 : onSelectChange(record);
340
+ handleValue(record);
216
341
  }
217
342
  };
218
343
  },
219
344
  toolBarRender: function toolBarRender() {
220
345
  return [/*#__PURE__*/_react.default.createElement(_button.default, {
221
346
  onClick: function onClick() {
222
- var _formRef$current4, _formRef$current5;
223
-
224
- var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current4 = formRef.current) === null || _formRef$current4 === void 0 ? void 0 : _formRef$current4.getFieldsValue();
225
- formValue[name] = selectedRows.map(function (o) {
226
- return o[valueField];
227
- }).join(',');
228
- var txt = selectedRows.map(function (o) {
229
- return o[textField || valueField];
230
- }).join(',');
231
- formValue[textNameProp] = txt;
232
- setText(txt);
233
- (_formRef$current5 = formRef.current) === null || _formRef$current5 === void 0 ? void 0 : _formRef$current5.setFieldsValue((0, _objectSpread2.default)({}, formValue));
234
- onSelectChange === null || onSelectChange === void 0 ? void 0 : onSelectChange(selectedRows);
235
- setVisible(false);
347
+ handleValue(selectedRows);
236
348
  }
237
349
  }, "\u786E\u8BA4")];
238
350
  },
@@ -262,30 +374,25 @@ function InputTable(prop) {
262
374
  onVisibleChange: setVisible
263
375
  }, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, {
264
376
  onClick: function onClick(e) {
377
+ if (rest.disabled || (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.disabled)) return;
265
378
  setVisible(true);
266
379
  e.stopPropagation && e.stopPropagation();
267
380
  }
268
381
  })),
269
382
  onClick: function onClick() {
383
+ if (!readonly) return;
270
384
  setVisible(true);
271
385
  },
272
- onInput: function onInput(e) {
273
- var _formRef$current6;
274
-
275
- var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current6 = formRef.current) === null || _formRef$current6 === void 0 ? void 0 : _formRef$current6.getFieldsValue();
276
- var val = e.target.value;
277
- formValue[name] = val;
278
- formValue[textNameProp] = val;
279
- formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
386
+ onInput: onInput,
387
+ onChange: clearValue,
388
+ onPressEnter: function onPressEnter(e) {
389
+ if (triggerCheck === 'entry') {
390
+ onQuery(e);
391
+ }
280
392
  },
281
- onChange: function onChange(e) {
282
- if (!e.target.value) {
283
- var _formRef$current7;
284
-
285
- var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current7 = formRef.current) === null || _formRef$current7 === void 0 ? void 0 : _formRef$current7.getFieldsValue();
286
- formValue[name] = '';
287
- formValue[textNameProp] = '';
288
- formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
393
+ onBlur: function onBlur(e) {
394
+ if (triggerCheck === 'blur') {
395
+ onQuery(e);
289
396
  }
290
397
  },
291
398
  readOnly: readonly,
@@ -305,35 +412,26 @@ function InputTable(prop) {
305
412
  onVisibleChange: setVisible
306
413
  }, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, {
307
414
  onClick: function onClick(e) {
415
+ if (rest.disabled || (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.disabled)) return;
308
416
  setVisible(true);
309
- e.stopPropagation && e.stopPropagation();
310
417
  }
311
418
  })),
312
419
  onClick: function onClick() {
420
+ if (!readonly) return;
313
421
  setVisible(true);
314
422
  },
315
- onInput: function onInput(e) {
316
- var _formRef$current8;
317
-
318
- var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current8 = formRef.current) === null || _formRef$current8 === void 0 ? void 0 : _formRef$current8.getFieldsValue();
319
- var val = e.target.value;
320
- formValue[name] = val;
321
- formValue[textNameProp] = val;
322
- setText(val);
323
- formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
423
+ onInput: onInput,
424
+ onPressEnter: function onPressEnter(e) {
425
+ if (triggerCheck === 'entry') {
426
+ onQuery(e);
427
+ }
324
428
  },
325
- onChange: function onChange(e) {
326
- //用于清除当前组件值
327
- if (!e.target.value) {
328
- var _formRef$current9;
329
-
330
- setText('');
331
- var formValue = formRef === null || formRef === void 0 ? void 0 : (_formRef$current9 = formRef.current) === null || _formRef$current9 === void 0 ? void 0 : _formRef$current9.getFieldsValue();
332
- formValue[name] = '';
333
- formValue[textNameProp] = '';
334
- formRef.current.setFieldsValue((0, _objectSpread2.default)({}, formValue));
429
+ onBlur: function onBlur(e) {
430
+ if (triggerCheck === 'blur') {
431
+ onQuery(e);
335
432
  }
336
433
  },
434
+ onChange: clearValue,
337
435
  readOnly: readonly,
338
436
  value: text,
339
437
  allowClear: allowClear
@@ -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.29",
3
+ "version": "1.0.32",
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",