fix(ones): bug

This commit is contained in:
zhangheng
2026-04-14 17:14:49 +08:00
parent 3ddec5d337
commit 9b1f0db3b2
3 changed files with 52 additions and 15 deletions

View File

@@ -14,6 +14,7 @@ import {
} from "@mantine/core"
import { useForm } from "@mantine/form"
import { notifications } from "@mantine/notifications"
import { useEffect } from "react"
import { selectedDataProps } from "../TaskTableContainer"
import { dispatchOpts } from "./config"
@@ -33,9 +34,33 @@ export default function DispatchModal(props: {
task_status_dst: "",
uid_dst: "",
},
validate: {
task_status_dst: (value) => (!value ? "必填" : null),
},
})
const resetFormState = () => {
form.setValues({
reject: false,
task_status_dst: "",
uid_dst: "",
})
form.clearErrors()
form.resetDirty()
}
useEffect(() => {
if (opened) {
resetFormState()
return
}
resetFormState()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [opened])
const taskStatusSrc = dispatchData?.status ?? 0
const taskStatusSrcLabel = dispatchOpts[taskStatusSrc]?.label ?? "-"
const dstOptions =
dispatchOpts[taskStatusSrc]?.opts?.map((o) => ({
label: o.label,
@@ -45,7 +70,10 @@ export default function DispatchModal(props: {
return (
<Modal
opened={opened}
onClose={() => onCloseAction()}
onClose={() => {
resetFormState()
onCloseAction()
}}
title="调度任务"
centered
size={520}>
@@ -100,6 +128,7 @@ export default function DispatchModal(props: {
title: "操作成功",
message: "已调度任务",
})
resetFormState()
onCloseAction(true)
} catch (e) {
notifications.show({
@@ -115,16 +144,19 @@ export default function DispatchModal(props: {
{task_ids.map((item) => item.project_name).join("、") ?? "-"}
</Text>
<Text size="sm" c="dimmed">
{taskStatusSrc}
{taskStatusSrcLabel}
</Text>
<Select
label="目标状态"
placeholder="请选择目标状态"
data={dstOptions}
searchable
clearable
value={form.values.task_status_dst}
withAsterisk
value={form.values.task_status_dst || null}
onChange={(v) => form.setFieldValue("task_status_dst", v ?? "")}
error={form.errors.task_status_dst}
/>
<Select
@@ -132,7 +164,7 @@ export default function DispatchModal(props: {
data={userOptions}
searchable
clearable
value={form.values.uid_dst}
value={form.values.uid_dst || null}
onChange={(v) => form.setFieldValue("uid_dst", v ?? "")}
/>
@@ -145,7 +177,12 @@ export default function DispatchModal(props: {
/>
<Group justify="flex-end" gap="sm">
<Button variant="default" onClick={() => onCloseAction()}>
<Button
variant="default"
onClick={() => {
resetFormState()
onCloseAction()
}}>
</Button>
<Button type="submit"></Button>