6 changed files with 92 additions and 9 deletions
@ -0,0 +1,40 @@
|
||||
<template> |
||||
<BasicModal v-bind="$attrs" :width="800" @register="registerModal" title="导入" @ok="handleSubmit"> |
||||
<BasicTable @register="registerTable" /> |
||||
</BasicModal> |
||||
</template> |
||||
<script lang="ts" setup name="ImportTableModal"> |
||||
import { BasicModal, useModalInner } from '@/components/Modal' |
||||
import { BasicTable, useTable } from '@/components/Table' |
||||
import { importTableColumns, importTableSearchFormSchema } from './codegen.data' |
||||
import { createCodegenList, getSchemaTableList } from '@/api/infra/codegen' |
||||
|
||||
const emit = defineEmits(['success', 'register']) |
||||
|
||||
const [registerTable, { getSelectRowKeys }] = useTable({ |
||||
api: getSchemaTableList, |
||||
columns: importTableColumns, |
||||
formConfig: { |
||||
labelWidth: 80, |
||||
schemas: importTableSearchFormSchema |
||||
}, |
||||
rowSelection: { type: 'checkbox' }, |
||||
rowKey: 'name', |
||||
useSearchForm: true, |
||||
pagination: false, |
||||
showTableSetting: false, |
||||
showIndexColumn: false |
||||
}) |
||||
|
||||
const [registerModal, { setModalProps, closeModal }] = useModalInner(async () => { |
||||
setModalProps({ confirmLoading: false }) |
||||
}) |
||||
|
||||
async function handleSubmit() { |
||||
const datas = await getSelectRowKeys() |
||||
console.info(datas) |
||||
await createCodegenList({ dataSourceConfigId: 0, tableNames: datas }) |
||||
closeModal() |
||||
emit('success') |
||||
} |
||||
</script> |
Reference in new issue