@@ -92,15 +15,13 @@ const Home = () => {
location.pathname.endsWith("/calTask") ? (
-
+
) : (
-
+
-
+
)
diff --git a/src/pages/TaskCount/index.js b/src/pages/TaskCount/index.js
index fe0ca7c..01b0e33 100644
--- a/src/pages/TaskCount/index.js
+++ b/src/pages/TaskCount/index.js
@@ -1,4 +1,4 @@
-import React, {Fragment, useEffect, useMemo} from "react";
+import React, {Fragment, useContext, useEffect, useMemo} from "react";
import {getTaskCount} from "../../utils";
import dayjs from "dayjs";
import {DATE_FORMAT} from "../../utils/timeFormatUtil";
@@ -6,6 +6,7 @@ import {getDictionary} from "../../utils/dictUtil";
import {Tag} from "antd-mobile";
import detailSearchBar from "../../components/DetailSearchBar";
import {useNavigate} from "react-router-dom";
+import {MyRootContext, UPDATE_SEARCH} from "../../components/MyRootContext";
const TaskCount = (props) => {
@@ -14,6 +15,7 @@ const TaskCount = (props) => {
const [taskCount, setTaskCount] = React.useState([]);
const [stateMap, setStateMap] = React.useState(new Map);
const [priorityMap, setPriorityMap] = React.useState(new Map);
+ const {dispatch } = useContext(MyRootContext);
useEffect(() => {
console.log("useEffect");
if (currentDay) {
@@ -81,18 +83,14 @@ const TaskCount = (props) => {
}
}
console.log({orSearchModel})
- navigate("/mobile/listTask", {
- state: {
- search: {
- "pageSize": 12,
- "pageNumber": 1,
- "data": {
- orSearchModel
- }
- }
+ dispatch({type:UPDATE_SEARCH,search:{
+ "pageSize": 12,
+ "pageNumber": 1,
+ "data": {
+ orSearchModel
}
- }
- )
+ }})
+ navigate("/mobile/listTask")
}
return (
diff --git a/src/pages/ToDoList/index.css b/src/pages/ToDoList/index.css
index ae3f100..69bf5d7 100644
--- a/src/pages/ToDoList/index.css
+++ b/src/pages/ToDoList/index.css
@@ -4,6 +4,6 @@
.adm-card-header-title{
width:100%;
}
-.adm-pull-to-refresh{
- touch-action:none;
-}
\ No newline at end of file
+/*.adm-pull-to-refresh{*/
+/* touch-action:none;*/
+/*}*/
\ No newline at end of file
diff --git a/src/pages/ToDoList/index.js b/src/pages/ToDoList/index.js
index 13b2058..79092e5 100644
--- a/src/pages/ToDoList/index.js
+++ b/src/pages/ToDoList/index.js
@@ -1,11 +1,13 @@
import {Dialog, InfiniteScroll, List, PullToRefresh, SwipeAction} from 'antd-mobile'
-import React, {Fragment, useEffect, useRef, useState} from 'react'
+import React, {Fragment, useContext, useEffect, useRef, useState} from 'react'
import {deleteTaskById, getTaskList, updateTaskStateById} from "../../utils";
import "./index.css"
import {useLocation, useNavigate, useOutletContext} from "react-router-dom";
import dayjs from "dayjs";
import {DATE_TIME_FORMAT, DATE_TIME_FORMAT_SIMPLE} from "../../utils/timeFormatUtil";
import {getDictionary} from "../../utils/dictUtil";
+import {List as VirtualizedList,AutoSizer} from "react-virtualized";
+import {MyRootContext} from "../../components/MyRootContext";
const reorder = (
list,
@@ -26,20 +28,21 @@ const ToDoList = () => {
const [priorityMap, setPriorityMap] = useState([]);
const [stateMap, setStateMap] = useState([])
const navigate = useNavigate();
- let loading = true;
- const location = useLocation();
- const {search: outletSearch} = useOutletContext()
- const search = location.state ? location.state.search : outletSearch;
- console.log("ToDoList.search", location, outletSearch)
- console.log("ToDoList测试下从添加任务过来条件都没有了,",search,outletSearch)
+ let loading = false;
+ const { state } = useContext(MyRootContext);
+ const search = state.search
+ console.log("从全局取出的search:" ,{search})
const loadMore = async () => {
+ console.log("loading:",pageNumber,loading)
if (loading) {
return
}
loading = true;
console.log("loadMore", loading)
- const taskRes = await getTaskList({...search, "pageNumber": pageNumber + 1});
- setTaskList(val => [...val, ...taskRes.connect])
+ const taskRes = await getTaskList({...search, "pageNumber": pageNumber});
+ console.log({taskRes})
+ setTaskList( [...taskList, ...taskRes.content])
+
if (taskRes.page.number < taskRes.page.totalPages){
setHasMore(true)
setPageNumber(pageNumber + 1)
@@ -63,17 +66,17 @@ const ToDoList = () => {
getDictionary("1").then(res => {
setPriorityMap(res)
})
- getTaskList({...search, "pageNumber": pageNumber}).then(result => {
- setTaskList(result.content)
- if (result.page.number < result.page.totalPages){
- setHasMore(true)
- setPageNumber(pageNumber + 1)
- }else {
- setHasMore(false)
- setPageNumber(1)
- }
- loading = false;
- })
+ // getTaskList({...search, "pageNumber": pageNumber}).then(result => {
+ // setTaskList(result.content)
+ // if (result.page.number < result.page.totalPages){
+ // setHasMore(true)
+ // setPageNumber(pageNumber + 1)
+ // }else {
+ // setHasMore(false)
+ // setPageNumber(1)
+ // }
+ // loading = false;
+ // })
}, [useOutletContext()])
const ref = useRef(null)
@@ -83,6 +86,7 @@ const ToDoList = () => {
{
console.log("refresh")
+ loading = true;
getTaskList({...search, "pageNumber": 1}).then(result => {
setTaskList(result.content)
if (result.page.number < result.page.totalPages){
@@ -93,9 +97,20 @@ const ToDoList = () => {
setPageNumber(1)
}
})
+ loading= false;
}}
>
+ {/**/}
+ {/* */}
+ {/**/}
{taskList.map((item, index) => (
{
style={{color: priorityMap.get(item.priority)?.jsonValue?.color}}>{item.name}) : (
{item.name})}
- {item.expectedEndTime && (stateMap.get(item.state)?.jsonValue?.color ?
+ {item.expectedStartTime && (stateMap.get(item.state)?.jsonValue?.color ?
(
- {dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT_SIMPLE)}) :
+ {dayjs(item.expectedStartTime).format(DATE_TIME_FORMAT_SIMPLE)}) :
(
- {dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT_SIMPLE)}))
+ {dayjs(item.expectedStartTime).format(DATE_TIME_FORMAT_SIMPLE)}))
}
}
description={item.description}
diff --git a/src/pages/ToDoTree/index.js b/src/pages/ToDoTree/index.js
index a0a4c97..ec0d5d1 100644
--- a/src/pages/ToDoTree/index.js
+++ b/src/pages/ToDoTree/index.js
@@ -1,8 +1,57 @@
-import {Fragment} from "react";
+import {Fragment, useEffect, useMemo, useState} from "react";
+import {Card, Cascader, CascaderView} from "antd-mobile";
+import {getTaskByPid} from "../../utils";
export default ()=>{
+ const [valueToOptions, setValueToOptions] = useState([])
+ const options = useMemo(() => {
+ function generate(v) {
+ const options = valueToOptions[v]
+ if (options === null) {
+ return undefined
+ }
+ if (options === undefined) {
+ return Cascader.optionSkeleton
+ }
+ return options.map(option => ({
+ ...option,
+ children: generate(option.value),
+ }))
+ }
+ return generate('0') ?? []
+ }, [valueToOptions])
+ async function fetchOptionsForValue(v, level) {
+ if (v in valueToOptions) return
+ // if (level >= 3) {
+ // setValueToOptions(prev => ({
+ // ...prev,
+ // [v]: null,
+ // }))
+ // return
+ // }
+ const data = await getTaskByPid(v)
+ console.log("await getTaskByPid(v)",data.content)
+ const options =
+ data.content.length === 0
+ ? null
+ : data.content.map(task => ({
+ value: task.id,
+ label: task.name,
+ }))
+ console.log("await getTaskByPid(v) options",options)
+ setValueToOptions(prev => ({
+ ...prev,
+ [v]: options,
+ }))
+ }
+
+ useEffect(() => {
+ fetchOptionsForValue('0', 0)
+ }, [])
return