diff --git a/src/components/ReBarcode/index.ts b/src/components/ReBarcode/index.ts index 50d0ae75c..088fbf97a 100644 --- a/src/components/ReBarcode/index.ts +++ b/src/components/ReBarcode/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; +import { withInstall } from "/@/utils"; import reBarcode from "./src/index.vue"; /** 条形码组件 */ -export const ReBarcode = Object.assign(reBarcode, { - install(app: App) { - app.component(reBarcode.name, reBarcode); - } -}); +export const ReBarcode = withInstall(reBarcode); export default ReBarcode; diff --git a/src/components/ReCountTo/index.ts b/src/components/ReCountTo/index.ts index 5fa36b75d..eb503a804 100644 --- a/src/components/ReCountTo/index.ts +++ b/src/components/ReCountTo/index.ts @@ -1,19 +1,11 @@ -import { App } from "vue"; +import { withInstall } from "/@/utils"; import reNormalCountTo from "./src/normal"; import reboundCountTo from "./src/rebound"; /** 普通数字动画组件 */ -const ReNormalCountTo = Object.assign(reNormalCountTo, { - install(app: App) { - app.component(reNormalCountTo.name, reNormalCountTo); - } -}); +const ReNormalCountTo = withInstall(reNormalCountTo); /** 回弹式数字动画组件 */ -const ReboundCountTo = Object.assign(reboundCountTo, { - install(app: App) { - app.component(reboundCountTo.name, reboundCountTo); - } -}); +const ReboundCountTo = withInstall(reboundCountTo); export { ReNormalCountTo, ReboundCountTo }; diff --git a/src/components/ReCropper/index.ts b/src/components/ReCropper/index.ts index 9d87a0643..934f6cd37 100644 --- a/src/components/ReCropper/index.ts +++ b/src/components/ReCropper/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; import reCropper from "./src"; +import { withInstall } from "/@/utils"; /** 图片裁剪组件 */ -export const ReCropper = Object.assign(reCropper, { - install(app: App) { - app.component(reCropper.name, reCropper); - } -}); +export const ReCropper = withInstall(reCropper); export default ReCropper; diff --git a/src/components/ReFlop/index.ts b/src/components/ReFlop/index.ts index 1c3c80d32..3479bc26d 100644 --- a/src/components/ReFlop/index.ts +++ b/src/components/ReFlop/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; import reFlop from "./src/index.vue"; +import { withInstall } from "/@/utils"; /** 时间翻牌组件 */ -export const ReFlop = Object.assign(reFlop, { - install(app: App) { - app.component(reFlop.name, reFlop); - } -}); +export const ReFlop = withInstall(reFlop); export default ReFlop; diff --git a/src/components/ReFlowChart/index.ts b/src/components/ReFlowChart/index.ts index 15b3d8749..470761c00 100644 --- a/src/components/ReFlowChart/index.ts +++ b/src/components/ReFlowChart/index.ts @@ -1,28 +1,16 @@ -import { App } from "vue"; +import { withInstall } from "/@/utils"; import control from "./src/Control.vue"; import nodePanel from "./src/NodePanel.vue"; import dataDialog from "./src/DataDialog.vue"; /** LogicFlow流程图-控制面板 */ -const Control = Object.assign(control, { - install(app: App) { - app.component(control.name, control); - } -}); +const Control = withInstall(control); /** LogicFlow流程图-拖拽面板 */ -const NodePanel = Object.assign(nodePanel, { - install(app: App) { - app.component(nodePanel.name, nodePanel); - } -}); +const NodePanel = withInstall(nodePanel); /** LogicFlow流程图-查看数据 */ -const DataDialog = Object.assign(dataDialog, { - install(app: App) { - app.component(dataDialog.name, dataDialog); - } -}); +const DataDialog = withInstall(dataDialog); export { Control, NodePanel, DataDialog }; diff --git a/src/components/ReImageVerify/index.ts b/src/components/ReImageVerify/index.ts index 2e1fc0709..77506f2a3 100644 --- a/src/components/ReImageVerify/index.ts +++ b/src/components/ReImageVerify/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; +import { withInstall } from "/@/utils"; import reImageVerify from "./src/index.vue"; /** 图形验证码组件 */ -export const ReImageVerify = Object.assign(reImageVerify, { - install(app: App) { - app.component(reImageVerify.name, reImageVerify); - } -}); +export const ReImageVerify = withInstall(reImageVerify); export default ReImageVerify; diff --git a/src/components/ReMap/index.ts b/src/components/ReMap/index.ts index d4b9351d8..d69efbbe4 100644 --- a/src/components/ReMap/index.ts +++ b/src/components/ReMap/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; import amap from "./src/Amap.vue"; +import { withInstall } from "/@/utils"; /** 高德地图组件 */ -export const Amap = Object.assign(amap, { - install(app: App) { - app.component(amap.name, amap); - } -}); +export const Amap = withInstall(amap); export default Amap; diff --git a/src/components/ReQrcode/index.ts b/src/components/ReQrcode/index.ts index b007f6931..e4044d73b 100644 --- a/src/components/ReQrcode/index.ts +++ b/src/components/ReQrcode/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; import reQrcode from "./src/index"; +import { withInstall } from "/@/utils"; /** 二维码组件 */ -export const ReQrcode = Object.assign(reQrcode, { - install(app: App) { - app.component(reQrcode.name, reQrcode); - } -}); +export const ReQrcode = withInstall(reQrcode); export default ReQrcode; diff --git a/src/components/ReSeamlessScroll/index.ts b/src/components/ReSeamlessScroll/index.ts index 731c27702..cad410c6c 100644 --- a/src/components/ReSeamlessScroll/index.ts +++ b/src/components/ReSeamlessScroll/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; +import { withInstall } from "/@/utils"; import reSeamlessScroll from "./src/index.vue"; /** 无缝滚动组件 */ -export const ReSeamlessScroll = Object.assign(reSeamlessScroll, { - install(app: App) { - app.component(reSeamlessScroll.name, reSeamlessScroll); - } -}); +export const ReSeamlessScroll = withInstall(reSeamlessScroll); export default ReSeamlessScroll; diff --git a/src/components/ReSelector/index.ts b/src/components/ReSelector/index.ts index 93acc5045..16b3684bb 100644 --- a/src/components/ReSelector/index.ts +++ b/src/components/ReSelector/index.ts @@ -1,11 +1,7 @@ -import { App } from "vue"; import reSelector from "./src"; +import { withInstall } from "/@/utils"; /** 选择器组件 */ -export const ReSelector = Object.assign(reSelector, { - install(app: App) { - app.component(reSelector.name, reSelector); - } -}); +export const ReSelector = withInstall(reSelector); export default ReSelector; diff --git a/src/components/ReTable/index.ts b/src/components/ReTable/index.ts index d6f832086..0d8715db6 100644 --- a/src/components/ReTable/index.ts +++ b/src/components/ReTable/index.ts @@ -1,9 +1,5 @@ -import { App } from "vue"; import epTableProBar from "./src/bar"; +import { withInstall } from "/@/utils"; /** table-crud组件 */ -export const EpTableProBar = Object.assign(epTableProBar, { - install(app: App) { - app.component(epTableProBar.name, epTableProBar); - } -}); +export const EpTableProBar = withInstall(epTableProBar); diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 000000000..488ca8c12 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,9 @@ +import type { App, Plugin } from "vue"; + +export const withInstall = (component: T) => { + const comp = component as any; + comp.install = (app: App) => { + app.component(comp.name, component); + }; + return component as T & Plugin; +};