|
@@ -7,7 +7,8 @@ import React, { useState, useEffect } from 'react'
|
|
|
import DataTableStruct from './DataTableStruct'
|
|
|
import styled from 'styled-components'
|
|
|
import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons'
|
|
|
-import { getDataSourceList } from '../services'
|
|
|
+import { getDataSourceList, getTableSchema } from '../services'
|
|
|
+import { useForm } from 'antd/es/form/Form'
|
|
|
|
|
|
const { Step } = Steps
|
|
|
|
|
@@ -40,6 +41,33 @@ export default function SyncTaskAdd() {
|
|
|
// 完成状态
|
|
|
const [isfinishBuild, setIsFinishBuild] = useState(false)
|
|
|
|
|
|
+ // 提取源表单表结构
|
|
|
+ const [drawDataStruct, setDrawDataStruct] = useState([])
|
|
|
+ const updateDrawDataStruct = async (ds_id, table_name) => {await updateTableStruct(ds_id, table_name, setDrawDataStruct)}
|
|
|
+
|
|
|
+ // 加载源表单表结构
|
|
|
+ const [loadDataStruct, setLoadDataStruct] = useState([])
|
|
|
+ const updateLoadDataStruct = async (id, table_name) => {await updateTableStruct(id, table_name, setLoadDataStruct)}
|
|
|
+
|
|
|
+ // 更新表结构
|
|
|
+ const updateTableStruct = async (id, table_name, setFunc) => {
|
|
|
+ const { data } = await getTableSchema({id, table_name})
|
|
|
+ if (data.code === 200) {
|
|
|
+ const tableList = data.data.map(item => {
|
|
|
+ const splitData = item.split(':')
|
|
|
+ return {
|
|
|
+ key: splitData[0],
|
|
|
+ id: splitData[0],
|
|
|
+ field: splitData[1],
|
|
|
+ type: splitData[2]
|
|
|
+ }
|
|
|
+ })
|
|
|
+ setFunc(tableList)
|
|
|
+ } else {
|
|
|
+ message.error('表结构数据加载失败')
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 配置提取源表单
|
|
|
const [drawDataForm] = Form.useForm()
|
|
|
|
|
@@ -179,9 +207,9 @@ export default function SyncTaskAdd() {
|
|
|
|
|
|
{/* 表单项 */}
|
|
|
{/* 配置提取源 */}
|
|
|
- {currentStep === 0 && <StepOne drawDataForm={drawDataForm} dataSourceList={dataSourceList} />}
|
|
|
+ {currentStep === 0 && <StepOne drawDataForm={drawDataForm} dataSourceList={dataSourceList} updateTableStruct={updateDrawDataStruct}/>}
|
|
|
{/* 配置加载源 */}
|
|
|
- {currentStep === 1 && <StepTwo loadDataForm={loadDataForm} dataSourceList={dataSourceList} />}
|
|
|
+ {currentStep === 1 && <StepTwo loadDataForm={loadDataForm} dataSourceList={dataSourceList} updateTableStruct={updateLoadDataStruct}/>}
|
|
|
|
|
|
{/* 配置转换规则 */}
|
|
|
{currentStep === 2 &&
|
|
@@ -218,7 +246,7 @@ export default function SyncTaskAdd() {
|
|
|
destroyOnClose={true}
|
|
|
closeIcon={<MenuUnfoldOutlined style={{ color: '#1881DA' }} />}
|
|
|
>
|
|
|
- <DataTableStruct formData={currentForm} />
|
|
|
+ <DataTableStruct formData={currentForm} tableData={currentStep === 0 ? drawDataStruct : loadDataStruct}/>
|
|
|
</Drawer>
|
|
|
</>
|
|
|
}
|