@fmdevui/fm-dev 1.0.75 → 1.0.77

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 (160) hide show
  1. package/es/_virtual/de-DE.mjs +1 -1
  2. package/es/_virtual/en-US.mjs +1 -1
  3. package/es/_virtual/es-ES.mjs +1 -1
  4. package/es/_virtual/fr-FR.mjs +1 -1
  5. package/es/_virtual/it-IT.mjs +1 -1
  6. package/es/_virtual/ja-JP.mjs +1 -1
  7. package/es/_virtual/ko-KR.mjs +1 -1
  8. package/es/_virtual/nb-NO.mjs +1 -1
  9. package/es/_virtual/pt-BR.mjs +1 -1
  10. package/es/_virtual/ru-RU.mjs +1 -1
  11. package/es/_virtual/th-TH.mjs +1 -1
  12. package/es/_virtual/vi-VN.mjs +1 -1
  13. package/es/_virtual/zh-CN.mjs +1 -1
  14. package/es/_virtual/zh-HK.mjs +1 -1
  15. package/es/_virtual/zh-TW.mjs +1 -1
  16. package/es/component.mjs +7 -2
  17. package/es/core/hook/useVxeTableOptionsHook.d.ts +39 -6
  18. package/es/core/ui/components/index.d.ts +807 -2
  19. package/es/core/ui/components/querycondition/index.vue.d.ts +88 -0
  20. package/es/core/ui/components/querycondition/moreChoose.vue.d.ts +30 -0
  21. package/es/core/ui/components/querycondition/renderComp.vue.d.ts +9 -0
  22. package/es/core/ui/components/querycondition/style/css.d.ts +1 -0
  23. package/es/core/ui/components/querycondition/style/index.d.ts +1 -0
  24. package/es/core/ui/components/querycondition/type.d.ts +21 -0
  25. package/es/core/ui/components/querycondition/useComputed.d.ts +28 -0
  26. package/es/core/ui/components/selecttable/ClickOutside.d.ts +3 -0
  27. package/es/core/ui/components/selecttable/index.vue.d.ts +190 -0
  28. package/es/core/ui/components/selecttable/renderCol.vue.d.ts +21 -0
  29. package/es/core/ui/components/selecttable/style/css.d.ts +1 -0
  30. package/es/core/ui/components/selecttable/style/index.d.ts +1 -0
  31. package/es/core/ui/components/selecttable/type.d.ts +56 -0
  32. package/es/core/ui/components/selecttable/useVirtualized.d.ts +11 -0
  33. package/es/core/utils/comm/gloabdata.d.ts +24 -0
  34. package/es/core/utils/comm/index.d.ts +1 -0
  35. package/es/index.mjs +2 -1
  36. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/de-DE.mjs +19 -1
  37. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/en-US.mjs +20 -2
  38. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/es-ES.mjs +19 -1
  39. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/fr-FR.mjs +19 -1
  40. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/it-IT.mjs +19 -1
  41. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ja-JP.mjs +19 -1
  42. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ko-KR.mjs +19 -1
  43. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/nb-NO.mjs +19 -1
  44. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/pt-BR.mjs +19 -1
  45. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ru-RU.mjs +19 -1
  46. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/th-TH.mjs +19 -1
  47. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/vi-VN.mjs +19 -1
  48. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CHT.mjs +19 -1
  49. package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CN.mjs +18 -0
  50. package/es/packages/core/index.mjs +2 -1
  51. package/es/packages/core/ui/components/index.mjs +18 -1
  52. package/es/packages/core/ui/components/querycondition/index.vue.mjs +5 -0
  53. package/es/packages/core/ui/components/querycondition/index.vue2.mjs +521 -0
  54. package/es/packages/core/ui/components/querycondition/moreChoose.vue.mjs +5 -0
  55. package/es/packages/core/ui/components/querycondition/moreChoose.vue2.mjs +237 -0
  56. package/es/packages/core/ui/components/querycondition/renderComp.vue.mjs +5 -0
  57. package/es/packages/core/ui/components/querycondition/renderComp.vue2.mjs +23 -0
  58. package/es/packages/core/ui/components/querycondition/style/css.mjs +1 -0
  59. package/es/packages/core/ui/components/querycondition/style/index.mjs +1 -0
  60. package/es/packages/core/ui/components/querycondition/type.mjs +1 -0
  61. package/es/packages/core/ui/components/querycondition/useComputed.mjs +104 -0
  62. package/es/packages/core/ui/components/selecttable/ClickOutside.mjs +69 -0
  63. package/es/packages/core/ui/components/selecttable/index.vue.mjs +5 -0
  64. package/es/packages/core/ui/components/selecttable/index.vue2.mjs +816 -0
  65. package/es/packages/core/ui/components/selecttable/renderCol.vue.mjs +5 -0
  66. package/es/packages/core/ui/components/selecttable/renderCol.vue2.mjs +28 -0
  67. package/es/packages/core/ui/components/selecttable/style/css.mjs +1 -0
  68. package/es/packages/core/ui/components/selecttable/style/index.mjs +1 -0
  69. package/es/packages/core/ui/components/selecttable/type.mjs +1 -0
  70. package/es/packages/core/ui/components/selecttable/useVirtualized.mjs +67 -0
  71. package/es/packages/core/utils/comm/gloabdata.mjs +29 -0
  72. package/es/packages/core/utils/comm/index.mjs +1 -0
  73. package/es/packages/core/utils/index.mjs +1 -0
  74. package/index.js +2194 -66
  75. package/index.min.js +30 -29
  76. package/index.min.mjs +27 -26
  77. package/index.mjs +2188 -68
  78. package/lib/_virtual/de-DE.js +1 -1
  79. package/lib/_virtual/en-US.js +1 -1
  80. package/lib/_virtual/es-ES.js +1 -1
  81. package/lib/_virtual/fr-FR.js +1 -1
  82. package/lib/_virtual/it-IT.js +1 -1
  83. package/lib/_virtual/ja-JP.js +1 -1
  84. package/lib/_virtual/ko-KR.js +1 -1
  85. package/lib/_virtual/nb-NO.js +1 -1
  86. package/lib/_virtual/pt-BR.js +1 -1
  87. package/lib/_virtual/ru-RU.js +1 -1
  88. package/lib/_virtual/th-TH.js +1 -1
  89. package/lib/_virtual/vi-VN.js +1 -1
  90. package/lib/_virtual/zh-CN.js +1 -1
  91. package/lib/_virtual/zh-HK.js +1 -1
  92. package/lib/_virtual/zh-TW.js +1 -1
  93. package/lib/component.js +6 -1
  94. package/lib/core/hook/useVxeTableOptionsHook.d.ts +39 -6
  95. package/lib/core/ui/components/index.d.ts +807 -2
  96. package/lib/core/ui/components/querycondition/index.vue.d.ts +88 -0
  97. package/lib/core/ui/components/querycondition/moreChoose.vue.d.ts +30 -0
  98. package/lib/core/ui/components/querycondition/renderComp.vue.d.ts +9 -0
  99. package/lib/core/ui/components/querycondition/style/css.d.ts +1 -0
  100. package/lib/core/ui/components/querycondition/style/index.d.ts +1 -0
  101. package/lib/core/ui/components/querycondition/type.d.ts +21 -0
  102. package/lib/core/ui/components/querycondition/useComputed.d.ts +28 -0
  103. package/lib/core/ui/components/selecttable/ClickOutside.d.ts +3 -0
  104. package/lib/core/ui/components/selecttable/index.vue.d.ts +190 -0
  105. package/lib/core/ui/components/selecttable/renderCol.vue.d.ts +21 -0
  106. package/lib/core/ui/components/selecttable/style/css.d.ts +1 -0
  107. package/lib/core/ui/components/selecttable/style/index.d.ts +1 -0
  108. package/lib/core/ui/components/selecttable/type.d.ts +56 -0
  109. package/lib/core/ui/components/selecttable/useVirtualized.d.ts +11 -0
  110. package/lib/core/utils/comm/gloabdata.d.ts +24 -0
  111. package/lib/core/utils/comm/index.d.ts +1 -0
  112. package/lib/index.js +9 -0
  113. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/de-DE.js +19 -1
  114. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/en-US.js +20 -2
  115. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/es-ES.js +19 -1
  116. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/fr-FR.js +19 -1
  117. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/it-IT.js +19 -1
  118. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ja-JP.js +19 -1
  119. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ko-KR.js +19 -1
  120. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/nb-NO.js +19 -1
  121. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/pt-BR.js +19 -1
  122. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ru-RU.js +19 -1
  123. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/th-TH.js +19 -1
  124. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/vi-VN.js +19 -1
  125. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CHT.js +19 -1
  126. package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CN.js +18 -0
  127. package/lib/packages/core/index.js +9 -0
  128. package/lib/packages/core/ui/components/index.js +22 -0
  129. package/lib/packages/core/ui/components/querycondition/index.vue.js +9 -0
  130. package/lib/packages/core/ui/components/querycondition/index.vue2.js +525 -0
  131. package/lib/packages/core/ui/components/querycondition/moreChoose.vue.js +9 -0
  132. package/lib/packages/core/ui/components/querycondition/moreChoose.vue2.js +241 -0
  133. package/lib/packages/core/ui/components/querycondition/renderComp.vue.js +9 -0
  134. package/lib/packages/core/ui/components/querycondition/renderComp.vue2.js +27 -0
  135. package/lib/packages/core/ui/components/querycondition/style/css.js +4 -0
  136. package/lib/packages/core/ui/components/querycondition/style/index.js +4 -0
  137. package/lib/packages/core/ui/components/querycondition/type.js +2 -0
  138. package/lib/packages/core/ui/components/querycondition/useComputed.js +106 -0
  139. package/lib/packages/core/ui/components/selecttable/ClickOutside.js +73 -0
  140. package/lib/packages/core/ui/components/selecttable/index.vue.js +9 -0
  141. package/lib/packages/core/ui/components/selecttable/index.vue2.js +820 -0
  142. package/lib/packages/core/ui/components/selecttable/renderCol.vue.js +9 -0
  143. package/lib/packages/core/ui/components/selecttable/renderCol.vue2.js +32 -0
  144. package/lib/packages/core/ui/components/selecttable/style/css.js +4 -0
  145. package/lib/packages/core/ui/components/selecttable/style/index.js +4 -0
  146. package/lib/packages/core/ui/components/selecttable/type.js +2 -0
  147. package/lib/packages/core/ui/components/selecttable/useVirtualized.js +69 -0
  148. package/lib/packages/core/utils/comm/gloabdata.js +33 -0
  149. package/lib/packages/core/utils/comm/index.js +4 -0
  150. package/lib/packages/core/utils/index.js +4 -0
  151. package/package.json +1 -1
  152. package/theme-chalk/src/query-condition.scss +118 -0
  153. package/theme-chalk/src/select-table.scss +71 -0
  154. package/theme-chalk/t-query-condition.css +1 -0
  155. package/theme-chalk/t-select-table.css +1 -0
  156. /package/es/{component.css → make-installer.css} +0 -0
  157. /package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-HK.mjs +0 -0
  158. /package/es/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-TW.mjs +0 -0
  159. /package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-HK.js +0 -0
  160. /package/lib/node_modules/.pnpm/{vxe-table@4.14.2_vue@3.5.17_typescript@5.8.3_ → vxe-table@4.14.4_vue@3.5.17_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-TW.js +0 -0
@@ -0,0 +1,816 @@
1
+ import { defineComponent, useSlots, ref, computed, reactive, watch, nextTick, onMounted, onBeforeUnmount, onUpdated, useAttrs, resolveComponent, resolveDirective, createBlock, withDirectives, openBlock, mergeProps, isRef, unref, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, createElementVNode, normalizeStyle, createElementBlock, createCommentVNode, createVNode, createTextVNode, toDisplayString, withModifiers, Fragment } from 'vue';
2
+ import '../querycondition/index.vue.mjs';
3
+ import './renderCol.vue.mjs';
4
+ import { ElMessage } from 'element-plus';
5
+ import ClickOutside from './ClickOutside.mjs';
6
+ import { useVirtualized } from './useVirtualized.mjs';
7
+ import _sfc_main$1 from '../querycondition/index.vue2.mjs';
8
+ import _sfc_main$2 from './renderCol.vue2.mjs';
9
+
10
+ const _hoisted_1 = {
11
+ key: 0,
12
+ class: "table_query_condition"
13
+ };
14
+ const _hoisted_2 = ["element-loading-text"];
15
+ const _hoisted_3 = { key: 2 };
16
+ const _hoisted_4 = {
17
+ key: 0,
18
+ class: "fm-table-select__page"
19
+ };
20
+ var _sfc_main = /* @__PURE__ */ defineComponent({
21
+ ...{
22
+ name: "TSelectTable"
23
+ },
24
+ __name: "index",
25
+ props: {
26
+ modelValue: { default: void 0 },
27
+ inputValue: { default: void 0 },
28
+ defaultSelectVal: { default: () => [] },
29
+ radioSelectValLabel: { default: "" },
30
+ table: { default: () => ({
31
+ data: [],
32
+ currentPage: 1,
33
+ pageSize: 10,
34
+ total: 0
35
+ }) },
36
+ keywords: { default: () => ({
37
+ value: "value",
38
+ label: "label"
39
+ }) },
40
+ value: {},
41
+ columns: { default: () => [] },
42
+ multiple: { type: Boolean, default: false },
43
+ filterable: { type: Boolean, default: true },
44
+ remote: { type: Boolean, default: false },
45
+ remoteMethod: { type: Function, default: void 0 },
46
+ filterMethod: { type: Function, default: void 0 },
47
+ isShowInput: { type: Boolean, default: false },
48
+ inputAttr: { default: () => ({}) },
49
+ inputWidth: { default: 550 },
50
+ selectWidth: { default: 550 },
51
+ tableWidth: { default: 550 },
52
+ isShowQuery: { type: Boolean, default: false },
53
+ isShowBlurBtn: { type: Boolean, default: false },
54
+ btnBind: { default: () => ({ btnTxt: "\u5173\u95ED\u4E0B\u62C9\u6846" }) },
55
+ align: { default: "center" },
56
+ reserveSelection: { type: Boolean, default: true },
57
+ selectable: { type: Function, default: void 0 },
58
+ multipleFixed: { type: [String, Boolean], default: true },
59
+ radioTxt: { default: "\u5355\u9009" },
60
+ radioFixed: { type: [String, Boolean], default: true },
61
+ tableSize: { default: "default" },
62
+ border: { type: Boolean, default: true },
63
+ isShowFirstColumn: { type: Boolean, default: true },
64
+ useVirtual: { type: Boolean, default: false },
65
+ virtualShowSize: { default: 30 },
66
+ isShowPagination: { type: Boolean, default: false },
67
+ paginationSize: { default: "small" },
68
+ selfExpanded: { type: Boolean, default: false },
69
+ isClearQuery: { type: Boolean, default: false },
70
+ isRadioEchoLabel: { type: Boolean, default: true },
71
+ defaultValIsOpenRadioChange: { type: Boolean, default: false },
72
+ radioSameIsCancel: { type: Boolean, default: true },
73
+ rowClickRadio: { type: Boolean, default: true },
74
+ isKeyup: { type: Boolean, default: false },
75
+ isExpanded: { type: Boolean, default: false },
76
+ multipleDisableDelete: { type: Boolean, default: true },
77
+ tableLoading: { type: Boolean, default: false },
78
+ loadingTxt: { default: "\u52A0\u8F7D\u4E2D..." }
79
+ },
80
+ emits: ["page-change", "selectionChange", "radioChange", "update:inputValue", "input-focus", "input-blur", "input-clear", "input-click"],
81
+ setup(__props, { expose: __expose, emit: __emit }) {
82
+ const {
83
+ scrollContainerEl,
84
+ updateRenderedItemCache,
85
+ updateOffset,
86
+ getDom,
87
+ saveDATA,
88
+ getItemHeightFromCache
89
+ } = useVirtualized();
90
+ const props = __props;
91
+ const vClickOutside = ClickOutside;
92
+ const emits = __emit;
93
+ const slots = useSlots();
94
+ const isDefaultSelectVal = ref(true);
95
+ const forbidden = ref(true);
96
+ const isRadio = ref(false);
97
+ const isQueryVisible = ref(false);
98
+ const isVisible = ref(false);
99
+ const radioVal = ref("");
100
+ const isShowFirstRadio = ref(props.isShowFirstColumn);
101
+ const selectDefaultLabel = ref(props.modelValue);
102
+ const scrollTopNum = ref(0);
103
+ let selectInputVal = computed({
104
+ get() {
105
+ return props.inputValue;
106
+ },
107
+ set(val) {
108
+ emits("update:inputValue", val);
109
+ }
110
+ });
111
+ const state = reactive({
112
+ defaultSelectValue: props.defaultSelectVal,
113
+ // 默认选中
114
+ tableData: props.table.data,
115
+ // table数据
116
+ defaultValue: props.value,
117
+ ids: [],
118
+ // 多选id集合
119
+ tabularMap: {}
120
+ // 存储下拉tale的所有name
121
+ });
122
+ const selectRef = ref(null);
123
+ const selectTable = ref(null);
124
+ const tQueryConditionRef = ref(null);
125
+ const nowIndex = ref(-1);
126
+ const tableDataLabelList = computed(() => {
127
+ return state.tableData.map((item) => item[props.keywords.label]);
128
+ });
129
+ watch(
130
+ () => props.table.data,
131
+ (val) => {
132
+ if (props.useVirtual) {
133
+ saveDATA.value = val;
134
+ updateRenderData(scrollTopNum.value);
135
+ } else {
136
+ state.tableData = val;
137
+ if (props.multiple && props.multipleDisableDelete) {
138
+ selectRef.value?.$el?.querySelectorAll(".el-tag").forEach((item) => {
139
+ if (tableDataLabelList.value?.includes(
140
+ item.querySelector(".el-select__tags-text")?.innerText
141
+ )) {
142
+ item.querySelector(".el-tag__close").style = "display: block";
143
+ } else {
144
+ item.querySelector(".el-tag__close").style = "display: none";
145
+ }
146
+ });
147
+ }
148
+ }
149
+ nextTick(() => {
150
+ state.tableData && state.tableData.length > 0 && state.tableData.forEach((item) => {
151
+ state.tabularMap[item[props.keywords.value]] = item[props.keywords.label];
152
+ });
153
+ });
154
+ },
155
+ { deep: true }
156
+ );
157
+ watch(
158
+ () => props.defaultSelectVal,
159
+ (val) => {
160
+ state.defaultSelectValue = val;
161
+ if (val.length > 0) {
162
+ if (props.multiple) {
163
+ if (isDefaultSelectVal.value) {
164
+ defaultSelect(state.defaultSelectValue);
165
+ }
166
+ } else {
167
+ defaultSelect(state.defaultSelectValue);
168
+ }
169
+ }
170
+ },
171
+ { deep: true }
172
+ );
173
+ watch(
174
+ () => props.radioSelectValLabel,
175
+ (val) => {
176
+ if (val) findLabel();
177
+ },
178
+ { deep: true }
179
+ );
180
+ onMounted(() => {
181
+ if (state.defaultSelectValue && state.defaultSelectValue.length > 0 && isDefaultSelectVal.value) {
182
+ defaultSelect(state.defaultSelectValue);
183
+ }
184
+ if (props.selfExpanded) {
185
+ selectRef.value.expanded = true;
186
+ }
187
+ if (props.useVirtual) {
188
+ saveDATA.value = props.table.data;
189
+ isShowFirstRadio.value = false;
190
+ getDom(props);
191
+ scrollContainerEl.value?.addEventListener("scroll", handleScroll);
192
+ }
193
+ if (props.radioSelectValLabel) findLabel();
194
+ });
195
+ const updateRenderData = (scrollTop) => {
196
+ let startIndex = 0;
197
+ let offsetHeight = 0;
198
+ for (let i = 0; i < saveDATA.value.length; i++) {
199
+ offsetHeight += getItemHeightFromCache(i);
200
+ if (offsetHeight >= scrollTop) {
201
+ startIndex = i;
202
+ break;
203
+ }
204
+ }
205
+ state.tableData = saveDATA.value.slice(startIndex, startIndex + props.virtualShowSize);
206
+ updateRenderedItemCache(startIndex);
207
+ updateOffset(offsetHeight - getItemHeightFromCache(startIndex));
208
+ };
209
+ const handleScroll = (e) => {
210
+ scrollTopNum.value = e.target.scrollTop;
211
+ updateRenderData(scrollTopNum.value);
212
+ };
213
+ onBeforeUnmount(() => {
214
+ if (props.useVirtual) {
215
+ scrollContainerEl.value?.removeEventListener("scroll", handleScroll);
216
+ }
217
+ });
218
+ onUpdated(() => {
219
+ if (props.isShowQuery) {
220
+ selectTable.value.doLayout();
221
+ }
222
+ });
223
+ const visibleChange = (visible) => {
224
+ isVisible.value = visible;
225
+ if (isQueryVisible.value) {
226
+ selectRef.value.expanded = true;
227
+ }
228
+ if (visible) {
229
+ if (state.defaultSelectValue && state.defaultSelectValue.length > 0 && isDefaultSelectVal.value) {
230
+ defaultSelect(state.defaultSelectValue);
231
+ }
232
+ initTableData();
233
+ if (props.useVirtual) {
234
+ saveDATA.value = props.table.data;
235
+ updateRenderData(scrollTopNum.value);
236
+ }
237
+ } else {
238
+ if (tQueryConditionRef.value && props.isShowQuery && props.isClearQuery && !selectRef.value.expanded && !props.selfExpanded) {
239
+ tQueryConditionRef.value?.resetData();
240
+ }
241
+ findLabel();
242
+ filterMethodHandle("");
243
+ if (props.useVirtual) {
244
+ state.tableData = [];
245
+ saveDATA.value = [];
246
+ }
247
+ }
248
+ if (props.selfExpanded) {
249
+ selectRef.value.expanded = true;
250
+ }
251
+ };
252
+ const handleEvent = () => {
253
+ selectRef.value.expanded = true;
254
+ };
255
+ const queryVisibleChange = (val) => {
256
+ isQueryVisible.value = val;
257
+ };
258
+ const closeBox = () => {
259
+ if (tQueryConditionRef.value && props.isShowQuery) {
260
+ selectRef.value.expanded = true;
261
+ Object.values(tQueryConditionRef.value?.props?.opts).map((val) => {
262
+ if (val.comp.includes("select") || val.comp.includes("picker") || val.comp.includes("date")) {
263
+ val.eventHandle = {
264
+ "visible-change": ($event) => queryVisibleChange($event)
265
+ };
266
+ selectRef.value.expanded = true;
267
+ }
268
+ });
269
+ if (isVisible.value && props.isShowQuery) {
270
+ selectRef.value.expanded = true;
271
+ } else {
272
+ selectRef.value.expanded = false;
273
+ }
274
+ }
275
+ };
276
+ const attrs = useAttrs();
277
+ const selectKeyup = (e) => {
278
+ if (!props.multiple && props.isKeyup && state.tableData.length > 0) {
279
+ const newIndex = nowIndex.value * 1;
280
+ const nextIndex = e.keyCode === 40 ? newIndex + 1 : e.keyCode === 38 ? newIndex - 1 : newIndex;
281
+ const rowHeight = selectTable.value.$el.querySelectorAll(".el-table__row")[0]?.clientHeight || 0;
282
+ const headerHeight = selectTable.value.$el.querySelectorAll(".el-table__header")[0]?.clientHeight || 0;
283
+ const attrsMaxHeight = (typeof (attrs["max-height"] || attrs["maxHeight"]) === "number" ? attrs["max-height"] || attrs["maxHeight"] : parseFloat(attrs["max-height"] || attrs["maxHeight"])) || 0;
284
+ const maxHeight = attrsMaxHeight ? attrsMaxHeight - headerHeight : 0;
285
+ const height = rowHeight * (nextIndex + 3);
286
+ const scrollTop = height > maxHeight ? height - maxHeight : 0;
287
+ if (attrsMaxHeight) {
288
+ selectTable.value.setScrollTop(scrollTop);
289
+ }
290
+ const validNextIndex = Math.max(0, Math.min(nextIndex, state.tableData.length - 1));
291
+ selectTable.value.setCurrentRow(state.tableData[validNextIndex]);
292
+ nowIndex.value = validNextIndex;
293
+ if (e.keyCode === 13) {
294
+ rowClick(state.tableData[validNextIndex]);
295
+ }
296
+ }
297
+ };
298
+ const findLabel = () => {
299
+ nextTick(() => {
300
+ if (props.multiple) {
301
+ selectRef.value.selected?.forEach((item) => {
302
+ item.currentLabel = item.value;
303
+ });
304
+ } else {
305
+ if (props.isRadioEchoLabel) {
306
+ selectDefaultLabel.value = state.defaultValue && state.defaultValue[props.keywords.label] || props.radioSelectValLabel;
307
+ } else {
308
+ selectDefaultLabel.value = state.defaultValue && state.defaultValue[props.keywords.label] || "";
309
+ }
310
+ }
311
+ });
312
+ };
313
+ const handlesCurrentChange = (val) => {
314
+ if (props.multiple) {
315
+ if (!props.reserveSelection) {
316
+ clear();
317
+ }
318
+ } else {
319
+ reset();
320
+ }
321
+ emits("page-change", val);
322
+ };
323
+ const reset = () => {
324
+ if (!props.multiple) {
325
+ selectTable.value.setCurrentRow(-1);
326
+ nowIndex.value = -1;
327
+ radioVal.value = "";
328
+ isDefaultSelectVal.value = true;
329
+ forbidden.value = false;
330
+ }
331
+ };
332
+ const defaultSelect = (defaultSelectVal) => {
333
+ if (props.multiple) {
334
+ const multipleList = defaultSelectVal.map((val) => state.tableData.find((row) => row[props.keywords.value] === val)).filter(Boolean);
335
+ setTimeout(() => {
336
+ state.defaultValue = multipleList.map((item) => item[props.keywords.label]);
337
+ multipleList.forEach((row) => {
338
+ selectTable.value.toggleRowSelection(row, true);
339
+ });
340
+ selectRef.value?.selected?.forEach((item) => {
341
+ item.currentLabel = item.value;
342
+ });
343
+ }, 0);
344
+ } else {
345
+ setTimeout(() => {
346
+ const row = state.tableData.find((item) => item[props.keywords.value] === defaultSelectVal[0]);
347
+ if (row) {
348
+ radioVal.value = state.tableData.indexOf(row) + 1;
349
+ state.defaultValue = row;
350
+ selectDefaultLabel.value = row[props.keywords.label];
351
+ if (!props.defaultValIsOpenRadioChange) {
352
+ emits("radioChange", row, row[props.keywords.value]);
353
+ }
354
+ }
355
+ }, 0);
356
+ }
357
+ };
358
+ const handlesSelectionChange = (val) => {
359
+ isDefaultSelectVal.value = false;
360
+ state.defaultValue = val.map((item) => item[props.keywords.label]);
361
+ state.ids = val.map((item) => item[props.keywords.value]);
362
+ if (val.length === 0) {
363
+ isDefaultSelectVal.value = true;
364
+ state.defaultSelectValue = [];
365
+ }
366
+ emits("selectionChange", val, state.ids);
367
+ };
368
+ const getRowClassName = ({ row }) => {
369
+ if (!props.multiple && JSON.stringify(row) === JSON.stringify(state.defaultValue)) {
370
+ return "selected_row_style";
371
+ }
372
+ return "";
373
+ };
374
+ const getRowKey = (row) => {
375
+ return row[props.keywords.value];
376
+ };
377
+ const filterMethodHandle = (val) => {
378
+ if (!props.filterable) return;
379
+ if (props.filterable && props.remote && typeof props.remoteMethod === "function") {
380
+ props.remoteMethod(val);
381
+ return;
382
+ }
383
+ const tableData = JSON.parse(JSON.stringify(props.table?.data));
384
+ if (!tableData || tableData.length === 0) return;
385
+ if (!props.multiple) {
386
+ if (val) {
387
+ radioVal.value = "";
388
+ } else {
389
+ const defaultIndex = tableData.findIndex(
390
+ (item) => item[props.keywords.label] === selectDefaultLabel.value
391
+ );
392
+ if (defaultIndex !== -1) {
393
+ radioVal.value = defaultIndex + 1;
394
+ }
395
+ }
396
+ }
397
+ state.tableData = tableData.filter((item) => {
398
+ return item[props.keywords.label]?.includes(val);
399
+ });
400
+ if (selectDefaultLabel.value) {
401
+ const defaultIndex = state.tableData.findIndex(
402
+ (item) => item[props.keywords.label] === selectDefaultLabel.value
403
+ );
404
+ if (defaultIndex !== -1) {
405
+ radioVal.value = defaultIndex + 1;
406
+ }
407
+ }
408
+ };
409
+ const initTableData = () => {
410
+ nextTick(() => {
411
+ if (props.multiple) {
412
+ state.defaultValue?.forEach((row) => {
413
+ const matchedRow = state.tableData.find(
414
+ (item) => item[props.keywords.value] === row[props.keywords.value]
415
+ );
416
+ if (matchedRow) {
417
+ selectTable.value.toggleRowSelection(matchedRow, true);
418
+ }
419
+ });
420
+ } else {
421
+ const matchedRow = state.tableData?.find(
422
+ (item) => item[props.keywords.value] === selectDefaultLabel.value
423
+ );
424
+ if (matchedRow) {
425
+ selectTable.value.setCurrentRow(matchedRow);
426
+ }
427
+ }
428
+ });
429
+ };
430
+ const copyToClipboard = async (text) => {
431
+ if (typeof text !== "string" || text.trim() === "") {
432
+ throw new Error("\u65E0\u6548\u7684\u590D\u5236\u5185\u5BB9");
433
+ }
434
+ try {
435
+ await navigator.clipboard.writeText(text);
436
+ } catch (error) {
437
+ if (error.name === "NotAllowedError" || error.name === "SecurityError") {
438
+ throw new Error("\u590D\u5236\u5931\u8D25\uFF1A\u6743\u9650\u88AB\u62D2\u7EDD");
439
+ } else {
440
+ throw new Error("\u590D\u5236\u5931\u8D25\uFF1A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u6216\u53D1\u751F\u672A\u77E5\u9519\u8BEF");
441
+ }
442
+ }
443
+ };
444
+ const showMessage = (type, message) => {
445
+ if (type === "success") {
446
+ ElMessage.success(message);
447
+ } else {
448
+ ElMessage.error(message);
449
+ }
450
+ };
451
+ const cellDblclick = async (row, column) => {
452
+ const value = row[column.property];
453
+ try {
454
+ await copyToClipboard(String(value));
455
+ showMessage("success", "\u590D\u5236\u6210\u529F");
456
+ } catch (error) {
457
+ showMessage("error", error.message || "\u590D\u5236\u5931\u8D25");
458
+ }
459
+ };
460
+ const radioChangeHandle = (event, row, index) => {
461
+ event.preventDefault();
462
+ if (row.isRadioDisabled) return;
463
+ isDefaultSelectVal.value = false;
464
+ radioClick(row, index);
465
+ };
466
+ const isForbidden = () => {
467
+ forbidden.value = false;
468
+ setTimeout(() => {
469
+ forbidden.value = true;
470
+ }, 0);
471
+ };
472
+ const radioClick = (row, index) => {
473
+ forbidden.value = !forbidden.value;
474
+ if (radioVal.value === index) {
475
+ if (!props.radioSameIsCancel) return;
476
+ clear();
477
+ } else {
478
+ updateState(row, index);
479
+ }
480
+ if (props.isExpanded && state.defaultValue) {
481
+ selectDefaultLabel.value = state.defaultValue[props.keywords.label] || "";
482
+ selectRef.value.expanded = true;
483
+ } else {
484
+ blur();
485
+ }
486
+ };
487
+ const updateState = (row, index) => {
488
+ isForbidden();
489
+ radioVal.value = index;
490
+ state.defaultValue = row;
491
+ emits("radioChange", row, row[props.keywords.value]);
492
+ };
493
+ const rowClick = async (row) => {
494
+ if (row.isRadioDisabled) return;
495
+ if (!props.rowClickRadio) return;
496
+ if (!props.multiple) {
497
+ const rowIndex = props.table?.data.findIndex(
498
+ (item) => item[props.keywords.value] === row[props.keywords.value]
499
+ );
500
+ if (rowIndex !== -1) {
501
+ isDefaultSelectVal.value = false;
502
+ await radioClick(row, rowIndex + 1);
503
+ if (radioVal.value) {
504
+ isRadio.value = true;
505
+ } else {
506
+ isRadio.value = false;
507
+ }
508
+ }
509
+ }
510
+ };
511
+ const removeTag = (tag) => {
512
+ const row = state.tableData.find(
513
+ (item) => item[props.keywords.label] === tag
514
+ );
515
+ row && selectTable.value.toggleRowSelection(row, false);
516
+ isDefaultSelectVal.value = true;
517
+ };
518
+ const clear = () => {
519
+ const resetDefaultState = () => {
520
+ isDefaultSelectVal.value = true;
521
+ state.defaultSelectValue = [];
522
+ state.defaultValue = props.multiple ? [] : null;
523
+ };
524
+ if (!selectTable.value) {
525
+ console.warn("selectTable.value is not initialized");
526
+ return;
527
+ }
528
+ if (props.multiple === true) {
529
+ try {
530
+ selectTable.value.clearSelection();
531
+ } catch (error) {
532
+ console.error("Failed to clear selection:", error);
533
+ }
534
+ resetDefaultState();
535
+ } else if (props.multiple === false) {
536
+ try {
537
+ selectTable.value.setCurrentRow(-1);
538
+ } catch (error) {
539
+ console.error("Failed to set current row:", error);
540
+ }
541
+ nowIndex.value = -1;
542
+ radioVal.value = "";
543
+ forbidden.value = false;
544
+ selectDefaultLabel.value = null;
545
+ resetDefaultState();
546
+ emits("radioChange", null, null);
547
+ } else {
548
+ console.warn("Invalid value for props.multiple:", props.multiple);
549
+ }
550
+ };
551
+ const blur = () => {
552
+ selectRef.value.blur();
553
+ };
554
+ const focus = () => {
555
+ selectRef.value.focus();
556
+ };
557
+ const isShowSlot = (name) => {
558
+ return Object.keys(slots).includes(name);
559
+ };
560
+ __expose({
561
+ focus,
562
+ blur,
563
+ clear,
564
+ props,
565
+ state,
566
+ tQueryConditionRef,
567
+ selectRef,
568
+ selectTable
569
+ });
570
+ return (_ctx, _cache) => {
571
+ const _component_el_input = resolveComponent("el-input");
572
+ const _component_el_button = resolveComponent("el-button");
573
+ const _component_el_table_column = resolveComponent("el-table-column");
574
+ const _component_el_radio = resolveComponent("el-radio");
575
+ const _component_el_table = resolveComponent("el-table");
576
+ const _component_el_pagination = resolveComponent("el-pagination");
577
+ const _component_el_select = resolveComponent("el-select");
578
+ const _directive_loading = resolveDirective("loading");
579
+ return _ctx.isShowInput ? (openBlock(), createBlock(_component_el_input, mergeProps({
580
+ key: 0,
581
+ modelValue: unref(selectInputVal),
582
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(selectInputVal) ? selectInputVal.value = $event : selectInputVal = $event)
583
+ }, { clearable: true, ..._ctx.inputAttr }, {
584
+ onFocus: _cache[1] || (_cache[1] = () => emits("input-focus")),
585
+ onBlur: _cache[2] || (_cache[2] = () => emits("input-blur")),
586
+ onClick: _cache[3] || (_cache[3] = () => emits("input-click")),
587
+ onClear: _cache[4] || (_cache[4] = () => emits("input-clear")),
588
+ style: { width: _ctx.inputWidth ? `${_ctx.inputWidth}px` : "100%" }
589
+ }), createSlots({
590
+ _: 2
591
+ /* DYNAMIC */
592
+ }, [
593
+ renderList(unref(slots), (_index, name) => {
594
+ return {
595
+ name,
596
+ fn: withCtx((data) => [
597
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(data)))
598
+ ])
599
+ };
600
+ })
601
+ ]), 1040, ["modelValue", "style"])) : withDirectives((openBlock(), createBlock(_component_el_select, mergeProps({
602
+ key: 1,
603
+ ref_key: "selectRef",
604
+ ref: selectRef,
605
+ "model-value": _ctx.multiple ? state.defaultValue : selectDefaultLabel.value,
606
+ "popper-class": "fm-select-table",
607
+ style: { width: _ctx.selectWidth ? `${_ctx.selectWidth}px` : "100%" },
608
+ "value-key": _ctx.keywords.value,
609
+ "filter-method": _ctx.filterMethod || filterMethodHandle,
610
+ onVisibleChange: visibleChange,
611
+ onRemoveTag: removeTag,
612
+ onClear: clear,
613
+ onKeyup: selectKeyup
614
+ }, { clearable: true, multiple: _ctx.multiple, filterable: _ctx.filterable, remote: _ctx.remote, remoteMethod: _ctx.remoteMethod, ..._ctx.$attrs }), {
615
+ empty: withCtx(() => [
616
+ createElementVNode(
617
+ "div",
618
+ {
619
+ class: "fm-table-select__table",
620
+ style: normalizeStyle({ width: _ctx.tableWidth ? `${_ctx.tableWidth}px` : "100%" })
621
+ },
622
+ [
623
+ _ctx.isShowQuery ? (openBlock(), createElementBlock("div", _hoisted_1, [
624
+ createVNode(
625
+ _sfc_main$1,
626
+ mergeProps({
627
+ ref_key: "tQueryConditionRef",
628
+ ref: tQueryConditionRef,
629
+ boolEnter: false,
630
+ onHandleEvent: handleEvent
631
+ }, _ctx.$attrs),
632
+ createSlots({
633
+ _: 2
634
+ /* DYNAMIC */
635
+ }, [
636
+ renderList(unref(slots), (_index, name) => {
637
+ return {
638
+ name,
639
+ fn: withCtx((data) => [
640
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(data)))
641
+ ])
642
+ };
643
+ }),
644
+ _ctx.isShowBlurBtn ? {
645
+ name: "querybar",
646
+ fn: withCtx(() => [
647
+ createVNode(
648
+ _component_el_button,
649
+ mergeProps({ type: "danger", ..._ctx.btnBind }, { onClick: blur }),
650
+ {
651
+ default: withCtx(() => [
652
+ createTextVNode(
653
+ toDisplayString(_ctx.btnBind.btnTxt || "\u5173\u95ED\u4E0B\u62C9\u6846"),
654
+ 1
655
+ /* TEXT */
656
+ )
657
+ ]),
658
+ _: 1
659
+ /* STABLE */
660
+ },
661
+ 16
662
+ /* FULL_PROPS */
663
+ ),
664
+ renderSlot(_ctx.$slots, "querybar")
665
+ ]),
666
+ key: "0"
667
+ } : void 0
668
+ ]),
669
+ 1040
670
+ /* FULL_PROPS, DYNAMIC_SLOTS */
671
+ )
672
+ ])) : createCommentVNode("v-if", true),
673
+ createElementVNode(
674
+ "div",
675
+ {
676
+ class: "header_wrap",
677
+ style: normalizeStyle({ paddingBottom: isShowSlot("toolbar") ? "10px" : 0 })
678
+ },
679
+ [
680
+ renderSlot(_ctx.$slots, "toolbar")
681
+ ],
682
+ 4
683
+ /* STYLE */
684
+ ),
685
+ withDirectives((openBlock(), createElementBlock("div", {
686
+ class: "table_content",
687
+ "element-loading-text": _ctx.loadingTxt
688
+ }, [
689
+ createVNode(_component_el_table, mergeProps({
690
+ ref_key: "selectTable",
691
+ ref: selectTable,
692
+ data: state.tableData,
693
+ class: {
694
+ radioStyle: !_ctx.multiple,
695
+ highlightCurrentRow: isRadio.value,
696
+ keyUpStyle: _ctx.isKeyup,
697
+ fm_select_table_multiple: _ctx.useVirtual && _ctx.multiple,
698
+ fm_select_table_radio: _ctx.useVirtual && !_ctx.multiple
699
+ },
700
+ "row-class-name": getRowClassName,
701
+ "row-key": getRowKey,
702
+ onRowClick: rowClick,
703
+ onCellDblclick: cellDblclick,
704
+ onSelectionChange: handlesSelectionChange
705
+ }, { border: _ctx.border, size: _ctx.tableSize, "highlight-current-row": true, ..._ctx.$attrs }), {
706
+ default: withCtx(() => [
707
+ _ctx.multiple ? (openBlock(), createBlock(_component_el_table_column, {
708
+ key: 0,
709
+ type: "selection",
710
+ width: _ctx.tableSize === "large" ? 65 : 55,
711
+ align: _ctx.align || "center",
712
+ "reserve-selection": _ctx.reserveSelection,
713
+ selectable: _ctx.selectable,
714
+ fixed: _ctx.multipleFixed
715
+ }, null, 8, ["width", "align", "reserve-selection", "selectable", "fixed"])) : createCommentVNode("v-if", true),
716
+ !_ctx.multiple && isShowFirstRadio.value ? (openBlock(), createBlock(_component_el_table_column, {
717
+ key: 1,
718
+ type: "radio",
719
+ width: _ctx.tableSize === "large" ? 65 : 55,
720
+ label: _ctx.radioTxt,
721
+ fixed: _ctx.radioFixed,
722
+ align: _ctx.align || "center"
723
+ }, {
724
+ default: withCtx((scope) => [
725
+ createVNode(_component_el_radio, {
726
+ modelValue: radioVal.value,
727
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => radioVal.value = $event),
728
+ label: scope.$index + 1,
729
+ disabled: scope.row.isRadioDisabled,
730
+ onClick: withModifiers(($event) => radioChangeHandle($event, scope.row, scope.$index + 1), ["stop"])
731
+ }, null, 8, ["modelValue", "label", "disabled", "onClick"])
732
+ ]),
733
+ _: 1
734
+ /* STABLE */
735
+ }, 8, ["width", "label", "fixed", "align"])) : createCommentVNode("v-if", true),
736
+ (openBlock(true), createElementBlock(
737
+ Fragment,
738
+ null,
739
+ renderList(_ctx.columns, (item, index) => {
740
+ return openBlock(), createBlock(_component_el_table_column, mergeProps({
741
+ key: index + "i",
742
+ type: item.type,
743
+ label: item.label,
744
+ prop: item.prop,
745
+ "min-width": item["min-width"] || item.minWidth,
746
+ width: item.width,
747
+ align: item.align || _ctx.align || "center",
748
+ fixed: item.fixed
749
+ }, { ref_for: true }, { "show-overflow-tooltip": true, ...item.bind }), {
750
+ default: withCtx((scope) => [
751
+ createCommentVNode(" render\u65B9\u5F0F "),
752
+ item.render ? (openBlock(), createBlock(_sfc_main$2, {
753
+ key: 0,
754
+ column: item,
755
+ row: scope.row,
756
+ render: item.render,
757
+ index: scope.$index
758
+ }, null, 8, ["column", "row", "render", "index"])) : createCommentVNode("v-if", true),
759
+ createCommentVNode(" \u4F5C\u7528\u57DF\u63D2\u69FD "),
760
+ item.slotName ? renderSlot(_ctx.$slots, item.slotName, {
761
+ key: 1,
762
+ scope
763
+ }) : createCommentVNode("v-if", true),
764
+ !item.render && !item.slotName ? (openBlock(), createElementBlock("div", _hoisted_3, [
765
+ createElementVNode(
766
+ "span",
767
+ null,
768
+ toDisplayString(scope.row[item.prop]),
769
+ 1
770
+ /* TEXT */
771
+ )
772
+ ])) : createCommentVNode("v-if", true)
773
+ ]),
774
+ _: 2
775
+ /* DYNAMIC */
776
+ }, 1040, ["type", "label", "prop", "min-width", "width", "align", "fixed"]);
777
+ }),
778
+ 128
779
+ /* KEYED_FRAGMENT */
780
+ )),
781
+ renderSlot(_ctx.$slots, "default")
782
+ ]),
783
+ _: 3
784
+ /* FORWARDED */
785
+ }, 16, ["data", "class"]),
786
+ _ctx.isShowPagination ? (openBlock(), createElementBlock("div", _hoisted_4, [
787
+ createVNode(_component_el_pagination, mergeProps({
788
+ "current-page": _ctx.table.currentPage,
789
+ "onUpdate:currentPage": _cache[6] || (_cache[6] = ($event) => _ctx.table.currentPage = $event),
790
+ "page-size": _ctx.table.pageSize,
791
+ "onUpdate:pageSize": _cache[7] || (_cache[7] = ($event) => _ctx.table.pageSize = $event),
792
+ onCurrentChange: handlesCurrentChange,
793
+ layout: "total, prev, pager, next, jumper",
794
+ "pager-count": _ctx.table["pager-count"] || 5,
795
+ total: _ctx.table.total
796
+ }, { background: true, size: _ctx.paginationSize || "small", ..._ctx.$attrs }), null, 16, ["current-page", "page-size", "pager-count", "total"])
797
+ ])) : createCommentVNode("v-if", true)
798
+ ], 8, _hoisted_2)), [
799
+ [_directive_loading, _ctx.tableLoading]
800
+ ]),
801
+ renderSlot(_ctx.$slots, "footer")
802
+ ],
803
+ 4
804
+ /* STYLE */
805
+ )
806
+ ]),
807
+ _: 3
808
+ /* FORWARDED */
809
+ }, 16, ["model-value", "style", "value-key", "filter-method"])), [
810
+ [unref(vClickOutside), closeBox]
811
+ ]);
812
+ };
813
+ }
814
+ });
815
+
816
+ export { _sfc_main as default };