From e01989fdfde3ef0ac49124a893fe5ea46cd72b74 Mon Sep 17 00:00:00 2001 From: 1708-huayu <57060237+1708-huayu@users.noreply.github.com> Date: Mon, 6 Jan 2025 18:55:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=A0=91=E4=B8=AD=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=AD=90=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/task/four/layout.tsx | 3 ++- src/lib/task/project/data.tsx | 1 + src/ui/task/OperationButton.tsx | 4 ++++ src/ui/task/TitleOperation.tsx | 2 ++ src/ui/task/project/TreeTablePro.tsx | 12 +++++++++++- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/app/task/four/layout.tsx b/src/app/task/four/layout.tsx index 1e68b5e..82cd704 100644 --- a/src/app/task/four/layout.tsx +++ b/src/app/task/four/layout.tsx @@ -14,7 +14,7 @@ export default function Layout({children}: { children: React.ReactNode }) { const [resultDataTypeList, setResultDataTypeList] = useState([]); const [loadingState,setLoadingState] =useState(true) - const leftUp:{name:string,operateType:string,value:string|number|boolean}[] = [] + const data = useContext(LocalContext); console.log('data',data); // 如果有pid,在前端过滤(防止中间数据不满足条件,导致子数据丢失), @@ -22,6 +22,7 @@ export default function Layout({children}: { children: React.ReactNode }) { var pid = useSearchParams().get('pid'); console.log('pid!=null',pid!=null); const refreshDate = (): void => { + const leftUp:{name:string,operateType:string,value:string|number|boolean}[] = [] setLoadingState(true) if (pid!=null) { leftUp.push({name:"pid",value:pid,operateType:"="}, diff --git a/src/lib/task/project/data.tsx b/src/lib/task/project/data.tsx index ab3a00a..587350f 100644 --- a/src/lib/task/project/data.tsx +++ b/src/lib/task/project/data.tsx @@ -173,6 +173,7 @@ export enum OPERATION_BUTTON_TYPE { UPDATE, DELETE, COMPLETE, + SHOW_TREE, SHOW_FOUR, SHOW_CALENDAR, ADD, diff --git a/src/ui/task/OperationButton.tsx b/src/ui/task/OperationButton.tsx index 7eea369..74f8c70 100644 --- a/src/ui/task/OperationButton.tsx +++ b/src/ui/task/OperationButton.tsx @@ -110,6 +110,10 @@ class OperationButton extends React.Component完成任务, }, + { + key: OPERATION_BUTTON_TYPE.SHOW_TREE, + label: 树任务显示子任务, + }, { key: OPERATION_BUTTON_TYPE.SHOW_FOUR, label: 四象限显示子任务, diff --git a/src/ui/task/TitleOperation.tsx b/src/ui/task/TitleOperation.tsx index 46e70fa..8b73268 100644 --- a/src/ui/task/TitleOperation.tsx +++ b/src/ui/task/TitleOperation.tsx @@ -7,6 +7,7 @@ import '@/ui/task/TitleOperation.modules.css' import LocalContext from "@/ui/LocalContent"; import {RequestDateType} from "@/ui/task/RequestDateType"; import dayjs, {Dayjs} from "dayjs"; +import {useSearchParams} from "next/dist/client/components/navigation"; interface TitleOperationProps { setTaskState: (value: string) => void; @@ -21,6 +22,7 @@ export const TitleOperation: React.FC = ({ }: TitleOperationProps) => { const {replace} = useRouter(); console.log('usePathname()', usePathname()); + console.log('useSearchParams()', useSearchParams().get('pid')); const data = useContext(LocalContext); const {RangePicker} = DatePicker; const expectStartTimeParseResult: RequestDateType[] = data.expectedStartTime.length > 0 ? JSON.parse(data.expectedStartTime) : [undefined, undefined] diff --git a/src/ui/task/project/TreeTablePro.tsx b/src/ui/task/project/TreeTablePro.tsx index a306991..ba56a60 100644 --- a/src/ui/task/project/TreeTablePro.tsx +++ b/src/ui/task/project/TreeTablePro.tsx @@ -18,6 +18,8 @@ import {DetailModelForm} from "@/ui/task/project/DetailModelForm"; import OperationButton from "@/ui/task/OperationButton"; import dayjs from "dayjs"; import '@/ui/task/project/TreeTablePro.modules.css' +import {useSearchParams} from "next/navigation"; + const TreeTablePro: React.FC = () => { const actionRef = useRef(); @@ -26,7 +28,10 @@ const TreeTablePro: React.FC = () => { const [filterChecked, setFilterChecked] = React.useState(true); const [current,setCurrent] = React.useState(1); const [pageSize,setPageSize] = React.useState(10); + + const pid = useSearchParams().get('pid')?useSearchParams().get('pid'):'0'; const { RangePicker } = DatePicker; + console.log("TreeTablePro",useSearchParams().get('pid')) const columns: ProColumns[] = [ { key:'code', @@ -145,6 +150,10 @@ const TreeTablePro: React.FC = () => { actionRef.current?.reload( false); }} />) } + + useEffect(()=>{ + actionRef.current?.reload( false) + },[useSearchParams()]) return ( columns={columns} @@ -154,8 +163,9 @@ const TreeTablePro: React.FC = () => { console.log('request',params,params.keyword,sort, filter); const searchList=[] if (switchChecked) { - searchList.push({name:'pid',value:'0',operateType:"="},{name:'tree',value:'TRUE',operateType:"TREE"}) + searchList.push({name:'tree',value:'TRUE',operateType:"TREE"}) } + searchList.push({name:"pid",value:pid,operateType:"="}) if (filterChecked) { searchList.push({name:'tree',value:'TRUE',operateType:"TREE-FILTER"}) }