You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.7 KiB
83 lines
1.7 KiB
<template> |
|
<div class="step2"> |
|
<div class="step2-table"> |
|
<BasicTable :dataSource="columnsInfo" @register="registerTable" @row-click="handleEdit" /> |
|
</div> |
|
<Divider /> |
|
<div class="step2-button"> |
|
<a-button @click="customResetFunc">上一步</a-button> |
|
<a-button type="primary" @click="customSubmitFunc">提交</a-button> |
|
</div> |
|
<h3>说明</h3> |
|
<h4>配置字段</h4> |
|
<p> 配置表的字段类型,增删改查,字典等 </p> |
|
</div> |
|
</template> |
|
<script lang="ts" setup> |
|
import { BasicTable, EditRecordRow, useTable } from '@/components/Table' |
|
import { columns } from './data' |
|
import { Divider } from 'ant-design-vue' |
|
import { CodegenColumnVO } from '@/api/infra/codegen/types' |
|
|
|
const emit = defineEmits(['next', 'prev']) |
|
|
|
defineProps({ |
|
columnsInfo: { |
|
type: Array as PropType<CodegenColumnVO[]>, |
|
default: () => null |
|
} |
|
}) |
|
|
|
const [registerTable, { getDataSource }] = useTable({ |
|
columns, |
|
maxHeight: 700, |
|
pagination: false, |
|
useSearchForm: false, |
|
showTableSetting: false, |
|
showIndexColumn: false |
|
}) |
|
|
|
async function customResetFunc() { |
|
emit('prev') |
|
} |
|
|
|
async function customSubmitFunc() { |
|
const tableValue = getDataSource() |
|
emit('next', tableValue) |
|
} |
|
|
|
function handleEdit(record: EditRecordRow) { |
|
record.onEdit?.(true) |
|
} |
|
</script> |
|
<style lang="less" scoped> |
|
.step2 { |
|
&-table { |
|
width: 100%; |
|
margin: 0 auto; |
|
} |
|
|
|
&-button { |
|
display: flex; |
|
justify-content: center; |
|
} |
|
|
|
h3 { |
|
margin: 0 0 12px; |
|
font-size: 16px; |
|
line-height: 32px; |
|
color: @text-color; |
|
} |
|
|
|
h4 { |
|
margin: 0 0 4px; |
|
font-size: 14px; |
|
line-height: 22px; |
|
color: @text-color; |
|
} |
|
|
|
p { |
|
color: @text-color; |
|
} |
|
} |
|
</style>
|
|
|