Commit 6bf028f8 by zhaochengxiang

模型任务管理

parent ca2a3711
......@@ -490,4 +490,8 @@ export function* getCompareJobStates() {
export function* deleteCompareJobs(payload) {
return yield call(datamodelerService.deleteCompareJobs, payload)
}
export function* runCompareJob(payload) {
return yield call(datamodelerService.runCompareJob, payload)
}
\ No newline at end of file
......@@ -443,4 +443,8 @@ export function getCompareJobStates() {
export function deleteCompareJobs(payload) {
return Delete("/datamodeler/easyDataModelModelCompareJob/delModelCompareJobs", payload)
}
export function runCompareJob(payload) {
return GetJSON("/datamodeler/easyDataModelModelCompareJob/runJob", payload)
}
\ No newline at end of file
......@@ -4,17 +4,21 @@ import { Tabs } from "antd"
import TaskManage from './task-manage'
import TaskReport from './task-report'
import './index.less'
const FC = (props) => {
const [activeKey, setActiveKey] = React.useState('manage')
return (
<Tabs className='' activeKey={activeKey} onChange={(val) => { setActiveKey(val) }}>
<Tabs.TabPane tab='任务管理' key='manage'>
<TaskManage />
</Tabs.TabPane>
<Tabs.TabPane tab='任务报告' key='report'>
<TaskReport />
</Tabs.TabPane>
</Tabs>
<div className='data-model-compare'>
<Tabs className='' activeKey={activeKey} onChange={(val) => { setActiveKey(val) }}>
<Tabs.TabPane tab='任务管理' key='manage'>
<TaskManage />
</Tabs.TabPane>
<Tabs.TabPane tab='任务报告' key='report'>
<TaskReport />
</Tabs.TabPane>
</Tabs>
</div>
)
}
......
.data-model-compare {
background-color: white;
height: 100%;
.yy-tabs-nav {
padding-left: 20px;
margin: 0;
}
.yy-tabs-content {
height: 100%;
}
}
\ No newline at end of file
import React from 'react'
import { Pagination, Space, Button, Select, Input, Tooltip, Modal } from 'antd'
import { Space, Button, Select, Input, Tooltip, Modal } from 'antd'
import { defaultPage } from '../../../util/hooks/page'
import Table from '../../../util/Component/Table'
import { dispatch } from '../../../model'
import { paginate, showMessage } from '../../../util'
import '../AssetTask/index.less'
const FC = (props) => {
const [args, setArgs] = React.useState({
state: undefined,
......@@ -158,9 +160,52 @@ const FC = (props) => {
}
const onRightMenuItemClick = (key, record) => {
if (key === '执行') {
modal.confirm({
title:'提示',
content: '您确定要执行该任务吗?',
okText: '确认',
cancelText: '取消',
onOk: () => {
dispatch({
type: 'datamodel.runCompareJob',
payload: {
id: record?.id
},
callback: data => {
showMessage('success', '执行成功')
}
})
}
})
} else if (key === '编辑') {
} else if (key === '删除') {
modal.confirm({
title:'提示',
content: '您确定要删除该任务吗?',
okText: '确认',
cancelText: '取消',
onOk: () => {
dispatch({
type: 'datamodel.deleteCompareJobs',
payload: {
modelCompareJobIds: record?.id
},
callback: data => {
showMessage('success', '删除成功')
getTasks()
}
})
}
})
}
}
return (
<div>
<div className='flex' style={{ justifyContent: 'space-between' }}>
<div className='task-manage'>
<div className='header px-3'>
<Space>
<Button onClick={onAddClick}>新增任务</Button>
<Tooltip title={(selectedRows??[]).length===0?'请先选择任务':''}>
......@@ -192,34 +237,30 @@ const FC = (props) => {
/>
</Space>
</div>
<div className='pt-3'>
<div className='px-3 pt-3'>
<Table
extraColWidth={32}
loading={loading}
maxHeight='calc(100vh - 285px - 46px)'
columns={cols??[]}
dataSource={tableData??[]}
pagination={false}
rowSelection={{
selectedRowKeys: (selectedRows??[]).map(item => item.id),
onChange: (selectedRowKeys, selectedRows) => {
setSelectedRows(selectedRows)
},
}}
pageNum={args.page} pageSize={args.size} total={total ?? 0}
onPaginate={(page, size) => {
setArgsByParams({ page, size })
}}
shouldRowContextMenu={(record) => {
return true
}}
menuData={['执行', '编辑', '删除']}
menuPermissions={['执行', '编辑', '删除']}
onMenuItemClick={onRightMenuItemClick}
/>
{
(total!==0) && <Pagination
className="text-center mt-3"
showSizeChanger
onChange={(page,size) => {
setArgsByParams({ page, size })
}}
current={args.page}
pageSize={args.size}
defaultCurrent={1}
total={total}
showTotal={() => `共${total??0}项`}
/>
}
</div>
{contextHolder}
</div>
......
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