cnhis-design-vue 3.1.35-beta.1 → 3.1.35-beta.10

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 (57) hide show
  1. package/README.md +123 -123
  2. package/es/components/big-table/index.d.ts +14 -0
  3. package/es/components/big-table/src/BigTable.vue.d.ts +14 -0
  4. package/es/components/big-table/src/BigTable.vue2.js +594 -13
  5. package/es/components/big-table/src/components/edit-form/edit-separate.vue.d.ts +4 -0
  6. package/es/components/big-table/src/components/separate.vue.d.ts +1 -0
  7. package/es/components/big-table/src/hooks/useEdit.d.ts +4 -0
  8. package/es/components/big-table/src/hooks/useSeparateRow.d.ts +11 -1
  9. package/es/components/big-table/src/hooks/useSeparateRow.js +56 -12
  10. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  11. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  12. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  13. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  14. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  15. package/es/components/form-config/src/components/FormConfigCreator.vue.js +1 -0
  16. package/es/components/form-config/src/hooks/useConfigurationField.js +7 -1
  17. package/es/components/form-render/src/components/renderer/combination.js +11 -3
  18. package/es/components/form-render/src/components/renderer/jsonCombination/index.js +7 -3
  19. package/es/components/index.css +1 -1
  20. package/es/components/info-header/index.d.ts +45 -0
  21. package/es/components/info-header/src/InfoHeader.vue.d.ts +39 -6
  22. package/es/components/info-header/src/InfoHeader.vue.js +40 -29
  23. package/es/components/info-header/style/index.css +1 -1
  24. package/es/components/keyboard/index.d.ts +34 -6
  25. package/es/components/keyboard/src/Keyboard.vue.d.ts +34 -6
  26. package/es/components/keyboard/src/Keyboard.vue.js +16 -12
  27. package/es/components/keyboard/src/components/InputNumber.vue.js +1 -1
  28. package/es/components/keyboard/src/components/NumberPanel.vue.d.ts +14 -4
  29. package/es/components/keyboard/src/components/NumberPanel.vue.js +88 -30
  30. package/es/components/keyboard/style/index.css +1 -1
  31. package/es/shared/assets/img/failure.js +1 -1
  32. package/es/shared/assets/img/failure.png.js +1 -1
  33. package/es/shared/assets/img/icon-asc.js +1 -1
  34. package/es/shared/assets/img/icon-desc.js +1 -1
  35. package/es/shared/assets/img/no-permission.js +1 -1
  36. package/es/shared/assets/img/no-permission.png.js +1 -1
  37. package/es/shared/assets/img/nodata.js +1 -1
  38. package/es/shared/assets/img/nodata.png.js +1 -1
  39. package/es/shared/assets/img/notfound.js +1 -1
  40. package/es/shared/assets/img/notfound.png.js +1 -1
  41. package/es/shared/assets/img/qr.js +1 -1
  42. package/es/shared/assets/img/qr.png.js +1 -1
  43. package/es/shared/assets/img/success.js +1 -1
  44. package/es/shared/assets/img/success.png.js +1 -1
  45. package/es/shared/assets/img/video.js +1 -1
  46. package/es/shared/assets/img/video.png.js +1 -1
  47. package/es/shared/assets/img/video_default_cover.js +1 -1
  48. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  49. package/es/shared/assets/img/video_hover.js +1 -1
  50. package/es/shared/assets/img/video_play_hover.js +1 -1
  51. package/es/shared/assets/img/xb_big.js +1 -1
  52. package/es/shared/assets/img/xb_big.png.js +1 -1
  53. package/es/shared/assets/img/xb_small.js +1 -1
  54. package/es/shared/assets/img/xb_small.png.js +1 -1
  55. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  56. package/es/shared/utils/tapable/index.d.ts +139 -0
  57. package/package.json +2 -2
