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: {
- 项目审核
+ 我的任务
+
+
+ }
+ onClick={() => {
+ const next = createInitialFilters()
+ setFilters(next)
+ setForm(next)
+ setPageNumber(1)
+ }}>
+ 重置
+
+ }
+ onClick={() => {
+ setPageNumber(1)
+ setForm({ ...filters })
+ }}>
+ 查询
+
+
+
+
+
+
- setForm((s) => ({ ...s, search_id: e.target.value }))
+ setFilters((s) => ({
+ ...s,
+ search_id: e.target.value,
+ }))
}
- style={{ width: 160 }}
/>
+
+
+
+
+
+
+
{
- resetParams()
- setForm({ search_id: "", search_status: "0" })
- setQueryTrigger((v) => v + 1)
- }}>
- 重置
+ radius="xs"
+ variant="outline"
+ disabled={!selectedRecords.length}
+ onClick={handleExport}>
+ 下载选中项
{
- setPagination(1, params.page_size ?? 20)
- setQueryTrigger((v) => v + 1)
- }}>
- 查询
+ radius="xs"
+ variant="outline"
+ disabled={!selectedRecords.length}
+ onClick={clickDispatchTask}>
+ 调度选中项
-
-
+
+ 释放选中项
+
+
+
+
+
+
+
+ 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})
(
- (backTitle as TabKey) || "own"
+ (backTitle as TabKey) || "all"
)
const [info, setInfo] = useState()
const [userEnums, setUserEnums] = useState<{
diff --git a/components/label/LabelNossr.tsx b/components/label/LabelNossr.tsx
index cb49897..ed68002 100644
--- a/components/label/LabelNossr.tsx
+++ b/components/label/LabelNossr.tsx
@@ -12,8 +12,6 @@ import ScaleComponent from "./components/ScaleComponent"
import { Box, Flex, LoadingOverlay, Stack } from "@mantine/core"
import { showNotification } from "@mantine/notifications"
-import { getName } from "@tauri-apps/api/app"
-import { getCurrentWindow } from "@tauri-apps/api/window"
import { getLabelResult } from "./api/label"
import { Comment, WorkLoad } from "./api/label/typing"
import { getProjectDetail } from "./api/project"
@@ -1125,34 +1123,6 @@ const LabelPage = ({
}
}, [])
- const detectEnvironment = async () => {
- try {
- const result = await getName()
- console.log("Running in Tauri environment", result)
- return true
- } catch {
- // console.log("Not running in Tauri environment", error);
- return false
- }
- }
-
- // tauri://close-requested
- useEffect(() => {
- ;(async () => {
- if (await detectEnvironment()) {
- const window = getCurrentWindow()
- const unlisten = await window.onCloseRequested(async (event) => {
- useTopToolsStore.getState().setNeedBackup(true)
- event.preventDefault()
- })
-
- return () => {
- unlisten()
- }
- }
- })()
- }, [])
-
const mainBoxHeight = useMemo(() => {
if (projectDetail?.label_type === 5 && metaOperation) {
let h = `calc(100% - ${headerHeight}px - 198px)`
diff --git a/components/label/OptStore.tsx b/components/label/OptStore.tsx
index 077cfae..b1b0743 100644
--- a/components/label/OptStore.tsx
+++ b/components/label/OptStore.tsx
@@ -1,15 +1,15 @@
"use client"
import { getName } from "@tauri-apps/api/app"
import { getCurrentWindow } from "@tauri-apps/api/window"
+import { usePathname } from "next/navigation"
import { useEffect } from "react"
+import { getProjectAdminList } from "./api/project"
+import { getUserAll, getUserGroupTree } from "./api/user"
import {
useAllTaskStore,
useAllUserStore,
usePermissionStore,
} from "./store/auth"
-import { getUserAll, getUserGroupTree } from "./api/user"
-import { usePathname } from "next/navigation"
-import { getProjectAdminList } from "./api/project"
export function OptStore() {
const detectEnvironment = async () => {
@@ -17,8 +17,8 @@ export function OptStore() {
const result = await getName()
console.log("Running in Tauri environment", result)
return true
- } catch (error) {
- console.log("Not running in Tauri environment", error)
+ } catch {
+ console.log("Not running in Tauri environment")
return false
}
}
diff --git a/components/label/api/task/typing.ts b/components/label/api/task/typing.ts
index 1d14edb..6129549 100644
--- a/components/label/api/task/typing.ts
+++ b/components/label/api/task/typing.ts
@@ -76,7 +76,7 @@ export namespace Task {
page_number: number
page_size: number
project_id?: number[]
- rejected?: boolean
+ rejected?: number
review_user1?: number[]
review_user2?: number[]
}
diff --git a/components/project/index.tsx b/components/project/index.tsx
index 7e7ceeb..17412fd 100644
--- a/components/project/index.tsx
+++ b/components/project/index.tsx
@@ -584,11 +584,7 @@ export default function ProjectInfoPage({
return (
-
+
@@ -765,7 +761,6 @@ export default function ProjectInfoPage({
p="md"
radius="md"
style={{
- borderColor: "var(--mantine-color-brand-text)",
flex: 1,
minHeight: 0,
display: "flex",
diff --git a/package.json b/package.json
index f179274..1fcb2b2 100644
--- a/package.json
+++ b/package.json
@@ -66,6 +66,7 @@
"react-dom": "19.2.1",
"react-window": "^2.2.3",
"superjson": "^2.2.6",
+ "xlsx-js-style": "^1.2.0",
"zustand": "^5.0.8"
},
"devDependencies": {