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,58 +33,60 @@
<${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()
title: '${table.classComment}列表', const { createConfirm, createMessage } = useMessage()
api: get${simpleClassName}Page, const [registerModal, { openModal }] = useModal()
columns,
formConfig: { labelWidth: 120, schemas: searchFormSchema }, const [registerTable, { getForm, reload }] = useTable({
useSearchForm: true, title: '${table.classComment}列表',
showTableSetting: true, api: get${simpleClassName}Page,
actionColumn: { columns,
width: 140, formConfig: { labelWidth: 120, schemas: searchFormSchema },
title: t('common.action'), useSearchForm: true,
dataIndex: 'action', showTableSetting: true,
fixed: 'right' actionColumn: {
width: 140,
title: t('common.action'),
dataIndex: 'action',
fixed: 'right'
}
})
function handleCreate() {
openModal(true, { isUpdate: false })
}
function handleEdit(record: Recordable) {
openModal(true, { record, isUpdate: true })
}
async function handleExport() {
createConfirm({
title: t('common.exportTitle'),
iconType: 'warning',
content: t('common.exportMessage'),
async onOk() {
await export${simpleClassName}(getForm().getFieldsValue())
createMessage.success(t('common.exportSuccessText'))
} }
}) })
}
function handleCreate() { async function handleDelete(record: Recordable) {
openModal(true, { isUpdate: false }) await delete${simpleClassName}(record.id)
} createMessage.success(t('common.delSuccessText'))
reload()
function handleEdit(record: Recordable) { }
openModal(true, { record, isUpdate: true })
}
async function handleExport() {
createConfirm({
title: t('common.exportTitle'),
iconType: 'warning',
content: t('common.exportMessage'),
async onOk() {
await export${simpleClassName}(getForm().getFieldsValue())
createMessage.success(t('common.exportSuccessText'))
}
})
}
async function handleDelete(record: Recordable) {
await delete${simpleClassName}(record.id)
createMessage.success(t('common.delSuccessText'))
reload()
}
</script> </script>