feat(task): task detail
This commit is contained in:
@@ -5,7 +5,7 @@ import { ProjectDetail } from "@/components/label/api/project/typing"
|
||||
import { useAllUserStore } from "@/components/label/store/auth"
|
||||
import { Button, Group, Paper, Stack, Switch, Text } from "@mantine/core"
|
||||
import { notifications } from "@mantine/notifications"
|
||||
import { useMemo, useState } from "react"
|
||||
import { JSX, useMemo, useState } from "react"
|
||||
import AdminUserModal from "./components/AdminUserModal"
|
||||
import LabelSchemeContainer from "./components/LabelSchemeContainer"
|
||||
import NoteRulesTable from "./components/NoteRulesTable"
|
||||
@@ -14,15 +14,16 @@ import TaskStageTabsContainer from "./components/TaskStageTabsContainer"
|
||||
|
||||
export default function InfoSettingContainer(props: {
|
||||
info: ProjectDetail.DataProps | undefined
|
||||
menuAction?: () => JSX.Element
|
||||
userEnums: {
|
||||
allEnum: Map<any, any>
|
||||
labelEnum: Map<any, any>
|
||||
review1Enum: Map<any, any>
|
||||
review2Enum: Map<any, any>
|
||||
}
|
||||
update: () => void
|
||||
updateAction: () => void
|
||||
}) {
|
||||
const { info, userEnums, update } = props
|
||||
const { info, menuAction, userEnums, updateAction } = props
|
||||
const projectId = info?.id ?? -1
|
||||
|
||||
const { userOpts } = useAllUserStore()
|
||||
@@ -58,7 +59,7 @@ export default function InfoSettingContainer(props: {
|
||||
title: "操作成功",
|
||||
message: "已保存配置",
|
||||
})
|
||||
update()
|
||||
updateAction()
|
||||
} catch (e) {
|
||||
notifications.show({
|
||||
color: "red",
|
||||
@@ -79,9 +80,10 @@ export default function InfoSettingContainer(props: {
|
||||
radius="md"
|
||||
style={{ borderColor: "rgba(0,0,0,0.06)" }}>
|
||||
<Stack gap="sm">
|
||||
{menuAction ? <div>{menuAction()}</div> : null}
|
||||
<Group justify="space-between" wrap="wrap">
|
||||
<Text fw={700}>基础配置</Text>
|
||||
<Button size="xs" variant="default" onClick={update}>
|
||||
<Button size="xs" variant="default" onClick={updateAction}>
|
||||
刷新项目详情
|
||||
</Button>
|
||||
</Group>
|
||||
@@ -130,13 +132,13 @@ export default function InfoSettingContainer(props: {
|
||||
info={info}
|
||||
userOptions={userOptions}
|
||||
userEnums={userEnums}
|
||||
onUpdated={update}
|
||||
onUpdatedAction={updateAction}
|
||||
/>
|
||||
|
||||
<SamplingPlanContainer
|
||||
projectId={projectId}
|
||||
info={info}
|
||||
onUpdated={update}
|
||||
onUpdated={updateAction}
|
||||
/>
|
||||
|
||||
<LabelSchemeContainer info={info} />
|
||||
@@ -148,7 +150,7 @@ export default function InfoSettingContainer(props: {
|
||||
opened={adminModalOpen}
|
||||
value={info?.admin_user ?? []}
|
||||
options={userOptions}
|
||||
onClose={async (next) => {
|
||||
onCloseAction={async (next) => {
|
||||
setAdminModalOpen(false)
|
||||
if (!next || projectId === -1) return
|
||||
try {
|
||||
@@ -158,7 +160,7 @@ export default function InfoSettingContainer(props: {
|
||||
title: "操作成功",
|
||||
message: "已保存项目管理员",
|
||||
})
|
||||
update()
|
||||
updateAction()
|
||||
} catch (e) {
|
||||
notifications.show({
|
||||
color: "red",
|
||||
|
||||
Reference in New Issue
Block a user