@@ -19,7 +19,7 @@ import { useMessage, NIcon, NTooltip, NCheckbox, NCheckboxGroup, NGrid, NGi, NBu
19
19
  import Grid from '../../grid/index.js';
20
20
  import XEUtils from 'xe-utils';
21
21
  import 'moment';
22
- import { handleTableHeight, setTableConfig, handleGroupColums, treeToList, checkMethod, setTreeGroupTitle, isFilterItem, handleName, generateEditRender, handlerInitSearchItem, getEvaluate, getMapVal, getCandidateComponents, getageShowType, isLink, showFilter, reScrollFilterWrap, hideFilterWrap, mergeConObjFn, setDefaultFormData, handleImgArr, handleImgSrc, modalDetailImage, handleQrCodeContent, getInlineEditBtn, isCopy, setVisibleCheckAllWrap, handleTableImageSize } from './utils.js';
22
+ import { handleTableHeight, setTableConfig, handleGroupColums, treeToList, checkMethod, setTreeGroupTitle, isFilterItem, handleName, generateEditRender, handlerInitSearchItem, getEvaluate, getMapVal, getCandidateComponents, getageShowType, isLink, showFilter, reScrollFilterWrap, hideFilterWrap, mergeConObjFn, setDefaultFormData, handleImgArr, handleImgSrc, modalDetailImage, handleQrCodeContent, getInlineEditBtn, isCopy, setVisibleCheckAllWrap, handleTableImageSize, visibleMethod, getRowStyle, getFooterGroup, flattenRow, intersectRow, removeCheckedDisabledRows } from './utils.js';
23
23
  import InputButtonScript from './components/input-button.vue.js';
24
24
  import Separate from './components/separate.vue.js';
25
25
  import xb_big from '../../../shared/assets/img/xb_big.png.js';
@@ -101,7 +101,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
101
101
  updateAnchor,
102
102
  anchorEvent
103
103
  } = useAnchor(props, state, emit, xGrid);
104
- useEvent(props, state, emit, xGrid, anchorEvent);
104
+ const {
105
+ keyDown,
106
+ scroll
107
+ } = useEvent(props, state, emit, xGrid, anchorEvent);
105
108
  const currentCheckedKeys = computed(() => {
106
109
  var _a;
107
110
  return ((_a = state.checkedRows) == null ? void 0 : _a.map((row) => row[props.primaryKey])) || [];
@@ -112,7 +115,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
112
115
  let isCheckedTotal = currentCheckedKeys.value.length === props.pageVO.total;
113
116
  return isMaxChecked || !isCurrentPageAllCheck || isCheckedTotal;
114
117
  });
115
- computed(() => {
118
+ const singleCheckedKey = computed(() => {
116
119
  const checkedKeys = currentCheckedKeys.value || [];
117
120
  return checkedKeys.length == 1 ? checkedKeys[0] : "";
118
121
  });
@@ -133,7 +136,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
133
136
  sysImageSize: props.sysImageSize || {}
134
137
  };
135
138
  });
