@fmdevui/fm-dev 1.0.97 → 1.0.98

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 (137) 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 +2 -1
  17. package/es/core/hook/useVxeTableOptionsHook.d.ts +16 -8
  18. package/es/core/ui/components/fmtree/index.vue.d.ts +1 -2
  19. package/es/core/ui/components/index.d.ts +334 -25
  20. package/es/core/ui/components/inpttable/index.vue.d.ts +458 -0
  21. package/es/core/ui/components/querycondition/index.vue.d.ts +1 -1
  22. package/es/core/ui/components/selecttable/index.vue.d.ts +6 -6
  23. package/es/index.mjs +1 -1
  24. package/es/{defaults.css → make-installer.css} +3 -0
  25. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/de.mjs +51 -8
  26. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/en.mjs +9 -3
  27. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/es.mjs +52 -3
  28. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/fi.mjs +51 -3
  29. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/fr.mjs +14 -4
  30. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/id.mjs +49 -3
  31. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/it.mjs +52 -3
  32. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ja.mjs +47 -4
  33. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ko.mjs +20 -2
  34. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ms.mjs +13 -5
  35. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/no.mjs +12 -5
  36. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/pl.mjs +47 -5
  37. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/pt.mjs +51 -3
  38. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ru.mjs +47 -5
  39. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/th.mjs +47 -4
  40. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/vi.mjs +47 -4
  41. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/zh-cn.mjs +12 -5
  42. package/es/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/zh-tw.mjs +9 -2
  43. package/es/packages/core/index.mjs +1 -1
  44. package/es/packages/core/locales/index.mjs +18 -18
  45. package/es/packages/core/ui/components/index.mjs +3 -1
  46. package/es/packages/core/ui/components/inpttable/index.vue.mjs +8 -0
  47. package/es/packages/core/ui/components/inpttable/index.vue2.mjs +716 -0
  48. package/es/packages/core/ui/components/inpttable/index.vue3.mjs +3 -0
  49. package/es/packages/core/ui/components/inpttable/index.vue4.mjs +3 -0
  50. package/index.css +129 -0
  51. package/index.js +1370 -94
  52. package/index.min.css +3 -0
  53. package/index.min.js +48 -27
  54. package/index.min.mjs +48 -27
  55. package/index.mjs +1371 -96
  56. package/lib/_virtual/de-DE.js +1 -1
  57. package/lib/_virtual/en-US.js +1 -1
  58. package/lib/_virtual/es-ES.js +1 -1
  59. package/lib/_virtual/fr-FR.js +1 -1
  60. package/lib/_virtual/it-IT.js +1 -1
  61. package/lib/_virtual/ja-JP.js +1 -1
  62. package/lib/_virtual/ko-KR.js +1 -1
  63. package/lib/_virtual/nb-NO.js +1 -1
  64. package/lib/_virtual/pt-BR.js +1 -1
  65. package/lib/_virtual/ru-RU.js +1 -1
  66. package/lib/_virtual/th-TH.js +1 -1
  67. package/lib/_virtual/vi-VN.js +1 -1
  68. package/lib/_virtual/zh-CN.js +1 -1
  69. package/lib/_virtual/zh-HK.js +1 -1
  70. package/lib/_virtual/zh-TW.js +1 -1
  71. package/lib/component.js +1 -0
  72. package/lib/core/hook/useVxeTableOptionsHook.d.ts +16 -8
  73. package/lib/core/ui/components/fmtree/index.vue.d.ts +1 -2
  74. package/lib/core/ui/components/index.d.ts +334 -25
  75. package/lib/core/ui/components/inpttable/index.vue.d.ts +458 -0
  76. package/lib/core/ui/components/querycondition/index.vue.d.ts +1 -1
  77. package/lib/core/ui/components/selecttable/index.vue.d.ts +6 -6
  78. package/lib/index.css +3 -0
  79. package/lib/index.js +1 -0
  80. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/de.js +51 -8
  81. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/en.js +9 -3
  82. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/es.js +52 -3
  83. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/fi.js +51 -3
  84. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/fr.js +14 -4
  85. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/id.js +49 -3
  86. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/it.js +52 -3
  87. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ja.js +47 -4
  88. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ko.js +20 -2
  89. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ms.js +13 -5
  90. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/no.js +12 -5
  91. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/pl.js +47 -5
  92. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/pt.js +51 -3
  93. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/ru.js +47 -5
  94. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/th.js +47 -4
  95. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/vi.js +47 -4
  96. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/zh-cn.js +12 -5
  97. package/lib/node_modules/.pnpm/{element-plus@2.11.1_vue@3.5.22_typescript@5.8.3_ → element-plus@2.11.7_vue@3.5.22_typescript@5.8.3_}/node_modules/element-plus/es/locale/lang/zh-tw.js +9 -2
  98. package/lib/packages/core/index.js +1 -0
  99. package/lib/packages/core/locales/index.js +18 -18
  100. package/lib/packages/core/ui/components/index.js +3 -0
  101. package/lib/packages/core/ui/components/inpttable/index.vue.js +12 -0
  102. package/lib/packages/core/ui/components/inpttable/index.vue2.js +720 -0
  103. package/lib/packages/core/ui/components/inpttable/index.vue3.js +7 -0
  104. package/lib/packages/core/ui/components/inpttable/index.vue4.js +7 -0
  105. package/package.json +1 -1
  106. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/de-DE.mjs +0 -0
  107. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/en-US.mjs +0 -0
  108. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/es-ES.mjs +0 -0
  109. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/fr-FR.mjs +0 -0
  110. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/it-IT.mjs +0 -0
  111. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ja-JP.mjs +0 -0
  112. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ko-KR.mjs +0 -0
  113. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/nb-NO.mjs +0 -0
  114. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/pt-BR.mjs +0 -0
  115. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ru-RU.mjs +0 -0
  116. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/th-TH.mjs +0 -0
  117. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/vi-VN.mjs +0 -0
  118. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CHT.mjs +0 -0
  119. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CN.mjs +0 -0
  120. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-HK.mjs +0 -0
  121. /package/es/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-TW.mjs +0 -0
  122. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/de-DE.js +0 -0
  123. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/en-US.js +0 -0
  124. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/es-ES.js +0 -0
  125. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/fr-FR.js +0 -0
  126. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/it-IT.js +0 -0
  127. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ja-JP.js +0 -0
  128. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ko-KR.js +0 -0
  129. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/nb-NO.js +0 -0
  130. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/pt-BR.js +0 -0
  131. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/ru-RU.js +0 -0
  132. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/th-TH.js +0 -0
  133. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/vi-VN.js +0 -0
  134. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CHT.js +0 -0
  135. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-CN.js +0 -0
  136. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-HK.js +0 -0
  137. /package/lib/node_modules/.pnpm/{vxe-table@4.17.4_vue@3.5.22_typescript@5.8.3_ → vxe-table@4.17.7_vue@3.5.22_typescript@5.8.3_}/node_modules/vxe-table/lib/locale/lang/zh-TW.js +0 -0
