Commit cdeb7fe3 authored by chenshouchao's avatar chenshouchao

解决合并冲突

parent 0c38f37f
...@@ -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'
...@@ -34,38 +32,38 @@ import jobDel from '../../../../assets/project/jobDel.svg' ...@@ -34,38 +32,38 @@ import jobDel from '../../../../assets/project/jobDel.svg'
import noData from '../../../../assets/project/noTemplate.svg' import noData from '../../../../assets/project/noTemplate.svg'
import onload from '../../../../assets/project/onload.svg' 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: '运行终止',
}, },
]; ];
let timer: string | number | NodeJS.Timeout | null | undefined = null let timer: string | number | NodeJS.Timeout | null | undefined = null
...@@ -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,37 +134,27 @@ const ProjectMembers = observer(() => { ...@@ -136,37 +134,27 @@ 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, const closeDialog = () => {
page: page, setOpenDialog(false);
size: size, };
name: jobName,
state: currency === "ALL" ? "" : currency, /** 弹窗确认 */
}); const onConfirm = () => {
}, if (dialogType === "del") {
}); delWorkflowJob({
id: jobData
// 删除作业 })
const { run: cancelWorkflowJobInfo } = useMyRequest(cancelWorkflowJob, { } else {
onSuccess: (result: any) => { cancelWorkflowJobInfo({
setOpenDialog(false); jobid: jobData
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(() => { useEffect(() => {
getWorkflowJobInfo({ getWorkflowJobInfo({
...@@ -178,76 +166,85 @@ const ProjectMembers = observer(() => { ...@@ -178,76 +166,85 @@ const ProjectMembers = observer(() => {
}); });
}, [projectId, getWorkflowJobInfo]); }, [projectId, getWorkflowJobInfo]);
/** 关闭弹窗 */ const handleChangePage = (event: any, newPage: any) => {
const closeDialog = () => { setPage(newPage)
setOpenDialog(false); getWorkflowJobInfo({
}; projectId: currentProjectStore.currentProjectInfo.id as string,
page: newPage,
/** 弹窗确认 */ size: size,
const onConfirm = () => { name: jobName,
if (dialogType === "del") { state: currency === 'ALL' ? "" : currency
delWorkflowJob({ });
id: jobData, }
});
} else { const handleChangeRowsPerPage = (event: any) => {
cancelWorkflowJobInfo({ setRowsPerPage(event.target.value)
jobid: jobData, setSize(event.target.value)
}); getWorkflowJobInfo({
} projectId: currentProjectStore.currentProjectInfo.id as string,
}; page: page,
size: event.target.value,
useEffect(() => { name: jobName,
getWorkflowJobInfo({ state: currency === 'ALL' ? "" : currency
projectId: projectId as string, });
page: page, }
size: size,
name: jobName, useEffect(() => {
state: currency === "ALL" ? "" : currency, setTimeout(() => {
}); getWorkflowJobInfo({
}, [ projectId: currentProjectStore.currentProjectInfo.id as string,
currentProjectStore.currentProjectInfo.id, page: page,
getWorkflowJobInfo, size: size,
projectId, name: jobName,
page, state: currency === 'ALL' ? "" : currency
size, });
jobName, }, 300)
currency, }, [jobName, currency]);
]);
const renderStatusIcon = (data: string) => {
const handleChangePage = (event: any, newPage: any) => { switch (data) {
setPage(newPage); case "RUNNING":
getWorkflowJobInfo({ return jobRun
projectId: projectId as string, case "ABORTED":
page: newPage, return jobCadence
size: size, case "FAILED":
name: jobName, return jobFail
state: currency === "ALL" ? "" : currency, case "SUCCEEDED":
}); return jobSue
}; default:
return jobCadence
const handleChangeRowsPerPage = (event: any) => { }
setRowsPerPage(event.target.value); }
setSize(event.target.value);
getWorkflowJobInfo({ const renderStatusText = (data: string) => {
projectId: projectId as string, switch (data) {
page: page, case "RUNNING":
size: event.target.value, return '正在运行'
name: jobName, case "ABORTED":
state: currency === "ALL" ? "" : currency, return '运行终止'
}); case "FAILED":
}; return '运行失败'
case "SUCCEEDED":
useEffect(() => { return '运行成功'
setTimeout(() => { default:
getWorkflowJobInfo({ return '未知'
projectId: projectId as string, }
page: page, }
size: size,
name: jobName, const renderProgress = (data: any) => {
state: currency === "ALL" ? "" : currency, switch (data) {
}); case "RUNNING":
}, 300); return '#1370FF'
}, [jobName, currency, projectId, getWorkflowJobInfo, page, size]); 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,36 +403,25 @@ const ProjectMembers = observer(() => { ...@@ -430,36 +403,25 @@ const ProjectMembers = observer(() => {
} }
</Box> </Box>
<Box className={styles.tabBoxJobOperate}> <TablePagination
<img rowsPerPageOptions={[5, 10, 20, 50]}
alt="" labelRowsPerPage={'每页行数:'}
src={item.state === "RUNNING" ? jobStop : jobDel} ActionsComponent={ActionsComponent}
style={{ cursor: "pointer" }} component="div"
onClick={(event) => { count={count || jobList.length}
event.stopPropagation(); rowsPerPage={rowsPerPage || 10}
event.nativeEvent.stopImmediatePropagation(); page={page}
setJobData(item.id); onPageChange={handleChangePage}//
setOpenDialog(true); onRowsPerPageChange={handleChangeRowsPerPage}//
setDialogType(item.state === "RUNNING" ? "stop" : "del"); />
}}
/> <SimpleDialog
</Box> text={dialogType === "del" ? '任务被删除后将无法恢复,确认继续吗?' : '正在运行的任务终止后将无法重新运行,确认继续吗?'}
</Box> title={dialogType === "del" ? '删除任务' : '终止任务'}
); openDialog={openDialog}
})} closeDialog={closeDialog}
</Box> onConfirm={onConfirm}
/>
<TablePagination
rowsPerPageOptions={[5, 10, 20, 50]}
labelRowsPerPage={"每页行数:"}
ActionsComponent={ActionsComponent}
component="div"
count={count || jobList.length}
rowsPerPage={rowsPerPage || 10}
page={page}
onPageChange={handleChangePage} //
onRowsPerPageChange={handleChangeRowsPerPage} //
/>
</Box > </Box >
); );
......
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