Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
szse
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhaochengxiang
szse
Commits
0ccc9d0f
Commit
0ccc9d0f
authored
Jun 13, 2023
by
zhaochengxiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
采集
parent
fc499916
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
146 additions
and
36 deletions
+146
-36
datasource.js
src/model/datasource.js
+4
-0
datasourcemanager.js
src/service/datasourcemanager.js
+4
-0
ScheduleAction.jsx
...view/Manage/DatasourceManage/Component/ScheduleAction.jsx
+12
-20
ColConfig.jsx
src/view/Manage/MetadataHarvester/Component/ColConfig.jsx
+11
-8
Task.jsx
src/view/Manage/MetadataHarvester/Component/Task.jsx
+113
-7
UpdateTask.jsx
src/view/Manage/MetadataHarvester/Component/UpdateTask.jsx
+2
-1
No files found.
src/model/datasource.js
View file @
0ccc9d0f
...
@@ -60,6 +60,10 @@ export function* deleteTask(payload) {
...
@@ -60,6 +60,10 @@ export function* deleteTask(payload) {
return
yield
call
(
service
.
deleteTask
,
payload
);
return
yield
call
(
service
.
deleteTask
,
payload
);
}
}
export
function
*
deleteTasks
(
payload
)
{
return
yield
call
(
service
.
deleteTasks
,
payload
);
}
export
function
*
startTask
(
payload
)
{
export
function
*
startTask
(
payload
)
{
return
yield
call
(
service
.
startTask
,
payload
);
return
yield
call
(
service
.
startTask
,
payload
);
}
}
...
...
src/service/datasourcemanager.js
View file @
0ccc9d0f
...
@@ -56,6 +56,10 @@ export function deleteTask(payload) {
...
@@ -56,6 +56,10 @@ export function deleteTask(payload) {
return
Delete
(
"/metadataharvester/task/deleteHarvestingTask"
,
payload
);
return
Delete
(
"/metadataharvester/task/deleteHarvestingTask"
,
payload
);
}
}
export
function
deleteTasks
(
payload
)
{
return
Delete
(
"/metadataharvester/task/deleteHarvestingTasks"
,
payload
);
}
export
function
startTask
(
payload
)
{
export
function
startTask
(
payload
)
{
return
PostJSON
(
"/metadataharvester/task/startHarvestingTask"
,
payload
);
return
PostJSON
(
"/metadataharvester/task/startHarvestingTask"
,
payload
);
}
}
...
...
src/view/Manage/DatasourceManage/Component/ScheduleAction.jsx
View file @
0ccc9d0f
...
@@ -83,6 +83,7 @@ const ScheduleAction = (props) => {
...
@@ -83,6 +83,7 @@ const ScheduleAction = (props) => {
// }
// }
});
});
console
.
log
(
'_fieldsValue'
,
_fieldsValue
);
form
.
setFieldsValue
(
_fieldsValue
);
form
.
setFieldsValue
(
_fieldsValue
);
}
}
...
@@ -243,20 +244,16 @@ const ExecuteDateItem = ({ value, data, onChange }) => {
...
@@ -243,20 +244,16 @@ const ExecuteDateItem = ({ value, data, onChange }) => {
const
[
categoryKey
,
setCategoryKey
]
=
useState
(
undefined
);
const
[
categoryKey
,
setCategoryKey
]
=
useState
(
undefined
);
const
[
dateKey
,
setDateKey
]
=
useState
(
undefined
);
const
[
dateKey
,
setDateKey
]
=
useState
(
undefined
);
const
mountRef
=
useRef
(
true
);
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
mountRef
.
current
)
{
if
(
value
)
{
setCategoryKey
(
value
?
value
.
split
(
','
)[
0
]:
undefined
);
const
tmpData
=
value
.
split
(
','
);
if
(
value
?.
split
(
','
).
length
===
2
)
{
if
(
tmpData
.
length
>
0
)
{
setDateKey
(
value
?.
split
(
','
)[
1
].
split
(
'/'
));
setCategoryKey
(
tmpData
[
0
]);
}
else
{
}
setDateKey
(
undefined
);
if
(
tmpData
.
length
>
1
)
{
}
setDateKey
(
tmpData
.
slice
(
1
,
tmpData
.
length
));
}
}
}
mountRef
.
current
=
false
;
},
[
value
])
},
[
value
])
const
dates
=
useMemo
(()
=>
{
const
dates
=
useMemo
(()
=>
{
...
@@ -278,12 +275,7 @@ const ExecuteDateItem = ({ value, data, onChange }) => {
...
@@ -278,12 +275,7 @@ const ExecuteDateItem = ({ value, data, onChange }) => {
const
onDateChange
=
(
val
)
=>
{
const
onDateChange
=
(
val
)
=>
{
setDateKey
(
val
);
setDateKey
(
val
);
onChange
?.(
`
${
categoryKey
}
,
${
val
.
join
(
','
)}
`
);
if
(
categoryKey
===
'2'
)
{
onChange
?.(
`
${
categoryKey
}
,
${
val
.
join
(
'/'
)}
`
);
}
else
{
onChange
?.(
`
${
categoryKey
}
,
${
val
}
`
);
}
}
}
return
(
return
(
...
@@ -303,7 +295,7 @@ const ExecuteDateItem = ({ value, data, onChange }) => {
...
@@ -303,7 +295,7 @@ const ExecuteDateItem = ({ value, data, onChange }) => {
<
Col
span=
{
16
}
>
<
Col
span=
{
16
}
>
<
Select
<
Select
value=
{
dateKey
}
value=
{
dateKey
}
mode=
{
categoryKey
===
'2'
?
'multiple'
:
undefined
}
mode=
'multiple'
onChange=
{
onDateChange
}
onChange=
{
onDateChange
}
>
>
{
{
...
...
src/view/Manage/MetadataHarvester/Component/ColConfig.jsx
View file @
0ccc9d0f
...
@@ -13,7 +13,7 @@ const cols = [
...
@@ -13,7 +13,7 @@ const cols = [
{
title
:
'表黑名单'
},
{
title
:
'表黑名单'
},
];
];
const
menuName
=
'taskColConfig'
;
export
const
menuName
=
'taskColConfig'
;
const
FC
=
(
props
)
=>
{
const
FC
=
(
props
)
=>
{
const
{
visible
,
onCancel
}
=
props
;
const
{
visible
,
onCancel
}
=
props
;
...
@@ -34,11 +34,11 @@ const FC = (props) => {
...
@@ -34,11 +34,11 @@ const FC = (props) => {
menuName
menuName
},
},
callback
:
data
=>
{
callback
:
data
=>
{
// if ((data.cols||'') === ''
) {
if
((
data
||
[]).
length
===
0
)
{
// onCheckAllChange(tru
e);
onCheckAllChange
(
fals
e
);
//
} else {
}
else
{
// setCheckedKeys(data.cols.split(','
));
setCheckedKeys
(
data
.
map
(
item
=>
item
.
name
));
//
}
}
}
}
})
})
}
}
...
@@ -78,13 +78,16 @@ const FC = (props) => {
...
@@ -78,13 +78,16 @@ const FC = (props) => {
const
onModalOk
=
()
=>
{
const
onModalOk
=
()
=>
{
setConfirmLoading
(
true
);
setConfirmLoading
(
true
);
dispatch
({
dispatch
({
type
:
'datasource.setTaskCols'
,
type
:
'datasource.setTaskCols'
,
payload
:
{
payload
:
{
params
:
{
params
:
{
menuName
,
menuName
,
titles
:
checkedKeys
.
join
(
','
)
},
}
data
:
checkedKeys
.
map
(
item
=>
{
return
{
name
:
item
};
})
},
},
callback
:
()
=>
{
callback
:
()
=>
{
setConfirmLoading
(
false
);
setConfirmLoading
(
false
);
...
...
src/view/Manage/MetadataHarvester/Component/Task.jsx
View file @
0ccc9d0f
...
@@ -6,7 +6,7 @@ import { dispatch } from '../../../../model';
...
@@ -6,7 +6,7 @@ import { dispatch } from '../../../../model';
import
{
paginate
,
showMessage
}
from
'../../../../util'
;
import
{
paginate
,
showMessage
}
from
'../../../../util'
;
import
Table
from
'../../ResizeableTable'
;
import
Table
from
'../../ResizeableTable'
;
import
UpdateTask
from
'./UpdateTask'
;
import
UpdateTask
from
'./UpdateTask'
;
import
ColConfig
from
'./ColConfig'
;
import
ColConfig
,
{
menuName
}
from
'./ColConfig'
;
import
env
from
'../../../../service/samples/env.json'
;
import
env
from
'../../../../service/samples/env.json'
;
const
FC
=
(
props
)
=>
{
const
FC
=
(
props
)
=>
{
...
@@ -17,7 +17,9 @@ const FC = (props) => {
...
@@ -17,7 +17,9 @@ const FC = (props) => {
const
[
configState
,
setConfigState
]
=
useState
(
undefined
);
const
[
configState
,
setConfigState
]
=
useState
(
undefined
);
const
[
supportedTargetTypes
,
setSupportedTargetTypes
]
=
useState
([]);
const
[
supportedTargetTypes
,
setSupportedTargetTypes
]
=
useState
([]);
const
[
sortedInfo
,
setSortedInfo
]
=
useState
({});
const
[
sortedInfo
,
setSortedInfo
]
=
useState
({});
const
[
tasksProgress
,
setTasksProgress
]
=
useState
(
undefined
);
const
[
tasksProgress
,
setTasksProgress
]
=
useState
(
undefined
);
const
[
visibleCols
,
setVisibleCols
]
=
useState
(
undefined
);
const
[
checkedKeys
,
setCheckedKeys
]
=
useState
(
undefined
);
const
[
updateTaskParam
,
setUpdateTaskParam
]
=
useState
({
const
[
updateTaskParam
,
setUpdateTaskParam
]
=
useState
({
visible
:
false
,
visible
:
false
,
...
@@ -43,7 +45,14 @@ const FC = (props) => {
...
@@ -43,7 +45,14 @@ const FC = (props) => {
},
},
{
{
title
:
'任务编号'
,
title
:
'任务编号'
,
dataIndex
:
'id'
,
dataIndex
:
'taskCode'
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tooltip
title=
{
text
||
''
}
>
<
Typography
.
Text
ellipsis=
{
true
}
>
{
text
||
''
}
</
Typography
.
Text
>
</
Tooltip
>
);
}
},
},
{
{
title
:
'类型'
,
title
:
'类型'
,
...
@@ -54,24 +63,59 @@ const FC = (props) => {
...
@@ -54,24 +63,59 @@ const FC = (props) => {
title
:
'数据库中文名'
,
title
:
'数据库中文名'
,
dataIndex
:
'cnName'
,
dataIndex
:
'cnName'
,
sorter
:
true
,
sorter
:
true
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tooltip
title=
{
text
||
''
}
>
<
Typography
.
Text
ellipsis=
{
true
}
>
{
text
||
''
}
</
Typography
.
Text
>
</
Tooltip
>
);
}
},
},
{
{
title
:
'数据库英文名'
,
title
:
'数据库英文名'
,
dataIndex
:
'name'
,
dataIndex
:
'name'
,
sorter
:
true
,
sorter
:
true
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tooltip
title=
{
text
||
''
}
>
<
Typography
.
Text
ellipsis=
{
true
}
>
{
text
||
''
}
</
Typography
.
Text
>
</
Tooltip
>
);
}
},
},
{
{
title
:
'抽取Schema'
,
title
:
'抽取Schema'
,
dataIndex
:
'schema'
,
dataIndex
:
'schema'
,
sorter
:
true
,
sorter
:
true
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tooltip
title=
{
text
||
''
}
>
<
Typography
.
Text
ellipsis=
{
true
}
>
{
text
||
''
}
</
Typography
.
Text
>
</
Tooltip
>
);
}
},
},
{
{
title
:
'表白名单'
,
title
:
'表白名单'
,
dataIndex
:
'tableWhiteList'
,
dataIndex
:
'tableWhiteList'
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tooltip
title=
{
text
||
''
}
>
<
Typography
.
Text
ellipsis=
{
true
}
>
{
text
||
''
}
</
Typography
.
Text
>
</
Tooltip
>
);
}
},
},
{
{
title
:
'表黑名单'
,
title
:
'表黑名单'
,
dataIndex
:
'tableBlackList'
,
dataIndex
:
'tableBlackList'
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tooltip
title=
{
text
||
''
}
>
<
Typography
.
Text
ellipsis=
{
true
}
>
{
text
||
''
}
</
Typography
.
Text
>
</
Tooltip
>
);
}
},
},
{
{
title
:
'操作'
,
title
:
'操作'
,
...
@@ -117,6 +161,7 @@ const FC = (props) => {
...
@@ -117,6 +161,7 @@ const FC = (props) => {
useEffect
(()
=>
{
useEffect
(()
=>
{
getAllTasks
();
getAllTasks
();
getTaskCols
();
const
interval
=
setInterval
(()
=>
{
const
interval
=
setInterval
(()
=>
{
getAllTasksProgress
();
getAllTasksProgress
();
},
5000
);
},
5000
);
...
@@ -126,6 +171,18 @@ const FC = (props) => {
...
@@ -126,6 +171,18 @@ const FC = (props) => {
}
}
},
[])
},
[])
const
_columns
=
useMemo
(()
=>
{
if
(
visibleCols
)
{
if
(
visibleCols
.
length
===
0
)
{
return
columns
.
filter
(
item
=>
item
.
title
===
'序号'
||
item
.
title
===
'操作'
)
}
else
{
return
columns
.
filter
(
item
=>
item
.
title
===
'序号'
||
item
.
title
===
'操作'
||
visibleCols
.
indexOf
(
item
.
title
)
!==
-
1
)
}
}
return
columns
;
},
[
visibleCols
])
const
_tasks
=
useMemo
(()
=>
{
const
_tasks
=
useMemo
(()
=>
{
if
(
tasks
)
{
if
(
tasks
)
{
let
newTasks
=
tasks
?.
filter
(
item
=>
{
let
newTasks
=
tasks
?.
filter
(
item
=>
{
...
@@ -217,6 +274,18 @@ const FC = (props) => {
...
@@ -217,6 +274,18 @@ const FC = (props) => {
})
})
}
}
const
getTaskCols
=
()
=>
{
dispatch
({
type
:
'datasource.getTaskCols'
,
payload
:
{
menuName
},
callback
:
data
=>
{
setVisibleCols
(
data
?.
map
(
item
=>
item
.
name
));
}
})
}
const
onTableChange
=
(
pagination
,
filters
,
sorter
)
=>
{
const
onTableChange
=
(
pagination
,
filters
,
sorter
)
=>
{
console
.
log
(
'sorter'
,
sorter
);
console
.
log
(
'sorter'
,
sorter
);
setSortedInfo
(
sorter
);
setSortedInfo
(
sorter
);
...
@@ -226,13 +295,17 @@ const FC = (props) => {
...
@@ -226,13 +295,17 @@ const FC = (props) => {
setPagination
({
pageNum
:
page
,
pageSize
:
size
});
setPagination
({
pageNum
:
page
,
pageSize
:
size
});
}
}
const
onUpdateTaskCancel
=
(
refresh
=
false
)
=>
{
const
onUpdateTaskCancel
=
()
=>
{
setUpdateTaskParam
({
visible
:
false
,
action
:
undefined
,
id
:
undefined
});
setUpdateTaskParam
({
visible
:
false
,
action
:
undefined
,
id
:
undefined
});
refresh
&&
getAllTasks
();
}
const
onUpdateTaskChange
=
()
=>
{
getAllTasks
();
}
}
const
onColConfigCancel
=
(
refresh
=
false
)
=>
{
const
onColConfigCancel
=
(
refresh
=
false
)
=>
{
setColConfigParam
({
visible
:
false
});
setColConfigParam
({
visible
:
false
});
refresh
&&
getTaskCols
();
}
}
const
onCancelTask
=
(
task
)
=>
{
const
onCancelTask
=
(
task
)
=>
{
...
@@ -294,6 +367,35 @@ const FC = (props) => {
...
@@ -294,6 +367,35 @@ const FC = (props) => {
}
}
});
});
}
}
const
onDeleteTasks
=
()
=>
{
modal
.
confirm
({
title
:
'是否确认删除这些任务?'
,
content
:
''
,
onOk
:
()
=>
{
dispatch
({
type
:
'datasource.deleteTasks'
,
payload
:
{
harvestingTaskIds
:
checkedKeys
.
toString
()
},
callback
:
()
=>
{
showMessage
(
'success'
,
'删除任务成功'
);
setCheckedKeys
([]);
getAllTasks
();
}
});
}
});
}
const
onSelectChange
=
(
keys
)
=>
{
setCheckedKeys
(
keys
);
}
const
rowSelection
=
{
selectedRowKeys
:
checkedKeys
,
onChange
:
onSelectChange
,
};
return
(
return
(
<
div
>
<
div
>
...
@@ -305,7 +407,9 @@ const FC = (props) => {
...
@@ -305,7 +407,9 @@ const FC = (props) => {
<
Button
onClick=
{
()
=>
{
<
Button
onClick=
{
()
=>
{
setColConfigParam
({
visible
:
true
});
setColConfigParam
({
visible
:
true
});
}
}
>
可见列设置
</
Button
>
}
}
>
可见列设置
</
Button
>
<
Button
>
删除
</
Button
>
<
Tooltip
title=
{
(
checkedKeys
||
[]).
length
===
0
?
'请先选择任务'
:
''
}
>
<
Button
disabled=
{
(
checkedKeys
||
[]).
length
===
0
}
onClick=
{
onDeleteTasks
}
>
删除
</
Button
>
</
Tooltip
>
</
Space
>
</
Space
>
<
Config
setTargetTypes=
{
setSupportedTargetTypes
}
onState=
{
(
state
)
=>
{
<
Config
setTargetTypes=
{
setSupportedTargetTypes
}
onState=
{
(
state
)
=>
{
console
.
log
(
'state'
,
state
);
console
.
log
(
'state'
,
state
);
...
@@ -316,8 +420,9 @@ const FC = (props) => {
...
@@ -316,8 +420,9 @@ const FC = (props) => {
<
Table
<
Table
className=
'mt-3'
className=
'mt-3'
loading=
{
loadingTasks
}
loading=
{
loadingTasks
}
columns=
{
columns
||
[]
}
columns=
{
_
columns
||
[]
}
rowKey=
'id'
rowKey=
'id'
rowSelection=
{
rowSelection
}
dataSource=
{
_tasks
||
[]
}
dataSource=
{
_tasks
||
[]
}
pagination=
{
false
}
pagination=
{
false
}
onChange=
{
onTableChange
}
onChange=
{
onTableChange
}
...
@@ -342,6 +447,7 @@ const FC = (props) => {
...
@@ -342,6 +447,7 @@ const FC = (props) => {
action=
{
updateTaskParam
.
action
}
action=
{
updateTaskParam
.
action
}
id=
{
updateTaskParam
.
id
}
id=
{
updateTaskParam
.
id
}
onCancel=
{
onUpdateTaskCancel
}
onCancel=
{
onUpdateTaskCancel
}
onChange=
{
onUpdateTaskChange
}
/>
/>
<
ColConfig
<
ColConfig
...
...
src/view/Manage/MetadataHarvester/Component/UpdateTask.jsx
View file @
0ccc9d0f
...
@@ -6,7 +6,7 @@ import ScheduleAction from '../../DatasourceManage/Component/ScheduleAction';
...
@@ -6,7 +6,7 @@ import ScheduleAction from '../../DatasourceManage/Component/ScheduleAction';
import
{
dispatch
}
from
'../../../../model'
;
import
{
dispatch
}
from
'../../../../model'
;
const
FC
=
(
props
)
=>
{
const
FC
=
(
props
)
=>
{
const
{
visible
,
onCancel
,
action
,
id
}
=
props
;
const
{
visible
,
onCancel
,
onChange
,
action
,
id
}
=
props
;
const
[
schemas
,
setSchemas
]
=
useState
([]);
const
[
schemas
,
setSchemas
]
=
useState
([]);
const
[
filterSchemas
,
setFilterSchemas
]
=
useState
([]);
const
[
filterSchemas
,
setFilterSchemas
]
=
useState
([]);
const
[
selectedSchemas
,
setSelectedSchemas
]
=
useState
([]);
const
[
selectedSchemas
,
setSelectedSchemas
]
=
useState
([]);
...
@@ -168,6 +168,7 @@ const FC = (props) => {
...
@@ -168,6 +168,7 @@ const FC = (props) => {
},
},
callback
:
data
=>
{
callback
:
data
=>
{
setConfirmLoading
(
false
);
setConfirmLoading
(
false
);
onChange
?.();
if
(
action
===
'add'
)
{
if
(
action
===
'add'
)
{
setStep
(
2
);
setStep
(
2
);
setScheduleParam
({
action
,
tid
:
data
});
setScheduleParam
({
action
,
tid
:
data
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment