diff --git a/app/management/project/detail/OwnTaskTableContainer.tsx b/app/management/project/detail/OwnTaskTableContainer.tsx index 7855d7d..4e7b8b9 100644 --- a/app/management/project/detail/OwnTaskTableContainer.tsx +++ b/app/management/project/detail/OwnTaskTableContainer.tsx @@ -272,7 +272,7 @@ export default function OwnTaskTableContainer(props: { - 项目审核 + 我的任务 + + ), }, ] @@ -206,95 +711,226 @@ export default function TaskTableContainer(props: { return ( <> - - - - + + + + 任务列表 + + + + + + + + + + - setForm((s) => ({ ...s, search_id: e.target.value })) + setFilters((s) => ({ + ...s, + search_id: e.target.value, + })) } - style={{ width: 160 }} /> + setFilters((s) => ({ ...s, rejected: v || undefined })) + } + allowDeselect={true} + /> + ({ label: y, value: x.toString() }) + )} + searchable + clearable + value={filters.current_uid} + onChange={(v) => + setFilters((s) => ({ ...s, current_uid: v })) + } + /> + ({ label: y, value: x.toString() }) + )} + searchable + clearable + value={filters.label_user} + onChange={(v) => setFilters((s) => ({ ...s, label_user: v }))} + /> + ({ label: y, value: x.toString() }) + )} + searchable + clearable + value={filters.review_user1} + onChange={(v) => + setFilters((s) => ({ ...s, review_user1: v })) + } + /> + ({ label: y, value: x.toString() }) + )} + searchable + clearable + value={filters.review_user2} + onChange={(v) => + setFilters((s) => ({ ...s, review_user2: v })) + } + /> + + + + + + + + - - + + + + + + + + width="100%" + style={{ width: "100%" }} + withTableBorder + withRowBorders + pinFirstColumn + pinLastColumn + scrollAreaProps={{ type: "auto" }} + fetching={loading} + records={records} + columns={columns} + totalRecords={total} + recordsPerPage={pageSize} + page={pageNumber} + onPageChange={(p) => setPageNumber(p)} + onRecordsPerPageChange={(s) => { + setPageSize(s) + setPageNumber(1) + }} + selectedRecords={selectedRecords} + onSelectedRecordsChange={setSelectedRecords} + recordsPerPageOptions={[10, 15, 20]} + noRecordsText="暂无数据" + recordsPerPageLabel="当前页数" + /> - - - - width="100%" - style={{ width: "100%" }} - withTableBorder - withRowBorders - pinFirstColumn - pinLastColumn - scrollAreaProps={{ type: "auto" }} - fetching={loading} - records={records} - columns={columns} - totalRecords={total} - recordsPerPage={params.page_size ?? 20} - page={params.page_number ?? 1} - onPageChange={(p) => { - setPagination(p, params.page_size ?? 20) - setQueryTrigger((v) => v + 1) - }} - onRecordsPerPageChange={(s) => { - setPagination(1, s) - setQueryTrigger((v) => v + 1) - }} - recordsPerPageOptions={[10, 20, 50, 100]} - noRecordsText="暂无数据" - /> - setWorkflowTaskId(null)} /> { - setDispatchRecord(null) + setDispatchModalConfig({ + open: false, + task_ids: [], + }) if (refresh) setQueryTrigger((v) => v + 1) }} /> diff --git a/app/management/project/detail/components/DispatchModal.tsx b/app/management/project/detail/components/DispatchModal.tsx index ef8691d..4984fa6 100644 --- a/app/management/project/detail/components/DispatchModal.tsx +++ b/app/management/project/detail/components/DispatchModal.tsx @@ -15,14 +15,16 @@ import { } from "@mantine/core" import { useForm } from "@mantine/form" import { notifications } from "@mantine/notifications" +import { selectedDataProps } from "../TaskTableContainer" export default function DispatchModal(props: { opened: boolean - record: Task.DataProps | null + dispatchData?: selectedDataProps + task_ids: Task.DataProps[] userOptions: Array<{ label: string; value: string }> onCloseAction: (refresh?: boolean) => void }) { - const { opened, record, userOptions, onCloseAction } = props + const { opened, dispatchData, task_ids, userOptions, onCloseAction } = props const operation_uid = usePermissionStore((s) => s.user_id) const form = useForm({ @@ -33,7 +35,7 @@ export default function DispatchModal(props: { }, }) - const taskStatusSrc = record?.label_status ?? 0 + const taskStatusSrc = dispatchData?.status ?? 0 const dstOptions = dispatchOpts[taskStatusSrc]?.opts?.map((o) => ({ label: o.label, @@ -53,7 +55,9 @@ export default function DispatchModal(props: { typeof operation_uid === "number" ? operation_uid : Number(operation_uid ?? 0) - if (!record?.id || !opUid) { + console.log(dispatchData, operation_uid) + + if (!values?.uid_dst || !opUid) { notifications.show({ color: "red", title: "操作失败", @@ -85,10 +89,10 @@ export default function DispatchModal(props: { await taskDispatch({ operation_uid: opUid, reject: values.reject, - task_ids: [record.id], + task_ids: task_ids.map((item) => item.id), task_status_src: taskStatusSrc, task_status_dst: taskStatusDst, - uid_src: record.current_uid ?? null, + uid_src: dispatchData?.uid ?? null, uid_dst: uidDst, }) notifications.show({ @@ -107,7 +111,11 @@ export default function DispatchModal(props: { })}> - 当前任务:{record?.id ?? "-"}(源状态:{taskStatusSrc}) + 当前任务: + {task_ids.map((item) => item.project_name).join("、") ?? "-"} + + + (源状态:{taskStatusSrc})