linkmore-design 1.0.46 → 1.0.49

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 (78) hide show
  1. package/dist/CardTable/LmCardTable.d.ts +3 -2
  2. package/dist/CardTable/body/TableBodyCell.d.ts +2 -1
  3. package/dist/CardTable/card/PictureTextColumn.d.ts +2 -1
  4. package/dist/CardTable/card/PictureTextRow.d.ts +2 -1
  5. package/dist/CardTable/table/TableRoot.d.ts +3 -9
  6. package/dist/CkFilter/complexFilter/saveModal.d.ts +2 -1
  7. package/dist/LmSelect/useCheckboxOptions.d.ts +4 -1
  8. package/dist/index.umd.js +102 -63
  9. package/dist/index.umd.min.js +6 -6
  10. package/es/CardTable/LmCardTable.js +9 -3
  11. package/es/CardTable/body/TableBodyCell.js +3 -1
  12. package/es/CardTable/body/TableBodyRow.js +8 -4
  13. package/es/CardTable/card/PictureTextColumn.js +37 -11
  14. package/es/CardTable/card/PictureTextRow.js +31 -11
  15. package/es/CardTable/style/style.css +1 -2
  16. package/es/CardTable/table/TableRoot.js +53 -23
  17. package/es/CkFilter/baseFilter/filterMenu.js +4 -0
  18. package/es/CkFilter/baseFilter/index.js +3 -31
  19. package/es/CkFilter/complexFilter/drawer.js +14 -5
  20. package/es/CkFilter/complexFilter/saveModal.js +16 -6
  21. package/es/CkFilter/filter.js +36 -3
  22. package/es/CkFilter/style/style.css +2 -2
  23. package/es/CustomTableOption/columnsSort.js +1 -1
  24. package/es/CustomTableOption/filterSort.js +1 -1
  25. package/es/CustomTableOption/index.js +1 -1
  26. package/es/CustomerService/README.md.old +15 -0
  27. package/es/EnlargeImg/README.md.old +21 -0
  28. package/es/Filter/README.md.old +144 -0
  29. package/es/IconFont/font/iconfont.css +9 -9
  30. package/es/IconFont/font/iconfont.js +1 -1
  31. package/es/IconFont/font/iconfont.ttf +0 -0
  32. package/es/IconFont/font/iconfont.woff +0 -0
  33. package/es/IconFont/font/iconfont.woff2 +0 -0
  34. package/es/LeftTable/style/style.css +1 -1
  35. package/es/LmSelect/NormalSelect.js +2 -2
  36. package/es/LmSelect/useCheckboxOptions.d.ts +4 -1
  37. package/es/LmSelect/useCheckboxOptions.js +14 -8
  38. package/es/LmTable/Table.js +8 -2
  39. package/es/OldModal/README.md.old +27 -0
  40. package/es/PopTable/README.md.old +30 -0
  41. package/es/ProTable/README.md.old +141 -0
  42. package/es/Radio/index.js +0 -1
  43. package/es/TableRender/README.md.old +20 -0
  44. package/lib/CardTable/LmCardTable.js +9 -3
  45. package/lib/CardTable/body/TableBodyCell.js +3 -1
  46. package/lib/CardTable/body/TableBodyRow.js +8 -4
  47. package/lib/CardTable/card/PictureTextColumn.js +37 -11
  48. package/lib/CardTable/card/PictureTextRow.js +31 -11
  49. package/lib/CardTable/style/style.css +1 -2
  50. package/lib/CardTable/table/TableRoot.js +53 -23
  51. package/lib/CkFilter/baseFilter/filterMenu.js +4 -0
  52. package/lib/CkFilter/baseFilter/index.js +3 -31
  53. package/lib/CkFilter/complexFilter/drawer.js +14 -5
  54. package/lib/CkFilter/complexFilter/saveModal.js +16 -6
  55. package/lib/CkFilter/filter.js +36 -3
  56. package/lib/CkFilter/style/style.css +2 -2
  57. package/lib/CustomTableOption/columnsSort.js +1 -1
  58. package/lib/CustomTableOption/filterSort.js +1 -1
  59. package/lib/CustomTableOption/index.js +1 -1
  60. package/lib/CustomerService/README.md.old +15 -0
  61. package/lib/EnlargeImg/README.md.old +21 -0
  62. package/lib/Filter/README.md.old +144 -0
  63. package/lib/IconFont/font/iconfont.css +9 -9
  64. package/lib/IconFont/font/iconfont.js +1 -1
  65. package/lib/IconFont/font/iconfont.ttf +0 -0
  66. package/lib/IconFont/font/iconfont.woff +0 -0
  67. package/lib/IconFont/font/iconfont.woff2 +0 -0
  68. package/lib/LeftTable/style/style.css +1 -1
  69. package/lib/LmSelect/NormalSelect.js +2 -2
  70. package/lib/LmSelect/useCheckboxOptions.d.ts +4 -1
  71. package/lib/LmSelect/useCheckboxOptions.js +14 -8
  72. package/lib/LmTable/Table.js +8 -2
  73. package/lib/OldModal/README.md.old +27 -0
  74. package/lib/PopTable/README.md.old +30 -0
  75. package/lib/ProTable/README.md.old +141 -0
  76. package/lib/Radio/index.js +0 -1
  77. package/lib/TableRender/README.md.old +20 -0
  78. package/package.json +1 -1
