|
@@ -1,20 +1,29 @@
|
|
|
-import { Steps, Button, Space, Form, Card } from 'antd'
|
|
|
+import { Steps, Button, Space, Form, Card, Drawer } from 'antd'
|
|
|
import DrawFormConfig from './DrawFormConfig'
|
|
|
import LoadFormConfig from './LoadFormConfig'
|
|
|
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'
|
|
|
|
|
|
const { Step } = Steps
|
|
|
|
|
|
const SyncTask = styled.div`
|
|
|
padding: 20px;
|
|
|
- background: rgb(242, 242, 246);
|
|
|
+ .check__btn {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: 20%;
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
`
|
|
|
|
|
|
export default function SyncTaskAdd() {
|
|
|
+
|
|
|
// 步骤数
|
|
|
const [currentStep, setCurrentStep] = useState(0)
|
|
|
+
|
|
|
// 初始化数据源列表数据 constructor
|
|
|
const [dataSourceList, setDataSourceList] = useState([])
|
|
|
|
|
@@ -25,6 +34,7 @@ export default function SyncTaskAdd() {
|
|
|
|
|
|
// 配置提取源表单
|
|
|
const [drawDataForm] = Form.useForm()
|
|
|
+
|
|
|
// 配置加载源表单
|
|
|
const [loadDataForm] = Form.useForm()
|
|
|
|
|
@@ -33,6 +43,19 @@ export default function SyncTaskAdd() {
|
|
|
console.log('submit')
|
|
|
}
|
|
|
|
|
|
+ // 右侧表结构可视
|
|
|
+ const [visible, setVisible] = useState(false)
|
|
|
+
|
|
|
+ // 展示
|
|
|
+ const showDrawer = () => {
|
|
|
+ setVisible(true);
|
|
|
+ };
|
|
|
+
|
|
|
+ // 关闭
|
|
|
+ const onClose = () => {
|
|
|
+ setVisible(false);
|
|
|
+ };
|
|
|
+
|
|
|
// 获取列表数据
|
|
|
const fetchDataSourceList = async () => {
|
|
|
const { data } = await getDataSourceList()
|
|
@@ -54,14 +77,13 @@ export default function SyncTaskAdd() {
|
|
|
|
|
|
return (
|
|
|
<SyncTask>
|
|
|
- <Card bordered={false}>
|
|
|
- {/* 步骤条 */}
|
|
|
- <Steps current={currentStep} labelPlacement="vertical" size="small">
|
|
|
- <Step title="步骤1: 配置提取源" />
|
|
|
- <Step title="步骤2: 配置加载源" />
|
|
|
- <Step title="步骤3: 配置转换规则" />
|
|
|
- <Step title="步骤4: 设置同步参数" />
|
|
|
- </Steps>
|
|
|
+ {/* 步骤条 */}
|
|
|
+ <Steps current={currentStep} labelPlacement="vertical" size="small">
|
|
|
+ <Step title="步骤1: 配置提取源" />
|
|
|
+ <Step title="步骤2: 配置加载源" />
|
|
|
+ <Step title="步骤3: 配置转换规则" />
|
|
|
+ <Step title="步骤4: 设置同步参数" />
|
|
|
+ </Steps>
|
|
|
|
|
|
{/* 表单项 */}
|
|
|
{/* 配置提取源 */}
|
|
@@ -84,33 +106,56 @@ export default function SyncTaskAdd() {
|
|
|
)}
|
|
|
|
|
|
{/* 按扭操作 */}
|
|
|
- <Space style={{ margin: '20px' }}>
|
|
|
+ {/* 表结构预览 */}
|
|
|
+ {currentStep === 0 || currentStep === 1 ? <>
|
|
|
+ <Button type="primary"
|
|
|
+ onClick={showDrawer}
|
|
|
+ className="check__btn"
|
|
|
+ size='large'
|
|
|
+ icon={<MenuFoldOutlined />}
|
|
|
+ >
|
|
|
+ 表结构预览
|
|
|
+ </Button>
|
|
|
+ <Drawer
|
|
|
+ title="表结构预览"
|
|
|
+ placement="right"
|
|
|
+ onClose={onClose}
|
|
|
+ visible={visible}
|
|
|
+ width={700}
|
|
|
+ mask={false}
|
|
|
+ closeIcon={<MenuUnfoldOutlined style={{color: '#1881DA'}}/> }
|
|
|
+ >
|
|
|
+ <DataTableStruct />
|
|
|
+ </Drawer>
|
|
|
+ </> : ''}
|
|
|
+
|
|
|
+ {/* 按扭操作 */}
|
|
|
+ <Space style={{ margin: '20px' }}>
|
|
|
+ <Button
|
|
|
+ onClick={() => {
|
|
|
+ changeStep(-1)
|
|
|
+ }}
|
|
|
+ disabled={currentStep === 0}>
|
|
|
+ 上一步
|
|
|
+ </Button>
|
|
|
+ {currentStep === 3 ? (
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ onClick={() => {
|
|
|
+ submit(drawDataForm)
|
|
|
+ }}>
|
|
|
+ 构建
|
|
|
+ </Button>
|
|
|
+ ) : (
|
|
|
<Button
|
|
|
+ type="primary"
|
|
|
onClick={() => {
|
|
|
- changeStep(-1)
|
|
|
- }}
|
|
|
- disabled={currentStep === 0}>
|
|
|
- 上一步
|
|
|
+ changeStep(1)
|
|
|
+ }}>
|
|
|
+ 下一步
|
|
|
</Button>
|
|
|
- {currentStep === 3 ? (
|
|
|
- <Button
|
|
|
- type="primary"
|
|
|
- onClick={() => {
|
|
|
- submit(drawDataForm)
|
|
|
- }}>
|
|
|
- 提交
|
|
|
- </Button>
|
|
|
- ) : (
|
|
|
- <Button
|
|
|
- type="primary"
|
|
|
- onClick={() => {
|
|
|
- changeStep(1)
|
|
|
- }}>
|
|
|
- 下一步
|
|
|
- </Button>
|
|
|
- )}
|
|
|
- </Space>
|
|
|
- </Card>
|
|
|
+ )}
|
|
|
+ </Space>
|
|
|
</SyncTask>
|
|
|
)
|
|
|
}
|