fix(project): dispatchModal
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user