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