Commit c8fb61e0 by zhaochengxiang

新增任务

parent 6bf028f8
...@@ -484,8 +484,8 @@ export function* getCompareJobList() { ...@@ -484,8 +484,8 @@ export function* getCompareJobList() {
return yield call(datamodelerService.getCompareJobList) return yield call(datamodelerService.getCompareJobList)
} }
export function* getCompareJobStates() { export function* getCompareJobDetail(payload) {
return yield call(datamodelerService.getCompareJobStates) return yield call(datamodelerService.getCompareJobDetail, payload)
} }
export function* deleteCompareJobs(payload) { export function* deleteCompareJobs(payload) {
...@@ -494,4 +494,12 @@ export function* deleteCompareJobs(payload) { ...@@ -494,4 +494,12 @@ export function* deleteCompareJobs(payload) {
export function* runCompareJob(payload) { export function* runCompareJob(payload) {
return yield call(datamodelerService.runCompareJob, payload) return yield call(datamodelerService.runCompareJob, payload)
}
export function* getCompareJobStates() {
return yield call(datamodelerService.getCompareJobStates)
}
export function* getCompareJobModelStates() {
return yield call(datamodelerService.getCompareJobModelStates)
} }
\ No newline at end of file
...@@ -437,8 +437,8 @@ export function getCompareJobList() { ...@@ -437,8 +437,8 @@ export function getCompareJobList() {
return GetJSON("/datamodeler/easyDataModelModelCompareJob/listAll") return GetJSON("/datamodeler/easyDataModelModelCompareJob/listAll")
} }
export function getCompareJobStates() { export function getCompareJobDetail(payload) {
return GetJSON("/datamodeler/easyDataModelModelCompareJob/getJobStatusTypes") return GetJSON("/datamodeler/easyDataModelModelCompareJob/findById", payload)
} }
export function deleteCompareJobs(payload) { export function deleteCompareJobs(payload) {
...@@ -447,4 +447,12 @@ export function deleteCompareJobs(payload) { ...@@ -447,4 +447,12 @@ export function deleteCompareJobs(payload) {
export function runCompareJob(payload) { export function runCompareJob(payload) {
return GetJSON("/datamodeler/easyDataModelModelCompareJob/runJob", payload) return GetJSON("/datamodeler/easyDataModelModelCompareJob/runJob", payload)
}
export function getCompareJobStates() {
return GetJSON("/datamodeler/easyDataModelModelCompareJob/getJobStatusTypes")
}
export function getCompareJobModelStates() {
return GetJSON("/datamodeler/easyDataModelModelCompareJob/getModelStatusTypes")
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ import { defaultPage } from '../../../util/hooks/page' ...@@ -5,6 +5,7 @@ import { defaultPage } from '../../../util/hooks/page'
import Table from '../../../util/Component/Table' import Table from '../../../util/Component/Table'
import { dispatch } from '../../../model' import { dispatch } from '../../../model'
import { paginate, showMessage } from '../../../util' import { paginate, showMessage } from '../../../util'
import UpdateTask from './update-task'
import '../AssetTask/index.less' import '../AssetTask/index.less'
...@@ -20,6 +21,11 @@ const FC = (props) => { ...@@ -20,6 +21,11 @@ const FC = (props) => {
const [loadingStates, setLoadingStates] = React.useState(false) const [loadingStates, setLoadingStates] = React.useState(false)
const [states, setStates] = React.useState() const [states, setStates] = React.useState()
const [selectedRows, setSelectedRows] = React.useState() const [selectedRows, setSelectedRows] = React.useState()
const [updateTaskParams, setUpdateTaskParams] = React.useState({
visible: false,
item: undefined,
type: undefined
})
const [modal, contextHolder] = Modal.useModal() const [modal, contextHolder] = Modal.useModal()
...@@ -131,7 +137,11 @@ const FC = (props) => { ...@@ -131,7 +137,11 @@ const FC = (props) => {
} }
const onAddClick = () => { const onAddClick = () => {
setUpdateTaskParams({
visible: true,
type: 'add',
item: undefined,
})
} }
const onBatchDeleteClick = () => { const onBatchDeleteClick = () => {
...@@ -180,7 +190,11 @@ const FC = (props) => { ...@@ -180,7 +190,11 @@ const FC = (props) => {
} }
}) })
} else if (key === '编辑') { } else if (key === '编辑') {
setUpdateTaskParams({
visible: true,
type: 'edit',
item: record,
})
} else if (key === '删除') { } else if (key === '删除') {
modal.confirm({ modal.confirm({
title:'提示', title:'提示',
...@@ -262,6 +276,18 @@ const FC = (props) => { ...@@ -262,6 +276,18 @@ const FC = (props) => {
onMenuItemClick={onRightMenuItemClick} onMenuItemClick={onRightMenuItemClick}
/> />
</div> </div>
<UpdateTask
{...updateTaskParams}
onCancel={(refresh) => {
setUpdateTaskParams({
visible: false,
item: undefined,
type: undefined,
})
refresh && getTasks()
}}
/>
{contextHolder} {contextHolder}
</div> </div>
) )
......
import React from 'react'
import { Button, Modal, Spin, Space, Divider } from 'antd'
import { dispatch } from '../../../model'
const FC = (props) => {
const { visible, type, item, onCancel} = props
const [waiting, setWaiting] = React.useState(false)
const [loading, setLoading] = React.useState(false)
const [task, setTask] = React.useState()
const basicFormRef = React.useRef(null)
const title = React.useMemo(() => {
if (type === 'add') return '新增任务'
if (type === 'edit') return '编辑任务'
if (type === 'detail') return '任务详情'
return ''
}, [type])
React.useEffect(() => {
if (visible && item?.id) {
getTask()
}
}, [visible])
const getTask = () => {
setLoading(true)
dispatch({
type: 'datamodel.getCompareJobDetail',
payload: {
id: item?.id
},
callback: data => {
setLoading(false)
setTask(data)
},
error: () => {
setLoading(false)
}
})
}
const close = (refresh = false) => {
setWaiting(false)
setLoading(false)
setTask()
onCancel?.(refresh)
}
const save = async () => {
try {
const basicRows = await basicFormRef.current?.validate()
} catch (e) {
}
}
const footer = React.useMemo(() => {
return [
<Button key={'cancel'}
onClick={() => close()}
>取消</Button>,
<Button key={'save'} type='primary'
disabled={waiting}
onClick={() => save()}
>保存</Button>
]
}, [close, save, waiting])
return (
<Modal
visible={visible}
footer={(type==='detail') ? null : footer}
width='90%'
bodyStyle={{ padding: '15px 15px 0px 15px', overflowX: 'auto', maxHeight: '80vh' }}
title={title}
centered destroyOnClose
onCancel={() => { close() }}
>
<Spin spinning={loading || waiting}>
<Header title='任务基本设置' />
<BasicForm ref={basicFormRef} type={type} task={task} />
</Spin>
</Modal>
)
}
export default FC
export const Header = ({ title }) => (
<Space size='small' align='center'>
<Divider style={{ width: 2, height: 15, backgroundColor: '#196AD2', margin: '15px 0' }} />
<span style={{ fontWeight: 500, fontSize: 16 }}>{title}</span>
</Space>
)
const BasicForm = React.forwardRef(function ({ type, task }, ref) {
return (
<div>
basic form
</div>
)
})
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment