fast-element-plus 1.0.0 → 1.0.1
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.
- package/Fast.png +0 -0
- package/LICENSE +201 -0
- package/README.md +164 -0
- package/README.zh.md +164 -0
- package/dist/index.full.js +28446 -0
- package/dist/index.full.js.map +1 -0
- package/dist/index.full.min.js +36 -0
- package/dist/index.full.min.js.map +1 -0
- package/dist/index.full.min.mjs +36 -0
- package/dist/index.full.min.mjs.map +1 -0
- package/dist/index.full.mjs +28445 -0
- package/dist/index.full.mjs.map +1 -0
- package/dist/styles/index.css +984 -0
- package/dist/styles/index.css.map +1 -0
- package/es/component.d.ts +3 -0
- package/es/component.mjs +52 -0
- package/es/component.mjs.map +1 -0
- package/es/components/avatar/index.d.ts +14 -0
- package/es/components/avatar/index.mjs +8 -0
- package/es/components/avatar/index.mjs.map +1 -0
- package/es/components/avatar/src/avatar.d.ts +96 -0
- package/es/components/avatar/src/avatar.mjs +76 -0
- package/es/components/avatar/src/avatar.mjs.map +1 -0
- package/es/components/button/index.d.ts +15 -0
- package/es/components/button/index.mjs +11 -0
- package/es/components/button/index.mjs.map +1 -0
- package/es/components/button/src/button.d.ts +173 -0
- package/es/components/button/src/button.mjs +118 -0
- package/es/components/button/src/button.mjs.map +1 -0
- package/es/components/carNumber/index.d.ts +9 -0
- package/es/components/carNumber/index.mjs +12 -0
- package/es/components/carNumber/index.mjs.map +1 -0
- package/es/components/carNumber/src/carNumber.d.ts +217 -0
- package/es/components/carNumber/src/carNumber.mjs +164 -0
- package/es/components/carNumber/src/carNumber.mjs.map +1 -0
- package/es/components/carNumber/src/common.d.ts +15 -0
- package/es/components/carNumber/src/common.mjs +75 -0
- package/es/components/carNumber/src/common.mjs.map +1 -0
- package/es/components/contextMenu/index.d.ts +9 -0
- package/es/components/contextMenu/index.mjs +9 -0
- package/es/components/contextMenu/index.mjs.map +1 -0
- package/es/components/contextMenu/src/contextMenu.d.ts +32 -0
- package/es/components/contextMenu/src/contextMenu.mjs +85 -0
- package/es/components/contextMenu/src/contextMenu.mjs.map +1 -0
- package/es/components/contextMenu/src/contextMenu.type.d.ts +33 -0
- package/es/components/contextMenu/src/contextMenu.type.mjs +2 -0
- package/es/components/contextMenu/src/contextMenu.type.mjs.map +1 -0
- package/es/components/dialog/index.d.ts +14 -0
- package/es/components/dialog/index.mjs +11 -0
- package/es/components/dialog/index.mjs.map +1 -0
- package/es/components/dialog/src/dialog.d.ts +454 -0
- package/es/components/dialog/src/dialog.mjs +285 -0
- package/es/components/dialog/src/dialog.mjs.map +1 -0
- package/es/components/drawer/index.d.ts +14 -0
- package/es/components/drawer/index.mjs +8 -0
- package/es/components/drawer/index.mjs.map +1 -0
- package/es/components/drawer/src/drawer.d.ts +449 -0
- package/es/components/drawer/src/drawer.mjs +284 -0
- package/es/components/drawer/src/drawer.mjs.map +1 -0
- package/es/components/form/index.d.ts +23 -0
- package/es/components/form/index.mjs +19 -0
- package/es/components/form/index.mjs.map +1 -0
- package/es/components/form/src/form.d.ts +194 -0
- package/es/components/form/src/form.mjs +109 -0
- package/es/components/form/src/form.mjs.map +1 -0
- package/es/components/form/src/formItem.d.ts +190 -0
- package/es/components/form/src/formItem.mjs +117 -0
- package/es/components/form/src/formItem.mjs.map +1 -0
- package/es/components/form/utils/form.d.ts +81 -0
- package/es/components/form/utils/form.mjs +217 -0
- package/es/components/form/utils/form.mjs.map +1 -0
- package/es/components/formItemTip/index.d.ts +12 -0
- package/es/components/formItemTip/index.mjs +10 -0
- package/es/components/formItemTip/index.mjs.map +1 -0
- package/es/components/formItemTip/src/formItemTip.d.ts +22 -0
- package/es/components/formItemTip/src/formItemTip.mjs +38 -0
- package/es/components/formItemTip/src/formItemTip.mjs.map +1 -0
- package/es/components/icon/index.d.ts +12 -0
- package/es/components/icon/index.mjs +8 -0
- package/es/components/icon/index.mjs.map +1 -0
- package/es/components/icon/src/icon.d.ts +39 -0
- package/es/components/icon/src/icon.mjs +69 -0
- package/es/components/icon/src/icon.mjs.map +1 -0
- package/es/components/iconSelector/index.d.ts +7 -0
- package/es/components/iconSelector/index.mjs +8 -0
- package/es/components/iconSelector/index.mjs.map +1 -0
- package/es/components/iconSelector/src/iconSelector.d.ts +23 -0
- package/es/components/iconSelector/src/iconSelector.mjs +143 -0
- package/es/components/iconSelector/src/iconSelector.mjs.map +1 -0
- package/es/components/image/index.d.ts +12 -0
- package/es/components/image/index.mjs +10 -0
- package/es/components/image/index.mjs.map +1 -0
- package/es/components/image/src/image.d.ts +225 -0
- package/es/components/image/src/image.mjs +90 -0
- package/es/components/image/src/image.mjs.map +1 -0
- package/es/components/index.d.ts +21 -0
- package/es/components/index.mjs +100 -0
- package/es/components/index.mjs.map +1 -0
- package/es/components/layoutGrid/index.d.ts +16 -0
- package/es/components/layoutGrid/index.mjs +14 -0
- package/es/components/layoutGrid/index.mjs.map +1 -0
- package/es/components/layoutGrid/src/layoutGrid.d.ts +60 -0
- package/es/components/layoutGrid/src/layoutGrid.mjs +178 -0
- package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -0
- package/es/components/layoutGrid/src/layoutGrid.type.d.ts +12 -0
- package/es/components/layoutGrid/src/layoutGrid.type.mjs +2 -0
- package/es/components/layoutGrid/src/layoutGrid.type.mjs.map +1 -0
- package/es/components/layoutGrid/src/layoutGridItem.d.ts +100 -0
- package/es/components/layoutGrid/src/layoutGridItem.mjs +97 -0
- package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -0
- package/es/components/select/index.d.ts +22 -0
- package/es/components/select/index.mjs +17 -0
- package/es/components/select/index.mjs.map +1 -0
- package/es/components/select/src/select.d.ts +1201 -0
- package/es/components/select/src/select.mjs +559 -0
- package/es/components/select/src/select.mjs.map +1 -0
- package/es/components/select/src/select.type.d.ts +28 -0
- package/es/components/select/src/select.type.mjs +2 -0
- package/es/components/select/src/select.type.mjs.map +1 -0
- package/es/components/select/src/selectOption.d.ts +99 -0
- package/es/components/select/src/selectOption.mjs +71 -0
- package/es/components/select/src/selectOption.mjs.map +1 -0
- package/es/components/selectPage/index.d.ts +14 -0
- package/es/components/selectPage/index.mjs +11 -0
- package/es/components/selectPage/index.mjs.map +1 -0
- package/es/components/selectPage/src/selectPage.d.ts +595 -0
- package/es/components/selectPage/src/selectPage.mjs +381 -0
- package/es/components/selectPage/src/selectPage.mjs.map +1 -0
- package/es/components/selectV2/index.d.ts +14 -0
- package/es/components/selectV2/index.mjs +11 -0
- package/es/components/selectV2/index.mjs.map +1 -0
- package/es/components/selectV2/src/selectV2.d.ts +1407 -0
- package/es/components/selectV2/src/selectV2.mjs +606 -0
- package/es/components/selectV2/src/selectV2.mjs.map +1 -0
- package/es/components/table/images/artwork.png.mjs +5 -0
- package/es/components/table/images/artwork.png.mjs.map +1 -0
- package/es/components/table/images/index.d.ts +4 -0
- package/es/components/table/images/notImage.png.mjs +5 -0
- package/es/components/table/images/notImage.png.mjs.map +1 -0
- package/es/components/table/index.d.ts +35 -0
- package/es/components/table/index.mjs +32 -0
- package/es/components/table/index.mjs.map +1 -0
- package/es/components/table/src/page.type.d.ts +145 -0
- package/es/components/table/src/page.type.mjs +16 -0
- package/es/components/table/src/page.type.mjs.map +1 -0
- package/es/components/table/src/table.d.ts +1382 -0
- package/es/components/table/src/table.mjs +1046 -0
- package/es/components/table/src/table.mjs.map +1 -0
- package/es/components/table/src/table.state.d.ts +115 -0
- package/es/components/table/src/table.state.mjs +2 -0
- package/es/components/table/src/table.state.mjs.map +1 -0
- package/es/components/table/src/table.type.d.ts +316 -0
- package/es/components/table/src/table.type.mjs +14 -0
- package/es/components/table/src/table.type.mjs.map +1 -0
- package/es/components/table/src/tableColumn.d.ts +644 -0
- package/es/components/table/src/tableColumn.mjs +604 -0
- package/es/components/table/src/tableColumn.mjs.map +1 -0
- package/es/components/table/src/tableColumnSettingDialog.d.ts +18 -0
- package/es/components/table/src/tableColumnSettingDialog.mjs +430 -0
- package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -0
- package/es/components/table/src/tablePagination.d.ts +24 -0
- package/es/components/table/src/tablePagination.mjs +56 -0
- package/es/components/table/src/tablePagination.mjs.map +1 -0
- package/es/components/table/src/tableSearchForm.d.ts +88 -0
- package/es/components/table/src/tableSearchForm.mjs +269 -0
- package/es/components/table/src/tableSearchForm.mjs.map +1 -0
- package/es/components/table/src/tableSearchFormItem.d.ts +37 -0
- package/es/components/table/src/tableSearchFormItem.mjs +121 -0
- package/es/components/table/src/tableSearchFormItem.mjs.map +1 -0
- package/es/components/table/src/useTable.d.ts +32 -0
- package/es/components/table/src/useTable.mjs +374 -0
- package/es/components/table/src/useTable.mjs.map +1 -0
- package/es/components/table/utils/table.d.ts +45 -0
- package/es/components/table/utils/table.mjs +122 -0
- package/es/components/table/utils/table.mjs.map +1 -0
- package/es/components/tree/index.d.ts +15 -0
- package/es/components/tree/index.mjs +12 -0
- package/es/components/tree/index.mjs.map +1 -0
- package/es/components/tree/src/tree.d.ts +668 -0
- package/es/components/tree/src/tree.mjs +364 -0
- package/es/components/tree/src/tree.mjs.map +1 -0
- package/es/components/tree/src/tree.props.d.ts +81 -0
- package/es/components/tree/src/tree.props.mjs +71 -0
- package/es/components/tree/src/tree.props.mjs.map +1 -0
- package/es/components/tree/src/tree.type.d.ts +36 -0
- package/es/components/tree/src/tree.type.mjs +2 -0
- package/es/components/tree/src/tree.type.mjs.map +1 -0
- package/es/components/treeSelect/index.d.ts +14 -0
- package/es/components/treeSelect/index.mjs +11 -0
- package/es/components/treeSelect/index.mjs.map +1 -0
- package/es/components/treeSelect/src/treeSelect.d.ts +1063 -0
- package/es/components/treeSelect/src/treeSelect.mjs +492 -0
- package/es/components/treeSelect/src/treeSelect.mjs.map +1 -0
- package/es/components/upload/index.d.ts +15 -0
- package/es/components/upload/index.mjs +11 -0
- package/es/components/upload/index.mjs.map +1 -0
- package/es/components/upload/src/upload.d.ts +525 -0
- package/es/components/upload/src/upload.mjs +140 -0
- package/es/components/upload/src/upload.mjs.map +1 -0
- package/es/components/upload/src/useUpload.d.ts +65 -0
- package/es/components/upload/src/useUpload.mjs +150 -0
- package/es/components/upload/src/useUpload.mjs.map +1 -0
- package/es/components/upload/utils/upload.d.ts +30 -0
- package/es/components/upload/utils/upload.mjs +119 -0
- package/es/components/upload/utils/upload.mjs.map +1 -0
- package/es/components/uploadImage/index.d.ts +14 -0
- package/es/components/uploadImage/index.mjs +11 -0
- package/es/components/uploadImage/index.mjs.map +1 -0
- package/es/components/uploadImage/src/uploadImage.d.ts +575 -0
- package/es/components/uploadImage/src/uploadImage.mjs +207 -0
- package/es/components/uploadImage/src/uploadImage.mjs.map +1 -0
- package/es/components/uploadImages/index.d.ts +14 -0
- package/es/components/uploadImages/index.mjs +8 -0
- package/es/components/uploadImages/index.mjs.map +1 -0
- package/es/components/uploadImages/src/uploadImages.d.ts +544 -0
- package/es/components/uploadImages/src/uploadImages.mjs +194 -0
- package/es/components/uploadImages/src/uploadImages.mjs.map +1 -0
- package/es/constants/index.d.ts +2 -0
- package/es/constants/index.mjs +7 -0
- package/es/constants/index.mjs.map +1 -0
- package/es/constants/mime.d.ts +61 -0
- package/es/constants/mime.mjs +62 -0
- package/es/constants/mime.mjs.map +1 -0
- package/es/constants/regex.d.ts +78 -0
- package/es/constants/regex.mjs +79 -0
- package/es/constants/regex.mjs.map +1 -0
- package/es/directive.d.ts +2 -0
- package/es/directive.mjs +11 -0
- package/es/directive.mjs.map +1 -0
- package/es/directives/click-copy/index.d.ts +2 -0
- package/es/directives/click-copy/index.mjs +36 -0
- package/es/directives/click-copy/index.mjs.map +1 -0
- package/es/directives/click-debounce/index.d.ts +2 -0
- package/es/directives/click-debounce/index.mjs +20 -0
- package/es/directives/click-debounce/index.mjs.map +1 -0
- package/es/directives/click-draggable/index.d.ts +2 -0
- package/es/directives/click-draggable/index.mjs +38 -0
- package/es/directives/click-draggable/index.mjs.map +1 -0
- package/es/directives/click-icon-copy/index.d.ts +2 -0
- package/es/directives/click-icon-copy/index.mjs +54 -0
- package/es/directives/click-icon-copy/index.mjs.map +1 -0
- package/es/directives/click-longpress/index.d.ts +2 -0
- package/es/directives/click-longpress/index.mjs +42 -0
- package/es/directives/click-longpress/index.mjs.map +1 -0
- package/es/directives/click-throttle/index.d.ts +2 -0
- package/es/directives/click-throttle/index.mjs +31 -0
- package/es/directives/click-throttle/index.mjs.map +1 -0
- package/es/directives/index.d.ts +6 -0
- package/es/directives/index.mjs +15 -0
- package/es/directives/index.mjs.map +1 -0
- package/es/element-plus.d.ts +2 -0
- package/es/element-plus.mjs +304 -0
- package/es/element-plus.mjs.map +1 -0
- package/es/hooks/index.d.ts +3 -0
- package/es/hooks/index.mjs +9 -0
- package/es/hooks/index.mjs.map +1 -0
- package/es/hooks/use-loading/index.d.ts +4 -0
- package/es/hooks/use-loading/index.mjs +34 -0
- package/es/hooks/use-loading/index.mjs.map +1 -0
- package/es/hooks/use-overlay/index.d.ts +4 -0
- package/es/hooks/use-overlay/index.mjs +26 -0
- package/es/hooks/use-overlay/index.mjs.map +1 -0
- package/es/hooks/use-screenFull/index.d.ts +7 -0
- package/es/hooks/use-screenFull/index.mjs +45 -0
- package/es/hooks/use-screenFull/index.mjs.map +1 -0
- package/es/index.d.ts +14 -0
- package/es/index.es.d.ts +6 -0
- package/es/index.mjs +138 -0
- package/es/index.mjs.map +1 -0
- package/es/make-installer.d.ts +6 -0
- package/es/make-installer.mjs +27 -0
- package/es/make-installer.mjs.map +1 -0
- package/es/version.d.ts +1 -0
- package/es/version.mjs +5 -0
- package/es/version.mjs.map +1 -0
- package/global.d.ts +2 -0
- package/lib/component.d.ts +3 -0
- package/lib/component.js +2 -0
- package/lib/component.js.map +1 -0
- package/lib/components/avatar/index.d.ts +14 -0
- package/lib/components/avatar/index.js +2 -0
- package/lib/components/avatar/index.js.map +1 -0
- package/lib/components/avatar/src/avatar.d.ts +96 -0
- package/lib/components/avatar/src/avatar.js +2 -0
- package/lib/components/avatar/src/avatar.js.map +1 -0
- package/lib/components/button/index.d.ts +15 -0
- package/lib/components/button/index.js +2 -0
- package/lib/components/button/index.js.map +1 -0
- package/lib/components/button/src/button.d.ts +173 -0
- package/lib/components/button/src/button.js +2 -0
- package/lib/components/button/src/button.js.map +1 -0
- package/lib/components/carNumber/index.d.ts +9 -0
- package/lib/components/carNumber/index.js +2 -0
- package/lib/components/carNumber/index.js.map +1 -0
- package/lib/components/carNumber/src/carNumber.d.ts +217 -0
- package/lib/components/carNumber/src/carNumber.js +2 -0
- package/lib/components/carNumber/src/carNumber.js.map +1 -0
- package/lib/components/carNumber/src/common.d.ts +15 -0
- package/lib/components/carNumber/src/common.js +2 -0
- package/lib/components/carNumber/src/common.js.map +1 -0
- package/lib/components/contextMenu/index.d.ts +9 -0
- package/lib/components/contextMenu/index.js +2 -0
- package/lib/components/contextMenu/index.js.map +1 -0
- package/lib/components/contextMenu/src/contextMenu.d.ts +32 -0
- package/lib/components/contextMenu/src/contextMenu.js +2 -0
- package/lib/components/contextMenu/src/contextMenu.js.map +1 -0
- package/lib/components/contextMenu/src/contextMenu.type.d.ts +33 -0
- package/lib/components/contextMenu/src/contextMenu.type.js +2 -0
- package/lib/components/contextMenu/src/contextMenu.type.js.map +1 -0
- package/lib/components/dialog/index.d.ts +14 -0
- package/lib/components/dialog/index.js +2 -0
- package/lib/components/dialog/index.js.map +1 -0
- package/lib/components/dialog/src/dialog.d.ts +454 -0
- package/lib/components/dialog/src/dialog.js +2 -0
- package/lib/components/dialog/src/dialog.js.map +1 -0
- package/lib/components/drawer/index.d.ts +14 -0
- package/lib/components/drawer/index.js +2 -0
- package/lib/components/drawer/index.js.map +1 -0
- package/lib/components/drawer/src/drawer.d.ts +449 -0
- package/lib/components/drawer/src/drawer.js +2 -0
- package/lib/components/drawer/src/drawer.js.map +1 -0
- package/lib/components/form/index.d.ts +23 -0
- package/lib/components/form/index.js +2 -0
- package/lib/components/form/index.js.map +1 -0
- package/lib/components/form/src/form.d.ts +194 -0
- package/lib/components/form/src/form.js +2 -0
- package/lib/components/form/src/form.js.map +1 -0
- package/lib/components/form/src/formItem.d.ts +190 -0
- package/lib/components/form/src/formItem.js +2 -0
- package/lib/components/form/src/formItem.js.map +1 -0
- package/lib/components/form/utils/form.d.ts +81 -0
- package/lib/components/form/utils/form.js +2 -0
- package/lib/components/form/utils/form.js.map +1 -0
- package/lib/components/formItemTip/index.d.ts +12 -0
- package/lib/components/formItemTip/index.js +2 -0
- package/lib/components/formItemTip/index.js.map +1 -0
- package/lib/components/formItemTip/src/formItemTip.d.ts +22 -0
- package/lib/components/formItemTip/src/formItemTip.js +2 -0
- package/lib/components/formItemTip/src/formItemTip.js.map +1 -0
- package/lib/components/icon/index.d.ts +12 -0
- package/lib/components/icon/index.js +2 -0
- package/lib/components/icon/index.js.map +1 -0
- package/lib/components/icon/src/icon.d.ts +39 -0
- package/lib/components/icon/src/icon.js +2 -0
- package/lib/components/icon/src/icon.js.map +1 -0
- package/lib/components/iconSelector/index.d.ts +7 -0
- package/lib/components/iconSelector/index.js +2 -0
- package/lib/components/iconSelector/index.js.map +1 -0
- package/lib/components/iconSelector/src/iconSelector.d.ts +23 -0
- package/lib/components/iconSelector/src/iconSelector.js +2 -0
- package/lib/components/iconSelector/src/iconSelector.js.map +1 -0
- package/lib/components/image/index.d.ts +12 -0
- package/lib/components/image/index.js +2 -0
- package/lib/components/image/index.js.map +1 -0
- package/lib/components/image/src/image.d.ts +225 -0
- package/lib/components/image/src/image.js +2 -0
- package/lib/components/image/src/image.js.map +1 -0
- package/lib/components/index.d.ts +21 -0
- package/lib/components/index.js +2 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/layoutGrid/index.d.ts +16 -0
- package/lib/components/layoutGrid/index.js +2 -0
- package/lib/components/layoutGrid/index.js.map +1 -0
- package/lib/components/layoutGrid/src/layoutGrid.d.ts +60 -0
- package/lib/components/layoutGrid/src/layoutGrid.js +2 -0
- package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -0
- package/lib/components/layoutGrid/src/layoutGrid.type.d.ts +12 -0
- package/lib/components/layoutGrid/src/layoutGrid.type.js +2 -0
- package/lib/components/layoutGrid/src/layoutGrid.type.js.map +1 -0
- package/lib/components/layoutGrid/src/layoutGridItem.d.ts +100 -0
- package/lib/components/layoutGrid/src/layoutGridItem.js +2 -0
- package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -0
- package/lib/components/select/index.d.ts +22 -0
- package/lib/components/select/index.js +2 -0
- package/lib/components/select/index.js.map +1 -0
- package/lib/components/select/src/select.d.ts +1201 -0
- package/lib/components/select/src/select.js +2 -0
- package/lib/components/select/src/select.js.map +1 -0
- package/lib/components/select/src/select.type.d.ts +28 -0
- package/lib/components/select/src/select.type.js +2 -0
- package/lib/components/select/src/select.type.js.map +1 -0
- package/lib/components/select/src/selectOption.d.ts +99 -0
- package/lib/components/select/src/selectOption.js +2 -0
- package/lib/components/select/src/selectOption.js.map +1 -0
- package/lib/components/selectPage/index.d.ts +14 -0
- package/lib/components/selectPage/index.js +2 -0
- package/lib/components/selectPage/index.js.map +1 -0
- package/lib/components/selectPage/src/selectPage.d.ts +595 -0
- package/lib/components/selectPage/src/selectPage.js +2 -0
- package/lib/components/selectPage/src/selectPage.js.map +1 -0
- package/lib/components/selectV2/index.d.ts +14 -0
- package/lib/components/selectV2/index.js +2 -0
- package/lib/components/selectV2/index.js.map +1 -0
- package/lib/components/selectV2/src/selectV2.d.ts +1407 -0
- package/lib/components/selectV2/src/selectV2.js +2 -0
- package/lib/components/selectV2/src/selectV2.js.map +1 -0
- package/lib/components/table/images/artwork.png.js +2 -0
- package/lib/components/table/images/artwork.png.js.map +1 -0
- package/lib/components/table/images/index.d.ts +4 -0
- package/lib/components/table/images/notImage.png.js +2 -0
- package/lib/components/table/images/notImage.png.js.map +1 -0
- package/lib/components/table/index.d.ts +35 -0
- package/lib/components/table/index.js +2 -0
- package/lib/components/table/index.js.map +1 -0
- package/lib/components/table/src/page.type.d.ts +145 -0
- package/lib/components/table/src/page.type.js +2 -0
- package/lib/components/table/src/page.type.js.map +1 -0
- package/lib/components/table/src/table.d.ts +1382 -0
- package/lib/components/table/src/table.js +2 -0
- package/lib/components/table/src/table.js.map +1 -0
- package/lib/components/table/src/table.state.d.ts +115 -0
- package/lib/components/table/src/table.state.js +2 -0
- package/lib/components/table/src/table.state.js.map +1 -0
- package/lib/components/table/src/table.type.d.ts +316 -0
- package/lib/components/table/src/table.type.js +2 -0
- package/lib/components/table/src/table.type.js.map +1 -0
- package/lib/components/table/src/tableColumn.d.ts +644 -0
- package/lib/components/table/src/tableColumn.js +2 -0
- package/lib/components/table/src/tableColumn.js.map +1 -0
- package/lib/components/table/src/tableColumnSettingDialog.d.ts +18 -0
- package/lib/components/table/src/tableColumnSettingDialog.js +2 -0
- package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -0
- package/lib/components/table/src/tablePagination.d.ts +24 -0
- package/lib/components/table/src/tablePagination.js +2 -0
- package/lib/components/table/src/tablePagination.js.map +1 -0
- package/lib/components/table/src/tableSearchForm.d.ts +88 -0
- package/lib/components/table/src/tableSearchForm.js +2 -0
- package/lib/components/table/src/tableSearchForm.js.map +1 -0
- package/lib/components/table/src/tableSearchFormItem.d.ts +37 -0
- package/lib/components/table/src/tableSearchFormItem.js +2 -0
- package/lib/components/table/src/tableSearchFormItem.js.map +1 -0
- package/lib/components/table/src/useTable.d.ts +32 -0
- package/lib/components/table/src/useTable.js +2 -0
- package/lib/components/table/src/useTable.js.map +1 -0
- package/lib/components/table/utils/table.d.ts +45 -0
- package/lib/components/table/utils/table.js +2 -0
- package/lib/components/table/utils/table.js.map +1 -0
- package/lib/components/tree/index.d.ts +15 -0
- package/lib/components/tree/index.js +2 -0
- package/lib/components/tree/index.js.map +1 -0
- package/lib/components/tree/src/tree.d.ts +668 -0
- package/lib/components/tree/src/tree.js +2 -0
- package/lib/components/tree/src/tree.js.map +1 -0
- package/lib/components/tree/src/tree.props.d.ts +81 -0
- package/lib/components/tree/src/tree.props.js +2 -0
- package/lib/components/tree/src/tree.props.js.map +1 -0
- package/lib/components/tree/src/tree.type.d.ts +36 -0
- package/lib/components/tree/src/tree.type.js +2 -0
- package/lib/components/tree/src/tree.type.js.map +1 -0
- package/lib/components/treeSelect/index.d.ts +14 -0
- package/lib/components/treeSelect/index.js +2 -0
- package/lib/components/treeSelect/index.js.map +1 -0
- package/lib/components/treeSelect/src/treeSelect.d.ts +1063 -0
- package/lib/components/treeSelect/src/treeSelect.js +2 -0
- package/lib/components/treeSelect/src/treeSelect.js.map +1 -0
- package/lib/components/upload/index.d.ts +15 -0
- package/lib/components/upload/index.js +2 -0
- package/lib/components/upload/index.js.map +1 -0
- package/lib/components/upload/src/upload.d.ts +525 -0
- package/lib/components/upload/src/upload.js +2 -0
- package/lib/components/upload/src/upload.js.map +1 -0
- package/lib/components/upload/src/useUpload.d.ts +65 -0
- package/lib/components/upload/src/useUpload.js +2 -0
- package/lib/components/upload/src/useUpload.js.map +1 -0
- package/lib/components/upload/utils/upload.d.ts +30 -0
- package/lib/components/upload/utils/upload.js +2 -0
- package/lib/components/upload/utils/upload.js.map +1 -0
- package/lib/components/uploadImage/index.d.ts +14 -0
- package/lib/components/uploadImage/index.js +2 -0
- package/lib/components/uploadImage/index.js.map +1 -0
- package/lib/components/uploadImage/src/uploadImage.d.ts +575 -0
- package/lib/components/uploadImage/src/uploadImage.js +2 -0
- package/lib/components/uploadImage/src/uploadImage.js.map +1 -0
- package/lib/components/uploadImages/index.d.ts +14 -0
- package/lib/components/uploadImages/index.js +2 -0
- package/lib/components/uploadImages/index.js.map +1 -0
- package/lib/components/uploadImages/src/uploadImages.d.ts +544 -0
- package/lib/components/uploadImages/src/uploadImages.js +2 -0
- package/lib/components/uploadImages/src/uploadImages.js.map +1 -0
- package/lib/constants/index.d.ts +2 -0
- package/lib/constants/index.js +2 -0
- package/lib/constants/index.js.map +1 -0
- package/lib/constants/mime.d.ts +61 -0
- package/lib/constants/mime.js +2 -0
- package/lib/constants/mime.js.map +1 -0
- package/lib/constants/regex.d.ts +78 -0
- package/lib/constants/regex.js +2 -0
- package/lib/constants/regex.js.map +1 -0
- package/lib/directive.d.ts +2 -0
- package/lib/directive.js +2 -0
- package/lib/directive.js.map +1 -0
- package/lib/directives/click-copy/index.d.ts +2 -0
- package/lib/directives/click-copy/index.js +2 -0
- package/lib/directives/click-copy/index.js.map +1 -0
- package/lib/directives/click-debounce/index.d.ts +2 -0
- package/lib/directives/click-debounce/index.js +2 -0
- package/lib/directives/click-debounce/index.js.map +1 -0
- package/lib/directives/click-draggable/index.d.ts +2 -0
- package/lib/directives/click-draggable/index.js +2 -0
- package/lib/directives/click-draggable/index.js.map +1 -0
- package/lib/directives/click-icon-copy/index.d.ts +2 -0
- package/lib/directives/click-icon-copy/index.js +2 -0
- package/lib/directives/click-icon-copy/index.js.map +1 -0
- package/lib/directives/click-longpress/index.d.ts +2 -0
- package/lib/directives/click-longpress/index.js +2 -0
- package/lib/directives/click-longpress/index.js.map +1 -0
- package/lib/directives/click-throttle/index.d.ts +2 -0
- package/lib/directives/click-throttle/index.js +2 -0
- package/lib/directives/click-throttle/index.js.map +1 -0
- package/lib/directives/index.d.ts +6 -0
- package/lib/directives/index.js +2 -0
- package/lib/directives/index.js.map +1 -0
- package/lib/element-plus.d.ts +2 -0
- package/lib/element-plus.js +2 -0
- package/lib/element-plus.js.map +1 -0
- package/lib/hooks/index.d.ts +3 -0
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/use-loading/index.d.ts +4 -0
- package/lib/hooks/use-loading/index.js +2 -0
- package/lib/hooks/use-loading/index.js.map +1 -0
- package/lib/hooks/use-overlay/index.d.ts +4 -0
- package/lib/hooks/use-overlay/index.js +2 -0
- package/lib/hooks/use-overlay/index.js.map +1 -0
- package/lib/hooks/use-screenFull/index.d.ts +7 -0
- package/lib/hooks/use-screenFull/index.js +2 -0
- package/lib/hooks/use-screenFull/index.js.map +1 -0
- package/lib/index.d.ts +14 -0
- package/lib/index.es.d.ts +6 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/make-installer.d.ts +6 -0
- package/lib/make-installer.js +2 -0
- package/lib/make-installer.js.map +1 -0
- package/lib/version.d.ts +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/package.json +139 -26
- package/styles/common/animation.scss +46 -0
- package/styles/common/common.scss +44 -0
- package/styles/common/loading.scss +29 -0
- package/styles/common/overlay.scss +12 -0
- package/styles/components/carNumber.scss +44 -0
- package/styles/components/contextMenu.scss +34 -0
- package/styles/components/dialog.scss +88 -0
- package/styles/components/drawer.scss +87 -0
- package/styles/components/form.scss +44 -0
- package/styles/components/formItemTip.scss +7 -0
- package/styles/components/image.scss +19 -0
- package/styles/components/selectPage.scss +74 -0
- package/styles/components/selectV2.scss +22 -0
- package/styles/components/table.scss +439 -0
- package/styles/components/tree.scss +100 -0
- package/styles/components/uploadImage.scss +61 -0
- package/styles/components/uploadImages.scss +9 -0
- package/styles/index.scss +18 -0
- package/types/components.d.ts +36 -0
- package/types/env.d.ts +17 -0
|
@@ -0,0 +1,1046 @@
|
|
|
1
|
+
import { isVNode, defineComponent, ref, onMounted, watch, watchEffect, onActivated, computed, createVNode, withDirectives, Fragment, mergeProps, createTextVNode, resolveDirective } from "vue";
|
|
2
|
+
import { useSizeProp, ElInput, ElDatePicker, ElButton, ElDropdown, ElDropdownMenu, ElTable, ElTableColumn, ElIcon, ElPagination, ElImageViewer } from "element-plus";
|
|
3
|
+
import { Search, Refresh, Eleme, Setting, More } from "@element-plus/icons-vue";
|
|
4
|
+
import { NotData } from "@fast-element-plus/icons-vue";
|
|
5
|
+
import { definePropType, stringUtil, consoleWarn, clickUtil, useProps, useRender, dateUtil, useExpose, makeSlots } from "@fast-china/utils";
|
|
6
|
+
import { isString, isObject, isNumber, isBoolean, isArray, isNull, isFunction, pick, omit } from "lodash-unified";
|
|
7
|
+
import { getTableDefaultSlots } from "./table.type.mjs";
|
|
8
|
+
import TableColumn from "./tableColumn.mjs";
|
|
9
|
+
import TableColumnsSettingDialog from "./tableColumnSettingDialog.mjs";
|
|
10
|
+
import TablePagination from "./tablePagination.mjs";
|
|
11
|
+
import TableSearchForm from "./tableSearchForm.mjs";
|
|
12
|
+
import { useTable } from "./useTable.mjs";
|
|
13
|
+
function _isSlot(s) {
|
|
14
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
15
|
+
}
|
|
16
|
+
const tableProps = {
|
|
17
|
+
/**
|
|
18
|
+
* @description table data
|
|
19
|
+
*/
|
|
20
|
+
data: {
|
|
21
|
+
type: Array,
|
|
22
|
+
default: () => []
|
|
23
|
+
},
|
|
24
|
+
/**
|
|
25
|
+
* @description size of Table
|
|
26
|
+
*/
|
|
27
|
+
size: useSizeProp,
|
|
28
|
+
width: [String, Number],
|
|
29
|
+
/**
|
|
30
|
+
* @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles
|
|
31
|
+
*/
|
|
32
|
+
height: [String, Number],
|
|
33
|
+
/**
|
|
34
|
+
* @description table's max-height. The legal value is a number or the height in px
|
|
35
|
+
*/
|
|
36
|
+
maxHeight: [String, Number],
|
|
37
|
+
/**
|
|
38
|
+
* @description whether width of column automatically fits its container
|
|
39
|
+
*/
|
|
40
|
+
fit: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: true
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* @description whether Table is striped
|
|
46
|
+
*/
|
|
47
|
+
stripe: Boolean,
|
|
48
|
+
/**
|
|
49
|
+
* @description whether Table has vertical border
|
|
50
|
+
*/
|
|
51
|
+
border: Boolean,
|
|
52
|
+
/**
|
|
53
|
+
* @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used
|
|
54
|
+
*/
|
|
55
|
+
rowKey: [String, Function],
|
|
56
|
+
/**
|
|
57
|
+
* @description whether Table header is visible
|
|
58
|
+
*/
|
|
59
|
+
showHeader: {
|
|
60
|
+
type: Boolean,
|
|
61
|
+
default: true
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* @description whether to display a summary row
|
|
65
|
+
*/
|
|
66
|
+
showSummary: Boolean,
|
|
67
|
+
/**
|
|
68
|
+
* @description displayed text for the first column of summary row
|
|
69
|
+
*/
|
|
70
|
+
sumText: String,
|
|
71
|
+
/**
|
|
72
|
+
* @description custom summary method
|
|
73
|
+
*/
|
|
74
|
+
summaryMethod: Function,
|
|
75
|
+
/**
|
|
76
|
+
* @description function that returns custom class names for a row, or a string assigning class names for every row
|
|
77
|
+
*/
|
|
78
|
+
rowClassName: [String, Function],
|
|
79
|
+
/**
|
|
80
|
+
* @description function that returns custom style for a row, or an object assigning custom style for every row
|
|
81
|
+
*/
|
|
82
|
+
rowStyle: [Object, Function],
|
|
83
|
+
/**
|
|
84
|
+
* @description function that returns custom class names for a cell, or a string assigning class names for every cell
|
|
85
|
+
*/
|
|
86
|
+
cellClassName: [String, Function],
|
|
87
|
+
/**
|
|
88
|
+
* @description function that returns custom style for a cell, or an object assigning custom style for every cell
|
|
89
|
+
*/
|
|
90
|
+
cellStyle: [Object, Function],
|
|
91
|
+
/**
|
|
92
|
+
* @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header
|
|
93
|
+
*/
|
|
94
|
+
headerRowClassName: [String, Function],
|
|
95
|
+
/**
|
|
96
|
+
* @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header
|
|
97
|
+
*/
|
|
98
|
+
headerRowStyle: [Object, Function],
|
|
99
|
+
/**
|
|
100
|
+
* @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header
|
|
101
|
+
*/
|
|
102
|
+
headerCellClassName: [String, Function],
|
|
103
|
+
/**
|
|
104
|
+
* @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header
|
|
105
|
+
*/
|
|
106
|
+
headerCellStyle: [Object, Function],
|
|
107
|
+
/**
|
|
108
|
+
* @description whether current row is highlighted
|
|
109
|
+
*/
|
|
110
|
+
highlightCurrentRow: Boolean,
|
|
111
|
+
/**
|
|
112
|
+
* @description key of current row, a set only prop
|
|
113
|
+
*/
|
|
114
|
+
currentRowKey: [String, Number],
|
|
115
|
+
/**
|
|
116
|
+
* @description displayed text when data is empty. You can customize this area with `#empty`
|
|
117
|
+
*/
|
|
118
|
+
emptyText: String,
|
|
119
|
+
/**
|
|
120
|
+
* @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop
|
|
121
|
+
*/
|
|
122
|
+
expandRowKeys: Array,
|
|
123
|
+
/**
|
|
124
|
+
* @description whether expand all rows by default, works when the table has a column type="expand" or contains tree structure data
|
|
125
|
+
*/
|
|
126
|
+
defaultExpandAll: Boolean,
|
|
127
|
+
/**
|
|
128
|
+
* @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order
|
|
129
|
+
*/
|
|
130
|
+
defaultSort: Object,
|
|
131
|
+
/**
|
|
132
|
+
* @description the `effect` of the overflow tooltip
|
|
133
|
+
*/
|
|
134
|
+
tooltipEffect: String,
|
|
135
|
+
/**
|
|
136
|
+
* @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)
|
|
137
|
+
*/
|
|
138
|
+
tooltipOptions: Object,
|
|
139
|
+
/**
|
|
140
|
+
* @description method that returns rowspan and colspan
|
|
141
|
+
*/
|
|
142
|
+
spanMethod: Function,
|
|
143
|
+
/**
|
|
144
|
+
* @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected
|
|
145
|
+
*/
|
|
146
|
+
selectOnIndeterminate: {
|
|
147
|
+
type: Boolean,
|
|
148
|
+
default: true
|
|
149
|
+
},
|
|
150
|
+
/**
|
|
151
|
+
* @description horizontal indentation of tree data
|
|
152
|
+
*/
|
|
153
|
+
indent: {
|
|
154
|
+
type: Number,
|
|
155
|
+
default: 16
|
|
156
|
+
},
|
|
157
|
+
/**
|
|
158
|
+
* @description configuration for rendering nested data
|
|
159
|
+
*/
|
|
160
|
+
treeProps: {
|
|
161
|
+
type: Object,
|
|
162
|
+
default: () => ({
|
|
163
|
+
hasChildren: "hasChildren",
|
|
164
|
+
children: "children",
|
|
165
|
+
checkStrictly: false
|
|
166
|
+
})
|
|
167
|
+
},
|
|
168
|
+
/**
|
|
169
|
+
* @description whether to lazy loading data
|
|
170
|
+
*/
|
|
171
|
+
lazy: Boolean,
|
|
172
|
+
/**
|
|
173
|
+
* @description method for loading child row data, only works when `lazy` is true
|
|
174
|
+
*/
|
|
175
|
+
load: Function,
|
|
176
|
+
style: {
|
|
177
|
+
type: Object,
|
|
178
|
+
default: () => ({})
|
|
179
|
+
},
|
|
180
|
+
className: {
|
|
181
|
+
type: String,
|
|
182
|
+
default: ""
|
|
183
|
+
},
|
|
184
|
+
/**
|
|
185
|
+
* @description sets the algorithm used to lay out table cells, rows, and columns
|
|
186
|
+
*/
|
|
187
|
+
tableLayout: {
|
|
188
|
+
type: String,
|
|
189
|
+
default: "fixed"
|
|
190
|
+
},
|
|
191
|
+
/**
|
|
192
|
+
* @description always show scrollbar
|
|
193
|
+
*/
|
|
194
|
+
scrollbarAlwaysOn: Boolean,
|
|
195
|
+
/**
|
|
196
|
+
* @description ensure main axis minimum-size doesn't follow the content
|
|
197
|
+
*/
|
|
198
|
+
flexible: Boolean,
|
|
199
|
+
/**
|
|
200
|
+
* @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns
|
|
201
|
+
*/
|
|
202
|
+
showOverflowTooltip: [Boolean, Object],
|
|
203
|
+
scrollbarTabindex: {
|
|
204
|
+
type: [Number, String],
|
|
205
|
+
default: void 0
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
const faTableProps = {
|
|
209
|
+
...tableProps,
|
|
210
|
+
/** @description whether Table has vertical border */
|
|
211
|
+
border: {
|
|
212
|
+
type: Boolean,
|
|
213
|
+
default: true
|
|
214
|
+
},
|
|
215
|
+
/** @description whether current row is highlighted */
|
|
216
|
+
highlightCurrentRow: {
|
|
217
|
+
type: Boolean,
|
|
218
|
+
default: true
|
|
219
|
+
},
|
|
220
|
+
/** @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used */
|
|
221
|
+
rowKey: {
|
|
222
|
+
type: [String, Function],
|
|
223
|
+
default: "id"
|
|
224
|
+
},
|
|
225
|
+
/** @description 组件封装,原生的已经失效 method that returns rowspan and colspan */
|
|
226
|
+
spanMethod: {
|
|
227
|
+
type: Function,
|
|
228
|
+
validator: () => {
|
|
229
|
+
consoleWarn("FaTable", "'spanMethod' 属性,组件已经封装,外部使用会失效。");
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
/** @description 表格Key */
|
|
234
|
+
tableKey: {
|
|
235
|
+
type: String,
|
|
236
|
+
default: () => stringUtil.generateRandomString(8)
|
|
237
|
+
},
|
|
238
|
+
/** @description 表格数据 */
|
|
239
|
+
data: {
|
|
240
|
+
type: definePropType(Array),
|
|
241
|
+
default: () => []
|
|
242
|
+
},
|
|
243
|
+
/** @description 请求api */
|
|
244
|
+
requestApi: {
|
|
245
|
+
type: definePropType(Function)
|
|
246
|
+
},
|
|
247
|
+
/** @description 接口请求数据回调 */
|
|
248
|
+
dataCallback: {
|
|
249
|
+
type: definePropType(Function)
|
|
250
|
+
},
|
|
251
|
+
/** 初始化参数 */
|
|
252
|
+
initParam: definePropType([String, Number, Object]),
|
|
253
|
+
/** @description 列配置 */
|
|
254
|
+
columns: {
|
|
255
|
+
type: definePropType([Array, Boolean]),
|
|
256
|
+
default: () => []
|
|
257
|
+
},
|
|
258
|
+
/** @description 表格列改变 */
|
|
259
|
+
columnsChange: {
|
|
260
|
+
type: definePropType(Function)
|
|
261
|
+
},
|
|
262
|
+
/** @description 搜索表单 Grid布局列配置 */
|
|
263
|
+
searchFormCols: {
|
|
264
|
+
type: definePropType([String, Number, Object]),
|
|
265
|
+
default: () => ({
|
|
266
|
+
xs: 3,
|
|
267
|
+
sm: 3,
|
|
268
|
+
md: 4,
|
|
269
|
+
lg: 5,
|
|
270
|
+
xl: 6
|
|
271
|
+
})
|
|
272
|
+
},
|
|
273
|
+
/** @description 搜索表单 */
|
|
274
|
+
searchForm: {
|
|
275
|
+
type: Boolean,
|
|
276
|
+
default: true
|
|
277
|
+
},
|
|
278
|
+
/** @description 头部卡片 */
|
|
279
|
+
headerCard: {
|
|
280
|
+
type: Boolean,
|
|
281
|
+
default: true
|
|
282
|
+
},
|
|
283
|
+
/** @description 刷新按钮 */
|
|
284
|
+
refreshBtn: {
|
|
285
|
+
type: Boolean,
|
|
286
|
+
default: true
|
|
287
|
+
},
|
|
288
|
+
/** @description 搜索按钮 */
|
|
289
|
+
searchBtn: {
|
|
290
|
+
type: Boolean,
|
|
291
|
+
default: true
|
|
292
|
+
},
|
|
293
|
+
/** @description 列配置按钮 */
|
|
294
|
+
columnSettingBtn: {
|
|
295
|
+
type: Boolean,
|
|
296
|
+
default: true
|
|
297
|
+
},
|
|
298
|
+
/** @description 头部卡片右侧功能按钮 */
|
|
299
|
+
toolBtn: {
|
|
300
|
+
type: Boolean,
|
|
301
|
+
default: true
|
|
302
|
+
},
|
|
303
|
+
/** @description 隐藏搜索时间 */
|
|
304
|
+
hideSearchTime: Boolean,
|
|
305
|
+
/** @description 搜索时间范围 */
|
|
306
|
+
dataSearchRange: {
|
|
307
|
+
type: definePropType(String),
|
|
308
|
+
default: "Past3D"
|
|
309
|
+
},
|
|
310
|
+
/** @description 分页 */
|
|
311
|
+
pagination: {
|
|
312
|
+
type: Boolean,
|
|
313
|
+
default: true
|
|
314
|
+
},
|
|
315
|
+
/** @description 隐藏图片 */
|
|
316
|
+
hideImage: Boolean,
|
|
317
|
+
/** @description 单选 */
|
|
318
|
+
single: Boolean,
|
|
319
|
+
/** @description 行点击选择 */
|
|
320
|
+
rowClickSelection: Boolean,
|
|
321
|
+
/** @description 树形数据 */
|
|
322
|
+
treeData: Boolean,
|
|
323
|
+
/** @description 配置选项 */
|
|
324
|
+
props: {
|
|
325
|
+
type: definePropType(Object),
|
|
326
|
+
default: () => ({
|
|
327
|
+
span: void 0,
|
|
328
|
+
children: "children"
|
|
329
|
+
})
|
|
330
|
+
},
|
|
331
|
+
/** @description 自动刷新,当传入 data 时候,如果存在更改则自动刷新 */
|
|
332
|
+
autoRefresh: {
|
|
333
|
+
type: Boolean,
|
|
334
|
+
default: true
|
|
335
|
+
},
|
|
336
|
+
/**
|
|
337
|
+
* 等价于 Table-Column 的 selectable
|
|
338
|
+
* @description function that determines if a certain row can be selected, works when `type` is 'selection'
|
|
339
|
+
*/
|
|
340
|
+
rowSelectable: Function
|
|
341
|
+
};
|
|
342
|
+
const faTableEmits = {
|
|
343
|
+
/** @description 当用户手动勾选数据行的 Checkbox 时触发的事件 */
|
|
344
|
+
select: (selection, row) => isArray(selection) && isObject(row),
|
|
345
|
+
/** @description 当用户手动勾选全选 Checkbox 时触发的事件 */
|
|
346
|
+
selectAll: (selection) => isArray(selection),
|
|
347
|
+
/** @description 当选择项发生变化时会触发该事件 */
|
|
348
|
+
selectionChange: (newSelection) => isArray(newSelection),
|
|
349
|
+
/** @description 当单元格 hover 进入时会触发该事件 */
|
|
350
|
+
cellMouseEnter: (row, column, cell, event) => isObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,
|
|
351
|
+
/** @description 当单元格 hover 退出时会触发该事件 */
|
|
352
|
+
cellMouseLeave: (row, column, cell, event) => isObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,
|
|
353
|
+
/** @description 当某个单元格被点击时会触发该事件 */
|
|
354
|
+
cellClick: (row, column, cell, event) => isObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,
|
|
355
|
+
/** @description 当某个单元格被双击击时会触发该事件 */
|
|
356
|
+
cellDblclick: (row, column, cell, event) => isObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,
|
|
357
|
+
/** @description 当某个单元格被鼠标右键点击时会触发该事件 */
|
|
358
|
+
cellContextmenu: (row, column, cell, event) => isObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,
|
|
359
|
+
/** @description 当某一行被点击时会触发该事件 */
|
|
360
|
+
rowClick: (row, column, event) => isObject(row) && isObject(column) && event instanceof Event,
|
|
361
|
+
/** @description 当某一行被鼠标右键点击时会触发该事件 */
|
|
362
|
+
rowContextmenu: (row, column, event) => isObject(row) && isObject(column) && event instanceof Event,
|
|
363
|
+
/** @description 当某一行被双击时会触发该事件 */
|
|
364
|
+
rowDblclick: (row, column, event) => isObject(row) && isObject(column) && event instanceof Event,
|
|
365
|
+
/** @description 当某一列的表头被点击时会触发该事件 */
|
|
366
|
+
headerClick: (column, event) => isObject(column) && event instanceof Event,
|
|
367
|
+
/** @description 当某一列的表头被鼠标右键点击时触发该事件 */
|
|
368
|
+
headerContextmenu: (column, event) => isObject(column) && event instanceof Event,
|
|
369
|
+
/** @description 当表格的排序条件发生变化的时候会触发该事件 */
|
|
370
|
+
sortChange: (data) => isObject(data),
|
|
371
|
+
/** @description column 的 key, 如果需要使用 filter-change 事件,则需要此属性标识是哪个 column 的筛选条件 */
|
|
372
|
+
filterChange: (newFilters) => isString(newFilters) || isNumber(newFilters) || isBoolean(newFilters) || isObject(newFilters),
|
|
373
|
+
/** @description 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 */
|
|
374
|
+
currentChange: (currentRow, oldCurrentRow) => isObject(currentRow) && (isNull(oldCurrentRow) || isObject(oldCurrentRow)),
|
|
375
|
+
/** @description 当拖动表头改变了列的宽度的时候会触发该事件 */
|
|
376
|
+
headerDragend: (newWidth, oldWidth, column, event) => isNumber(newWidth) && isNumber(oldWidth) && isObject(column) && event instanceof MouseEvent,
|
|
377
|
+
/** @description 当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded) */
|
|
378
|
+
expandChange: (row, expanded) => isObject(row) && (isBoolean(expanded) || isArray(expanded)),
|
|
379
|
+
/** @description 表格刷新事件 */
|
|
380
|
+
refresh: (params) => isObject(params),
|
|
381
|
+
/** @description 表格重置事件 */
|
|
382
|
+
reset: (params) => isObject(params),
|
|
383
|
+
/** @description 分页页码改变事件 */
|
|
384
|
+
sizeChange: (pageSize) => isNumber(pageSize),
|
|
385
|
+
/** @description 分页改变事件 */
|
|
386
|
+
paginationChange: (pageIndex, pageSize) => isNumber(pageIndex) && isNumber(pageSize),
|
|
387
|
+
/** @description 自定义单元格点击事件 */
|
|
388
|
+
customCellClick: (emitName, {
|
|
389
|
+
row,
|
|
390
|
+
column,
|
|
391
|
+
$index
|
|
392
|
+
}) => isString(emitName) && isObject(row) && isObject(column) && isNumber($index)
|
|
393
|
+
};
|
|
394
|
+
const Table = /* @__PURE__ */ defineComponent({
|
|
395
|
+
name: "FaTable",
|
|
396
|
+
props: faTableProps,
|
|
397
|
+
emits: faTableEmits,
|
|
398
|
+
slots: makeSlots(),
|
|
399
|
+
setup(props, {
|
|
400
|
+
attrs,
|
|
401
|
+
slots,
|
|
402
|
+
emit,
|
|
403
|
+
expose
|
|
404
|
+
}) {
|
|
405
|
+
const {
|
|
406
|
+
_globalSize,
|
|
407
|
+
state,
|
|
408
|
+
elementRef,
|
|
409
|
+
tableRef,
|
|
410
|
+
handleTableColumnAutoWidth,
|
|
411
|
+
loadTableColumns,
|
|
412
|
+
handleSizeChange,
|
|
413
|
+
handlePaginationChange,
|
|
414
|
+
defaultSearchTime,
|
|
415
|
+
tableSearch,
|
|
416
|
+
tableReset,
|
|
417
|
+
doRender,
|
|
418
|
+
doLoading,
|
|
419
|
+
handleCustomCellClick
|
|
420
|
+
} = useTable(props, slots, emit);
|
|
421
|
+
const columnSettingRef = ref();
|
|
422
|
+
let lastRowIndex = 0;
|
|
423
|
+
const indexMethod = (index) => {
|
|
424
|
+
if (index === 0) {
|
|
425
|
+
lastRowIndex = 0;
|
|
426
|
+
}
|
|
427
|
+
if (state.spanColumns?.length > 0) {
|
|
428
|
+
const rowspan = Number(state.tableSpanData["__table-index"][index]);
|
|
429
|
+
if (rowspan === 0) {
|
|
430
|
+
return lastRowIndex + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize + 1;
|
|
431
|
+
} else {
|
|
432
|
+
lastRowIndex++;
|
|
433
|
+
return lastRowIndex + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return index + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize + 1;
|
|
437
|
+
};
|
|
438
|
+
const handleSelect = (selection, row) => {
|
|
439
|
+
if (props.single) {
|
|
440
|
+
tableRef.value.clearSelection();
|
|
441
|
+
if (selection.length > 0 && row) {
|
|
442
|
+
tableRef.value.toggleRowSelection(row);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
emit("select", selection, row);
|
|
446
|
+
};
|
|
447
|
+
const handleSelectAll = (selection) => {
|
|
448
|
+
if (props.single) {
|
|
449
|
+
if (state.selected) {
|
|
450
|
+
if (state.tableData.length > 0) {
|
|
451
|
+
tableRef.value.clearSelection();
|
|
452
|
+
tableRef.value.toggleRowSelection(state.tableData[0]);
|
|
453
|
+
}
|
|
454
|
+
} else {
|
|
455
|
+
tableRef.value.clearSelection();
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
emit("selectAll", selection);
|
|
459
|
+
};
|
|
460
|
+
const handleSelectionChange = (newSelection) => {
|
|
461
|
+
newSelection.length === 0 ? state.selected = false : state.selected = true;
|
|
462
|
+
if (props.single && newSelection.length > 0) {
|
|
463
|
+
state.selectedList = [newSelection[newSelection.length - 1]];
|
|
464
|
+
} else {
|
|
465
|
+
state.selectedList = newSelection;
|
|
466
|
+
}
|
|
467
|
+
state.indeterminateSelectedListIds = state.indeterminateSelectedListIds.filter((f) => state.selectedListIds.some((s) => s === f));
|
|
468
|
+
emit("selectionChange", state.selectedList);
|
|
469
|
+
};
|
|
470
|
+
const toggleRowIndeterminateSelection = (row, selected) => {
|
|
471
|
+
const rowKey = isFunction(props.rowKey) ? props.rowKey(row) : row[props.rowKey];
|
|
472
|
+
const curRow = state.tableData.find((f) => isFunction(props.rowKey) ? props.rowKey(f) : f[props.rowKey] === rowKey);
|
|
473
|
+
if (selected === true) {
|
|
474
|
+
if (!state.indeterminateSelectedListIds.some((s) => s === rowKey)) {
|
|
475
|
+
state.indeterminateSelectedListIds.push(rowKey);
|
|
476
|
+
}
|
|
477
|
+
tableRef.value.toggleRowSelection(curRow, true);
|
|
478
|
+
} else if (selected === false) {
|
|
479
|
+
const fIndex = state.indeterminateSelectedListIds.findIndex((f) => f === rowKey);
|
|
480
|
+
if (fIndex >= 0) {
|
|
481
|
+
state.indeterminateSelectedListIds.splice(fIndex, 1);
|
|
482
|
+
}
|
|
483
|
+
tableRef.value.toggleRowSelection(curRow, false);
|
|
484
|
+
} else {
|
|
485
|
+
const fIndex = state.indeterminateSelectedListIds.findIndex((f) => f === rowKey);
|
|
486
|
+
if (fIndex >= 0) {
|
|
487
|
+
state.indeterminateSelectedListIds.splice(fIndex, 1);
|
|
488
|
+
} else {
|
|
489
|
+
state.indeterminateSelectedListIds.push(rowKey);
|
|
490
|
+
}
|
|
491
|
+
tableRef.value.toggleRowSelection(curRow);
|
|
492
|
+
}
|
|
493
|
+
};
|
|
494
|
+
const handleSortChange = ({
|
|
495
|
+
column,
|
|
496
|
+
prop,
|
|
497
|
+
order
|
|
498
|
+
}) => {
|
|
499
|
+
if (!column.multiOrder) {
|
|
500
|
+
column.multiOrder = "descending";
|
|
501
|
+
} else if (column.multiOrder === "descending") {
|
|
502
|
+
column.multiOrder = "ascending";
|
|
503
|
+
} else {
|
|
504
|
+
column.multiOrder = null;
|
|
505
|
+
}
|
|
506
|
+
state.searchParam.sortList = [.../* @__PURE__ */ new Set([...props.initParam?.sortList ?? [], ...state.searchParam?.sortList ?? []])];
|
|
507
|
+
const orgColumn = state.orgColumns.find((f) => f.prop === prop);
|
|
508
|
+
const enField = orgColumn.sortableField ?? orgColumn.prop ?? orgColumn.property;
|
|
509
|
+
const fieldIndex = state.searchParam.sortList.findIndex((f) => f.enField === enField);
|
|
510
|
+
if (!column.multiOrder) {
|
|
511
|
+
state.searchParam.sortList.splice(fieldIndex, 1);
|
|
512
|
+
} else if (fieldIndex === -1) {
|
|
513
|
+
state.searchParam.sortList.push({
|
|
514
|
+
enField,
|
|
515
|
+
cnField: orgColumn.label,
|
|
516
|
+
mode: column.multiOrder
|
|
517
|
+
});
|
|
518
|
+
} else {
|
|
519
|
+
state.searchParam.sortList[fieldIndex].mode = column.multiOrder;
|
|
520
|
+
}
|
|
521
|
+
if (state.searchParam.sortList.length === 0) {
|
|
522
|
+
delete state.searchParam.sortList;
|
|
523
|
+
}
|
|
524
|
+
emit("sortChange", {
|
|
525
|
+
column,
|
|
526
|
+
prop,
|
|
527
|
+
order: column.multiOrder
|
|
528
|
+
});
|
|
529
|
+
tableSearch();
|
|
530
|
+
};
|
|
531
|
+
const handleCurrentChange = (currentRow, oldCurrentRow) => {
|
|
532
|
+
if (!currentRow) {
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
if (props.rowClickSelection) {
|
|
536
|
+
if (props.single && oldCurrentRow) {
|
|
537
|
+
tableRef.value.toggleRowSelection(oldCurrentRow);
|
|
538
|
+
}
|
|
539
|
+
tableRef.value.toggleRowSelection(currentRow);
|
|
540
|
+
}
|
|
541
|
+
emit("currentChange", currentRow, oldCurrentRow);
|
|
542
|
+
};
|
|
543
|
+
const handleCellClassName = ({
|
|
544
|
+
row,
|
|
545
|
+
column,
|
|
546
|
+
rowIndex,
|
|
547
|
+
columnIndex
|
|
548
|
+
}) => {
|
|
549
|
+
let localCellClassName = null;
|
|
550
|
+
if (column.type === "selection") {
|
|
551
|
+
const rowKey = isFunction(props.rowKey) ? props.rowKey(row) : row[props.rowKey];
|
|
552
|
+
if (state.indeterminateSelectedListIds.some((s) => s === rowKey)) {
|
|
553
|
+
localCellClassName = "fa-table__selection-column__indeterminate";
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
const columnInfo = state.tableColumns.find((f) => f.prop === column.property);
|
|
557
|
+
if (columnInfo?.dataDeleteField) {
|
|
558
|
+
if (row && row[columnInfo.dataDeleteField] === true) {
|
|
559
|
+
if (localCellClassName) {
|
|
560
|
+
localCellClassName += " fa-table__data-delete-column";
|
|
561
|
+
} else {
|
|
562
|
+
localCellClassName = "fa-table__data-delete-column";
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
if (columnInfo?.type === "submitInfo") {
|
|
567
|
+
if (localCellClassName) {
|
|
568
|
+
localCellClassName += " fa-table__line-height-normal-column";
|
|
569
|
+
} else {
|
|
570
|
+
localCellClassName = "fa-table__line-height-normal-column";
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
if (columnInfo?.type === "date" || columnInfo?.type === "time" || columnInfo?.type === "dateTime") {
|
|
574
|
+
if (columnInfo?.dateFix) {
|
|
575
|
+
if (localCellClassName) {
|
|
576
|
+
localCellClassName += " fa-table__line-height-normal-column";
|
|
577
|
+
} else {
|
|
578
|
+
localCellClassName = "fa-table__line-height-normal-column";
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
if (props.cellClassName) {
|
|
583
|
+
let cellClassName = null;
|
|
584
|
+
if (isString(props.cellClassName)) {
|
|
585
|
+
cellClassName = props.cellClassName;
|
|
586
|
+
} else {
|
|
587
|
+
cellClassName = props.cellClassName({
|
|
588
|
+
row,
|
|
589
|
+
column,
|
|
590
|
+
rowIndex,
|
|
591
|
+
columnIndex
|
|
592
|
+
});
|
|
593
|
+
}
|
|
594
|
+
if (!cellClassName) {
|
|
595
|
+
return localCellClassName;
|
|
596
|
+
}
|
|
597
|
+
if (localCellClassName) {
|
|
598
|
+
return `${localCellClassName} ${cellClassName}`;
|
|
599
|
+
} else {
|
|
600
|
+
return cellClassName;
|
|
601
|
+
}
|
|
602
|
+
} else {
|
|
603
|
+
return localCellClassName;
|
|
604
|
+
}
|
|
605
|
+
};
|
|
606
|
+
const handleHeaderCellClassName = ({
|
|
607
|
+
row,
|
|
608
|
+
column,
|
|
609
|
+
rowIndex,
|
|
610
|
+
columnIndex
|
|
611
|
+
}) => {
|
|
612
|
+
column.order = column.multiOrder;
|
|
613
|
+
if (props.headerCellClassName) {
|
|
614
|
+
if (isFunction(props.headerCellClassName)) {
|
|
615
|
+
return props.headerCellClassName({
|
|
616
|
+
row,
|
|
617
|
+
column,
|
|
618
|
+
rowIndex,
|
|
619
|
+
columnIndex
|
|
620
|
+
});
|
|
621
|
+
} else {
|
|
622
|
+
return props.headerCellClassName;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
return null;
|
|
626
|
+
};
|
|
627
|
+
const handleSpanMethod = ({
|
|
628
|
+
row,
|
|
629
|
+
column,
|
|
630
|
+
rowIndex,
|
|
631
|
+
columnIndex
|
|
632
|
+
}) => {
|
|
633
|
+
const pKey = column.property ?? column.columnKey;
|
|
634
|
+
if (state.spanColumns.findIndex((f) => f.prop === pKey) !== -1) {
|
|
635
|
+
const rowspan = Number(state.tableSpanData[pKey][rowIndex]);
|
|
636
|
+
if (rowspan > 0) {
|
|
637
|
+
return {
|
|
638
|
+
rowspan,
|
|
639
|
+
colspan: 1
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
return {
|
|
643
|
+
rowspan: 0,
|
|
644
|
+
colspan: 0
|
|
645
|
+
};
|
|
646
|
+
}
|
|
647
|
+
return {
|
|
648
|
+
rowspan: 1,
|
|
649
|
+
colspan: 1
|
|
650
|
+
};
|
|
651
|
+
};
|
|
652
|
+
const handleHeaderDragend = async (newWidth, oldWidth, column, event) => {
|
|
653
|
+
state.orgColumns.forEach((f) => {
|
|
654
|
+
if (column.property === f.prop) {
|
|
655
|
+
f.width = newWidth;
|
|
656
|
+
f.smallWidth = newWidth;
|
|
657
|
+
}
|
|
658
|
+
});
|
|
659
|
+
emit("headerDragend", newWidth, oldWidth, column, event);
|
|
660
|
+
await clickUtil.debounceAsync(columnSettingRef.value.change, 500);
|
|
661
|
+
};
|
|
662
|
+
const handleImagePreview = (url) => {
|
|
663
|
+
state.previewList = [url];
|
|
664
|
+
state.imagePreview = true;
|
|
665
|
+
};
|
|
666
|
+
onMounted(async () => {
|
|
667
|
+
state.initParam = props.initParam;
|
|
668
|
+
loadTableColumns();
|
|
669
|
+
defaultSearchTime();
|
|
670
|
+
Object.keys(props.initParam ?? {}).forEach((key) => {
|
|
671
|
+
state.searchParam[key] = props.initParam[key];
|
|
672
|
+
});
|
|
673
|
+
await tableSearch();
|
|
674
|
+
watch(() => props.initParam, () => {
|
|
675
|
+
Object.keys(props.initParam ?? {}).forEach((key) => {
|
|
676
|
+
state.searchParam[key] = props.initParam[key];
|
|
677
|
+
});
|
|
678
|
+
}, {
|
|
679
|
+
deep: true
|
|
680
|
+
});
|
|
681
|
+
watch(() => props.data, async () => {
|
|
682
|
+
if (!props.requestApi && props.autoRefresh) {
|
|
683
|
+
await tableSearch();
|
|
684
|
+
}
|
|
685
|
+
}, {
|
|
686
|
+
deep: true,
|
|
687
|
+
immediate: true
|
|
688
|
+
});
|
|
689
|
+
watchEffect(async () => {
|
|
690
|
+
const element = elementRef.value;
|
|
691
|
+
if (element) {
|
|
692
|
+
const observer = new ResizeObserver((entries) => {
|
|
693
|
+
for (const entry of entries) {
|
|
694
|
+
const {
|
|
695
|
+
width,
|
|
696
|
+
height
|
|
697
|
+
} = entry.contentRect;
|
|
698
|
+
state.tableWidth = width;
|
|
699
|
+
state.tableHeight = height;
|
|
700
|
+
}
|
|
701
|
+
clickUtil.debounceAsync(async () => {
|
|
702
|
+
await handleTableColumnAutoWidth();
|
|
703
|
+
}, 100);
|
|
704
|
+
});
|
|
705
|
+
observer.observe(element);
|
|
706
|
+
return () => {
|
|
707
|
+
observer.disconnect();
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
});
|
|
711
|
+
});
|
|
712
|
+
onActivated(async () => {
|
|
713
|
+
await handleTableColumnAutoWidth();
|
|
714
|
+
});
|
|
715
|
+
const searchFormSlotNames = computed(() => state.searchColumns.filter((f) => f.search.slot).map((m) => m.search.slot));
|
|
716
|
+
const tableColumnSlotNames = computed(() => state.tableColumns.filter((f) => f.slot).map((m) => m.slot));
|
|
717
|
+
const tableColumnOmitNames = ["multiOrder", "columnID", "order", "sortableField", "disabledSortable", "spanProp", "pureSearch", "search"];
|
|
718
|
+
const elTableProps = useProps(props, tableProps, ["data", "spanMethod", "headerCellClassName", "cellClassName"]);
|
|
719
|
+
useRender(() => createVNode("div", {
|
|
720
|
+
"ref": elementRef,
|
|
721
|
+
"class": ["fa-table", `fa-table-${_globalSize.value}`, `fa-table__${props.tableKey ?? "notFound"}`, {
|
|
722
|
+
fa__click__disabled: state.loading
|
|
723
|
+
}],
|
|
724
|
+
"style": {
|
|
725
|
+
"--fa-table-width": `${state.tableWidth ? `${state.tableWidth}px` : ""}`,
|
|
726
|
+
"--fa-table-height": `${state.tableHeight ? `${state.tableHeight}px` : ""}`
|
|
727
|
+
}
|
|
728
|
+
}, [createVNode(TableSearchForm, {
|
|
729
|
+
"show": props.searchForm && state.searchForm,
|
|
730
|
+
"cols": props.searchFormCols,
|
|
731
|
+
"search": tableSearch,
|
|
732
|
+
"reset": tableReset
|
|
733
|
+
}, pick(slots, searchFormSlotNames.value)), slots.topHeader && createVNode("div", {
|
|
734
|
+
"class": "el-card fa-table__header"
|
|
735
|
+
}, [slots.topHeader({
|
|
736
|
+
...{
|
|
737
|
+
search: tableSearch
|
|
738
|
+
},
|
|
739
|
+
...getTableDefaultSlots(state)
|
|
740
|
+
})]), createVNode("div", {
|
|
741
|
+
"class": "el-card fa-table__main"
|
|
742
|
+
}, [props.headerCard && createVNode("div", {
|
|
743
|
+
"class": "fa-table__main-header"
|
|
744
|
+
}, [createVNode("div", {
|
|
745
|
+
"class": "fa-table__main-header-left"
|
|
746
|
+
}, [slots.header && slots.header({
|
|
747
|
+
...{
|
|
748
|
+
search: tableSearch
|
|
749
|
+
},
|
|
750
|
+
...getTableDefaultSlots(state)
|
|
751
|
+
})]), createVNode("div", {
|
|
752
|
+
"class": "fa-table__main-header-right"
|
|
753
|
+
}, [props.toolBtn && createVNode(Fragment, null, [createVNode("div", {
|
|
754
|
+
"class": "fa-table__main-header-right__div-search"
|
|
755
|
+
}, [createVNode(ElInput, {
|
|
756
|
+
"class": "fa-table__main-header-right__input-search",
|
|
757
|
+
"disabled": state.loading,
|
|
758
|
+
"prefixIcon": Search,
|
|
759
|
+
"placeholder": "关键字搜索",
|
|
760
|
+
"modelValue": state.searchParam.searchValue,
|
|
761
|
+
"modelModifiers": {
|
|
762
|
+
"trim": true
|
|
763
|
+
},
|
|
764
|
+
"onUpdate:modelValue": ($event) => state.searchParam.searchValue = $event,
|
|
765
|
+
"clearable": true,
|
|
766
|
+
"onCompositionupdate": (e) => {
|
|
767
|
+
state.searchValueUpdate = e.data;
|
|
768
|
+
},
|
|
769
|
+
"onCompositionend": (e) => {
|
|
770
|
+
state.searchValueUpdate = "";
|
|
771
|
+
},
|
|
772
|
+
"onChange": () => tableSearch()
|
|
773
|
+
}, null), createVNode("div", {
|
|
774
|
+
"class": "fa-table__main-header-right__div-search__hidden"
|
|
775
|
+
}, [state.searchParam.searchValue, state.searchValueUpdate])]), props.requestApi && !props.hideSearchTime && createVNode(ElDatePicker, {
|
|
776
|
+
"class": "fa-table__main-header-right__data-search",
|
|
777
|
+
"popperClass": "fa-table__main-header-right__data-search__popper",
|
|
778
|
+
"disabled": state.loading,
|
|
779
|
+
"type": "daterange",
|
|
780
|
+
"modelValue": state.searchParam.searchTimeList,
|
|
781
|
+
"onUpdate:modelValue": ($event) => state.searchParam.searchTimeList = $event,
|
|
782
|
+
"defaultTime": dateUtil.getDefaultTime(),
|
|
783
|
+
"shortcuts": dateUtil.getShortcuts(),
|
|
784
|
+
"valueFormat": "YYYY-MM-DD HH:mm:ss",
|
|
785
|
+
"disabledDate": dateUtil.getDisabledDate,
|
|
786
|
+
"clearable": false,
|
|
787
|
+
"teleported": false,
|
|
788
|
+
"unlinkPanels": true,
|
|
789
|
+
"onChange": () => tableSearch()
|
|
790
|
+
}, null), slots.toolButton && slots.toolButton({
|
|
791
|
+
...{
|
|
792
|
+
search: tableSearch
|
|
793
|
+
},
|
|
794
|
+
...getTableDefaultSlots(state)
|
|
795
|
+
}), props.refreshBtn && createVNode(ElButton, {
|
|
796
|
+
"loading": state.loading,
|
|
797
|
+
"loadingIcon": Eleme,
|
|
798
|
+
"title": "刷新",
|
|
799
|
+
"circle": true,
|
|
800
|
+
"icon": Refresh,
|
|
801
|
+
"onClick": () => tableSearch()
|
|
802
|
+
}, null), props.searchBtn && state.searchColumns.length > 0 && createVNode(ElButton, {
|
|
803
|
+
"loading": state.loading,
|
|
804
|
+
"loadingIcon": Eleme,
|
|
805
|
+
"title": state.searchForm ? "隐藏搜索栏" : "显示搜索栏",
|
|
806
|
+
"circle": true,
|
|
807
|
+
"icon": Search,
|
|
808
|
+
"onClick": () => state.searchForm = !state.searchForm
|
|
809
|
+
}, null), props.columnSettingBtn && !props.columns && createVNode(ElButton, {
|
|
810
|
+
"loading": state.loading,
|
|
811
|
+
"loadingIcon": Eleme,
|
|
812
|
+
"title": "表格列配置",
|
|
813
|
+
"circle": true,
|
|
814
|
+
"icon": Setting,
|
|
815
|
+
"onClick": () => columnSettingRef.value.open()
|
|
816
|
+
}, null), slots.toolButtonAdv && createVNode(ElDropdown, {
|
|
817
|
+
"title": "高级操作",
|
|
818
|
+
"trigger": "click"
|
|
819
|
+
}, {
|
|
820
|
+
default: () => createVNode(ElButton, {
|
|
821
|
+
"loading": state.loading,
|
|
822
|
+
"loadingIcon": Eleme,
|
|
823
|
+
"circle": true,
|
|
824
|
+
"icon": More
|
|
825
|
+
}, null),
|
|
826
|
+
dropdown: () => {
|
|
827
|
+
let _slot;
|
|
828
|
+
return createVNode(ElDropdownMenu, null, _isSlot(_slot = slots.toolButtonAdv({
|
|
829
|
+
...{
|
|
830
|
+
search: tableSearch
|
|
831
|
+
},
|
|
832
|
+
...getTableDefaultSlots(state)
|
|
833
|
+
})) ? _slot : {
|
|
834
|
+
default: () => [_slot]
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
})])])]), withDirectives(createVNode(ElTable, mergeProps(elTableProps.value, {
|
|
838
|
+
"ref": tableRef,
|
|
839
|
+
"element-loading-text": state.loadingText,
|
|
840
|
+
"data": state.tableData,
|
|
841
|
+
"spanMethod": handleSpanMethod,
|
|
842
|
+
"headerCellClassName": handleHeaderCellClassName,
|
|
843
|
+
"cellClassName": handleCellClassName,
|
|
844
|
+
"onSelectionChange": handleSelectionChange,
|
|
845
|
+
"onSortChange": handleSortChange,
|
|
846
|
+
"onSelect": handleSelect,
|
|
847
|
+
"onSelectAll": handleSelectAll,
|
|
848
|
+
"onCurrentChange": handleCurrentChange,
|
|
849
|
+
"onHeaderDragend": handleHeaderDragend,
|
|
850
|
+
"onCellMouseEnter": (row, column, cell, event) => emit("cellMouseEnter", row, column, cell, event),
|
|
851
|
+
"onCellMouseLeave": (row, column, cell, event) => emit("cellMouseLeave", row, column, cell, event),
|
|
852
|
+
"onCellClick": (row, column, cell, event) => emit("cellClick", row, column, cell, event),
|
|
853
|
+
"onCellDblclick": (row, column, cell, event) => emit("cellDblclick", row, column, cell, event),
|
|
854
|
+
"onCellContextmenu": (row, column, cell, event) => emit("cellContextmenu", row, column, cell, event),
|
|
855
|
+
"onRowClick": (row, column, event) => emit("rowClick", row, column, event),
|
|
856
|
+
"onRowContextmenu": (row, column, event) => emit("rowContextmenu", row, column, event),
|
|
857
|
+
"onRowDblclick": (row, column, event) => emit("rowDblclick", row, column, event),
|
|
858
|
+
"onHeaderClick": (column, event) => emit("headerClick", column, event),
|
|
859
|
+
"onHeaderContextmenu": (column, event) => emit("headerContextmenu", column, event),
|
|
860
|
+
"onFilterChange": (newFilters) => emit("filterChange", newFilters),
|
|
861
|
+
"onExpandChange": (row, expanded) => emit("expandChange", row, expanded)
|
|
862
|
+
}), {
|
|
863
|
+
append: () => slots.append && slots.append(),
|
|
864
|
+
empty: () => createVNode("div", {
|
|
865
|
+
"class": "fa-table__empty"
|
|
866
|
+
}, [slots.empty ? slots.empty() : createVNode(Fragment, null, [createVNode(ElIcon, null, {
|
|
867
|
+
default: () => [createVNode(NotData, null, null)]
|
|
868
|
+
}), createVNode("div", null, [createTextVNode("暂无数据")])])]),
|
|
869
|
+
default: () => createVNode(Fragment, null, [createVNode(ElTableColumn, {
|
|
870
|
+
"className": "fa-table__index-column",
|
|
871
|
+
"type": "index",
|
|
872
|
+
"fixed": "left",
|
|
873
|
+
"width": state.tablePagination.pageIndex * state.tablePagination.pageSize >= 100 ? state.tablePagination.pageIndex * state.tablePagination.pageSize >= 1e3 ? 50 : 40 : 30,
|
|
874
|
+
"align": "center",
|
|
875
|
+
"index": indexMethod,
|
|
876
|
+
"showOverflowTooltip": false,
|
|
877
|
+
"resizable": false,
|
|
878
|
+
"columnKey": "__table-index"
|
|
879
|
+
}, null), createVNode(ElTableColumn, {
|
|
880
|
+
"className": "fa-table__selection-column",
|
|
881
|
+
"type": "selection",
|
|
882
|
+
"fixed": "left",
|
|
883
|
+
"width": 35,
|
|
884
|
+
"align": "center",
|
|
885
|
+
"reserveSelection": true,
|
|
886
|
+
"showOverflowTooltip": false,
|
|
887
|
+
"resizable": false,
|
|
888
|
+
"columnKey": "__table-selection",
|
|
889
|
+
"selectable": props.rowSelectable
|
|
890
|
+
}, null), slots.operation && createVNode(ElTableColumn, {
|
|
891
|
+
"fixed": "right",
|
|
892
|
+
"width": state.operationColumnWidth,
|
|
893
|
+
"headerAlign": "center",
|
|
894
|
+
"align": "left",
|
|
895
|
+
"showOverflowTooltip": false,
|
|
896
|
+
"className": "fa-table__operation-column",
|
|
897
|
+
"resizable": false,
|
|
898
|
+
"columnKey": "__table-operation"
|
|
899
|
+
}, {
|
|
900
|
+
header: () => createVNode("div", {
|
|
901
|
+
"class": "fa-table__auto-width-column__cell-header __fa-table__auto-width-column__cell-header____table-operation"
|
|
902
|
+
}, [createVNode("span", null, [createTextVNode("操作")])]),
|
|
903
|
+
default: ({
|
|
904
|
+
row,
|
|
905
|
+
column,
|
|
906
|
+
$index
|
|
907
|
+
}) => createVNode("div", {
|
|
908
|
+
"class": "fa-table__auto-width-column__cell __fa-table__auto-width-column__cell____table-operation"
|
|
909
|
+
}, [slots.operation({
|
|
910
|
+
row,
|
|
911
|
+
column,
|
|
912
|
+
$index,
|
|
913
|
+
...{
|
|
914
|
+
search: tableSearch
|
|
915
|
+
},
|
|
916
|
+
...getTableDefaultSlots(state)
|
|
917
|
+
})])
|
|
918
|
+
}), state.tableColumns?.length === 0 ? slots.default && slots.default() : state.tableColumns.map((col) => col.show && (col.type === "expand" ? createVNode(ElTableColumn, mergeProps(col, {
|
|
919
|
+
"width": 35,
|
|
920
|
+
"fixed": col.fixed ?? "left",
|
|
921
|
+
"resizable": false
|
|
922
|
+
}), {
|
|
923
|
+
default: ({
|
|
924
|
+
row,
|
|
925
|
+
column,
|
|
926
|
+
$index
|
|
927
|
+
}) => createVNode(Fragment, null, [col.render && col.render({
|
|
928
|
+
row,
|
|
929
|
+
column,
|
|
930
|
+
$index,
|
|
931
|
+
...getTableDefaultSlots(state)
|
|
932
|
+
}), col.slot && slots[col.slot] && slots[col.slot]({
|
|
933
|
+
row,
|
|
934
|
+
column,
|
|
935
|
+
$index,
|
|
936
|
+
...getTableDefaultSlots(state)
|
|
937
|
+
})])
|
|
938
|
+
}) : col.prop && createVNode(TableColumn, mergeProps(omit(col, tableColumnOmitNames), {
|
|
939
|
+
"resizable": true,
|
|
940
|
+
"onImagePreview": handleImagePreview,
|
|
941
|
+
"onCustomCellClick": handleCustomCellClick
|
|
942
|
+
}), pick(slots, tableColumnSlotNames.value))))])
|
|
943
|
+
}), [[resolveDirective("loading"), state.loading]]), createVNode("div", {
|
|
944
|
+
"class": "fa-table__main-footer"
|
|
945
|
+
}, [createVNode("div", {
|
|
946
|
+
"class": "fa-table__main-footer__left"
|
|
947
|
+
}, [slots.footer && slots.footer({
|
|
948
|
+
...{
|
|
949
|
+
search: tableSearch
|
|
950
|
+
},
|
|
951
|
+
...getTableDefaultSlots(state)
|
|
952
|
+
})]), slots.pagination ? slots.pagination({
|
|
953
|
+
pageIndex: state.tablePagination.pageIndex,
|
|
954
|
+
pageSize: state.tablePagination.pageSize,
|
|
955
|
+
totalRows: state.tablePagination.totalRows,
|
|
956
|
+
handleSizeChange,
|
|
957
|
+
handlePaginationChange
|
|
958
|
+
}) : createVNode(Fragment, null, [props.pagination ? createVNode(TablePagination, {
|
|
959
|
+
"sizeChange": handleSizeChange,
|
|
960
|
+
"currentChange": handlePaginationChange
|
|
961
|
+
}, null) : createVNode(ElPagination, {
|
|
962
|
+
"class": "fa-table-pagination",
|
|
963
|
+
"size": "small",
|
|
964
|
+
"layout": "total",
|
|
965
|
+
"total": state.tableData.length
|
|
966
|
+
}, null)])])]), state.imagePreview && createVNode(ElImageViewer, {
|
|
967
|
+
"closeOnPressEscape": true,
|
|
968
|
+
"hideOnClickModal": true,
|
|
969
|
+
"teleported": true,
|
|
970
|
+
"onClose": () => state.imagePreview = false,
|
|
971
|
+
"urlList": state.previewList
|
|
972
|
+
}, null), createVNode(TableColumnsSettingDialog, {
|
|
973
|
+
"ref": columnSettingRef,
|
|
974
|
+
"save": props.columnsChange
|
|
975
|
+
}, null)]));
|
|
976
|
+
return useExpose(expose, {
|
|
977
|
+
/** @description 用于多选表格,清空用户的选择 */
|
|
978
|
+
clearSelection: computed(() => tableRef.value?.clearSelection),
|
|
979
|
+
/** @description 返回当前选中的行 */
|
|
980
|
+
getSelectionRows: computed(() => tableRef.value?.getSelectionRows),
|
|
981
|
+
/** @description 用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */
|
|
982
|
+
toggleRowSelection: computed(() => tableRef.value?.toggleRowSelection),
|
|
983
|
+
/** @description 用于多选表格,切换全选和全不选 */
|
|
984
|
+
toggleAllSelection: computed(() => tableRef.value?.toggleAllSelection),
|
|
985
|
+
/** @description 用于可扩展的表格或树表格,如果某行被扩展,则切换。 使用第二个参数,您可以直接设置该行应该被扩展或折叠。 */
|
|
986
|
+
toggleRowExpansion: computed(() => tableRef.value?.toggleRowExpansion),
|
|
987
|
+
/** @description 用于单选表格,设定某一行为选中行, 如果调用时不加参数,则会取消目前高亮行的选中状态。 */
|
|
988
|
+
setCurrentRow: computed(() => tableRef.value?.setCurrentRow),
|
|
989
|
+
/** @description 用于清空排序条件,数据会恢复成未排序的状态 */
|
|
990
|
+
clearSort: computed(() => tableRef.value?.clearSort),
|
|
991
|
+
/** @description 传入由columnKey 组成的数组以清除指定列的过滤条件。 如果没有参数,清除所有过滤器 */
|
|
992
|
+
clearFilter: computed(() => tableRef.value?.clearFilter),
|
|
993
|
+
/** @description 对 Table 进行重新布局。 当表格可见性变化时,您可能需要调用此方法以获得正确的布局 */
|
|
994
|
+
doLayout: computed(() => tableRef.value?.doLayout),
|
|
995
|
+
/** @description 手动排序表格。 参数 prop 属性指定排序列,order 指定排序顺序。 */
|
|
996
|
+
sort: computed(() => tableRef.value?.sort),
|
|
997
|
+
/** @description 滚动到一组特定坐标 */
|
|
998
|
+
scrollTo: computed(() => tableRef.value?.scrollTo),
|
|
999
|
+
/** @description 设置垂直滚动位置 */
|
|
1000
|
+
setScrollTop: computed(() => tableRef.value?.setScrollTop),
|
|
1001
|
+
/** @description 设置水平滚动位置 */
|
|
1002
|
+
setScrollLeft: computed(() => tableRef.value?.setScrollLeft),
|
|
1003
|
+
/** @description 获取表列的 context */
|
|
1004
|
+
columns: computed(() => tableRef.value?.columns),
|
|
1005
|
+
/** @description 适用于 lazy Table, 需要设置 rowKey, 更新 key children */
|
|
1006
|
+
updateKeyChildren: computed(() => tableRef.value?.updateKeyChildren),
|
|
1007
|
+
/** @description 加载状态 */
|
|
1008
|
+
loading: computed(() => state.loading),
|
|
1009
|
+
/** @description 表格数据 */
|
|
1010
|
+
tableData: computed(() => state.tableData),
|
|
1011
|
+
/** @description 分页数据 */
|
|
1012
|
+
tablePagination: computed(() => state.tablePagination),
|
|
1013
|
+
/** @description 搜索参数 */
|
|
1014
|
+
searchParam: computed(() => state.searchParam),
|
|
1015
|
+
/** @description 选中状态 */
|
|
1016
|
+
selected: computed(() => state.selected),
|
|
1017
|
+
/** @description 选中数据列表 */
|
|
1018
|
+
selectedList: computed(() => state.selectedList),
|
|
1019
|
+
/** @description 选中数据 rowKey 列表 */
|
|
1020
|
+
selectedListIds: computed(() => state.selectedListIds),
|
|
1021
|
+
/** @description 部分选中数据 rowKey 列表 */
|
|
1022
|
+
indeterminateSelectedListIds: computed(() => state.indeterminateSelectedListIds),
|
|
1023
|
+
/** @description 表格宽度 */
|
|
1024
|
+
tableWidth: computed(() => state.tableWidth),
|
|
1025
|
+
/** @description 表格高度 */
|
|
1026
|
+
tableHeight: computed(() => state.tableHeight),
|
|
1027
|
+
/** @description 部分选中(样式不一样而已),用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */
|
|
1028
|
+
toggleRowIndeterminateSelection,
|
|
1029
|
+
/** @description 异步方法,刷新表格 */
|
|
1030
|
+
refresh: tableSearch,
|
|
1031
|
+
/** @description 异步方法,重置表格 */
|
|
1032
|
+
reset: tableReset,
|
|
1033
|
+
/** @description 对 Table 进行重新渲染。当 TableKey 发生变化的时候可以通过此方法重新渲染表格 */
|
|
1034
|
+
doRender,
|
|
1035
|
+
/** @description Table 加载 */
|
|
1036
|
+
doLoading
|
|
1037
|
+
});
|
|
1038
|
+
}
|
|
1039
|
+
});
|
|
1040
|
+
export {
|
|
1041
|
+
Table as default,
|
|
1042
|
+
faTableEmits,
|
|
1043
|
+
faTableProps,
|
|
1044
|
+
tableProps
|
|
1045
|
+
};
|
|
1046
|
+
//# sourceMappingURL=table.mjs.map
|