Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
bkunyun
Project
Project
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
sunyihao
bkunyun
Commits
0ac8a41c
Commit
0ac8a41c
authored
Jul 08, 2022
by
chenshouchao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feat-20220705-customTemplate' into 'release'
cn-解决合并冲突 See merge request
!98
parents
7ea52091
cdeb7fe3
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
101 additions
and
139 deletions
+101
-139
index.tsx
src/views/Project/ProjectWorkbench/workbenchList/index.tsx
+101
-139
No files found.
src/views/Project/ProjectWorkbench/workbenchList/index.tsx
View file @
0ac8a41c
...
@@ -7,20 +7,18 @@
...
@@ -7,20 +7,18 @@
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
*/
import
{
memo
,
useCallback
,
useEffect
,
useState
}
from
"react"
;
import
{
memo
,
useCallback
,
useEffect
,
useState
}
from
"react"
;
import
_
from
"lodash"
;
import
{
useNavigate
}
from
"react-router-dom"
;
import
{
useNavigate
}
from
"react-router-dom"
;
import
{
Box
,
Typography
}
from
"@mui/material"
;
import
{
Box
,
Typography
}
from
"@mui/material"
;
import
OutlinedInput
from
"@mui/material/OutlinedInput"
;
import
OutlinedInput
from
"@mui/material/OutlinedInput"
;
import
SearchIcon
from
"@mui/icons-material/Search"
;
import
SearchIcon
from
"@mui/icons-material/Search"
;
import
LinearProgress
,
{
import
LinearProgress
,
{
linearProgressClasses
}
from
'@mui/material/LinearProgress'
;
linearProgressClasses
,
import
{
TablePagination
}
from
'@mui/material'
;
}
from
"@mui/material/LinearProgress"
;
import
TextField
from
'@mui/material/TextField'
;
import
{
TablePagination
}
from
"@mui/material"
;
import
MenuItem
from
'@mui/material/MenuItem'
;
import
TextField
from
"@mui/material/TextField"
;
import
MenuItem
from
"@mui/material/MenuItem"
;
import
SimpleDialog
from
"./components/simpleDialog"
import
SimpleDialog
from
"./components/simpleDialog"
;
import
{
useStores
}
from
"@/store"
;
import
{
useStores
}
from
"@/store"
;
import
{
observer
}
from
"mobx-react-lite"
;
import
useMyRequest
from
"@/hooks/useMyRequest"
;
import
useMyRequest
from
"@/hooks/useMyRequest"
;
import
ActionsComponent
from
"../../../../components/Material.Ui/Table/ActionsComponent"
import
ActionsComponent
from
"../../../../components/Material.Ui/Table/ActionsComponent"
import
runTime
from
'../../../../assets/project/runTime.svg'
import
runTime
from
'../../../../assets/project/runTime.svg'
...
@@ -36,35 +34,35 @@ import onload from '../../../../assets/project/onload.svg'
...
@@ -36,35 +34,35 @@ import onload from '../../../../assets/project/onload.svg'
import
{
import
{
getWorkflowJobList
,
getWorkflowJobList
,
deleteWorkflowJob
,
deleteWorkflowJob
,
cancelWorkflowJob
,
cancelWorkflowJob
}
from
"@/api/workbench_api"
;
}
from
"@/api/workbench_api"
;
import
{
toJS
}
from
"mobx"
;
import
{
toJS
}
from
"mobx"
;
import
{
observer
}
from
"mobx-react-lite"
;
import
{
observer
}
from
"mobx-react-lite"
;
import
usePass
from
"@/hooks/usePass"
;
import
usePass
from
"@/hooks/usePass"
;
import
styles
from
"./index.module.css"
;
import
styles
from
"./index.module.css"
;
import
{
toJS
}
from
"mobx"
;
const
currencies
=
[
const
currencies
=
[
{
{
value
:
"ALL"
,
value
:
'ALL'
,
label
:
"全部"
,
label
:
'全部'
,
},
},
{
{
value
:
"RUNNING"
,
value
:
'RUNNING'
,
label
:
"正在运行"
,
label
:
'正在运行'
,
},
},
{
{
value
:
"SUCCEEDED"
,
value
:
'SUCCEEDED'
,
label
:
"运行成功"
,
label
:
'运行成功'
,
},
},
{
{
value
:
"FAILED"
,
value
:
'FAILED'
,
label
:
"运行失败"
,
label
:
'运行失败'
,
},
},
{
{
value
:
"ABORTED"
,
value
:
'ABORTED'
,
label
:
"运行终止"
,
label
:
'运行终止'
,
},
},
];
];
...
@@ -89,7 +87,7 @@ const ProjectMembers = observer(() => {
...
@@ -89,7 +87,7 @@ const ProjectMembers = observer(() => {
onSuccess
:
(
result
:
any
)
=>
{
onSuccess
:
(
result
:
any
)
=>
{
setJobList
(
result
.
data
.
content
);
setJobList
(
result
.
data
.
content
);
setCount
(
result
.
data
.
totalElements
)
setCount
(
result
.
data
.
totalElements
)
timer
&&
clearTimeout
(
timer
)
timer
&&
clearTimeout
(
timer
as
number
)
timer
=
null
;
timer
=
null
;
timer
=
setTimeout
(()
=>
{
timer
=
setTimeout
(()
=>
{
getWorkflowJobInfo
({
getWorkflowJobInfo
({
...
@@ -136,48 +134,10 @@ const ProjectMembers = observer(() => {
...
@@ -136,48 +134,10 @@ const ProjectMembers = observer(() => {
setJobName
(
data
.
length
>
30
?
data
.
slice
(
0
,
30
)
:
data
);
setJobName
(
data
.
length
>
30
?
data
.
slice
(
0
,
30
)
:
data
);
}
}
// 删除作业
const
handleChange
=
(
event
:
any
)
=>
{
const
{
run
:
delWorkflowJob
}
=
useMyRequest
(
deleteWorkflowJob
,
{
setCurrency
(
event
.
target
.
value
);
onSuccess
:
(
result
:
any
)
=>
{
setOpenDialog
(
false
);
getWorkflowJobInfo
({
projectId
:
projectId
as
string
,
page
:
page
,
size
:
size
,
name
:
jobName
,
state
:
currency
===
"ALL"
?
""
:
currency
,
});
},
});
// 删除作业
const
{
run
:
cancelWorkflowJobInfo
}
=
useMyRequest
(
cancelWorkflowJob
,
{
onSuccess
:
(
result
:
any
)
=>
{
setOpenDialog
(
false
);
getWorkflowJobInfo
({
projectId
:
projectId
as
string
,
page
:
page
,
size
:
size
,
name
:
jobName
,
state
:
currency
===
"ALL"
?
""
:
currency
,
});
},
});
const
searchChange
=
(
data
:
any
)
=>
{
setJobName
(
data
.
length
>
30
?
data
.
slice
(
0
,
30
)
:
data
);
};
};
useEffect
(()
=>
{
getWorkflowJobInfo
({
projectId
:
currentProjectStore
.
currentProjectInfo
.
id
as
string
,
page
:
page
,
size
:
size
,
name
:
jobName
,
state
:
currency
===
'ALL'
?
""
:
currency
});
},
[
projectId
,
getWorkflowJobInfo
]);
/** 关闭弹窗 */
/** 关闭弹窗 */
const
closeDialog
=
()
=>
{
const
closeDialog
=
()
=>
{
setOpenDialog
(
false
);
setOpenDialog
(
false
);
...
@@ -187,67 +147,104 @@ const ProjectMembers = observer(() => {
...
@@ -187,67 +147,104 @@ const ProjectMembers = observer(() => {
const
onConfirm
=
()
=>
{
const
onConfirm
=
()
=>
{
if
(
dialogType
===
"del"
)
{
if
(
dialogType
===
"del"
)
{
delWorkflowJob
({
delWorkflowJob
({
id
:
jobData
,
id
:
jobData
});
})
}
else
{
}
else
{
cancelWorkflowJobInfo
({
cancelWorkflowJobInfo
({
jobid
:
jobData
,
jobid
:
jobData
});
})
}
}
};
};
useEffect
(()
=>
{
useEffect
(()
=>
{
getWorkflowJobInfo
({
getWorkflowJobInfo
({
projectId
:
projectI
d
as
string
,
projectId
:
currentProjectStore
.
currentProjectInfo
.
i
d
as
string
,
page
:
page
,
page
:
page
,
size
:
size
,
size
:
size
,
name
:
jobName
,
name
:
jobName
,
state
:
currency
===
"ALL"
?
""
:
currency
,
state
:
currency
===
'ALL'
?
""
:
currency
});
});
},
[
},
[
projectId
,
getWorkflowJobInfo
]);
currentProjectStore
.
currentProjectInfo
.
id
,
getWorkflowJobInfo
,
projectId
,
page
,
size
,
jobName
,
currency
,
]);
const
handleChangePage
=
(
event
:
any
,
newPage
:
any
)
=>
{
const
handleChangePage
=
(
event
:
any
,
newPage
:
any
)
=>
{
setPage
(
newPage
);
setPage
(
newPage
)
getWorkflowJobInfo
({
getWorkflowJobInfo
({
projectId
:
projectI
d
as
string
,
projectId
:
currentProjectStore
.
currentProjectInfo
.
i
d
as
string
,
page
:
newPage
,
page
:
newPage
,
size
:
size
,
size
:
size
,
name
:
jobName
,
name
:
jobName
,
state
:
currency
===
"ALL"
?
""
:
currency
,
state
:
currency
===
'ALL'
?
""
:
currency
});
});
};
}
const
handleChangeRowsPerPage
=
(
event
:
any
)
=>
{
const
handleChangeRowsPerPage
=
(
event
:
any
)
=>
{
setRowsPerPage
(
event
.
target
.
value
);
setRowsPerPage
(
event
.
target
.
value
)
setSize
(
event
.
target
.
value
);
setSize
(
event
.
target
.
value
)
getWorkflowJobInfo
({
getWorkflowJobInfo
({
projectId
:
projectI
d
as
string
,
projectId
:
currentProjectStore
.
currentProjectInfo
.
i
d
as
string
,
page
:
page
,
page
:
page
,
size
:
event
.
target
.
value
,
size
:
event
.
target
.
value
,
name
:
jobName
,
name
:
jobName
,
state
:
currency
===
"ALL"
?
""
:
currency
,
state
:
currency
===
'ALL'
?
""
:
currency
});
});
};
}
useEffect
(()
=>
{
useEffect
(()
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
getWorkflowJobInfo
({
getWorkflowJobInfo
({
projectId
:
projectI
d
as
string
,
projectId
:
currentProjectStore
.
currentProjectInfo
.
i
d
as
string
,
page
:
page
,
page
:
page
,
size
:
size
,
size
:
size
,
name
:
jobName
,
name
:
jobName
,
state
:
currency
===
"ALL"
?
""
:
currency
,
state
:
currency
===
'ALL'
?
""
:
currency
});
});
},
300
);
},
300
)
},
[
jobName
,
currency
,
projectId
,
getWorkflowJobInfo
,
page
,
size
]);
},
[
jobName
,
currency
]);
const
renderStatusIcon
=
(
data
:
string
)
=>
{
switch
(
data
)
{
case
"RUNNING"
:
return
jobRun
case
"ABORTED"
:
return
jobCadence
case
"FAILED"
:
return
jobFail
case
"SUCCEEDED"
:
return
jobSue
default
:
return
jobCadence
}
}
const
renderStatusText
=
(
data
:
string
)
=>
{
switch
(
data
)
{
case
"RUNNING"
:
return
'正在运行'
case
"ABORTED"
:
return
'运行终止'
case
"FAILED"
:
return
'运行失败'
case
"SUCCEEDED"
:
return
'运行成功'
default
:
return
'未知'
}
}
const
renderProgress
=
(
data
:
any
)
=>
{
switch
(
data
)
{
case
"RUNNING"
:
return
'#1370FF'
case
"ABORTED"
:
return
'#C2C6CC'
case
"FAILED"
:
return
'#FF4E4E'
case
"SUCCEEDED"
:
return
'#0DD09B'
default
:
return
'#C2C6CC'
}
}
/** 点击每一行 */
/** 点击每一行 */
const
rowClick
=
useCallback
(
const
rowClick
=
useCallback
(
...
@@ -259,20 +256,8 @@ const ProjectMembers = observer(() => {
...
@@ -259,20 +256,8 @@ const ProjectMembers = observer(() => {
[
navigate
],
[
navigate
],
);
);
const
renderStatusText
=
(
data
:
string
)
=>
{
return
(
switch
(
data
)
{
<
Box
className=
{
styles
.
headerBox
}
>
case
"RUNNING"
:
return
"正在运行"
;
case
"ABORTED"
:
return
"运行终止"
;
case
"FAILED"
:
return
"运行失败"
;
case
"SUCCEEDED"
:
return
"运行成功"
;
default
:
return
"未知"
;
}
};
<
Box
className=
{
styles
.
tabHeader
}
>
<
Box
className=
{
styles
.
tabHeader
}
>
...
@@ -329,19 +314,7 @@ const ProjectMembers = observer(() => {
...
@@ -329,19 +314,7 @@ const ProjectMembers = observer(() => {
<
img
alt=
""
src=
{
onload
}
/>
<
img
alt=
""
src=
{
onload
}
/>
</
Box
>
</
Box
>
return (
</
Box
>
<
Box
className=
{
styles
.
headerBox
}
>
<
Box
className=
{
styles
.
tabHeader
}
>
<
OutlinedInput
onChange=
{
(
e
:
any
)
=>
{
searchChange
(
e
.
target
.
value
);
}
}
value=
{
jobName
}
placeholder=
"输入关键词搜索"
size=
"small"
sx=
{
{
width
:
340
,
height
:
32
}
}
endAdornment=
{
<
SearchIcon
style=
{
{
color
:
"#8A9099"
}
}
/>
}
/>
<
Box
className=
{
styles
.
body
}
>
<
Box
className=
{
styles
.
body
}
>
{
{
...
@@ -430,35 +403,24 @@ const ProjectMembers = observer(() => {
...
@@ -430,35 +403,24 @@ const ProjectMembers = observer(() => {
}
}
</
Box
>
</
Box
>
<
Box
className=
{
styles
.
tabBoxJobOperate
}
>
<
img
alt=
""
src=
{
item
.
state
===
"RUNNING"
?
jobStop
:
jobDel
}
style=
{
{
cursor
:
"pointer"
}
}
onClick=
{
(
event
)
=>
{
event
.
stopPropagation
();
event
.
nativeEvent
.
stopImmediatePropagation
();
setJobData
(
item
.
id
);
setOpenDialog
(
true
);
setDialogType
(
item
.
state
===
"RUNNING"
?
"stop"
:
"del"
);
}
}
/>
</
Box
>
</
Box
>
);
})}
</
Box
>
<
TablePagination
<
TablePagination
rowsPerPageOptions=
{
[
5
,
10
,
20
,
50
]
}
rowsPerPageOptions=
{
[
5
,
10
,
20
,
50
]
}
labelRowsPerPage=
{
"每页行数:"
}
labelRowsPerPage=
{
'每页行数:'
}
ActionsComponent=
{
ActionsComponent
}
ActionsComponent=
{
ActionsComponent
}
component=
"div"
component=
"div"
count=
{
count
||
jobList
.
length
}
count=
{
count
||
jobList
.
length
}
rowsPerPage=
{
rowsPerPage
||
10
}
rowsPerPage=
{
rowsPerPage
||
10
}
page=
{
page
}
page=
{
page
}
onPageChange=
{
handleChangePage
}
//
onPageChange=
{
handleChangePage
}
//
onRowsPerPageChange=
{
handleChangeRowsPerPage
}
//
onRowsPerPageChange=
{
handleChangeRowsPerPage
}
//
/>
<
SimpleDialog
text=
{
dialogType
===
"del"
?
'任务被删除后将无法恢复,确认继续吗?'
:
'正在运行的任务终止后将无法重新运行,确认继续吗?'
}
title=
{
dialogType
===
"del"
?
'删除任务'
:
'终止任务'
}
openDialog=
{
openDialog
}
closeDialog=
{
closeDialog
}
onConfirm=
{
onConfirm
}
/>
/>
</
Box
>
</
Box
>
...
...
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