From c7972f9a0664631d715eb6784cceaf07988ddcc1 Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Tue, 15 Nov 2022 13:59:22 +0800 Subject: [PATCH] fix: error --- .../src/components/Form/src/Form.vue | 1 + .../src/components/Form/src/helper.ts | 2 +- .../src/hooks/web/useVxeCrudSchemas.ts | 11 +++++------ .../src/plugins/vxeTable/index.ts | 8 ++++---- yudao-ui-admin-vue3/src/utils/dict.ts | 13 +++++-------- .../src/views/system/notice/notice.data.ts | 3 +++ .../views/system/oauth2/client/client.data.ts | 16 +++++++++++----- .../src/views/system/oauth2/client/index.vue | 2 +- 8 files changed, 31 insertions(+), 25 deletions(-) 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()" /> -