136
- computed(() => {
139
+ const treeConfig = computed(() => {
137
140
  let result = getAttr("tree-config");
138
141
  let {
139
142
  isTransform
@@ -165,7 +168,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
165
168
  }
166
169
  return result;
167
170
  });
168
- computed(() => {
171
+ const keyboardConfig = computed(() => {
169
172
  return {
170
173
  editMethod({
171
174
  row,
@@ -243,14 +246,19 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
243
246
  const {
244
247
  separate,
245
248
  onColumnResize,
246
- separateHandle
249
+ separateHandle,
250
+ separateDataMap
247
251
  } = useSeparateRow(() => {
248
252
  var _a, _b;
249
253
  return (_b = (_a = props.columnConfig) == null ? void 0 : _a.fieldList) != null ? _b : [];
250
- }, (columnName) => {
254
+ }, colspanMethod, (columnName) => {
251
255
  var _a, _b;
252
256
  return (_b = (_a = props.columnConfig) == null ? void 0 : _a.fieldList) == null ? void 0 : _b.find((field) => field.columnName === columnName);
253
257
  }, xGrid);
258
+ const onResizableChange = (payload) => {
259
+ onColumnResize(payload);
260
+ emit("resizableChange", payload);
261
+ };
254
262
  async function loadData(data) {
255
263
  state.isShowEmpty = !(data == null ? void 0 : data.length);
256
264
  let formatList = data;
@@ -844,7 +852,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
844
852
  field.filterSort = sort;
845
853
  emit("sortChange", {
846
854
  prop: field.columnName,
847
- order: sort
855
+ order: sort,
856
+ column: field
848
857
  });
849
858
  };
850
859
  const handleFilterSeach = (val, field) => {
@@ -964,7 +973,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
964
973
  if (isFunction(item.headerSlotFn))
965
974
  return () => item.headerSlotFn(item);
966
975
  if (type === "format")
967
- return [item.isEdit ? createVNode(NIcon, {
976
+ return [item.isEdit && !props.columnConfig.noEditIcon ? createVNode(NIcon, {
968
977
  "component": CreateOutline,
969
978
  "class": "is-edit"
970
979
  }, null) : null, createVNode("span", {
@@ -974,7 +983,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
974
983
  return [item.treeNode && state.isTree == 1 && !props.columnConfig.noExpandIcon ? createVNode(NIcon, {
975
984
  "component": state.isExpand && state.total < 1001 ? CaretDown : CaretForward,
976
985
  "onClick": (e) => triggerExpand(e, state.isExpand)
977
- }, null) : null, item.isEdit ? createVNode(NIcon, {
986
+ }, null) : null, item.isEdit && !props.columnConfig.noEditIcon ? createVNode(NIcon, {
978
987
  "component": CreateOutline,
979
988
  "class": "is-edit"
980
989
  }, null) : null, createVNode("span", {
@@ -1010,6 +1019,54 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1010
1019
  state.hasRefresh = false;
1011
1020
  emit("refreshTable");
1012
1021
  };
1022
+ const getRowClassName = (params) => {
1023
+ const {
1024
+ rowClassName = null
1025
+ } = props.columnConfig;
1026
+ if (rowClassName) {
1027
+ return XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName;
1028
+ }
1029
+ const selectStyle = () => {
1030
+ const {
1031
+ row,
1032
+ $rowIndex,
1033
+ rowIndex
1034
+ } = params;
1035
+ const k = singleCheckedKey.value;
1036
+ return k && k === row[props.primaryKey] ? "single--checked" : "";
1037
+ };
1038
+ return state.selectType === "checkbox" ? selectStyle() : null;
1039
+ };
1040
+ const footerMethod = (payload) => {
1041
+ const {
1042
+ columns,
1043
+ data
1044
+ } = payload;
1045
+ if (isFunction(attr.footerMethod))
1046
+ return attr.spanMethod(footerMethod);
1047
+ if (isFunction(attr["footer-method"]))
1048
+ return attr["footer-method"](payload);
1049
+ if (!props.groupCountFields || !props.groupCountFields.length) {
1050
+ return [columns.map((column, index) => {
1051
+ if (index === 0) {
1052
+ return null;
1053
+ }
1054
+ return null;
1055
+ })];
1056
+ }
1057
+ let groupText = getFooterGroup(columns, data, props);
1058
+ let groupColumns = columns.map((column, index) => {
1059
+ if (index === 0) {
1060
+ return null;
1061
+ } else if (index === 1) {
1062
+ return groupText;
1063
+ }
1064
+ return null;
1065
+ });
1066
+ emit("setGroupText", groupText);
1067
+ state.groupText = groupText;
1068
+ return [groupColumns];
1069
+ };
1013
1070
  const loadChildrenMethod = ({
1014
1071
  row
1015
1072
  }) => {
@@ -1098,11 +1155,465 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1098
1155
  };
1099
1156
  });
1100
1157
  };
1158
+ function spanMethod(payload) {
1159
+ const {
1160
+ row,
1161
+ column,
1162
+ rowIndex
1163
+ } = payload;
1164
+ if (row.$__SEPARATE && separateDataMap.value.has(row)) {
1165
+ const {
1166
+ rawRow
1167
+ } = separateDataMap.value.get(row);
1168
+ const {
1169
+ colspans
1170
+ } = separateDataMap.value.get(rawRow) || {};
1171
+ if (colspans) {
1172
+ const colspan = colspans[column.field];
1173
+ if (colspan === 0)
1174
+ return {
1175
+ colspan: 0,
1176
+ rowspan: 0
1177
+ };
1178
+ if (colspan > 1)
1179
+ return {
1180
+ rowspan: 1,
1181
+ colspan
1182
+ };
1183
+ }
1184
+ }
1185
+ return colspanMethod(payload);
1186
+ }
1187
+ function colspanMethod(payload) {
1188
+ var _a;
1189
+ const defaultSpan = {
1190
+ rowspan: 1,
1191
+ colspan: 1
1192
+ };
1193
+ const {
1194
+ row,
1195
+ column
1196
+ } = payload;
1197
+ if (isFunction(attr.spanMethod))
1198
+ return attr.spanMethod(payload);
1199
+ if (isFunction(attr["span-method"]))
1200
+ return attr["span-method"](payload);
1201
+ if (state.isTree != 3) {
1202
+ return defaultSpan;
1203
+ }
1204
+ const xTree = xGrid.value;
1205
+ if (!xTree)
1206
+ return defaultSpan;
1207
+ const {
1208
+ tableColumn = []
1209
+ } = (xTree == null ? void 0 : xTree.getTableColumn()) || {};
1210
+ const fristKeyIndex = tableColumn.findIndex((column2) => !!column2.property);
1211
+ const fixedRightColsSpan = tableColumn.filter((column2) => column2.fixed === "right").length;
1212
+ const colspan = tableColumn.length - fristKeyIndex - fixedRightColsSpan;
1213
+ const isOldVxeTree = row.childrenList && row.childrenList.length;
1214
+ const isTransformVxeTree = ((_a = props.tableParams) == null ? void 0 : _a.isTransform) && !row.qianduan_parent_id;
1215
+ if (isOldVxeTree || isTransformVxeTree) {
1216
+ if (column.treeNode) {
1217
+ return {
1218
+ rowspan: 1,
1219
+ colspan
1220
+ };
1221
+ } else if (!column.property || column.fixed === "right") {
1222
+ return defaultSpan;
1223
+ } else {
1224
+ return {
1225
+ rowspan: 0,
1226
+ colspan: 0
1227
+ };
1228
+ }
1229
+ }
1230
+ }
1231
+ const footerRowspanMethod = (obj) => {
1232
+ if (!props.groupCountFields || !props.groupCountFields.length)
1233
+ return {
1234
+ rowspan: 1,
1235
+ colspan: 1
1236
+ };
1237
+ let {
1238
+ $rowIndex,
1239
+ _columnIndex
1240
+ } = obj;
1241
+ let len = state.columnLen || 99;
1242
+ let {
1243
+ isBatchSelect
1244
+ } = props.columnConfig;
1245
+ if ($rowIndex === 0) {
1246
+ if (isBatchSelect == 1) {
1247
+ if (_columnIndex === 0) {
1248
+ return {
1249
+ rowspan: 1,
1250
+ colspan: 2
1251
+ };
1252
+ } else if (_columnIndex === 1) {
1253
+ return {
1254
+ rowspan: 1,
1255
+ colspan: 0
1256
+ };
1257
+ } else if (_columnIndex === 2) {
1258
+ return {
1259
+ rowspan: 1,
1260
+ colspan: len
1261
+ };
1262
+ }
1263
+ return {
1264
+ rowspan: 1,
1265
+ colspan: 0
1266
+ };
1267
+ }
1268
+ if (_columnIndex === 0) {
1269
+ return {
1270
+ rowspan: 1,
1271
+ colspan: 1
1272
+ };
1273
+ } else if (_columnIndex === 1) {
1274
+ return {
1275
+ rowspan: 1,
1276
+ colspan: len
1277
+ };
1278
+ }
1279
+ return {
1280
+ rowspan: 1,
1281
+ colspan: 0
1282
+ };
1283
+ }
1284
+ };
1285
+ const rowdblclick = ({
1286
+ row,
1287
+ column
1288
+ }) => {
1289
+ if (isScanMultiTable.value || !!props.isInlineOperating)
1290
+ return false;
1291
+ if (XEUtils.has(row, GROUP_TITLE_KEY))
1292
+ return false;
1293
+ emit("setNestTableClick", props.isNestTable);
1294
+ emit("rowdblclick", row, column, true, true);
1295
+ };
1296
+ const pubCheckChange = (rows = []) => {
1297
+ state.treeTableLength = rows.filter((item) => {
1298
+ let isGroupRow = XEUtils.has(item, GROUP_TITLE_KEY);
1299
+ return !isGroupRow;
1300
+ }).length;
1301
+ state.visibleTreeCheck = rows.length > 1;
1302
+ emit("selectionChange", rows);
1303
+ };
1304
+ const updateAddCheckedRows = (rows, isTree = false) => {
1305
+ let obj = {
1306
+ isUpdate: true,
1307
+ updateRows: rows,
1308
+ isTree
1309
+ };
1310
+ if (isTree) {
1311
+ Object.assign(obj, {
1312
+ isTree,
1313
+ isCheckedChange: true,
1314
+ checkedRows: state.checkedRows
1315
+ });
1316
+ }
1317
+ emit("selectionChangeLocal", obj);
1318
+ };
1319
+ const removeCheckedRows = (rows, isCheckedChange) => {
1320
+ removeCheckedDisabledRows(state);
1321
+ let checkedRows = state.checkedRows;
1322
+ let needRemoveIndexs = [];
1323
+ for (let i = 0; i < rows.length; i++) {
1324
+ let row = rows[i];
1325
+ let removeIndex = currentCheckedKeys.value.findIndex((item) => {
1326
+ return item === row[props.primaryKey];
1327
+ });
1328
+ removeIndex >= 0 && needRemoveIndexs.push(removeIndex);
1329
+ }
1330
+ needRemoveIndexs.sort((a, b) => b - a);
1331
+ emit("selectionChangeLocal", {
1332
+ isAdd: false,
1333
+ isCheckedChange,
1334
+ needRemoveIndexs,
1335
+ newCheckedRows: [],
1336
+ checkedRows
1337
+ });
1338
+ };
1339
+ const setCheckedMehod = (setChecked, row) => {
1340
+ if (setChecked) {
1341
+ updateAddCheckedRows(row);
1342
+ return;
1343
+ }
1344
+ if (props.pageVO.pageIndex != state.lastPageIndex) {
1345
+ updateAddCheckedRows(row);
1346
+ return;
1347
+ }
1348
+ if (currentCheckedKeys.value.includes(row[props.primaryKey])) {
1349
+ removeCheckedRows([row]);
1350
+ return;
1351
+ }
1352
+ updateAddCheckedRows(row);
1353
+ };
1354
+ const handlerClickRow = (data) => {
1355
+ var _a, _b, _c;
1356
+ let {
1357
+ row,
1358
+ $event = {},
1359
+ $rowIndex,
1360
+ triggerCheckbox
1361
+ } = data;
1362
+ if (((_a = getAttr("checkbox-config")) == null ? void 0 : _a.noTriggerCellClick) && triggerCheckbox) {
1363
+ return false;
1364
+ }
1365
+ if (((_b = getAttr("checkbox-config")) == null ? void 0 : _b.trigger) === "default") {
1366
+ emit("handlerClickRow", row, $rowIndex);
1367
+ return false;
1368
+ }
1369
+ if (isScanMultiTable.value || props.isInlineOperating)
1370
+ return false;
1371
+ if (XEUtils.has(data == null ? void 0 : data.row, GROUP_TITLE_KEY))
1372
+ return false;
1373
+ if (state.isTriggerSelectionChange && state.isTree == 0)
1374
+ return false;
1375
+ let table = xGrid.value;
1376
+ isAboutNestTable.value && emit("resetNestLastClickTable", table);
1377
+ let {
1378
+ className,
1379
+ tagName
1380
+ } = $event.target || {};
1381
+ if (tagName == "INPUT" || tagName == "svg" || tagName == "path")
1382
+ return;
1383
+ if (className && XEUtils.isString(className)) {
1384
+ if (className.includes("n-input") || className.includes("n-base-selection-label"))
1385
+ return;
1386
+ if (className.includes("vxe-table--expand-btn"))
1387
+ return;
1388
+ }
1389
+ isAboutNestTable.value && emit("setNestLastClickTable", table, props.isNestTable, row[handleRowId.value], row);
1390
+ emit("setNestTableClick", false);
1391
+ if (props.isNestTable) {
1392
+ table == null ? void 0 : table.setAllCheckboxRow(false);
1393
+ nestHandleClickRow(table, data);
1394
+ return;
1395
+ }
1396
+ const batchSelect = (_c = getAttr("checkbox-config")) == null ? void 0 : _c.batchSelect;
1397
+ let forbiddenBatchSelect = !checkMethod(data);
1398
+ if (state.selectType == "checkbox" && !batchSelect && (forbiddenBatchSelect || data.row.$__SEPARATE)) {
1399
+ table == null ? void 0 : table.setAllCheckboxRow(false);
1400
+ const checked2 = getRowClassName({
1401
+ row
1402
+ }) == "single--checked";
1403
+ const value = !checked2 ? [] : [row];
1404
+ state.checkedRows = value;
1405
+ pubCheckChange(value);
1406
+ emit("handlerClickRow", row, $rowIndex);
1407
+ emit("checkboxChange", {
1408
+ checked: checked2,
1409
+ row,
1410
+ index: $rowIndex,
1411
+ records: [row]
1412
+ });
1413
+ return;
1414
+ }
1415
+ state.visibleCheckAllWrap = false;
1416
+ state.visibleCheckAllWrapMore = false;
1417
+ let checked = false;
1418
+ if (state.selectType == "radio") {
1419
+ checked = table.isCheckedByRadioRow(row);
1420
+ } else {
1421
+ checked = table.isCheckedByCheckboxRow(row);
1422
+ }
1423
+ if (state.isradioChange) {
1424
+ checked = false;
1425
+ state.isradioChange = false;
1426
+ }
1427
+ let checkedRow = table.getCheckboxRecords();
1428
+ let rowLen = state.checkedRows.filter((item) => !XEUtils.has(item, GROUP_TITLE_KEY)).length;
1429
+ let newRow = [];
1430
+ if (state.isTree != 0) {
1431
+ let {
1432
+ className: className2
1433
+ } = $event.target || {};
1434
+ if (className2 && className2.includes("vxe-tree--node-btn"))
1435
+ return;
1436
+ if (state.selectType === "checkbox") {
1437
+ let rowVal = {};
1438
+ if (!state.isTriggerSelectionChange) {
1439
+ table.setAllCheckboxRow(false);
1440
+ state.checkedRows = [row];
1441
+ pubCheckChange([row]);
1442
+ rowVal = row;
1443
+ } else {
1444
+ if (checkedRow.length > 1)
1445
+ return false;
1446
+ rowVal = checked || checkedRow.length === 1 && !checked ? checkedRow[0] : {};
1447
+ state.checkedRows = [rowVal];
1448
+ }
1449
+ updateAddCheckedRows(rowVal, true);
1450
+ emit("handlerClickRow", rowVal);
1451
+ return;
1452
+ }
1453
+ let newTheUniqueKeyArr = [];
1454
+ flattenRow(row, newRow, newTheUniqueKeyArr, handleRowId.value);
1455
+ let res = intersectRow(checkedRow, newTheUniqueKeyArr, handleRowId.value);
1456
+ if (!res) {
1457
+ rowLen = 1;
1458
+ } else {
1459
+ rowLen = checkedRow.filter((item) => !XEUtils.has(item, GROUP_TITLE_KEY)).length;
1460
+ }
1461
+ }
1462
+ !batchSelect && table.setAllCheckboxRow(false);
1463
+ let setChecked = checked;
1464
+ if (rowLen > 1) {
1465
+ state.selectType != "radio" && table.setCheckboxRow([row], true);
1466
+ state.isTree != 0 && state.selectType != "radio" && pubCheckChange(newRow);
1467
+ state.selectType != "radio" && emit("handlerClickRow", row, $rowIndex);
1468
+ } else {
1469
+ setChecked = !setChecked;
1470
+ if (!setChecked) {
1471
+ state.selectType == "radio" && table.clearRadioRow();
1472
+ state.isTree != 0 && state.selectType != "radio" && pubCheckChange([]);
1473
+ } else {
1474
+ state.selectType == "radio" && table.setRadioRow(row);
1475
+ state.isTree != 0 && state.selectType != "radio" && pubCheckChange(newRow);
1476
+ }
1477
+ state.selectType != "radio" && table.setCheckboxRow([row], setChecked);
1478
+ }
1479
+ if (state.isTree != 0) {
1480
+ emit("checkboxChange", {
1481
+ checked: setChecked,
1482
+ row,
1483
+ index: $rowIndex,
1484
+ records: checkedRow
1485
+ });
1486
+ setChecked && emit("handlerClickRow", row, $rowIndex);
1487
+ return;
1488
+ }
1489
+ setCheckedMehod(setChecked, row);
1490
+ if (setChecked || rowLen > 1 || !rowLen) {
1491
+ state.checkedRows = [row];
1492
+ }
1493
+ if (!setChecked && rowLen === 1) {
1494
+ state.checkedRows = [];
1495
+ }
1496
+ setCurrentCheckedLength();
1497
+ state.lastPageIndex = props.pageVO.pageIndex;
1498
+ emit("checkboxChange", {
1499
+ checked: setChecked,
1500
+ row,
1501
+ index: $rowIndex,
1502
+ records: table.getCheckboxRecords()
1503
+ });
1504
+ setChecked && emit("handlerClickRow", row, $rowIndex);
1505
+ };
1506
+ const addCheckedRows = (rows) => {
1507
+ removeCheckedDisabledRows(state);
1508
+ let checkedRows = state.checkedRows;
1509
+ let newCheckedRows = rows.filter((row) => {
1510
+ return !currentCheckedKeys.value.includes(row[props.primaryKey]);
1511
+ });
1512
+ checkedRows.push(...newCheckedRows);
1513
+ emit("selectionChangeLocal", {
1514
+ isAdd: true,
1515
+ isCheckedChange: true,
1516
+ newCheckedRows,
1517
+ checkedRows
1518
+ });
1519
+ };
1520
+ const treeTableSelectionChange = (records) => {
1521
+ if (state.isTree == 0) {
1522
+ emit("selectionChange", records);
1523
+ return false;
1524
+ }
1525
+ pubCheckChange(records);
1526
+ return true;
1527
+ };
1528
+ const selectionChange = ({
1529
+ checked,
1530
+ row,
1531
+ records,
1532
+ $rowIndex
1533
+ }) => {
1534
+ let table = xGrid.value;
1535
+ table.clearCurrentRow();
1536
+ state.isTriggerSelectionChange = true;
1537
+ setTimeout(() => {
1538
+ state.isTriggerSelectionChange = false;
1539
+ }, 0);
1540
+ emit("checkboxChange", {
1541
+ checked,
1542
+ row,
1543
+ index: $rowIndex,
1544
+ records
1545
+ });
1546
+ if (treeTableSelectionChange(records))
1547
+ return;
1548
+ if (checked) {
1549
+ addCheckedRows([row]);
1550
+ } else {
1551
+ removeCheckedRows([row], true);
1552
+ }
1553
+ setCurrentCheckedLength();
1554
+ };
1555
+ const selectionChangeAll = ({
1556
+ checked,
1557
+ records
1558
+ }) => {
1559
+ if (treeTableSelectionChange(records))
1560
+ return;
1561
+ if (checked) {
1562
+ addCheckedRows(records);
1563
+ } else {
1564
+ removeCheckedRows(props.data);
1565
+ }
1566
+ setCurrentCheckedLength();
1567
+ };
1568
+ const radioOnChange = (rowData = {}) => {
1569
+ let {
1570
+ row
1571
+ } = rowData;
1572
+ emit("selectionChange", [{
1573
+ ...row
1574
+ }]);
1575
+ };
1576
+ const sortChange = ({
1577
+ property,
1578
+ order
1579
+ }) => {
1580
+ var _a;
1581
+ if (props.isInlineOperating)
1582
+ return false;
1583
+ Object.values(state.filterFields).forEach((item) => item.filterSort = null);
1584
+ const column = (_a = props.columnConfig.fieldList) == null ? void 0 : _a.find((item) => item.columnName === property);
1585
+ emit("sortChange", {
1586
+ prop: property,
1587
+ order,
1588
+ column
1589
+ });
1590
+ };
1101
1591
  const showDrawer = () => {
1102
1592
  const theads = xGrid.value.$el.childNodes[0].childNodes[1].childNodes[0].getElementsByClassName("mycolumn");
1103
1593
  emit("setNestTableClickSetting", props.isNestTable);
1104
1594
  emit("showDrawer", theads);
1105
1595
  };
1596
+ const handleCellMouseenter = ({
1597
+ column,
1598
+ $event
1599
+ }) => {
1600
+ if (column.showOverflow === "title") {
1601
+ const target = $event == null ? void 0 : $event.currentTarget;
1602
+ const cls = target == null ? void 0 : target.className;
1603
+ const bodyCls = " vxe-body--column ";
1604
+ if (cls && ` ${cls} `.includes(bodyCls) && target && target.hasAttribute("title")) {
1605
+ const cellElem = target.querySelector(".vxe-cell");
1606
+ if (cellElem && cellElem.hasAttribute("title")) {
1607
+ cellElem.removeAttribute("title");
1608
+ }
1609
+ if (props.isInlineOperating) {
1610
+ if (target && target.hasAttribute("title")) {
1611
+ target.removeAttribute("title");
1612
+ }
1613
+ }
1614
+ }
1615
+ }
1616
+ };
1106
1617
  const getFooterTooltipTitle = (column) => {
1107
1618
  let t = "";
1108
1619
  if (XEUtils.has(props.sumData, column.property)) {
@@ -1799,6 +2310,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1799
2310
  }
1800
2311
  });
1801
2312
  });
2313
+ const handleMenuClickEvent = (payload) => emit("menuClick", payload);
1802
2314
  expose({
1803
2315
  formatData,
1804
2316
  xGrid,
@@ -1807,6 +2319,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1807
2319
  handleFilterClearAll
1808
2320
  });
1809
2321
  return (_ctx, _cache) => {
2322
+ var _a;
1810
2323
  return openBlock(), createElementBlock(Fragment, null, [state.anchorList.length ? (openBlock(), createBlock(unref(NTabs), {
1811
2324
  key: 0,
1812
2325
  type: "line",
@@ -1845,9 +2358,77 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1845
2358
  "show-footer-overflow": "title",
1846
2359
  "keep-source": "",
1847
2360
  "auto-resize": "",
1848
- height: props.height ? "auto" : void 0
2361
+ height: props.height ? "auto" : void 0,
2362
+ "cell-style": state.cellStyle
1849
2363
  }, _ctx.$attrs, {
1850
- "edit-config": state.editConfig
2364
+ "mouse-config": {
2365
+ selected: ((_a = _ctx.columnConfig.keyboardConfig) == null ? void 0 : _a.isEdit) ? true : false
2366
+ },
2367
+ "tree-config": unref(treeConfig),
2368
+ "row-class-name": getRowClassName,
2369
+ "row-config": {
2370
+ ...state.rowConfig,
2371
+ ...unref(getAttr)("row-config")
2372
+ },
2373
+ "show-footer": _ctx.showFooter && !props.isInlineOperating,
2374
+ "footer-method": footerMethod,
2375
+ "sort-config": {
2376
+ trigger: "cell",
2377
+ remote: true,
2378
+ ...unref(getAttr)("sort-config")
2379
+ },
2380
+ "span-method": spanMethod,
2381
+ "footer-span-method": footerRowspanMethod,
2382
+ "tooltip-config": {
2383
+ enterable: false,
2384
+ ...unref(getAttr)("tooltip-config")
2385
+ },
2386
+ "checkbox-config": {
2387
+ checkField: "checked",
2388
+ labelField: "checked",
2389
+ checkMethod: unref(checkMethod),
2390
+ visibleMethod: unref(visibleMethod),
2391
+ trigger: "cell",
2392
+ reserve: true,
2393
+ highlight: true,
2394
+ ...unref(getAttr)("checkbox-config")
2395
+ },
2396
+ "radio-config": {
2397
+ checkField: "checked",
2398
+ trigger: "cell",
2399
+ reserve: true,
2400
+ highlight: true,
2401
+ ...unref(getAttr)("radio-config")
2402
+ },
2403
+ "scroll-y": {
2404
+ gt: 50,
2405
+ ...unref(getAttr)("scroll-y")
2406
+ },
2407
+ "row-style": unref(getRowStyle),
2408
+ "edit-config": state.editConfig,
2409
+ "expand-config": {
2410
+ lazy: true,
2411
+ accordion: _ctx.columnConfig && _ctx.columnConfig.accordion,
2412
+ loadMethod: unref(loadExpandMethod),
2413
+ toggleMethod: unref(toggleExpandMethod),
2414
+ iconOpen: "iconfont icon-a-xitongtubiaozhediejian",
2415
+ iconClose: "iconfont icon-a-xitongtubiaotianjia",
2416
+ ...unref(getAttr)("expand-config")
2417
+ },
2418
+ "keyboard-config": unref(keyboardConfig),
2419
+ "edit-rules": _ctx.columnConfig.editRules || {},
2420
+ "menu-config": _ctx.menuConfig,
2421
+ onCellDblclick: rowdblclick,
2422
+ onCellClick: handlerClickRow,
2423
+ onCheckboxChange: selectionChange,
2424
+ onCheckboxAll: selectionChangeAll,
2425
+ onRadioChange: radioOnChange,
2426
+ onSortChange: sortChange,
2427
+ onScroll: unref(scroll),
2428
+ onCellMouseenter: handleCellMouseenter,
2429
+ onKeydown: unref(keyDown),
2430
+ onMenuClick: handleMenuClickEvent,
2431
+ onResizableChange
1851
2432
  }), {
1852
2433
  empty: withCtx(() => [state.isShowEmpty ? renderSlot(_ctx.$slots, "empty", {
1853
2434
  key: 0
@@ -1886,7 +2467,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
1886
2467
  }
1887
2468
  })]),
1888
2469
  _: 3
1889
- }, 16, ["height", "edit-config"]), createCommentVNode(" `${refreshRow}\u6761\u66F4\u65B0` "), withDirectives(createElementVNode("div", {
2470
+ }, 16, ["height", "cell-style", "mouse-config", "tree-config", "row-config", "show-footer", "sort-config", "tooltip-config", "checkbox-config", "radio-config", "scroll-y", "row-style", "edit-config", "expand-config", "keyboard-config", "edit-rules", "menu-config", "onScroll", "onKeydown"]), createCommentVNode(" `${refreshRow}\u6761\u66F4\u65B0` "), withDirectives(createElementVNode("div", {
1890
2471
  class: "refresh",
1891
2472
  onClick: hanldeClickRefresh
1892
2473
  }, [createVNode(unref(NIcon), {