diff --git a/src/components/DictTag/index.ts b/src/components/DictTag/index.ts new file mode 100644 index 0000000..a37197b --- /dev/null +++ b/src/components/DictTag/index.ts @@ -0,0 +1,4 @@ +import { withInstall } from '@/utils' +import dictTag from './src/DictTag.vue' + +export const DictTag = withInstall(dictTag) diff --git a/src/components/DictTag/src/DictTag.vue b/src/components/DictTag/src/DictTag.vue new file mode 100644 index 0000000..01bc6df --- /dev/null +++ b/src/components/DictTag/src/DictTag.vue @@ -0,0 +1,55 @@ + diff --git a/src/components/Table/index.ts b/src/components/Table/index.ts index 4d314ad..aa426e4 100644 --- a/src/components/Table/index.ts +++ b/src/components/Table/index.ts @@ -7,5 +7,6 @@ export * from './src/types/table' export * from './src/types/pagination' export * from './src/types/tableAction' export { useTable } from './src/hooks/useTable' +export { useRender } from './src/hooks/useRender' export type { FormSchema, FormProps } from '@/components/Form/src/types/form' export type { EditRecordRow } from './src/components/editable' diff --git a/src/components/Table/src/hooks/useRender.ts b/src/components/Table/src/hooks/useRender.ts new file mode 100644 index 0000000..2d7b9d5 --- /dev/null +++ b/src/components/Table/src/hooks/useRender.ts @@ -0,0 +1,39 @@ +import { DictTag } from '@/components/DictTag' +import { Image, Tag } from 'ant-design-vue' +import dayjs from 'dayjs' +import { h } from 'vue' + +export const useRender = { + // 渲染图片 + renderImg: (text) => { + if (text) { + return h(Image, { + src: text, + height: 80, + width: 80 + }) + } + }, + renderTag: (text, color?) => { + if (!color) { + return h(Tag, { color }, () => text) + } else { + return h('span', text) + } + }, + renderDate: (text, format?) => { + if (!format) { + return dayjs(text).format('YYYY-MM-DD HH:mm:ss') + } else { + return dayjs(text).format(format) + } + }, + renderDict: (text, type) => { + if (type) { + return h(DictTag, { + type: type, + value: text + }) + } + } +} diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue index d72c932..131c1da 100644 --- a/src/views/system/post/index.vue +++ b/src/views/system/post/index.vue @@ -30,11 +30,11 @@