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 182222d6b..92b8102cc 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/Form.vue
+++ b/yudao-ui-admin-vue3/src/components/Form/src/Form.vue
@@ -249,6 +249,7 @@ export default defineComponent({
const renderOptions = (item: FormSchema) => {
switch (item.component) {
case 'Select':
+ case 'SelectV2':
const { renderSelectOptions } = useRenderSelect(slots)
return renderSelectOptions(item)
case 'Radio':
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 15c3cc861..3d9c707f5 100644
--- a/yudao-ui-admin-vue3/src/components/Form/src/helper.ts
+++ b/yudao-ui-admin-vue3/src/components/Form/src/helper.ts
@@ -14,7 +14,7 @@ import { ColProps } from '@/types/components'
export const setTextPlaceholder = (schema: FormSchema): PlaceholderMoel => {
const { t } = useI18n()
const textMap = ['Input', 'Autocomplete', 'InputNumber', 'InputPassword']
- const selectMap = ['Select', 'TimePicker', 'DatePicker', 'TimeSelect', 'TimeSelect']
+ const selectMap = ['Select', 'SelectV2', 'TimePicker', 'DatePicker', 'TimeSelect', 'TimeSelect']
if (textMap.includes(schema?.component as string)) {
return {
placeholder: t('common.inputText')
diff --git a/yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts b/yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
index 701162c4b..460959f1e 100644
--- a/yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
+++ b/yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
@@ -206,7 +206,7 @@ const filterTableSchema = (crudSchema: VxeCrudSchema): VxeGridPropTypes.Columns
const tableSchemaItem = {
title: t('table.action'),
field: 'actionbtns',
- width: crudSchema.actionWidth ? crudSchema.actionWidth : '240px',
+ width: crudSchema.actionWidth ? crudSchema.actionWidth : '200px',
slots: {
default: 'actionbtns_default'
}
@@ -234,7 +234,7 @@ const filterFormSchema = (crudSchema: VxeCrudSchema): FormSchema[] => {
comonentProps = {
options: options
}
- if (!(schemaItem.form && schemaItem.form.component)) component = 'SelectV2'
+ if (!(schemaItem.form && schemaItem.form.component)) component = 'Select'
}
const formSchemaItem = {
...schemaItem.form,
@@ -267,10 +267,9 @@ const filterDescriptionsSchema = (crudSchema: VxeCrudSchema): DescriptionsSchema
descriptionsSchemaItem.dictType = schemaItem.dictType
}
if (schemaItem.detail?.dateFormat || schemaItem.formatter == 'formatDate') {
- // descriptionsSchemaItem.dateFormat = schemaItem.detail.dateFormat
- // ? schemaItem?.detail?.dateFormat
- // : 'YYYY-MM-DD HH:mm:ss'
- descriptionsSchemaItem.dateFormat = 'YYYY-MM-DD HH:mm:ss'
+ descriptionsSchemaItem.dateFormat = schemaItem.dateFormat
+ ? schemaItem?.detail?.dateFormat
+ : 'YYYY-MM-DD HH:mm:ss'
}
descriptionsSchema.push(descriptionsSchemaItem)
diff --git a/yudao-ui-admin-vue3/src/plugins/vxeTable/index.ts b/yudao-ui-admin-vue3/src/plugins/vxeTable/index.ts
index 3873cfa78..b605b77a2 100644
--- a/yudao-ui-admin-vue3/src/plugins/vxeTable/index.ts
+++ b/yudao-ui-admin-vue3/src/plugins/vxeTable/index.ts
@@ -139,10 +139,6 @@ VXETable.formats.mixin({
formatDate({ cellValue }, format) {
return XEUtils.toDateString(cellValue, format || 'yyyy-MM-dd HH:mm:ss')
},
- // 格式字典
- formatDict() {
- return 'cellValue 123'
- },
// 四舍五入金额,每隔3位逗号分隔,默认2位数
formatAmount({ cellValue }, digits = 2) {
return XEUtils.commafy(Number(cellValue), { digits })
@@ -158,6 +154,10 @@ VXETable.formats.mixin({
// 向下舍入,默认两位数
formatCutNumber({ cellValue }, digits = 2) {
return XEUtils.toFixed(XEUtils.floor(cellValue, digits), digits)
+ },
+ // 格式化图片,将图片链接转换为html标签
+ formatImg({ cellValue }) {
+ return '
'
}
})
export const setupVxeTable = (app: App) => {
diff --git a/yudao-ui-admin-vue3/src/utils/dict.ts b/yudao-ui-admin-vue3/src/utils/dict.ts
index f1ab5a7bf..c601693ee 100644
--- a/yudao-ui-admin-vue3/src/utils/dict.ts
+++ b/yudao-ui-admin-vue3/src/utils/dict.ts
@@ -15,19 +15,16 @@ const dictStore = useDictStoreWithOut()
export interface DictDataType {
dictType: string
label: string
- value: string | number | boolean
- colorType?: ElementPlusInfoType | '' | 'default' | 'primary'
- cssClass?: string
+ value: string | number
+ colorType: ElementPlusInfoType | '' | 'default' | 'primary'
+ cssClass: string
}
export const getDictOptions = (dictType: string) => {
const dictOptions: DictDataType[] = []
dictStore.getDictMap.forEach((dict: DictDataType) => {
- if (dict.dictType.toString() === dictType) {
- dictOptions.push({
- ...dict,
- value: dict.value
- })
+ if (dict.dictType + '' === dictType) {
+ dictOptions.push(dict)
}
})
return dictOptions
diff --git a/yudao-ui-admin-vue3/src/views/system/notice/notice.data.ts b/yudao-ui-admin-vue3/src/views/system/notice/notice.data.ts
index f12b1125d..8a9c8d371 100644
--- a/yudao-ui-admin-vue3/src/views/system/notice/notice.data.ts
+++ b/yudao-ui-admin-vue3/src/views/system/notice/notice.data.ts
@@ -36,6 +36,9 @@ const crudSchemas = reactive({
{
title: '公告内容',
field: 'content',
+ table: {
+ type: 'html'
+ },
form: {
component: 'Editor',
colProps: {
diff --git a/yudao-ui-admin-vue3/src/views/system/oauth2/client/client.data.ts b/yudao-ui-admin-vue3/src/views/system/oauth2/client/client.data.ts
index 7da01c887..92a01ae6b 100644
--- a/yudao-ui-admin-vue3/src/views/system/oauth2/client/client.data.ts
+++ b/yudao-ui-admin-vue3/src/views/system/oauth2/client/client.data.ts
@@ -35,12 +35,16 @@ const crudSchemas = reactive({
},
{
title: '应用图标',
- field: 'logo'
+ field: 'logo',
+ table: {
+ type: 'html',
+ formatter: 'formatImg'
+ }
},
{
title: t('common.status'),
field: 'status',
- dictType: DICT_TYPE.COMMON_STATUS, // TODO @星语:编辑时,status 展示为 0 或者 1 了
+ dictType: DICT_TYPE.COMMON_STATUS,
isSearch: true
},
{
@@ -60,9 +64,11 @@ const crudSchemas = reactive({
{
title: '授权类型',
field: 'authorizedGrantTypes',
- dictType: DICT_TYPE.SYSTEM_OAUTH2_GRANT_TYPE,
- form: {
- component: 'SelectV2' // TODO @星语:多选
+ table: {
+ width: 300,
+ slots: {
+ default: 'authorizedGrantTypes_default'
+ }
}
},
{
diff --git a/yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue b/yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue
index 65644fb28..012221442 100644
--- a/yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue
+++ b/yudao-ui-admin-vue3/src/views/system/oauth2/client/index.vue
@@ -12,7 +12,7 @@
@click="handleCreate()"
/>
-
+