@fmdevui/fm-dev 1.0.97 → 1.0.99

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