重构消息通知弹窗
This commit is contained in:
parent
c88426c7ad
commit
f2d4fd75e4
@ -39,7 +39,7 @@ const ScheduleJobList: React.FC = () => {
|
||||
const [editJob, setEditJob] = useState<ScheduleJobResponse | null>(null);
|
||||
const [deleteJob, setDeleteJob] = useState<ScheduleJobResponse | null>(null);
|
||||
const [query, setQuery] = useState<ScheduleJobQuery>({
|
||||
pageNum: DEFAULT_CURRENT - 1,
|
||||
pageNum: DEFAULT_CURRENT,
|
||||
pageSize: DEFAULT_PAGE_SIZE,
|
||||
jobName: '',
|
||||
categoryId: undefined,
|
||||
@ -92,13 +92,13 @@ const ScheduleJobList: React.FC = () => {
|
||||
|
||||
// 搜索
|
||||
const handleSearch = () => {
|
||||
setQuery(prev => ({...prev, pageNum: 0}));
|
||||
setQuery(prev => ({...prev, pageNum: 1}));
|
||||
};
|
||||
|
||||
// 重置
|
||||
const handleReset = () => {
|
||||
setQuery({
|
||||
pageNum: 0,
|
||||
pageNum: 1,
|
||||
pageSize: DEFAULT_PAGE_SIZE,
|
||||
jobName: '',
|
||||
categoryId: undefined,
|
||||
@ -349,7 +349,7 @@ const ScheduleJobList: React.FC = () => {
|
||||
</div>
|
||||
<Select
|
||||
value={query.categoryId?.toString() || 'all'}
|
||||
onValueChange={(value) => setQuery({...query, categoryId: value !== 'all' ? Number(value) : undefined, pageNum: 0})}
|
||||
onValueChange={(value) => setQuery({...query, categoryId: value !== 'all' ? Number(value) : undefined, pageNum: 1})}
|
||||
>
|
||||
<SelectTrigger className="w-[200px]">
|
||||
<SelectValue placeholder="全部分类"/>
|
||||
@ -365,7 +365,7 @@ const ScheduleJobList: React.FC = () => {
|
||||
</Select>
|
||||
<Select
|
||||
value={query.status || 'all'}
|
||||
onValueChange={(value) => setQuery({...query, status: value !== 'all' ? value as JobStatus : undefined, pageNum: 0})}
|
||||
onValueChange={(value) => setQuery({...query, status: value !== 'all' ? value as JobStatus : undefined, pageNum: 1})}
|
||||
>
|
||||
<SelectTrigger className="w-[150px]">
|
||||
<SelectValue placeholder="全部状态"/>
|
||||
@ -417,28 +417,28 @@ const ScheduleJobList: React.FC = () => {
|
||||
) : data && data.content.length > 0 ? (
|
||||
data.content.map((record) => (
|
||||
<TableRow key={record.id}>
|
||||
<TableCell className="font-medium">{record.jobName}</TableCell>
|
||||
<TableCell>{record.category?.name || '-'}</TableCell>
|
||||
<TableCell>
|
||||
<TableCell className="font-medium whitespace-nowrap">{record.jobName}</TableCell>
|
||||
<TableCell className="whitespace-nowrap">{record.category?.name || '-'}</TableCell>
|
||||
<TableCell className="whitespace-nowrap">
|
||||
<code className="text-xs bg-muted px-1 py-0.5 rounded">{record.cronExpression}</code>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<TableCell className="whitespace-nowrap">
|
||||
<code className="text-xs">{record.beanName}</code>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<TableCell className="whitespace-nowrap">
|
||||
<code className="text-xs">{record.methodName}</code>
|
||||
</TableCell>
|
||||
<TableCell>{getStatusBadge(record.status)}</TableCell>
|
||||
<TableCell className="text-xs text-muted-foreground">
|
||||
<TableCell className="whitespace-nowrap">{getStatusBadge(record.status)}</TableCell>
|
||||
<TableCell className="text-xs text-muted-foreground whitespace-nowrap">
|
||||
{record.lastExecuteTime ? dayjs(record.lastExecuteTime).format('YYYY-MM-DD HH:mm:ss') : '-'}
|
||||
</TableCell>
|
||||
<TableCell className="text-xs text-muted-foreground">
|
||||
<TableCell className="text-xs text-muted-foreground whitespace-nowrap">
|
||||
{record.nextExecuteTime ? dayjs(record.nextExecuteTime).format('YYYY-MM-DD HH:mm:ss') : '-'}
|
||||
</TableCell>
|
||||
<TableCell className="text-center">
|
||||
<TableCell className="text-center whitespace-nowrap">
|
||||
<Badge variant="outline">{record.executeCount || 0}</Badge>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<TableCell className="whitespace-nowrap">
|
||||
{record.executeCount && record.executeCount > 0 ? (
|
||||
<Badge variant={
|
||||
(record.successCount! / record.executeCount) >= 0.9 ? 'default' :
|
||||
|
||||
Loading…
Reference in New Issue
Block a user