+
void
diff --git a/yudao-ui-admin-vue3/src/components/Form/src/Form.vue b/yudao-ui-admin-vue3/src/components/Form/src/Form.vue
index fee05df..f1d2ca6 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/Form.vue
+++ b/yudao-ui-admin-vue3/src/components/Form/src/Form.vue
@@ -20,6 +20,7 @@ import { findIndex } from '@/utils'
import { set } from 'lodash-es'
import { FormProps } from './types'
import { Icon } from '@/components/Icon'
+import { FormSchema, FormSetPropsType } from '@/types/form'
const { getPrefixCls } = useDesign()
diff --git a/yudao-ui-admin-vue3/src/components/Form/src/componentMap.ts b/yudao-ui-admin-vue3/src/components/Form/src/componentMap.ts
index 822f64d..9fdb1db 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/componentMap.ts
+++ b/yudao-ui-admin-vue3/src/components/Form/src/componentMap.ts
@@ -20,6 +20,7 @@ import {
} from 'element-plus'
import { InputPassword } from '@/components/InputPassword'
import { Editor } from '@/components/Editor'
+import { ComponentName } from '@/types/components'
const componentMap: Recordable = {
Radio: ElRadioGroup,
diff --git a/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderCheckbox.tsx b/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderCheckbox.tsx
index 26ac32e..fb3f1be 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderCheckbox.tsx
+++ b/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderCheckbox.tsx
@@ -1,3 +1,4 @@
+import { FormSchema } from '@/types/form'
import { ElCheckbox, ElCheckboxButton } from 'element-plus'
import { defineComponent } from 'vue'
diff --git a/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderRadio.tsx b/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderRadio.tsx
index 98a4778..a5831eb 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderRadio.tsx
+++ b/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderRadio.tsx
@@ -1,3 +1,4 @@
+import { FormSchema } from '@/types/form'
import { ElRadio, ElRadioButton } from 'element-plus'
import { defineComponent } from 'vue'
diff --git a/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderSelect.tsx b/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderSelect.tsx
index 13793f5..5c33d76 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderSelect.tsx
+++ b/yudao-ui-admin-vue3/src/components/Form/src/components/useRenderSelect.tsx
@@ -1,3 +1,5 @@
+import { FormSchema } from '@/types/form'
+import { ComponentOptions } from '@/types/components'
import { ElOption, ElOptionGroup } from 'element-plus'
import { getSlot } from '@/utils/tsxHelper'
import { Slots } from 'vue'
@@ -29,8 +31,15 @@ export const useRenderSelect = (slots: Slots) => {
// 如果有别名,就取别名
const labelAlias = item?.componentProps?.optionsAlias?.labelField
const valueAlias = item?.componentProps?.optionsAlias?.valueField
+
+ const { label, value, ...other } = option
+
return (
-
+
{{
default: () =>
// option 插槽名规则,{field}-option
diff --git a/yudao-ui-admin-vue3/src/components/Form/src/helper.ts b/yudao-ui-admin-vue3/src/components/Form/src/helper.ts
index b81409c..15c3cc8 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/helper.ts
+++ b/yudao-ui-admin-vue3/src/components/Form/src/helper.ts
@@ -2,6 +2,8 @@ import { useI18n } from '@/hooks/web/useI18n'
import type { Slots } from 'vue'
import { getSlot } from '@/utils/tsxHelper'
import { PlaceholderMoel } from './types'
+import { FormSchema } from '@/types/form'
+import { ColProps } from '@/types/components'
/**
*
diff --git a/yudao-ui-admin-vue3/src/components/Form/src/types.ts b/yudao-ui-admin-vue3/src/components/Form/src/types.ts
index fb650ba..92a49d8 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/types.ts
+++ b/yudao-ui-admin-vue3/src/components/Form/src/types.ts
@@ -1,3 +1,5 @@
+import { FormSchema } from '@/types/form'
+
export interface PlaceholderMoel {
placeholder?: string
startPlaceholder?: string
diff --git a/yudao-ui-admin-vue3/src/components/Icon/src/IconSelect.vue b/yudao-ui-admin-vue3/src/components/Icon/src/IconSelect.vue
index 73282b8..50b191d 100644
--- a/yudao-ui-admin-vue3/src/components/Icon/src/IconSelect.vue
+++ b/yudao-ui-admin-vue3/src/components/Icon/src/IconSelect.vue
@@ -1,6 +1,6 @@
diff --git a/yudao-ui-admin-vue3/src/components/TabMenu/src/TabMenu.vue b/yudao-ui-admin-vue3/src/components/TabMenu/src/TabMenu.vue
index 061421b..1ec61ca 100644
--- a/yudao-ui-admin-vue3/src/components/TabMenu/src/TabMenu.vue
+++ b/yudao-ui-admin-vue3/src/components/TabMenu/src/TabMenu.vue
@@ -1,7 +1,7 @@
-
+
diff --git a/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue b/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue
index 933d128..09a3d38 100644
--- a/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue
+++ b/yudao-ui-admin-vue3/src/views/infra/codegen/components/ImportTable.vue
@@ -1,5 +1,5 @@
diff --git a/yudao-ui-admin-vue3/tsconfig.json b/yudao-ui-admin-vue3/tsconfig.json
index d4a76c5..27d1dfd 100644
--- a/yudao-ui-admin-vue3/tsconfig.json
+++ b/yudao-ui-admin-vue3/tsconfig.json
@@ -30,7 +30,7 @@
"@types/intro.js",
"@types/qrcode",
"vite-plugin-svg-icons/client",
- "unplugin-vue-define-options"
+ "unplugin-vue-macros/macros-global"
],
"typeRoots": ["./node_modules/@types/", "./types"]
},
diff --git a/yudao-ui-admin-vue3/types/componentType/configGlobal.d.ts b/yudao-ui-admin-vue3/types/componentType/configGlobal.d.ts
deleted file mode 100644
index 6a0bb1a..0000000
--- a/yudao-ui-admin-vue3/types/componentType/configGlobal.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-declare interface ConfigGlobalTypes {
- size?: ElememtPlusSize
-}
diff --git a/yudao-ui-admin-vue3/types/global.d.ts b/yudao-ui-admin-vue3/types/global.d.ts
index a14f261..67338cd 100644
--- a/yudao-ui-admin-vue3/types/global.d.ts
+++ b/yudao-ui-admin-vue3/types/global.d.ts
@@ -1,40 +1,39 @@
-declare interface Fn {
- (...arg: T[]): T
-}
-
-declare type Nullable = T | null
+import type { CSSProperties } from 'vue'
+declare global {
+ declare interface Fn {
+ (...arg: T[]): T
+ }
-declare type ElRef = Nullable
+ declare type Nullable = T | null
-declare type ElememtPlusSize = 'default' | 'small' | 'large'
+ declare type ElRef = Nullable
-declare type ElementPlusInfoType = 'success' | 'info' | 'warning' | 'danger'
+ declare type Recordable = Record
-declare type Recordable = Record
+ declare type ComponentRef = InstanceType
-declare type ComponentRef = InstanceType
+ declare type LocaleType = 'zh-CN' | 'en'
-declare type LocaleType = 'zh-CN' | 'en'
+ declare type AxiosHeaders =
+ | 'application/json'
+ | 'application/x-www-form-urlencoded'
+ | 'multipart/form-data'
-declare type AxiosHeaders =
- | 'application/json'
- | 'application/x-www-form-urlencoded'
- | 'multipart/form-data'
+ declare type AxiosMethod = 'get' | 'post' | 'delete' | 'put' | 'GET' | 'POST' | 'DELETE' | 'PUT'
-declare type AxiosMethod = 'GET' | 'POST' | 'DELETE' | 'PUT'
+ declare type AxiosResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
-declare type AxiosResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
-
-declare interface AxiosConfig {
- params?: any
- data?: any
- url?: string
- method?: AxiosMethod
- headersType?: string
- responseType?: AxiosResponseType
-}
+ declare interface AxiosConfig {
+ params?: any
+ data?: any
+ url?: string
+ method?: AxiosMethod
+ headersType?: string
+ responseType?: AxiosResponseType
+ }
-declare interface IResponse {
- code?: number
- data: T extends any ? T : T & any
+ declare interface IResponse {
+ code: string
+ data: T extends any ? T : T & any
+ }
}
diff --git a/yudao-ui-admin-vue3/vite.config.ts b/yudao-ui-admin-vue3/vite.config.ts
index 9c91a9d..83b03c0 100644
--- a/yudao-ui-admin-vue3/vite.config.ts
+++ b/yudao-ui-admin-vue3/vite.config.ts
@@ -9,9 +9,9 @@ import VueI18n from '@intlify/vite-plugin-vue-i18n'
import { createStyleImportPlugin, ElementPlusResolve } from 'vite-plugin-style-import'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import PurgeIcons from 'vite-plugin-purge-icons'
-import DefineOptions from 'unplugin-vue-define-options/vite'
import { createHtmlPlugin } from 'vite-plugin-html'
import viteCompression from 'vite-plugin-compression'
+import VueMarcos from 'unplugin-vue-macros/vite'
// 当前执行node命令时文件夹的地址(工作目录)
const root = process.cwd()
@@ -80,7 +80,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
svgoOptions: true
}),
PurgeIcons(),
- DefineOptions(),
+ VueMarcos(),
viteCompression({
verbose: true, // 是否在控制台输出压缩结果
disable: true, // 是否禁用