feat: 适配vue3.3 defineOptions

This commit is contained in:
xingyu 2023-05-12 11:19:57 +08:00
parent 9d68c62177
commit 69ebfbe105
2 changed files with 54 additions and 50 deletions

View File

@ -3,7 +3,7 @@
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" />
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup name="${table.className}Modal"> <script lang="ts" setup>
import { ref, unref } from 'vue' import { ref, unref } from 'vue'
import { useI18n } from '@/hooks/web/useI18n' import { useI18n } from '@/hooks/web/useI18n'
import { useMessage } from '@/hooks/web/useMessage' import { useMessage } from '@/hooks/web/useMessage'
@ -12,6 +12,8 @@ import { BasicModal, useModalInner } from '@/components/Modal'
import { createFormSchema, updateFormSchema } from './${classNameVar}.data' import { createFormSchema, updateFormSchema } from './${classNameVar}.data'
import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}' import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
defineOptions({ name: '${table.className}Modal' })
const { t } = useI18n() const { t } = useI18n()
const { createMessage } = useMessage() const { createMessage } = useMessage()
const emit = defineEmits(['success', 'register']) const emit = defineEmits(['success', 'register'])

View File

@ -33,21 +33,23 @@
<${simpleClassName}Modal @register="registerModal" @success="reload()" /> <${simpleClassName}Modal @register="registerModal" @success="reload()" />
</div> </div>
</template> </template>
<script lang="ts" setup name="${table.className}"> <script lang="ts" setup>
import { useI18n } from '@/hooks/web/useI18n' import { useI18n } from '@/hooks/web/useI18n'
import { useMessage } from '@/hooks/web/useMessage' import { useMessage } from '@/hooks/web/useMessage'
import { useModal } from '@/components/Modal' import { useModal } from '@/components/Modal'
import ${simpleClassName}Modal from './${simpleClassName}Modal.vue' import ${simpleClassName}Modal from './${simpleClassName}Modal.vue'
import { IconEnum } from '@/enums/appEnum' import { IconEnum } from '@/enums/appEnum'
import { BasicTable, useTable, TableAction } from '@/components/Table' import { BasicTable, useTable, TableAction } from '@/components/Table'
import { delete${simpleClassName}, export${simpleClassName}, get${simpleClassName}Page } from '@/api/${table.moduleName}/${classNameVar}' import { delete${simpleClassName}, export${simpleClassName}, get${simpleClassName}Page } from '@/api/${table.moduleName}/${classNameVar}'
import { columns, searchFormSchema } from './${classNameVar}.data' import { columns, searchFormSchema } from './${classNameVar}.data'
const { t } = useI18n() defineOptions({ name: '${table.className}' })
const { createConfirm, createMessage } = useMessage()
const [registerModal, { openModal }] = useModal()
const [registerTable, { getForm, reload }] = useTable({ const { t } = useI18n()
const { createConfirm, createMessage } = useMessage()
const [registerModal, { openModal }] = useModal()
const [registerTable, { getForm, reload }] = useTable({
title: '${table.classComment}列表', title: '${table.classComment}列表',
api: get${simpleClassName}Page, api: get${simpleClassName}Page,
columns, columns,
@ -60,17 +62,17 @@
dataIndex: 'action', dataIndex: 'action',
fixed: 'right' fixed: 'right'
} }
}) })
function handleCreate() { function handleCreate() {
openModal(true, { isUpdate: false }) openModal(true, { isUpdate: false })
} }
function handleEdit(record: Recordable) { function handleEdit(record: Recordable) {
openModal(true, { record, isUpdate: true }) openModal(true, { record, isUpdate: true })
} }
async function handleExport() { async function handleExport() {
createConfirm({ createConfirm({
title: t('common.exportTitle'), title: t('common.exportTitle'),
iconType: 'warning', iconType: 'warning',
@ -80,11 +82,11 @@
createMessage.success(t('common.exportSuccessText')) createMessage.success(t('common.exportSuccessText'))
} }
}) })
} }
async function handleDelete(record: Recordable) { async function handleDelete(record: Recordable) {
await delete${simpleClassName}(record.id) await delete${simpleClassName}(record.id)
createMessage.success(t('common.delSuccessText')) createMessage.success(t('common.delSuccessText'))
reload() reload()
} }
</script> </script>