fix(project): dispatchModal

This commit is contained in:
zhangheng
2026-04-15 18:36:28 +08:00
parent c8ded60d5f
commit 915c9ddd86

View File

@@ -3,15 +3,7 @@
import { taskDispatch } from "@/components/label/api/task" import { taskDispatch } from "@/components/label/api/task"
import { Task } from "@/components/label/api/task/typing" import { Task } from "@/components/label/api/task/typing"
import { usePermissionStore } from "@/components/label/store/auth" import { usePermissionStore } from "@/components/label/store/auth"
import { import { Badge, Button, Group, Modal, Select, Stack, Text } from "@mantine/core"
Button,
Group,
Modal,
Select,
Stack,
Switch,
Text,
} from "@mantine/core"
import { useForm } from "@mantine/form" import { useForm } from "@mantine/form"
import { notifications } from "@mantine/notifications" import { notifications } from "@mantine/notifications"
import { useEffect } from "react" import { useEffect } from "react"
@@ -30,7 +22,6 @@ export default function DispatchModal(props: {
const form = useForm({ const form = useForm({
initialValues: { initialValues: {
reject: false,
task_status_dst: "", task_status_dst: "",
uid_dst: "", uid_dst: "",
}, },
@@ -41,7 +32,6 @@ export default function DispatchModal(props: {
const resetFormState = () => { const resetFormState = () => {
form.setValues({ form.setValues({
reject: false,
task_status_dst: "", task_status_dst: "",
uid_dst: "", uid_dst: "",
}) })
@@ -61,6 +51,7 @@ export default function DispatchModal(props: {
const taskStatusSrc = dispatchData?.status ?? 0 const taskStatusSrc = dispatchData?.status ?? 0
const taskStatusSrcLabel = dispatchOpts[taskStatusSrc]?.label ?? "-" const taskStatusSrcLabel = dispatchOpts[taskStatusSrc]?.label ?? "-"
const taskRejected = Boolean(dispatchData?.reject)
const dstOptions = const dstOptions =
dispatchOpts[taskStatusSrc]?.opts?.map((o) => ({ dispatchOpts[taskStatusSrc]?.opts?.map((o) => ({
label: o.label, label: o.label,
@@ -116,7 +107,7 @@ export default function DispatchModal(props: {
try { try {
await taskDispatch({ await taskDispatch({
operation_uid: opUid, operation_uid: opUid,
reject: values.reject, reject: taskRejected,
task_ids: task_ids.map((item) => item.id), task_ids: task_ids.map((item) => item.id),
task_status_src: taskStatusSrc, task_status_src: taskStatusSrc,
task_status_dst: taskStatusDst, task_status_dst: taskStatusDst,
@@ -143,9 +134,16 @@ export default function DispatchModal(props: {
{task_ids.map((item) => item.project_name).join("、") ?? "-"} {task_ids.map((item) => item.project_name).join("、") ?? "-"}
</Text> </Text>
<Text size="sm" c="dimmed"> <Group gap={6}>
{taskStatusSrcLabel} <Text size="sm" c="dimmed">
</Text> {taskStatusSrcLabel}
</Text>
{taskRejected ? (
<Badge variant="outline" color="yellow" size="sm">
</Badge>
) : null}
</Group>
<Select <Select
label="目标状态" label="目标状态"
@@ -168,14 +166,6 @@ export default function DispatchModal(props: {
onChange={(v) => form.setFieldValue("uid_dst", v ?? "")} onChange={(v) => form.setFieldValue("uid_dst", v ?? "")}
/> />
<Switch
label="是否返工"
checked={form.values.reject}
onChange={(e) =>
form.setFieldValue("reject", e.currentTarget.checked)
}
/>
<Group justify="flex-end" gap="sm"> <Group justify="flex-end" gap="sm">
<Button <Button
variant="default" variant="default"