fix(style): fix
This commit is contained in:
@@ -12,13 +12,19 @@ import {
|
||||
TaskStatusOpts,
|
||||
} from "@/components/label/utils/constants"
|
||||
import {
|
||||
ActionIcon,
|
||||
SettingContentPanel,
|
||||
SettingDataTable,
|
||||
SettingFilterActions,
|
||||
SettingFilterPanel,
|
||||
SettingHeaderActions,
|
||||
SettingListHeader,
|
||||
} from "@/components/setting/PageSurface"
|
||||
import {
|
||||
Button,
|
||||
Collapse,
|
||||
Flex,
|
||||
Group,
|
||||
MultiSelect,
|
||||
Paper,
|
||||
Select,
|
||||
SimpleGrid,
|
||||
Stack,
|
||||
@@ -35,7 +41,7 @@ import {
|
||||
} from "@tabler/icons-react"
|
||||
import dayjs from "dayjs"
|
||||
import duration from "dayjs/plugin/duration"
|
||||
import { DataTable, DataTableColumn } from "mantine-datatable"
|
||||
import { DataTableColumn } from "mantine-datatable"
|
||||
import { useRouter, useSearchParams } from "next/navigation"
|
||||
import { useCallback, useEffect, useMemo, useState } from "react"
|
||||
import * as XLSX from "xlsx-js-style"
|
||||
@@ -125,7 +131,6 @@ export default function TaskTableContainer(props: {
|
||||
}
|
||||
}) {
|
||||
const { info, userEnums } = props
|
||||
false && console.log(info)
|
||||
|
||||
const { user_id } = usePermissionStore()
|
||||
|
||||
@@ -444,6 +449,24 @@ export default function TaskTableContainer(props: {
|
||||
} catch {}
|
||||
}
|
||||
|
||||
const handleSearch = () => {
|
||||
setPageNumber(1)
|
||||
setForm({ ...filters })
|
||||
setQueryTrigger((v) => v + 1)
|
||||
}
|
||||
|
||||
const handleReset = () => {
|
||||
const next = createInitialFilters()
|
||||
setFilters(next)
|
||||
setForm(next)
|
||||
setPageNumber(1)
|
||||
setQueryTrigger((v) => v + 1)
|
||||
}
|
||||
|
||||
const handleRefresh = () => {
|
||||
setQueryTrigger((v) => v + 1)
|
||||
}
|
||||
|
||||
const getTime = (time: number) => {
|
||||
return dayjs.duration(time, "seconds").format("HH:mm:ss")
|
||||
}
|
||||
@@ -775,12 +798,11 @@ export default function TaskTableContainer(props: {
|
||||
return (
|
||||
<>
|
||||
<Stack gap="sm" style={{ flex: 1, minHeight: 0 }}>
|
||||
<Paper withBorder p="sm" radius="sm">
|
||||
<SettingFilterPanel>
|
||||
<Group justify="space-between" wrap="wrap" gap="sm">
|
||||
<Group gap="xs">
|
||||
<Text fw={700}>任务列表</Text>
|
||||
<Text fw={700}>筛选条件</Text>
|
||||
<Button
|
||||
size="xs"
|
||||
variant="transparent"
|
||||
rightSection={
|
||||
searchExpanded ? (
|
||||
@@ -793,43 +815,20 @@ export default function TaskTableContainer(props: {
|
||||
{searchExpanded ? "收起筛选" : "展开筛选"}
|
||||
</Button>
|
||||
</Group>
|
||||
<Group gap="xs">
|
||||
<Button
|
||||
size="xs"
|
||||
radius={"xs"}
|
||||
variant="default"
|
||||
leftSection={<IconRefresh size={16} />}
|
||||
onClick={() => {
|
||||
const next = createInitialFilters()
|
||||
setFilters(next)
|
||||
setForm(next)
|
||||
setPageNumber(1)
|
||||
}}>
|
||||
重置
|
||||
</Button>
|
||||
<Button
|
||||
size="xs"
|
||||
radius={"xs"}
|
||||
leftSection={<IconSearch size={16} />}
|
||||
onClick={() => {
|
||||
setPageNumber(1)
|
||||
setForm({ ...filters })
|
||||
}}>
|
||||
查询
|
||||
</Button>
|
||||
</Group>
|
||||
</Group>
|
||||
<Collapse
|
||||
in={searchExpanded}
|
||||
transitionDuration={250}
|
||||
transitionTimingFunction="ease"
|
||||
animateOpacity>
|
||||
<Stack gap="sm" mt="sm">
|
||||
<SimpleGrid cols={{ base: 1, sm: 2, md: 3, lg: 4 }} spacing="sm">
|
||||
<Stack gap="md" mt="md">
|
||||
<SimpleGrid
|
||||
cols={{ base: 1, sm: 2, md: 3, lg: 4 }}
|
||||
spacing="md"
|
||||
verticalSpacing="md">
|
||||
<TextInput
|
||||
size="xs"
|
||||
radius="xs"
|
||||
label="任务ID"
|
||||
placeholder="请输入任务 ID"
|
||||
value={filters.search_id}
|
||||
onChange={(e) =>
|
||||
setFilters((s) => ({
|
||||
@@ -839,8 +838,6 @@ export default function TaskTableContainer(props: {
|
||||
}
|
||||
/>
|
||||
<Select
|
||||
size="xs"
|
||||
radius="xs"
|
||||
label="任务状态"
|
||||
data={Object.entries(TaskStatusOpts).map(
|
||||
([value, label]) => ({
|
||||
@@ -855,8 +852,6 @@ export default function TaskTableContainer(props: {
|
||||
allowDeselect={false}
|
||||
/>
|
||||
<Select
|
||||
size="xs"
|
||||
radius="xs"
|
||||
label="是否返工"
|
||||
data={[
|
||||
{ label: "全部", value: "" },
|
||||
@@ -871,8 +866,6 @@ export default function TaskTableContainer(props: {
|
||||
/>
|
||||
<MultiSelect
|
||||
label="当前负责人"
|
||||
size="xs"
|
||||
radius="xs"
|
||||
data={Array.from(userEnums.allEnum.entries()).map(
|
||||
([x, y]) => ({ label: y, value: x.toString() })
|
||||
)}
|
||||
@@ -885,8 +878,6 @@ export default function TaskTableContainer(props: {
|
||||
/>
|
||||
<MultiSelect
|
||||
label="标注员"
|
||||
size="xs"
|
||||
radius="xs"
|
||||
data={Array.from(userEnums.labelEnum.entries()).map(
|
||||
([x, y]) => ({ label: y, value: x.toString() })
|
||||
)}
|
||||
@@ -897,8 +888,6 @@ export default function TaskTableContainer(props: {
|
||||
/>
|
||||
<MultiSelect
|
||||
label="审核员"
|
||||
size="xs"
|
||||
radius="xs"
|
||||
data={Array.from(userEnums.review1Enum.entries()).map(
|
||||
([x, y]) => ({ label: y, value: x.toString() })
|
||||
)}
|
||||
@@ -911,8 +900,6 @@ export default function TaskTableContainer(props: {
|
||||
/>
|
||||
<MultiSelect
|
||||
label="复审员"
|
||||
size="xs"
|
||||
radius="xs"
|
||||
data={Array.from(userEnums.review2Enum.entries()).map(
|
||||
([x, y]) => ({ label: y, value: x.toString() })
|
||||
)}
|
||||
@@ -926,54 +913,69 @@ export default function TaskTableContainer(props: {
|
||||
</SimpleGrid>
|
||||
</Stack>
|
||||
</Collapse>
|
||||
</Paper>
|
||||
<Paper
|
||||
withBorder
|
||||
p="md"
|
||||
radius="sm"
|
||||
<SettingFilterActions>
|
||||
<Button
|
||||
variant="default"
|
||||
leftSection={<IconRefresh size={16} />}
|
||||
onClick={handleReset}>
|
||||
重置
|
||||
</Button>
|
||||
<Button
|
||||
leftSection={<IconSearch size={16} />}
|
||||
onClick={handleSearch}
|
||||
loading={loading}>
|
||||
查询
|
||||
</Button>
|
||||
</SettingFilterActions>
|
||||
</SettingFilterPanel>
|
||||
<SettingContentPanel
|
||||
style={{
|
||||
flex: 1,
|
||||
minHeight: 0,
|
||||
display: "flex",
|
||||
flexDirection: "column",
|
||||
}}>
|
||||
<Stack gap={12} align="stretch" style={{ flex: 1, minHeight: 0 }}>
|
||||
<Flex justify={"space-between"} align="center" w="100%">
|
||||
<Flex gap={12}>
|
||||
<Button
|
||||
size="xs"
|
||||
radius="xs"
|
||||
variant="outline"
|
||||
disabled={!selectedRecords.length}
|
||||
onClick={handleExport}>
|
||||
下载选中项
|
||||
</Button>
|
||||
<Button
|
||||
size="xs"
|
||||
radius="xs"
|
||||
variant="outline"
|
||||
disabled={!selectedRecords.length}
|
||||
onClick={clickDispatchTask}>
|
||||
调度选中项
|
||||
</Button>
|
||||
<Button
|
||||
size="xs"
|
||||
radius="xs"
|
||||
variant="outline"
|
||||
disabled={!selectedRecords.length}
|
||||
onClick={clickReleaseTask}>
|
||||
释放选中项
|
||||
</Button>
|
||||
</Flex>
|
||||
<ActionIcon onClick={load} variant="transparent">
|
||||
<IconRefresh size={16} />
|
||||
</ActionIcon>
|
||||
</Flex>
|
||||
<DataTable<Task.DataProps>
|
||||
<Stack gap="sm" align="stretch" style={{ flex: 1, minHeight: 0 }}>
|
||||
<SettingListHeader
|
||||
title="任务列表"
|
||||
count={
|
||||
selectedRecords.length
|
||||
? `${total} 条 / 已选 ${selectedRecords.length}`
|
||||
: `${total} 条`
|
||||
}
|
||||
actions={
|
||||
<SettingHeaderActions>
|
||||
<Button
|
||||
variant="default"
|
||||
leftSection={<IconRefresh size={16} />}
|
||||
onClick={handleRefresh}
|
||||
loading={loading}>
|
||||
刷新
|
||||
</Button>
|
||||
<Button
|
||||
variant="default"
|
||||
disabled={!selectedRecords.length}
|
||||
onClick={handleExport}>
|
||||
下载选中项
|
||||
</Button>
|
||||
<Button
|
||||
variant="default"
|
||||
disabled={!selectedRecords.length}
|
||||
onClick={clickDispatchTask}>
|
||||
调度选中项
|
||||
</Button>
|
||||
<Button
|
||||
variant="default"
|
||||
disabled={!selectedRecords.length}
|
||||
onClick={clickReleaseTask}>
|
||||
释放选中项
|
||||
</Button>
|
||||
</SettingHeaderActions>
|
||||
}
|
||||
/>
|
||||
<SettingDataTable<Task.DataProps>
|
||||
width="100%"
|
||||
style={{ width: "100%" }}
|
||||
withTableBorder
|
||||
withRowBorders
|
||||
style={{ width: "100%", flex: 1 }}
|
||||
pinFirstColumn
|
||||
pinLastColumn
|
||||
scrollAreaProps={{ type: "auto" }}
|
||||
@@ -991,11 +993,9 @@ export default function TaskTableContainer(props: {
|
||||
selectedRecords={selectedRecords}
|
||||
onSelectedRecordsChange={setSelectedRecords}
|
||||
recordsPerPageOptions={[10, 15, 20]}
|
||||
noRecordsText="暂无数据"
|
||||
recordsPerPageLabel="当前页数"
|
||||
/>
|
||||
</Stack>
|
||||
</Paper>
|
||||
</SettingContentPanel>
|
||||
</Stack>
|
||||
|
||||
<WorkflowModal
|
||||
|
||||
Reference in New Issue
Block a user