diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml index e42ef66ab..99b591195 100644 --- a/yudao-dependencies/pom.xml +++ b/yudao-dependencies/pom.xml @@ -41,7 +41,7 @@ 6.8.0 - 1.0.0 + 1.0.1 1.15.3 1.18.24 1.5.3.Final diff --git a/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/config/YudaoCaptchaConfiguration.java b/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/config/YudaoCaptchaConfiguration.java index f446819e7..2a690d800 100644 --- a/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/config/YudaoCaptchaConfiguration.java +++ b/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/config/YudaoCaptchaConfiguration.java @@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.captcha.config; import cn.hutool.core.util.ClassUtil; import cn.iocoder.yudao.framework.captcha.core.enums.CaptchaRedisKeyConstants; import cn.iocoder.yudao.framework.captcha.core.service.RedisCaptchaServiceImpl; -import com.anji.captcha.service.CaptchaCacheService; +import com.xingyuv.captcha.service.CaptchaCacheService; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.data.redis.core.StringRedisTemplate; diff --git a/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/enums/CaptchaRedisKeyConstants.java b/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/enums/CaptchaRedisKeyConstants.java index db051ca69..3e1147c37 100644 --- a/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/enums/CaptchaRedisKeyConstants.java +++ b/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/enums/CaptchaRedisKeyConstants.java @@ -1,7 +1,7 @@ package cn.iocoder.yudao.framework.captcha.core.enums; import cn.iocoder.yudao.framework.redis.core.RedisKeyDefine; -import com.anji.captcha.model.vo.PointVO; +import com.xingyuv.captcha.model.vo.PointVO; import java.time.Duration; diff --git a/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/service/RedisCaptchaServiceImpl.java b/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/service/RedisCaptchaServiceImpl.java index 57676f762..1429c47c2 100644 --- a/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/service/RedisCaptchaServiceImpl.java +++ b/yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/core/service/RedisCaptchaServiceImpl.java @@ -1,6 +1,6 @@ package cn.iocoder.yudao.framework.captcha.core.service; -import com.anji.captcha.service.CaptchaCacheService; +import com.xingyuv.captcha.service.CaptchaCacheService; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; import org.springframework.data.redis.core.StringRedisTemplate; diff --git a/yudao-framework/yudao-spring-boot-starter-captcha/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService b/yudao-framework/yudao-spring-boot-starter-captcha/src/main/resources/META-INF/services/com.xingyuv.captcha.service.CaptchaCacheService similarity index 100% rename from yudao-framework/yudao-spring-boot-starter-captcha/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService rename to yudao-framework/yudao-spring-boot-starter-captcha/src/main/resources/META-INF/services/com.xingyuv.captcha.service.CaptchaCacheService diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java index ce860add5..490284242 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java @@ -22,9 +22,9 @@ import cn.iocoder.yudao.module.system.service.member.MemberService; import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService; import cn.iocoder.yudao.module.system.service.social.SocialUserService; import cn.iocoder.yudao.module.system.service.user.AdminUserService; -import com.anji.captcha.model.common.ResponseModel; -import com.anji.captcha.model.vo.CaptchaVO; -import com.anji.captcha.service.CaptchaService; +import com.xingyuv.captcha.model.common.ResponseModel; +import com.xingyuv.captcha.model.vo.CaptchaVO; +import com.xingyuv.captcha.service.CaptchaService; import com.google.common.annotations.VisibleForTesting; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; diff --git a/yudao-ui-admin-vue3/package.json b/yudao-ui-admin-vue3/package.json index 81cdf7ae9..795cda586 100644 --- a/yudao-ui-admin-vue3/package.json +++ b/yudao-ui-admin-vue3/package.json @@ -1,6 +1,6 @@ { "name": "yudao-ui-admin-vue3", - "version": "1.6.6-snapshot.1921", + "version": "1.6.6-snapshot.1922", "description": "基于vue3、vite4、element-plus、typesScript", "author": "xingyu", "private": false, @@ -66,8 +66,8 @@ "@types/nprogress": "^0.2.0", "@types/qrcode": "^1.5.0", "@types/qs": "^6.9.7", - "@typescript-eslint/eslint-plugin": "^5.48.1", - "@typescript-eslint/parser": "^5.48.1", + "@typescript-eslint/eslint-plugin": "^5.48.2", + "@typescript-eslint/parser": "^5.48.2", "@vitejs/plugin-legacy": "^3.0.1", "@vitejs/plugin-vue": "^4.0.0", "@vitejs/plugin-vue-jsx": "^3.0.0", @@ -83,7 +83,7 @@ "postcss-html": "^1.5.0", "postcss-scss": "^4.0.6", "prettier": "^2.8.3", - "rimraf": "^4.0.7", + "rimraf": "^4.1.0", "rollup": "^3.10.0", "sass": "^1.57.1", "stylelint": "^14.16.1", diff --git a/yudao-ui-admin-vue3/pnpm-lock.yaml b/yudao-ui-admin-vue3/pnpm-lock.yaml index 773c37a63..caf8e4497 100644 --- a/yudao-ui-admin-vue3/pnpm-lock.yaml +++ b/yudao-ui-admin-vue3/pnpm-lock.yaml @@ -13,8 +13,8 @@ specifiers: '@types/nprogress': ^0.2.0 '@types/qrcode': ^1.5.0 '@types/qs': ^6.9.7 - '@typescript-eslint/eslint-plugin': ^5.48.1 - '@typescript-eslint/parser': ^5.48.1 + '@typescript-eslint/eslint-plugin': ^5.48.2 + '@typescript-eslint/parser': ^5.48.2 '@vitejs/plugin-legacy': ^3.0.1 '@vitejs/plugin-vue': ^4.0.0 '@vitejs/plugin-vue-jsx': ^3.0.0 @@ -50,7 +50,7 @@ specifiers: prettier: ^2.8.3 qrcode: ^1.5.1 qs: ^6.11.0 - rimraf: ^4.0.7 + rimraf: ^4.1.0 rollup: ^3.10.0 sass: ^1.57.1 stylelint: ^14.16.1 @@ -125,8 +125,8 @@ devDependencies: '@types/nprogress': 0.2.0 '@types/qrcode': 1.5.0 '@types/qs': 6.9.7 - '@typescript-eslint/eslint-plugin': 5.48.1_oomjohfipuyaxs2zyomcx4f5by - '@typescript-eslint/parser': 5.48.1_7uibuqfxkfaozanbtbziikiqje + '@typescript-eslint/eslint-plugin': 5.48.2_caon6io6stgpr7lz2rtbhekxqy + '@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje '@vitejs/plugin-legacy': 3.0.1_terser@5.16.1+vite@4.0.4 '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45 '@vitejs/plugin-vue-jsx': 3.0.0_vite@4.0.4+vue@3.2.45 @@ -142,7 +142,7 @@ devDependencies: postcss-html: 1.5.0 postcss-scss: 4.0.6_postcss@8.4.21 prettier: 2.8.3 - rimraf: 4.0.7 + rimraf: 4.1.0 rollup: 3.10.0 sass: 1.57.1 stylelint: 14.16.1 @@ -1279,8 +1279,8 @@ packages: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} dev: false - /@typescript-eslint/eslint-plugin/5.48.1_oomjohfipuyaxs2zyomcx4f5by: - resolution: {integrity: sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==} + /@typescript-eslint/eslint-plugin/5.48.2_caon6io6stgpr7lz2rtbhekxqy: + resolution: {integrity: sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1290,10 +1290,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.48.1_7uibuqfxkfaozanbtbziikiqje - '@typescript-eslint/scope-manager': 5.48.1 - '@typescript-eslint/type-utils': 5.48.1_7uibuqfxkfaozanbtbziikiqje - '@typescript-eslint/utils': 5.48.1_7uibuqfxkfaozanbtbziikiqje + '@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje + '@typescript-eslint/scope-manager': 5.48.2 + '@typescript-eslint/type-utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje + '@typescript-eslint/utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje debug: 4.3.4 eslint: 8.32.0 ignore: 5.2.1 @@ -1306,8 +1306,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.48.1_7uibuqfxkfaozanbtbziikiqje: - resolution: {integrity: sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==} + /@typescript-eslint/parser/5.48.2_7uibuqfxkfaozanbtbziikiqje: + resolution: {integrity: sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1316,9 +1316,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.48.1 - '@typescript-eslint/types': 5.48.1 - '@typescript-eslint/typescript-estree': 5.48.1_typescript@4.9.4 + '@typescript-eslint/scope-manager': 5.48.2 + '@typescript-eslint/types': 5.48.2 + '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4 debug: 4.3.4 eslint: 8.32.0 typescript: 4.9.4 @@ -1326,16 +1326,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.48.1: - resolution: {integrity: sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==} + /@typescript-eslint/scope-manager/5.48.2: + resolution: {integrity: sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.48.1 - '@typescript-eslint/visitor-keys': 5.48.1 + '@typescript-eslint/types': 5.48.2 + '@typescript-eslint/visitor-keys': 5.48.2 dev: true - /@typescript-eslint/type-utils/5.48.1_7uibuqfxkfaozanbtbziikiqje: - resolution: {integrity: sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==} + /@typescript-eslint/type-utils/5.48.2_7uibuqfxkfaozanbtbziikiqje: + resolution: {integrity: sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1344,8 +1344,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.48.1_typescript@4.9.4 - '@typescript-eslint/utils': 5.48.1_7uibuqfxkfaozanbtbziikiqje + '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4 + '@typescript-eslint/utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje debug: 4.3.4 eslint: 8.32.0 tsutils: 3.21.0_typescript@4.9.4 @@ -1354,13 +1354,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.48.1: - resolution: {integrity: sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==} + /@typescript-eslint/types/5.48.2: + resolution: {integrity: sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.48.1_typescript@4.9.4: - resolution: {integrity: sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==} + /@typescript-eslint/typescript-estree/5.48.2_typescript@4.9.4: + resolution: {integrity: sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1368,8 +1368,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.48.1 - '@typescript-eslint/visitor-keys': 5.48.1 + '@typescript-eslint/types': 5.48.2 + '@typescript-eslint/visitor-keys': 5.48.2 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1380,17 +1380,17 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.48.1_7uibuqfxkfaozanbtbziikiqje: - resolution: {integrity: sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==} + /@typescript-eslint/utils/5.48.2_7uibuqfxkfaozanbtbziikiqje: + resolution: {integrity: sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.48.1 - '@typescript-eslint/types': 5.48.1 - '@typescript-eslint/typescript-estree': 5.48.1_typescript@4.9.4 + '@typescript-eslint/scope-manager': 5.48.2 + '@typescript-eslint/types': 5.48.2 + '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4 eslint: 8.32.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.32.0 @@ -1400,11 +1400,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.48.1: - resolution: {integrity: sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==} + /@typescript-eslint/visitor-keys/5.48.2: + resolution: {integrity: sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.48.1 + '@typescript-eslint/types': 5.48.2 eslint-visitor-keys: 3.3.0 dev: true @@ -5192,8 +5192,8 @@ packages: glob: 7.2.3 dev: true - /rimraf/4.0.7: - resolution: {integrity: sha512-CUEDDrZvc0swDgVdXGiv3FcYYQMpJxjvSGt85Amj6yU+MCVWurrLCeLiJDdJPHCzNJnwuebBEdcO//eP11Xa7w==} + /rimraf/4.1.0: + resolution: {integrity: sha512-ZJdkUR5/dRrRJHdcSKJLrpRn6tVjl9ALxd4yrTCxFsMpjQNzwHF6GLqMsuEzEYIXxHlFPDSk21Vr8VPuFBEz0g==} engines: {node: '>=14'} hasBin: true dev: true diff --git a/yudao-ui-admin-vue3/src/components/DictTag/src/DictTag.vue b/yudao-ui-admin-vue3/src/components/DictTag/src/DictTag.vue index fb166019d..7f32f6f4e 100644 --- a/yudao-ui-admin-vue3/src/components/DictTag/src/DictTag.vue +++ b/yudao-ui-admin-vue3/src/components/DictTag/src/DictTag.vue @@ -1,45 +1,53 @@ - - diff --git a/yudao-ui-admin-vue3/src/components/XTable/src/XTable.vue b/yudao-ui-admin-vue3/src/components/XTable/src/XTable.vue index a3941e01b..3abbe9102 100644 --- a/yudao-ui-admin-vue3/src/components/XTable/src/XTable.vue +++ b/yudao-ui-admin-vue3/src/components/XTable/src/XTable.vue @@ -205,7 +205,7 @@ const getPageConfig = (options: XTableProps) => { if (isBoolean(pagination)) { options.pagerConfig = { border: false, // 带边框 - background: true, // 带背景颜色 + background: false, // 带背景颜色 perfect: false, // 配套的样式 pageSize: 10, // 每页大小 pagerCount: 7, // 显示页码按钮的数量 @@ -229,19 +229,19 @@ const getPageConfig = (options: XTableProps) => { if (pagination != false) { options.pagerConfig = { border: false, // 带边框 - background: true, // 带背景颜色 + background: false, // 带背景颜色 perfect: false, // 配套的样式 pageSize: 10, // 每页大小 pagerCount: 7, // 显示页码按钮的数量 autoHidden: false, // 当只有一页时自动隐藏 pageSizes: [5, 10, 20, 30, 50, 100], // 每页大小选项列表 layouts: [ + 'Sizes', 'PrevJump', 'PrevPage', - 'JumpNumber', + 'Number', 'NextPage', 'NextJump', - 'Sizes', 'FullJump', 'Total' ] @@ -276,7 +276,7 @@ const reload = () => { } // 删除 -const deleteData = async (ids: string | number) => { +const deleteData = async (id: string | number) => { const g = unref(xGrid) if (!g) { return @@ -288,7 +288,7 @@ const deleteData = async (ids: string | number) => { } return new Promise(async () => { message.delConfirm().then(async () => { - await (options?.deleteApi && options?.deleteApi(ids)) + await (options?.deleteApi && options?.deleteApi(id)) message.success(t('common.delSuccess')) // 刷新列表 reload() @@ -296,6 +296,49 @@ const deleteData = async (ids: string | number) => { }) } +// 批量删除 +const deleteBatch = async () => { + const g = unref(xGrid) + if (!g) { + return + } + const rows = g.getCheckboxRecords() || g.getRadioRecord() + let ids: any[] = [] + if (rows.length == 0) { + message.error('请选择数据') + return + } else { + rows.forEach((row) => { + ids.push(row.id) + }) + } + const options = innerProps.value || props.options + if (options.deleteListApi) { + return new Promise(async () => { + message.delConfirm().then(async () => { + await (options?.deleteListApi && options?.deleteListApi(ids)) + message.success(t('common.delSuccess')) + // 刷新列表 + reload() + }) + }) + } else if (options.deleteApi) { + return new Promise(async () => { + message.delConfirm().then(async () => { + ids.forEach(async (id) => { + await (options?.deleteApi && options?.deleteApi(id)) + }) + message.success(t('common.delSuccess')) + // 刷新列表 + reload() + }) + }) + } else { + console.error('未传入delListApi') + return + } +} + // 导出 const exportList = async (fileName?: string) => { const g = unref(xGrid) @@ -324,12 +367,48 @@ const getSearchData = () => { return queryParams } +// 获取当前列 +const getCurrentColumn = () => { + const g = unref(xGrid) + if (!g) { + return + } + return g.getCurrentColumn() +} + +// 获取当前选中列,redio +const getRadioRecord = () => { + const g = unref(xGrid) + if (!g) { + return + } + return g.getRadioRecord(false) +} + +// 获取当前选中列,checkbox +const getCheckboxRecords = () => { + const g = unref(xGrid) + if (!g) { + return + } + return g.getCheckboxRecords(false) +} const setProps = (prop: Partial) => { innerProps.value = { ...unref(innerProps), ...prop } } defineExpose({ reload, Ref: xGrid, getSearchData, deleteData, exportList }) -emit('register', { reload, getSearchData, setProps, deleteData, exportList }) +emit('register', { + reload, + getSearchData, + setProps, + deleteData, + deleteBatch, + exportList, + getCurrentColumn, + getRadioRecord, + getCheckboxRecords +})