Binary file
Binary file
Binary file
@@ -506,7 +506,7 @@ html {
506
506
  .lm_grid_tree {
507
507
  position: relative;
508
508
  font-size: 12px;
509
- height: calc(100% - 39px);
509
+ height: calc(100% - 40px);
510
510
  width: 168px;
511
511
  border: 1px solid var(--line-color);
512
512
  transition: all 0.3s;
@@ -63,8 +63,8 @@ var NormalSelect = /*#__PURE__*/forwardRef(function (props, ref) {
63
63
  var _a;
64
64
 
65
65
  setCheckedValues(v);
66
- (_a = props === null || props === void 0 ? void 0 : props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v, renderOptions.filter(function (item) {
67
- return v.includes(item.value);
66
+ (_a = props === null || props === void 0 ? void 0 : props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v, renderOptions === null || renderOptions === void 0 ? void 0 : renderOptions.filter(function (item) {
67
+ return v === null || v === void 0 ? void 0 : v.includes(item.value);
68
68
  }));
69
69
  });
70
70
  var isSearch = useMemo(function () {
@@ -1 +1,4 @@
1
- export declare const useCheckboxOptions: (options: any, controllable: any, filter?: string) => JSX.Element;
1
+ export declare const useCheckboxOptions: (options: any, { value, onChange: onCheckChange }: {
2
+ value?: any[];
3
+ onChange: any;
4
+ }, filter?: string) => JSX.Element;
@@ -36,11 +36,17 @@ var FilterEmpty = function FilterEmpty() {
36
36
  }; // todo 抽取出来, 后续做统一处理, 项目中多处用到类似的功能
37
37
 
38
38
 
39
- export var useCheckboxOptions = function useCheckboxOptions(options, controllable) {
39
+ export var useCheckboxOptions = function useCheckboxOptions(options, _ref) {
40
+ var _ref$value = _ref.value,
41
+ value = _ref$value === void 0 ? [] : _ref$value,
42
+ onCheckChange = _ref.onChange;
40
43
  var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
41
44
 
42
45
  // 将value和onChange改为受控,和父组件共享
43
- var _useControllableValue = useControllableValue(controllable),
46
+ var _useControllableValue = useControllableValue({
47
+ value: value,
48
+ onChange: onCheckChange
49
+ }),
44
50
  _useControllableValue2 = _slicedToArray(_useControllableValue, 2),
45
51
  checkedValues = _useControllableValue2[0],
46
52
  setCheckedValues = _useControllableValue2[1];
@@ -53,8 +59,8 @@ export var useCheckboxOptions = function useCheckboxOptions(options, controllabl
53
59
 
54
60
  var checkAll = useMemo(function () {
55
61
  var isLen = checkedValues.length >= renderOptions.length;
56
- return isLen && renderOptions.every(function (_ref) {
57
- var value = _ref.value;
62
+ return isLen && renderOptions.every(function (_ref2) {
63
+ var value = _ref2.value;
58
64
  return checkedValues.includes(value);
59
65
  });
60
66
  }, [checkedValues.length, renderOptions]); // 是否半选: 存在选中的数据 && 未全选
@@ -65,14 +71,14 @@ export var useCheckboxOptions = function useCheckboxOptions(options, controllabl
65
71
 
66
72
  var onCheckAllChange = useEvent(function () {
67
73
  var nValue = checkAll ? checkedValues.filter(function (v) {
68
- return !renderOptions.some(function (_ref2) {
69
- var value = _ref2.value;
74
+ return !renderOptions.some(function (_ref3) {
75
+ var value = _ref3.value;
70
76
  return v === value;
71
77
  });
72
78
  }) : Array.from(new Set([].concat(_toConsumableArray(checkedValues), _toConsumableArray(renderOptions.map(function (v) {
73
79
  return v.value;
74
80
  })))));
75
- setCheckedValues(nValue);
81
+ setCheckedValues(nValue || []);
76
82
  });
77
83
  var onChange = useEvent(function (e, item) {
78
84
  e.preventDefault();
@@ -80,7 +86,7 @@ export var useCheckboxOptions = function useCheckboxOptions(options, controllabl
80
86
  var arr = checkedValues.includes(item.value) ? checkedValues.filter(function (v) {
81
87
  return v !== item.value;
82
88
  }) : [].concat(_toConsumableArray(checkedValues), [item.value]);
83
- setCheckedValues(arr || undefined);
89
+ setCheckedValues(arr || []);
84
90
  });
85
91
  return /*#__PURE__*/React.createElement("div", {
86
92
  className: "select_dropdown"
@@ -246,10 +246,11 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
246
246
  setSelectedRows({
247
247
  selectedRows: selectedRows
248
248
  });
249
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(selectedRows);
249
250
  }
251
+ } else {
252
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(record);
250
253
  }
251
-
252
- rowClick === null || rowClick === void 0 ? void 0 : rowClick(record);
253
254
  }; // 重写表格,增加虚拟滚动
254
255
  // const vComponents = useMemo(() => {
255
256
  // return VList({
@@ -295,6 +296,11 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
295
296
  showTotal: function showTotal(total) {
296
297
  return "\u5171 ".concat(total, " \u6761");
297
298
  },
299
+ locale: {
300
+ items_per_page: '/条',
301
+ jump_to: '前往',
302
+ page: '页'
303
+ },
298
304
  size: 'small'
299
305
  }, pagination),
300
306
  rowSelection: rowSelection === false ? undefined : (0, _objectSpread2.default)({
@@ -0,0 +1,27 @@
1
+ ---
2
+ nav:
3
+ title: 组件
4
+ path: /components
5
+ group:
6
+ title: 组件
7
+ path: /basic
8
+ ---
9
+
10
+ ## Modal 弹窗 (废弃)
11
+
12
+ ### 示列
13
+
14
+ <code src="./demos/basic.jsx" background="#fff" />
15
+
16
+ ### Api
17
+
18
+ | 参数 | 说明 | 类型 | 可选 | 默认值 |
19
+ | --------- | -------------------- | ---------- | ---- | ------ |
20
+ | visible | 显示状态 | boolean | 必须 | |
21
+ | onCancel | 关闭事件 | Function | | |
22
+ | onOk | 点确定按钮的事件 | Function | | |
23
+ | footer | 自定义底部 | JSX / NULL | | |
24
+ | centered | 是否居中显示 | boolean | | |
25
+ | down | 下载链接 | [] | | |
26
+ | downEvent | 点击下载链接触发事件 | Function | | |
27
+ | onSure | 点击下载链接触发事件 | Function | | |
@@ -0,0 +1,30 @@
1
+ ---
2
+ nav:
3
+ title: 组件
4
+ path: /components
5
+ group:
6
+ title: 组件
7
+ path: /basic
8
+ ---
9
+
10
+ ## PopTable
11
+
12
+ ### 示列
13
+
14
+ <code src="./demos/basic.jsx" background="#fff" />
15
+
16
+ ### Api
17
+
18
+ | 参数 | 说明 | 类型 | 默认 |
19
+ | ------------------ | ----------------------------------- | ------ | ---- |
20
+ | columns | 表格列数据 | [] | - |
21
+ | data | 表格行数据 | [] | - |
22
+ | total | 数据总数 | Number | |
23
+ | onChange | 表格数据改变触发,默认出现会触发一次 | (e) | - |
24
+ | getCheckboxRecords | 获取选中的数据 | () | - |
25
+
26
+ #### getCheckboxRecords
27
+
28
+ - 复选框选中的值
29
+ - 双击获取单条数据
30
+ - 点击确认按钮触发获取复选中的多条数据
@@ -0,0 +1,141 @@
1
+ ---
2
+ nav:
3
+ title: 组件
4
+ path: /components
5
+ group:
6
+ title: 组件
7
+ path: /basic
8
+ ---
9
+
10
+ ## ProTable 高级表格
11
+
12
+ > 用来增加全局参数拓展,默认传入参数
13
+ >
14
+ > 接收原生[ProTable]Api(https://procomponents.ant.design/components/table?current=1&pageSize=5)参数,拓展额外参数
15
+
16
+ **\*!!!表格高度占满父元素,父元素需要存在高度!!!**
17
+
18
+ **!!!.z_container 用来设置表格体内部的高度 !!!**
19
+
20
+ ### 示列
21
+
22
+ <code src="./demos/basic.jsx" background="#fff" />
23
+
24
+ ### 新增 Api
25
+
26
+ | 参数 | 说明 | 类型 | 默认 |
27
+ | ------------------ | ------------------ | ------- | ----- | --- |
28
+ | footerShow | 是否展示尾行合计 | boolean | false |
29
+ | checkConfig | 行选择配置 | {} | {} |
30
+ | editConfig(待定) | 编辑配置 | {} | {} |
31
+ | AutoSizer | 自适应高度占满视图 | boolean | | |
32
+
33
+ ```react
34
+ checkConfig: {
35
+ trigger: 'default', // 触发方式:default/cell/row
36
+ highlight: true, // 行选中是否高亮
37
+ }
38
+ editConfig: { // 待定
39
+ enabled: false, // 是否启用编辑
40
+ mode: 'row', // 编辑模式: 'row' || 'cell'
41
+ }
42
+ ```
43
+
44
+ Event
45
+
46
+ | 参数 | 说明 | 类型 | 默认 |
47
+ | ------------------ | ---------------------------------- | ---- | ---- |
48
+ | onDoubleClick | 双击事件(返回行数据) | () | - |
49
+ | getCheckboxRecords | 复选框选中事件(返回选中的行数据) | () | - |
50
+ | rowClick | 行点击事件,返回该行数据 | () | - |
51
+
52
+ column
53
+
54
+ | 参数 | 说明 | 类型 | 默认 |
55
+ | ------- | ------------------------------------------------------------------------- | ------ | ---- |
56
+ | width | 列宽度(当使用列拖拽时必填) | number | - |
57
+ | total | 尾行合计时使用,传入列小计和列总计: {subTotal: '¥ 299', total: '¥ 399'} | {} | - |
58
+ | colSpan | 操作列使用,隐藏列占位 | () | - |
59
+ | | | | |
60
+
61
+ Ref
62
+
63
+ | 参数 | 说明 | 类型 | 默认 |
64
+ | -------------------- | ---------------------------- | ---- | ---- |
65
+ | getCheckboxRecords() | 获取复选框选中的值,返回数组 | () | [] |
66
+
67
+ ## ImgTable 图片表格
68
+
69
+ ### 示列
70
+
71
+ <code src="./demos/img-basic.jsx" background="#fff" />
72
+
73
+ #### 布局结构:
74
+
75
+ - ImgTable: // 表格容器
76
+ - ImgBody // 表体滚动内容
77
+ - Cell // 单元格
78
+ - ImgFooter // 底部分页区域
79
+
80
+ <!-- #### 数据展示配置
81
+ ```
82
+ const config={
83
+ title: 'title',
84
+ code: 'code',
85
+ tags: 'tags',
86
+ state: 'state',
87
+ singleRender: (v) => (v === 'ok' ?
88
+ <Button><CheckCircleFilled />已审核</Button> :
89
+ <Button><ClockCircleFilled />未审核</Button>
90
+ ),
91
+ mapRender: (v) => <Button icon={v.icon || <StarFilled />}>{v.label}</Button>,
92
+ }
93
+ ``` -->
94
+
95
+ #### tips
96
+
97
+ - 虚拟化
98
+
99
+ - 避免虚拟化时的重新渲染,采用 useReducer 缓存状态
100
+
101
+ - 根据父盒子宽度自动计算列数
102
+ - 大于 1800 时展示 6 列
103
+ - 大于 1500 时展示 5 列
104
+ - 小于 1500 时展示 4 列
105
+ - body => cell 增加默认 rowKey= ’id’
106
+
107
+ ### Api
108
+
109
+ | 参数 | 说明 | 类型 | 默认 |
110
+ | ------------- | ------------------------------ | ---------------- | ------ |
111
+ | heightCell | 每一项的高度 | Number | 375 |
112
+ | footer | 自定义底部显示,接收目标数据 | () => {} | {tags} |
113
+ | desc | 自定义描述,接收目标数据 | () => {} | {code} |
114
+ | expand | 自定义操作区 | dom | - |
115
+ | config | 显示配置 | {} | {} |
116
+ | onChange | 分页变化时触发(对标分页组件) | (page, pageSize) | - |
117
+ | onDoubleClick | 双击事件,返回对应数据 | () | - |
118
+
119
+ ### Config
120
+
121
+ | 参数 | 说明 | 类型 | 默认 |
122
+ | ------------ | -------------- | ---------- | ------- |
123
+ | checkbox | 是否显示复选框 | Boolean | false |
124
+ | title | 标题字段 | String | 'title' |
125
+ | code | 编码字段 | String | 'code' |
126
+ | tags | 标签字段 | String | 'tags' |
127
+ | state | 状态字段 | String | 'state' |
128
+ | singleRender | 状态格式化显示 | (v) => ... | - |
129
+ | mapRender | 标签格式化显示 | (v) => ... | - |
130
+
131
+ ### Ref
132
+
133
+ | 参数 | 说明 | 类型 | 默认 |
134
+ | -------------------- | ---------------------------- | ---- | ---- |
135
+ | getCheckboxRecords() | 获取复选框选中的值,返回数组 | () | [] |
136
+ | clearSelect | 清除选中状态 | () | - |
137
+
138
+ ### 考量
139
+
140
+ 1. 复选事件: getCheckboxRecords(records)
141
+ - 是通过事件触发选中还是通过 ref 自己操作?
package/es/Radio/index.js CHANGED
@@ -39,7 +39,6 @@ LMRadio.Group = function (props) {
39
39
  direction = _props$direction === void 0 ? 'row' : _props$direction,
40
40
  className = props.className,
41
41
  restProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
42
- console.log(children, 'rrr');
43
42
  return /*#__PURE__*/_react.default.createElement(_radio.default.Group, (0, _extends2.default)({
44
43
  className: (0, _classnames.default)(className, 'lm-radio-group', "lm-radio-group-".concat(direction)),
45
44
  size: size
@@ -0,0 +1,20 @@
1
+ ---
2
+ nav:
3
+ title: 组件
4
+ path: /components
5
+ group:
6
+ title: 组件
7
+ path: /basic
8
+ ---
9
+
10
+ ## TableRender
11
+
12
+ ### 示列
13
+
14
+ <code src="./demos/basic.jsx" background="#fff" />
15
+
16
+ ### Api
17
+
18
+ | 参数 | 说明 | 类型 | 可选 | 默认值 |
19
+ | ---- | ---- | --------------- | ---- | ------ |
20
+ | dom | 状态 | ok/wait/disable | | ok |
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -11,7 +13,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
13
 
12
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
15
 
14
- var _react = _interopRequireDefault(require("react"));
16
+ var _react = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _TableRoot = _interopRequireDefault(require("./table/TableRoot"));
17
19
 
@@ -21,7 +23,7 @@ var _excluded = ["cellKey", "type", "height", "virtual", "components", "dataSour
21
23
  // rows: LM_Row<TData>[];
22
24
  // }
23
25
  // 默认抛出
24
- var _default = function _default(_ref) {
26
+ var LmCardTable = function LmCardTable(_ref, ref) {
25
27
  var _ref$cellKey = _ref.cellKey,
26
28
  cellKey = _ref$cellKey === void 0 ? 'id' : _ref$cellKey,
27
29
  _ref$type = _ref.type,
@@ -39,6 +41,7 @@ var _default = function _default(_ref) {
39
41
  _ref$checkboxConfig = _ref.checkboxConfig,
40
42
  checkboxConfig = _ref$checkboxConfig === void 0 ? {} : _ref$checkboxConfig,
41
43
  resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
44
+ var defaultRef = (0, _react.useRef)(null);
42
45
  return /*#__PURE__*/_react.default.createElement(_TableRoot.default, (0, _extends2.default)({
43
46
  cellKey: cellKey,
44
47
  type: type,
@@ -47,8 +50,11 @@ var _default = function _default(_ref) {
47
50
  components: components,
48
51
  dataSource: dataSource,
49
52
  cellConfig: cellConfig,
50
- checkboxConfig: checkboxConfig
53
+ checkboxConfig: checkboxConfig,
54
+ ref: ref || defaultRef
51
55
  }, resetProps));
52
56
  };
53
57
 
58
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(LmCardTable);
59
+
54
60
  exports.default = _default;
@@ -20,7 +20,8 @@ var _PictureTextColumn = _interopRequireDefault(require("../card/PictureTextColu
20
20
  var _PictureTextRow = _interopRequireDefault(require("../card/PictureTextRow"));
21
21
 
22
22
  var LmCardTableBodyCell = function LmCardTableBodyCell(_ref) {
23
- var cell = _ref.cell,
23
+ var index = _ref.index,
24
+ cell = _ref.cell,
24
25
  table = _ref.table;
25
26
  var state = table.state,
26
27
  cellConfig = table.cellConfig,
@@ -50,6 +51,7 @@ var LmCardTableBodyCell = function LmCardTableBodyCell(_ref) {
50
51
  return /*#__PURE__*/_react.default.createElement("div", {
51
52
  className: (0, _classnames.default)('lm_card_table_body_cell', isChecked && 'cell_checked')
52
53
  }, /*#__PURE__*/_react.default.createElement(RenderCell, (0, _extends2.default)({
54
+ index: index,
53
55
  cell: cell,
54
56
  table: table
55
57
  }, stateConfig)));
@@ -21,7 +21,8 @@ var LmCardTableBodyRow = /*#__PURE__*/_react.default.memo(function (_ref) {
21
21
  table = _ref.table;
22
22
  var state = table.state,
23
23
  rowConfig = table.rowConfig,
24
- height = table.cellConfig.height; // 检测是否最后末行
24
+ height = table.cellConfig.height,
25
+ cellKey = table.cellKey; // 检测是否最后末行
25
26
 
26
27
  var isLastRow = (0, _react.useMemo)(function () {
27
28
  return state.rows.length === rowIndex + 1;
@@ -39,7 +40,8 @@ var LmCardTableBodyRow = /*#__PURE__*/_react.default.memo(function (_ref) {
39
40
  style: style
40
41
  }, row.map(function (cell, index) {
41
42
  return /*#__PURE__*/_react.default.createElement(_TableBodyCell.default, {
42
- key: (cell === null || cell === void 0 ? void 0 : cell.id) || index,
43
+ key: (cell === null || cell === void 0 ? void 0 : cell[cellKey]) || index,
44
+ index: index,
43
45
  cell: cell,
44
46
  table: table
45
47
  });
@@ -53,7 +55,8 @@ var LmCardTableBodyRowVirtual = /*#__PURE__*/_react.default.memo(function (_ref2
53
55
  table = _ref2.table;
54
56
  var state = table.state,
55
57
  rowConfig = table.rowConfig,
56
- height = table.cellConfig.height; // 检测是否最后末行
58
+ height = table.cellConfig.height,
59
+ cellKey = table.cellKey; // 检测是否最后末行
57
60
 
58
61
  var isLastRow = (0, _react.useMemo)(function () {
59
62
  return state.rows.length === rowIndex + 1;
@@ -75,7 +78,8 @@ var LmCardTableBodyRowVirtual = /*#__PURE__*/_react.default.memo(function (_ref2
75
78
  style: style
76
79
  }, row.map(function (cell, index) {
77
80
  return /*#__PURE__*/_react.default.createElement(_TableBodyCell.default, {
78
- key: (cell === null || cell === void 0 ? void 0 : cell.id) || index,
81
+ key: (cell === null || cell === void 0 ? void 0 : cell[cellKey]) || index,
82
+ index: index,
79
83
  cell: cell,
80
84
  table: table
81
85
  });
@@ -24,12 +24,17 @@ var _linkmoreDesign = require("linkmore-design");
24
24
  var Paragraph = _typography.default.Paragraph; // 上图下文
25
25
 
26
26
  var PictureTextColumn = function PictureTextColumn(_ref) {
27
- var cell = _ref.cell,
27
+ var index = _ref.index,
28
+ cell = _ref.cell,
28
29
  table = _ref.table,
29
30
  checked = _ref.checked;
30
- var defaultConfig = table.defaultConfig,
31
- _onDoubleClick = table.onDoubleClick,
31
+ var state = table.state,
32
+ defaultConfig = table.defaultConfig,
33
+ cellClick = table.cellClick,
34
+ cellDoubleClick = table.cellDoubleClick,
32
35
  setSelectCells = table.setSelectCells;
36
+ var trigger = state.checkboxConfig.trigger;
37
+ var clickFlag = (0, _react.useRef)(null);
33
38
  var resetDefaultConfig = (0, _objectSpread2.default)({
34
39
  checkbox: true,
35
40
  imgurl: 'imgurl',
@@ -39,24 +44,45 @@ var PictureTextColumn = function PictureTextColumn(_ref) {
39
44
  code: 'code',
40
45
  operate: null,
41
46
  extend: null
42
- }, defaultConfig);
47
+ }, defaultConfig); // 复选框改变事件, 将复选数据保存到缓存中
43
48
 
44
- var onSelctChange = function onSelctChange(e) {
45
- setSelectCells(e.target.checked, cell);
49
+ var onSelectChange = function onSelectChange(e) {
50
+ setSelectCells === null || setSelectCells === void 0 ? void 0 : setSelectCells(e.target.checked, cell, index);
51
+ }; // 单元格单击事件
52
+
53
+
54
+ var onClick = function onClick() {
55
+ // clearTimeout(clickFlag.current); // 清除第一个单击事件
56
+ // clickFlag.current = setTimeout(() => {
57
+ // 触发区域为单元格时仅触发复选事件
58
+ cellClick === null || cellClick === void 0 ? void 0 : cellClick(cell, index);
59
+
60
+ if (trigger === 'cell') {
61
+ setSelectCells === null || setSelectCells === void 0 ? void 0 : setSelectCells(!checked, cell, index);
62
+ } // }, 200)
63
+
64
+ }; // 单元格双击事件: 双击时避免单击事件触发自己实现
65
+
66
+
67
+ var onDoubleClick = function onDoubleClick() {
68
+ // clearTimeout(clickFlag.current); // 清除第一个单击事件
69
+ cellDoubleClick === null || cellDoubleClick === void 0 ? void 0 : cellDoubleClick(cell, index);
46
70
  };
47
71
 
48
72
  return /*#__PURE__*/_react.default.createElement("div", {
49
73
  className: "card_PTC"
50
74
  }, /*#__PURE__*/_react.default.createElement("div", {
51
75
  className: (0, _classnames.default)('card_PTC_container', checked && 'checked'),
52
- onDoubleClick: function onDoubleClick() {
53
- return _onDoubleClick === null || _onDoubleClick === void 0 ? void 0 : _onDoubleClick(cell, table);
54
- }
76
+ onClick: onClick,
77
+ onDoubleClick: onDoubleClick
55
78
  }, resetDefaultConfig.checkbox && /*#__PURE__*/_react.default.createElement("div", {
56
- className: "card_checkbox"
79
+ className: "card_checkbox",
80
+ onClick: function onClick(e) {
81
+ return e.stopPropagation();
82
+ }
57
83
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
58
84
  checked: checked,
59
- onChange: onSelctChange
85
+ onChange: onSelectChange
60
86
  })), resetDefaultConfig.operate ? /*#__PURE__*/_react.default.createElement("div", {
61
87
  className: "PTC_operate"
62
88
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
@@ -34,12 +34,16 @@ var _linkmoreDesign = require("linkmore-design");
34
34
  var Paragraph = _typography.default.Paragraph; // 左图右文
35
35
 
36
36
  var PictureTextRow = function PictureTextRow(_ref) {
37
- var cell = _ref.cell,
37
+ var index = _ref.index,
38
+ cell = _ref.cell,
38
39
  table = _ref.table,
39
40
  checked = _ref.checked;
40
- var defaultConfig = table.defaultConfig,
41
- _onDoubleClick = table.onDoubleClick,
41
+ var state = table.state,
42
+ defaultConfig = table.defaultConfig,
43
+ cellClick = table.cellClick,
44
+ cellDoubleClick = table.cellDoubleClick,
42
45
  setSelectCells = table.setSelectCells;
46
+ var trigger = state.checkboxConfig.trigger;
43
47
  var resetDefaultConfig = (0, _objectSpread2.default)({
44
48
  checkbox: true,
45
49
  imgurl: 'imgurl',
@@ -92,23 +96,39 @@ var PictureTextRow = function PictureTextRow(_ref) {
92
96
  })
93
97
  }, "\u6807\u7B7E\u4E09"));
94
98
  }
95
- }, defaultConfig);
99
+ }, defaultConfig); // 复选框改变事件, 将复选数据保存到缓存中
96
100
 
97
101
  var onSelctChange = function onSelctChange(e) {
98
- setSelectCells(e.target.checked, cell);
102
+ setSelectCells === null || setSelectCells === void 0 ? void 0 : setSelectCells(e.target.checked, cell, index);
103
+ }; // 单元格单击事件
104
+
105
+
106
+ var onClick = function onClick() {
107
+ cellClick === null || cellClick === void 0 ? void 0 : cellClick(cell, index);
108
+
109
+ if (trigger === 'cell') {
110
+ setSelectCells === null || setSelectCells === void 0 ? void 0 : setSelectCells(!checked, cell, index);
111
+ }
112
+ }; // 单元格双击事件: 双击时避免单击事件触发自己实现
113
+
114
+
115
+ var onDoubleClick = function onDoubleClick() {
116
+ cellDoubleClick === null || cellDoubleClick === void 0 ? void 0 : cellDoubleClick(cell, index);
99
117
  };
100
118
 
101
119
  return /*#__PURE__*/_react.default.createElement("div", {
102
120
  className: "card_PTR"
103
121
  }, /*#__PURE__*/_react.default.createElement("div", {
104
- className: (0, _classnames.default)('card_PTR_container', checked && 'checked'),
105
- onDoubleClick: function onDoubleClick() {
106
- return _onDoubleClick === null || _onDoubleClick === void 0 ? void 0 : _onDoubleClick(cell, table);
107
- }
122
+ className: (0, _classnames.default)('card_PTR_container', checked && 'checked')
108
123
  }, /*#__PURE__*/_react.default.createElement("div", {
109
- className: "card_PTR_body"
124
+ className: "card_PTR_body",
125
+ onClick: onClick,
126
+ onDoubleClick: onDoubleClick
110
127
  }, resetDefaultConfig.checkbox && /*#__PURE__*/_react.default.createElement("div", {
111
- className: "card_checkbox"
128
+ className: "card_checkbox",
129
+ onClick: function onClick(e) {
130
+ return e.stopPropagation();
131
+ }
112
132
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
113
133
  checked: checked,
114
134
  onChange: onSelctChange
@@ -129,8 +129,7 @@
129
129
  .card_PTC .card_PTC_container:hover .PTC_operate {
130
130
  opacity: 1;
131
131
  }
132
- .card_PTC .card_PTC_container.checked .card_checkbox,
133
- .card_PTC .card_PTC_container.checked .PTC_operate {
132
+ .card_PTC .card_PTC_container.checked .card_checkbox {
134
133
  opacity: 1;
135
134
  }
136
135
  .card_PTR {