@@ -0,0 +1,716 @@
1
+ import { defineComponent, ref, reactive, computed, onMounted, onUnmounted, watch, resolveComponent, resolveDirective, createElementBlock, openBlock, Fragment, createCommentVNode, createVNode, mergeProps, withCtx, withDirectives, renderList, createBlock, withModifiers, renderSlot, createTextVNode } from 'vue';
2
+ import { ElMessage } from 'element-plus';
3
+
4
+ const _hoisted_1 = { class: "w100 selector-loading-container" };
5
+ var _sfc_main = /* @__PURE__ */ defineComponent({
6
+ ...{
7
+ name: "Fminputtable"
8
+ },
9
+ __name: "index",
10
+ props: {
11
+ /**
12
+ * 使用示例:
13
+ *
14
+ * 单选模式:
15
+ * <pulldown-selecter
16
+ * v-model="state.ruleForm.userId"
17
+ * :defaultOptions="[ id: state.ruleForm.userId, realName: state.ruleForm.realName ]"
18
+ * :fetch-options="handleSysUserTable"
19
+ * :queryParams="state.queryParams"
20
+ * :dropdown-width="dropdownWidth"
21
+ * :placeholder="placeholder"
22
+ * :label-prop="realName"
23
+ * :value-prop="id"
24
+ * @@change="handelChange"
25
+ * filterable
26
+ * clearable
27
+ * class="w100"
28
+ * >
29
+ *
30
+ * 多选模式:
31
+ * <pulldown-selecter
32
+ * v-model="state.ruleForm.userIds"
33
+ * :defaultOptions="state.ruleForm.defaultUsers"
34
+ * :fetch-options="handleSysUserTable"
35
+ * :queryParams="state.queryParams"
36
+ * :dropdown-width="dropdownWidth"
37
+ * :placeholder="placeholder"
38
+ * :label-prop="realName"
39
+ * :value-prop="id"
40
+ * @@change="handelChange"
41
+ * multiple
42
+ * filterable
43
+ * clearable
44
+ * class="w100"
45
+ * >
46
+ *
47
+ * 查询条件表单插槽:
48
+ * <template #queryForm="{ query, handleQuery }">
49
+ * <el-col class="mb5" :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
50
+ * <el-form-item label="姓名" prop="realName">
51
+ * <el-input v-model="query.realName" placeholder="请输入姓名" class="w100" clearable @keydown.enter.native="handleQuery()" />
52
+ * </el-form-item>
53
+ * </el-col>
54
+ * <el-col class="mb5" :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
55
+ * <el-form-item label="电话" prop="phone">
56
+ * <el-input v-model="query.phone" placeholder="请输入电话" class="w100" clearable @keydown.enter.native="handleQuery()" />
57
+ * </el-form-item>
58
+ * </el-col>
59
+ * </template>
60
+ *
61
+ * 表格列插槽:
62
+ * <template #columns>
63
+ * <el-table-column prop="realName" label="姓名" />
64
+ * <el-table-column prop="account" label="账号" width="160"/ >
65
+ * <el-table-column prop="idCardNo" label="身份证号" width="140" />
66
+ * <el-table-column prop="cardNo" label="卡号" width="140" />
67
+ * <el-table-column prop="gender" label="性别" width="85">
68
+ * <template #default="{ row }">
69
+ * <g-sys-dict v-model="row.gender" code="GenderEnum" />
70
+ * </template>
71
+ * </el-table-column>
72
+ * <el-table-column prop="birthday" label="生日">
73
+ * <template #default="{ row, $index }">
74
+ * {{ commonFun.dateFormatYMD(row, $index, row.birthday) }}
75
+ * </template>
76
+ * </el-table-column>
77
+ * <el-table-column prop="phone" label="联系电话" width="100" />
78
+ * </template>
79
+ * </pulldown-selecter>
80
+ */
81
+ // v-model绑定的值,支持字符串、数字、数组或null类型
82
+ modelValue: [String, Number, Array, null],
83
+ /**
84
+ * 获取表格数据的异步方法(必填)
85
+ * @example
86
+ * const handleSysUserTable = (params: any) => {
87
+ * return getAPI(SysUserApi).apiSysUserPagePost(params);
88
+ * };
89
+ */
90
+ fetchOptions: {
91
+ type: Function,
92
+ // 函数类型
93
+ required: true
94
+ // 必填项
95
+ },
96
+ /**
97
+ * 选中记录后绑定值的属性名
98
+ * 默认为'id',即选中某行后,会取该行数据的id字段作为值
99
+ */
100
+ valueProp: {
101
+ type: String,
102
+ default: "id"
103
+ },
104
+ /**
105
+ * 选中记录后显示文本的属性名
106
+ * 默认为'name',即在下拉框中显示的文本取自该字段
107
+ */
108
+ labelProp: {
109
+ type: String,
110
+ default: "name"
111
+ },
112
+ /**
113
+ * 显示值的格式化方法
114
+ * 可以自定义选中后在输入框中显示的文本格式
115
+ * @example
116
+ * :labelFormat="(item: any) => `${item.realName}(${item.account})`"
117
+ */
118
+ labelFormat: {
119
+ type: Function,
120
+ default: (item) => void 0
121
+ // 默认不进行格式化
122
+ },
123
+ /**
124
+ * 默认查询条件的属性名
125
+ * 在输入框中输入的关键词会赋值给该字段
126
+ */
127
+ keywordProp: {
128
+ type: String,
129
+ default: "keyword"
130
+ },
131
+ /**
132
+ * 下拉框的宽度
133
+ */
134
+ dropdownWidth: {
135
+ type: String,
136
+ default: "100%"
137
+ },
138
+ /**
139
+ * 下拉框的高度
140
+ */
141
+ dropdownHeight: {
142
+ type: String,
143
+ default: "550px"
144
+ },
145
+ /**
146
+ * 输入框的占位符文本
147
+ */
148
+ placeholder: {
149
+ type: String,
150
+ default: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD"
151
+ },
152
+ /**
153
+ * 默认选项,用于回显已选中的数据
154
+ * 当数据不在当前页时,通过该属性提供数据进行回显
155
+ */
156
+ defaultOptions: {
157
+ type: Array,
158
+ default: []
159
+ },
160
+ /**
161
+ * 查询表单的高度偏移量
162
+ * 用于计算表格高度时减去查询表单占用的高度
163
+ */
164
+ queryHeightOffset: {
165
+ type: Number,
166
+ default: 35
167
+ },
168
+ /**
169
+ * 查询表单标签的宽度
170
+ */
171
+ queryLabelWidth: {
172
+ type: String
173
+ },
174
+ /**
175
+ * 查询参数对象
176
+ * 父组件传入的额外查询条件,会与组件内部的查询条件合并
177
+ */
178
+ queryParams: {
179
+ type: Object,
180
+ default: () => {
181
+ return {};
182
+ }
183
+ },
184
+ /**
185
+ * 是否显示分页组件
186
+ */
187
+ pagination: {
188
+ type: Boolean,
189
+ default: true
190
+ },
191
+ /**
192
+ * 是否禁用组件
193
+ */
194
+ disabled: Boolean,
195
+ /**
196
+ * 是否多选模式
197
+ */
198
+ multiple: Boolean,
199
+ /**
200
+ * 是否可清空
201
+ */
202
+ clearable: Boolean
203
+ },
204
+ emits: ["update:modelValue", "change"],
205
+ setup(__props, { expose: __expose, emit: __emit }) {
206
+ const CONSTANTS = {
207
+ MAX_PAGE_SIZE: 99999,
208
+ // 不分页时的最大页面大小
209
+ DROPDOWN_DELAY: 1e3,
210
+ // 下拉框打开后的延迟时间(毫秒)
211
+ TABLE_HEIGHT_OFFSET: 175
212
+ // 表格高度基础偏移量(像素)
213
+ };
214
+ const props = __props;
215
+ const tableRef = ref();
216
+ const selectRef = ref();
217
+ const emit = __emit;
218
+ const state = reactive({
219
+ // 当前选中的值,单选时为字符串/数字,多选时为数组
220
+ selectedValues: "",
221
+ // 表格查询参数对象
222
+ tableQuery: {
223
+ [props.keywordProp]: "",
224
+ // 动态属性名,默认为'keyword',用于存储搜索关键词
225
+ page: props.queryParams.page,
226
+ // 当前页码,从父组件传入
227
+ pageSize: props.queryParams?.pageSize
228
+ // 每页显示数量,从父组件传入
229
+ },
230
+ // 表格数据对象
231
+ tableData: {
232
+ items: [],
233
+ // 当前页的数据列表
234
+ total: 0
235
+ // 总数据条数
236
+ },
237
+ // 默认选项数组,用于回显
238
+ defaultOptions: props.defaultOptions,
239
+ // 加载状态标识
240
+ loading: false,
241
+ // 选中的行数据数组,用于表格高亮显示和跨页选择
242
+ selectedRows: [],
243
+ // 查询执行标识,防止重复执行
244
+ isQuerying: false,
245
+ // 下拉框是否刚打开的标识(用于防止remoteMethod在打开时重复查询)
246
+ justOpened: false
247
+ });
248
+ const currentRowIndex = ref(-1);
249
+ const tableHeight = computed(() => {
250
+ const baseHeight = `${props.dropdownHeight} - ${CONSTANTS.TABLE_HEIGHT_OFFSET}px`;
251
+ const queryOffset = props.queryHeightOffset > 0 ? ` - ${props.queryHeightOffset}px` : "";
252
+ return `calc(${baseHeight}${queryOffset})`;
253
+ });
254
+ const mergeSelectedRows = (values) => {
255
+ const currentPageRows = state.tableData.items.filter(
256
+ (item) => values.includes(item[props.valueProp])
257
+ );
258
+ const previousRows = state.selectedRows.filter(
259
+ (item) => values.includes(item[props.valueProp])
260
+ );
261
+ const allRows = [...currentPageRows];
262
+ previousRows.forEach((row) => {
263
+ if (!allRows.find((item) => item[props.valueProp] === row[props.valueProp])) {
264
+ allRows.push(row);
265
+ }
266
+ });
267
+ return allRows;
268
+ };
269
+ const isRowSelected = (row) => {
270
+ if (!row || row[props.valueProp] === void 0 || row[props.valueProp] === null) {
271
+ return false;
272
+ }
273
+ if (props.multiple) {
274
+ if (!Array.isArray(state.selectedValues)) {
275
+ return false;
276
+ }
277
+ return state.selectedValues.some((val) => val === row[props.valueProp]);
278
+ } else {
279
+ return state.selectedValues !== null && state.selectedValues !== void 0 && state.selectedValues === row[props.valueProp];
280
+ }
281
+ };
282
+ const updateSelectedRows = () => {
283
+ if (props.multiple) {
284
+ const selectedValues = Array.isArray(state.selectedValues) ? state.selectedValues : [];
285
+ state.selectedRows = mergeSelectedRows(selectedValues);
286
+ } else {
287
+ const selectedRow = state.tableData.items.find(
288
+ (item) => item[props.valueProp] === state.selectedValues
289
+ );
290
+ state.selectedRows = selectedRow ? [selectedRow] : [];
291
+ }
292
+ };
293
+ const handleKeydown = (e) => {
294
+ const tableData = state.tableData?.items || [];
295
+ if (!tableData.length) return;
296
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
297
+ e.preventDefault();
298
+ const direction = e.key === "ArrowDown" ? 1 : -1;
299
+ const newIndex = Math.max(0, Math.min(currentRowIndex.value + direction, tableData.length - 1));
300
+ if (newIndex !== currentRowIndex.value) {
301
+ currentRowIndex.value = newIndex;
302
+ const row = tableData[newIndex];
303
+ tableRef.value?.setCurrentRow(row);
304
+ }
305
+ } else if (e.key === "Enter") {
306
+ const row = tableData[currentRowIndex.value];
307
+ handleChange(row);
308
+ }
309
+ };
310
+ const handleSizeChange = (pageSize) => {
311
+ state.loading = true;
312
+ state.tableQuery.pageSize = pageSize;
313
+ state.tableQuery.page = 1;
314
+ executeQuery();
315
+ };
316
+ const handleCurrentChange = (page) => {
317
+ state.loading = true;
318
+ state.tableQuery.page = page;
319
+ executeQuery();
320
+ };
321
+ onMounted(() => {
322
+ selectRef.value?.inputRef?.addEventListener("keydown", handleKeydown);
323
+ });
324
+ onUnmounted(() => {
325
+ selectRef.value?.inputRef?.removeEventListener("keydown", handleKeydown);
326
+ });
327
+ const executeQuery = () => {
328
+ if (state.isQuerying) {
329
+ return;
330
+ }
331
+ state.isQuerying = true;
332
+ state.loading = true;
333
+ const finalParams = Object.assign({}, props.queryParams, state.tableQuery);
334
+ props.fetchOptions(finalParams).then((res) => {
335
+ const result = res.data?.result;
336
+ state.tableData.items = result?.items ?? [];
337
+ state.tableData.total = result?.total ?? 0;
338
+ state.loading = false;
339
+ state.isQuerying = false;
340
+ updateSelectedRows();
341
+ }).catch((error) => {
342
+ ElMessage.error("\u6570\u636E\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
343
+ state.tableData.items = [];
344
+ state.tableData.total = 0;
345
+ state.loading = false;
346
+ state.isQuerying = false;
347
+ });
348
+ };
349
+ const resetQuery = () => {
350
+ state.loading = true;
351
+ const currentPageSize = state.tableQuery.pageSize;
352
+ state.tableQuery = Object.assign({}, props.queryParams, { pageSize: currentPageSize });
353
+ state.tableQuery.page = 1;
354
+ executeQuery();
355
+ };
356
+ const remoteMethod = (query) => {
357
+ if (state.justOpened) {
358
+ state.justOpened = false;
359
+ return;
360
+ }
361
+ if (state.isQuerying) {
362
+ return;
363
+ }
364
+ state.loading = true;
365
+ if (typeof query === "string") {
366
+ state.tableQuery[props.keywordProp] = query.trim();
367
+ state.tableQuery.page = 1;
368
+ }
369
+ executeQuery();
370
+ };
371
+ const handleQuery = (clearKeyword = false) => {
372
+ state.loading = true;
373
+ if (clearKeyword) {
374
+ state.tableQuery[props.keywordProp] = void 0;
375
+ const input = selectRef.value.$el.querySelector("input");
376
+ if (input) input.value = "";
377
+ }
378
+ state.tableQuery.page = 1;
379
+ remoteMethod(state.tableQuery);
380
+ };
381
+ const handleQueryClick = () => {
382
+ state.loading = true;
383
+ state.tableQuery.page = 1;
384
+ executeQuery();
385
+ };
386
+ const handleChange = (row) => {
387
+ if (!row || !row[props.valueProp]) return;
388
+ if (typeof row[props.valueProp] === "string") row[props.valueProp] = row[props.valueProp]?.trim();
389
+ setDefaultOptions([row]);
390
+ if (props.multiple) {
391
+ if (!Array.isArray(state.selectedValues)) {
392
+ state.selectedValues = [];
393
+ }
394
+ const currentValues = Array.isArray(state.selectedValues) ? [...state.selectedValues] : [];
395
+ const valueIndex = currentValues.indexOf(row[props.valueProp]);
396
+ if (valueIndex > -1) {
397
+ currentValues.splice(valueIndex, 1);
398
+ state.selectedRows = state.selectedRows.filter((item) => item[props.valueProp] !== row[props.valueProp]);
399
+ } else {
400
+ currentValues.push(row[props.valueProp]);
401
+ const existingRow = state.selectedRows.find((item) => item[props.valueProp] === row[props.valueProp]);
402
+ if (!existingRow) {
403
+ state.selectedRows.push(row);
404
+ }
405
+ }
406
+ state.selectedValues = currentValues;
407
+ } else {
408
+ state.selectedValues = row[props.valueProp];
409
+ state.selectedRows = [row];
410
+ }
411
+ emit("update:modelValue", state.selectedValues);
412
+ emit("change", state.selectedValues, props.multiple ? state.selectedRows : row);
413
+ if (!props.multiple) {
414
+ tableRef.value?.setCurrentRow(row);
415
+ selectRef.value?.blur();
416
+ }
417
+ };
418
+ const selectVisibleChange = (visible) => {
419
+ if (visible) {
420
+ state.loading = true;
421
+ state.justOpened = true;
422
+ const paginationParams = {
423
+ page: state.tableQuery.page,
424
+ // 保留当前页码
425
+ pageSize: state.tableQuery.pageSize,
426
+ // 保留分页大小
427
+ [props.keywordProp]: void 0
428
+ // 清空关键词(打开时不带搜索条件)
429
+ };
430
+ state.tableQuery = Object.assign({}, props.queryParams, paginationParams);
431
+ executeQuery();
432
+ setTimeout(() => {
433
+ state.justOpened = false;
434
+ }, CONSTANTS.DROPDOWN_DELAY);
435
+ } else {
436
+ state.loading = false;
437
+ state.justOpened = false;
438
+ }
439
+ };
440
+ const setDefaultOptions = (options) => {
441
+ const map = /* @__PURE__ */ new Map();
442
+ for (const item of [...options ?? [], ...state.defaultOptions]) {
443
+ const value = item?.[props.valueProp];
444
+ const label = props.labelFormat?.(item) || item?.[props.labelProp];
445
+ if (value && label) {
446
+ map.set(value, { [props.valueProp]: value, [props.labelProp]: label });
447
+ }
448
+ }
449
+ state.defaultOptions = Array.from(map.values());
450
+ };
451
+ const setQueryParams = (query, append = true) => {
452
+ if (!props.pagination) {
453
+ query = Object.assign(query, {
454
+ pageSize: CONSTANTS.MAX_PAGE_SIZE
455
+ });
456
+ }
457
+ query = Object.assign({}, props.queryParams, query ?? {});
458
+ state.tableQuery = append ? Object.assign(state.tableQuery, query) : query;
459
+ };
460
+ const setValue = (option, row) => {
461
+ option = Array.isArray(option) ? option : [option];
462
+ state.tableData.total = option.length;
463
+ state.tableData.items = option;
464
+ if (props.multiple) {
465
+ state.selectedValues = option.map((item) => item[props.valueProp]);
466
+ state.selectedRows = option;
467
+ emit("update:modelValue", state.selectedValues);
468
+ emit("change", state.selectedValues, option);
469
+ } else {
470
+ state.selectedValues = option[0]?.[props.valueProp];
471
+ state.selectedRows = option[0] ? [option[0]] : [];
472
+ emit("update:modelValue", state.selectedValues);
473
+ emit("change", state.selectedValues, option[0]);
474
+ }
475
+ };
476
+ const selectedValuesChange = (val) => {
477
+ state.selectedValues = val;
478
+ emit("update:modelValue", val);
479
+ if (props.multiple) {
480
+ const selectedValues = Array.isArray(val) ? val : [];
481
+ const allSelectedRows = mergeSelectedRows(selectedValues);
482
+ state.selectedRows = allSelectedRows;
483
+ emit("change", val, allSelectedRows);
484
+ } else {
485
+ const selectedRow = state.tableData?.items?.find((item) => item[props.valueProp] === val);
486
+ if (selectedRow) {
487
+ state.selectedRows = [selectedRow];
488
+ tableRef.value?.setCurrentRow(selectedRow);
489
+ } else {
490
+ state.selectedRows = [];
491
+ tableRef.value?.setCurrentRow(null);
492
+ }
493
+ emit("change", val, selectedRow);
494
+ }
495
+ };
496
+ const getRowStyle = ({ row }) => {
497
+ return isRowSelected(row) ? {
498
+ backgroundColor: "var(--el-color-primary-light-9)",
499
+ borderLeft: "3px solid var(--el-color-primary)"
500
+ } : {};
501
+ };
502
+ const getRowClassName = ({ row }) => {
503
+ return isRowSelected(row) ? "selected-row" : "";
504
+ };
505
+ watch(
506
+ () => props.modelValue,
507
+ // 监听的数据源
508
+ (val) => {
509
+ if (props.multiple) {
510
+ state.selectedValues = Array.isArray(val) ? val : val ? [val] : [];
511
+ } else {
512
+ state.selectedValues = val;
513
+ }
514
+ updateSelectedRows();
515
+ },
516
+ { immediate: true }
517
+ // 立即执行一次,确保初始化时也能正确设置
518
+ );
519
+ watch(
520
+ () => props.defaultOptions,
521
+ // 监听的数据源
522
+ (val) => setDefaultOptions(val),
523
+ // 调用设置方法
524
+ { immediate: true }
525
+ // 立即执行一次
526
+ );
527
+ __expose({
528
+ setValue,
529
+ // 设置选中值(用于程序化设置选中的数据)
530
+ handleQuery,
531
+ // 执行查询(用于手动触发查询,可选择是否清空关键词)
532
+ setQueryParams,
533
+ // 设置查询参数(用于动态修改查询条件)
534
+ setDefaultOptions
535
+ // 设置默认选项(用于手动添加回显选项)
536
+ });
537
+ return (_ctx, _cache) => {
538
+ const _component_el_option = resolveComponent("el-option");
539
+ const _component_el_button = resolveComponent("el-button");
540
+ const _component_el_button_group = resolveComponent("el-button-group");
541
+ const _component_el_row = resolveComponent("el-row");
542
+ const _component_el_form = resolveComponent("el-form");
543
+ const _component_el_empty = resolveComponent("el-empty");
544
+ const _component_el_table = resolveComponent("el-table");
545
+ const _component_el_pagination = resolveComponent("el-pagination");
546
+ const _component_el_select = resolveComponent("el-select");
547
+ const _directive_reclick = resolveDirective("reclick");
548
+ const _directive_loading = resolveDirective("loading");
549
+ return openBlock(), createElementBlock(
550
+ Fragment,
551
+ null,
552
+ [
553
+ createCommentVNode(" Element Plus\u4E0B\u62C9\u9009\u62E9\u5668\u7EC4\u4EF6 "),
554
+ createVNode(_component_el_select, mergeProps(_ctx.$attrs, {
555
+ modelValue: state.selectedValues,
556
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.selectedValues = $event),
557
+ clearable: __props.clearable,
558
+ multiple: __props.multiple,
559
+ disabled: __props.disabled,
560
+ placeholder: __props.placeholder,
561
+ "remote-method": remoteMethod,
562
+ onVisibleChange: selectVisibleChange,
563
+ onChange: selectedValuesChange,
564
+ style: { width: __props.dropdownWidth },
565
+ "popper-class": "popper-class",
566
+ ref_key: "selectRef",
567
+ ref: selectRef,
568
+ "remote-show-suffix": "",
569
+ filterable: "",
570
+ remote: ""
571
+ }), {
572
+ default: withCtx(() => [
573
+ createCommentVNode(" \u9690\u85CF\u7684\u9009\u9879\uFF0C\u7528\u4E8E\u5360\u4F4D\uFF0C\u9632\u6B62Element Plus\u8B66\u544A "),
574
+ createVNode(_component_el_option, {
575
+ style: { "width": "0", "height": "0" },
576
+ value: ""
577
+ }),
578
+ createCommentVNode(" \u9ED8\u8BA4\u9009\u9879\uFF0C\u7528\u4E8E\u56DE\u663E\u6570\u636E "),
579
+ createCommentVNode(" \u5F53\u9009\u4E2D\u7684\u6570\u636E\u4E0D\u5728\u5F53\u524D\u9875\u65F6\uFF0C\u901A\u8FC7\u8FD9\u4E9B\u9690\u85CF\u9009\u9879\u8FDB\u884C\u56DE\u663E "),
580
+ (openBlock(true), createElementBlock(
581
+ Fragment,
582
+ null,
583
+ renderList(state.defaultOptions ?? [], (item) => {
584
+ return openBlock(), createBlock(_component_el_option, {
585
+ key: item[__props.valueProp],
586
+ label: __props.labelFormat(item) || item[__props.labelProp],
587
+ value: item[__props.valueProp],
588
+ style: { "width": "0", "height": "0" }
589
+ }, null, 8, ["label", "value"]);
590
+ }),
591
+ 128
592
+ /* KEYED_FRAGMENT */
593
+ )),
594
+ createCommentVNode(" \u4E0B\u62C9\u6846\u5185\u5BB9\u533A\u57DF "),
595
+ createCommentVNode(' \r\n v-loading\u6307\u4EE4\uFF1A\u663E\u793A\u52A0\u8F7D\u52A8\u753B\r\n \u6CE8\u610F\uFF1Aloading\u72B6\u6001\u653E\u5728div\u4E0A\u800C\u4E0D\u662Ftable\u4E0A\uFF0C\u662F\u4E3A\u4E86\u8986\u76D6\u6574\u4E2A\u4E0B\u62C9\u533A\u57DF\uFF08\u5305\u62EC\u67E5\u8BE2\u8868\u5355\u548C\u5206\u9875\uFF09\r\n \u8FD9\u6837\u53EF\u4EE5\u907F\u514D\u67E5\u8BE2\u65F6\u95EA\u73B0"\u6682\u65E0\u6570\u636E"\u7684\u63D0\u793A\r\n '),
596
+ withDirectives((openBlock(), createElementBlock("div", _hoisted_1, [
597
+ createCommentVNode(" \u67E5\u8BE2\u8868\u5355\u533A\u57DF\uFF08\u4EC5\u5F53\u7236\u7EC4\u4EF6\u63D0\u4F9B\u4E86queryForm\u63D2\u69FD\u65F6\u663E\u793A\uFF09 "),
598
+ _ctx.$slots.queryForm ? (openBlock(), createBlock(_component_el_form, {
599
+ key: 0,
600
+ model: state.tableQuery,
601
+ class: "mg5 query-form",
602
+ "label-width": __props.queryLabelWidth ?? "",
603
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
604
+ }, ["stop"]))
605
+ }, {
606
+ default: withCtx(() => [
607
+ createVNode(_component_el_row, { gutter: 10 }, {
608
+ default: withCtx(() => [
609
+ createCommentVNode(" \u67E5\u8BE2\u8868\u5355\u63D2\u69FD\uFF1A\u7531\u7236\u7EC4\u4EF6\u63D0\u4F9B\u8868\u5355\u5185\u5BB9 "),
610
+ renderSlot(_ctx.$slots, "queryForm", {
611
+ query: state.tableQuery,
612
+ handleQuery: () => handleQuery(true)
613
+ }, void 0, true),
614
+ createCommentVNode(" \u67E5\u8BE2\u548C\u91CD\u7F6E\u6309\u94AE\u7EC4 "),
615
+ createVNode(_component_el_button_group, { style: { "position": "absolute", "right": "10px" } }, {
616
+ default: withCtx(() => [
617
+ createCommentVNode(" \u67E5\u8BE2\u6309\u94AE\uFF1A\u70B9\u51FB\u65F6\u7ACB\u5373\u663E\u793A\u52A0\u8F7D\u52A8\u753B\u5E76\u6267\u884C\u67E5\u8BE2 "),
618
+ withDirectives((openBlock(), createBlock(_component_el_button, {
619
+ type: "primary",
620
+ icon: "ele-Search",
621
+ onClick: handleQueryClick
622
+ }, {
623
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [
624
+ createTextVNode(
625
+ " \u67E5\u8BE2 ",
626
+ -1
627
+ /* CACHED */
628
+ )
629
+ ])]),
630
+ _: 1
631
+ /* STABLE */
632
+ })), [
633
+ [_directive_reclick, 1e3]
634
+ ]),
635
+ createCommentVNode(" \u91CD\u7F6E\u6309\u94AE\uFF1A\u91CD\u7F6E\u67E5\u8BE2\u6761\u4EF6\u5E76\u91CD\u65B0\u67E5\u8BE2 "),
636
+ withDirectives((openBlock(), createBlock(_component_el_button, {
637
+ icon: "ele-Refresh",
638
+ onClick: resetQuery
639
+ }, {
640
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [
641
+ createTextVNode(
642
+ " \u91CD\u7F6E ",
643
+ -1
644
+ /* CACHED */
645
+ )
646
+ ])]),
647
+ _: 1
648
+ /* STABLE */
649
+ })), [
650
+ [_directive_reclick, 1e3]
651
+ ])
652
+ ]),
653
+ _: 1
654
+ /* STABLE */
655
+ })
656
+ ]),
657
+ _: 3
658
+ /* FORWARDED */
659
+ })
660
+ ]),
661
+ _: 3
662
+ /* FORWARDED */
663
+ }, 8, ["model", "label-width"])) : createCommentVNode("v-if", true),
664
+ createCommentVNode(" \r\n \u6570\u636E\u8868\u683C \r\n \u5173\u952E\u914D\u7F6E\u8BF4\u660E\uFF1A\r\n 1. height: \u52A8\u6001\u8BA1\u7B97\u9AD8\u5EA6\uFF0C\u6709\u67E5\u8BE2\u8868\u5355\u65F6\u4F7F\u7528\u8BA1\u7B97\u5C5E\u6027tableHeight\uFF0C\u5426\u5219\u4F7F\u7528\u56FA\u5B9A\u8BA1\u7B97\u5F0F\r\n 2. highlight-current-row: \u5355\u9009\u6A21\u5F0F\u542F\u7528\u884C\u9AD8\u4EAE\uFF0C\u591A\u9009\u6A21\u5F0F\u7981\u7528\uFF08\u591A\u9009\u7528row-style\u5B9E\u73B0\uFF09\r\n 3. row-class-name: \u4E3A\u9009\u4E2D\u884C\u6DFB\u52A0'selected-row'\u7C7B\u540D\uFF0C\u7528\u4E8ECSS\u6837\u5F0F\u63A7\u5236\r\n 4. row-style: \u4E3A\u9009\u4E2D\u884C\u6DFB\u52A0\u5185\u8054\u6837\u5F0F\uFF08\u80CC\u666F\u8272\u548C\u5DE6\u8FB9\u6846\uFF09\uFF0C\u786E\u4FDD\u8DE8\u6D4F\u89C8\u5668\u517C\u5BB9\u6027\r\n\r\n ({ row }: { row: any }) => isRowSelected(row) ? 'selected-row' : ''\r\n ({ row }: { row: any }) => isRowSelected(row) ? { backgroundColor: 'var(--el-color-primary-light-9)', borderLeft: '3px solid var(--el-color-primary)' } : {}\r\n "),
665
+ createVNode(_component_el_table, {
666
+ ref_key: "tableRef",
667
+ ref: tableRef,
668
+ onRowClick: handleChange,
669
+ data: state.tableData?.items ?? [],
670
+ height: _ctx.$slots.queryForm ? tableHeight.value : `calc(${__props.dropdownHeight} - ${CONSTANTS.TABLE_HEIGHT_OFFSET}px)`,
671
+ "highlight-current-row": !__props.multiple,
672
+ "row-class-name": getRowClassName,
673
+ "row-style": getRowStyle
674
+ }, {
675
+ empty: withCtx(() => [
676
+ !state.loading ? (openBlock(), createBlock(_component_el_empty, {
677
+ key: 0,
678
+ "image-size": 25
679
+ })) : createCommentVNode("v-if", true)
680
+ ]),
681
+ default: withCtx(() => [
682
+ renderSlot(_ctx.$slots, "columns", {}, void 0, true)
683
+ ]),
684
+ _: 3
685
+ /* FORWARDED */
686
+ }, 8, ["data", "height", "highlight-current-row"]),
687
+ createCommentVNode(" \r\n \u5206\u9875\u7EC4\u4EF6\uFF08\u4EC5\u5F53\u542F\u7528\u5206\u9875\u65F6\u663E\u793A\uFF09\r\n \u914D\u7F6E\u8BF4\u660E\uFF1A\r\n 1. disabled: \u52A0\u8F7D\u65F6\u7981\u7528\u5206\u9875\u64CD\u4F5C\uFF0C\u9632\u6B62\u91CD\u590D\u8BF7\u6C42\r\n 2. pager-count: \u663E\u793A5\u4E2A\u9875\u7801\u6309\u94AE\uFF0C\u9002\u5408\u4E0B\u62C9\u6846\u7684\u6709\u9650\u7A7A\u95F4\r\n 3. layout: \u7B80\u5316\u5E03\u5C40\uFF08\u53EA\u663E\u793A\u4E0A\u4E00\u9875\u3001\u9875\u7801\u3001\u4E0B\u4E00\u9875\uFF09\uFF0C\u8282\u7701\u7A7A\u95F4\r\n 4. size: \u4F7F\u7528\u5C0F\u5C3A\u5BF8\uFF0C\u9002\u914D\u4E0B\u62C9\u6846\u9AD8\u5EA6\r\n "),
688
+ props.pagination ? (openBlock(), createBlock(_component_el_pagination, {
689
+ key: 1,
690
+ disabled: state.loading,
691
+ currentPage: state.tableQuery.page,
692
+ "page-size": state.tableQuery.pageSize,
693
+ total: state.tableData.total,
694
+ "pager-count": 5,
695
+ onSizeChange: handleSizeChange,
696
+ onCurrentChange: handleCurrentChange,
697
+ layout: "prev, pager, next",
698
+ size: "small",
699
+ background: ""
700
+ }, null, 8, ["disabled", "currentPage", "page-size", "total"])) : createCommentVNode("v-if", true)
701
+ ])), [
702
+ [_directive_loading, state.loading]
703
+ ])
704
+ ]),
705
+ _: 3
706
+ /* FORWARDED */
707
+ }, 16, ["modelValue", "clearable", "multiple", "disabled", "placeholder", "style"])
708
+ ],
709
+ 2112
710
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
711
+ );
712
+ };
713
+ }
714
+ });
715
+
716
+ export { _sfc_main as default };