紧急重要
diff --git a/src/components/DetailSearchBar/index.js b/src/components/DetailSearchBar/index.js
index d22af3c..74d4448 100644
--- a/src/components/DetailSearchBar/index.js
+++ b/src/components/DetailSearchBar/index.js
@@ -18,7 +18,7 @@ const DetailSearchBar = (props) => {
(search.data.andList?.length > 0 || search.data.orList?.length > 0)
useEffect(() => {
initSearch();
- }, []);
+ }, [search]);
const initSearch = async () => {
if (search && search.data) {
diff --git a/src/pages/Bottom/index.js b/src/pages/Bottom/index.js
index 39e5c36..191029b 100644
--- a/src/pages/Bottom/index.js
+++ b/src/pages/Bottom/index.js
@@ -3,7 +3,7 @@ import {TabBar, FloatingBubble, Toast} from 'antd-mobile'
import WidthUseNavigate from './../WidthUseNavigate/index'
import {
AppOutline,
- MessageOutline,
+ CalendarOutline,
UnorderedListOutline,
UserOutline,
AddOutline,
@@ -15,25 +15,25 @@ const tabs = [
key: '/mobile/treeTask',
title: '主子任务',
icon: ,
- badge: '1',
+ // badge: '1',
},
{
key: '/mobile/listTask',
title: '列表任务',
icon: ,
- badge: '2',
+ // badge: '2',
},
{
key: '/mobile/calTask',
title: '日历任务',
- icon: ,
- badge: '3',
+ icon: ,
+ // badge: '3',
},
{
key: '/mobile/me',
title: '我的',
icon: ,
- badge: '4',
+ // badge: '4',
},
]
class BottomInner extends React.Component {
diff --git a/src/pages/DetailSearchContext/index.js b/src/pages/DetailSearchContext/index.js
index 5f22e9f..ff3afbb 100644
--- a/src/pages/DetailSearchContext/index.js
+++ b/src/pages/DetailSearchContext/index.js
@@ -32,31 +32,34 @@ const DetailSearchContext = () => {
if (!search) {
return
}
- let searchMap = new Map(
- search.data?.orSearchModel?.andList.map(searchObj => [searchObj.name, searchObj]));
- if (searchMap.has("pid")) {
+ if (search.data && search.data.orSearchModel && search.data.orSearchModel.andList) {
+ let searchMap = new Map(
+ search.data.orSearchModel.andList.map(searchObj => [searchObj.name, searchObj]));
+ if (searchMap.has("pid")) {
- // form.setFieldValue(task.name);
- }
- if (searchMap.has("state")) {
- form.setFieldValue("state", searchMap.get("state").value.split(','))
- }
- if (searchMap.has("priority")) {
- form.setFieldValue("priority", searchMap.get("priority").value.split(','))
+ // form.setFieldValue(task.name);
+ }
+ if (searchMap.has("state")) {
+ form.setFieldValue("state", searchMap.get("state").value.split(','))
+ }
+ if (searchMap.has("priority")) {
+ form.setFieldValue("priority", searchMap.get("priority").value.split(','))
+ }
+ if (searchMap.has("name")) {
+ form.setFieldValue("name", searchMap.get("name").value)
+ }
}
// 结束时间大于todo日,开始时间小于结束日
- search.data.orSearchModel?.andSearchModel?.andList?.forEach((searchObj) => {
+ search.data?.orSearchModel?.andSearchModel?.andList?.forEach((searchObj) => {
if (searchObj.name === "expectedEndTime") {
form.setFieldValue("todoDay", dayjs(searchObj.value).toDate())
}
})
-
- if (searchMap.has("name")) {
- form.setFieldValue("name", searchMap.get("name").value)
- }
- let orMap = new Map(search.data.andList.map(searchObj => [searchObj.name, searchObj]));
- if (orMap.has("state") && orMap.get("state").value === "10") {
- form.setFieldValue("allOverdueTasks", 'checked')
+ if (search.data && search.data.andList) {
+ let orMap = new Map(search.data.andList.map(searchObj => [searchObj.name, searchObj]));
+ if (orMap.has("state") && orMap.get("state").value === "10") {
+ form.setFieldValue("allOverdueTasks", 'checked')
+ }
}
}
@@ -67,9 +70,9 @@ const DetailSearchContext = () => {
onFinish={(values) => {
console.log("Form", values)
let andList = []
- let searchCondition =[]
+ let searchCondition = []
let andSearchModel = {}
- let orSearchModel = {"andList":searchCondition,andSearchModel}
+ let orSearchModel = {"andList": searchCondition, andSearchModel}
const {pidArray, name, priority, state, todoDay, allOverdueTasks} = values;
if (pidArray && pidArray.length !== 0) {
diff --git a/src/pages/Home/index.js b/src/pages/Home/index.js
index afcf227..31d3c6b 100644
--- a/src/pages/Home/index.js
+++ b/src/pages/Home/index.js
@@ -1,9 +1,10 @@
-import React, {Fragment} from 'react'
+import React, {Fragment, useEffect} from 'react'
import Bottom from './../Bottom/index'
import './index.css'
import {Outlet, useLocation} from 'react-router-dom'
import DetailSearchBar from "../../components/DetailSearchBar";
import dayjs from "dayjs";
+import {dayStartUtcFormat, nextDayStartUtcFormat} from "../../utils/timeFormatUtil";
const Home = () => {
@@ -12,75 +13,78 @@ const Home = () => {
console.log("Home", location);
const searchUrl = location?.state?.search;
const [pName, setName] = React.useState("");
- const [search, setSearch] = React.useState(searchUrl ? searchUrl : {
- "pageSize": 20,
- "pageNumber": 1,
- "data": {
- "orSearchModel": {
- "andList": [
- {"name": "state", "value": "8,9", "operateType": "IN"},
- ],
- "andSearchModel": {
+ const [search, setSearch] = React.useState()
+ const updateSearch = (values) => {
+ setSearch(values);
+ };
+ useEffect(() => {
+ setSearch(searchUrl ? searchUrl : {
+ "pageSize": 20,
+ "pageNumber": 1,
+ "data": {
+ "orSearchModel": {
"andList": [
- {
- "name": "expectedStartTime",
- "value": dayjs().add(1, "d").set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
- "operateType": "<"
- },
- {
- "name": "expectedEndTime",
- "value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
- "operateType": ">"
- }
+ {"name": "state", "value": "8,9", "operateType": "IN"},
],
- "orSearchModel": {
+ "andSearchModel": {
"andList": [
{
"name": "expectedStartTime",
- "value": dayjs().add(1, "d").set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
+ "value": nextDayStartUtcFormat(dayjs()),
"operateType": "<"
},
- {
- "name": "expectedStartTime",
- "value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
- "operateType": ">"
- },
{
"name": "expectedEndTime",
- "value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
- "operateType": "NULL"
+ "value": dayStartUtcFormat(dayjs()),
+ "operateType": ">"
}
],
"orSearchModel": {
"andList": [
{
- "name": "expectedEndTime",
- "value": dayjs().add(1, "d").set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
+ "name": "expectedStartTime",
+ "value": nextDayStartUtcFormat(dayjs()),
"operateType": "<"
},
{
- "name": "expectedEndTime",
- "value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
+ "name": "expectedStartTime",
+ "value": dayStartUtcFormat(dayjs()),
"operateType": ">"
},
{
- "name": "expectedStartTime",
- "value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
+ "name": "expectedEndTime",
+ "value": dayStartUtcFormat(dayjs()),
"operateType": "NULL"
}
],
+ "orSearchModel": {
+ "andList": [
+ {
+ "name": "expectedEndTime",
+ "value": nextDayStartUtcFormat(dayjs()),
+ "operateType": "<"
+ },
+ {
+ "name": "expectedEndTime",
+ "value": dayStartUtcFormat(dayjs()),
+ "operateType": ">"
+ },
+ {
+ "name": "expectedStartTime",
+ "value": dayStartUtcFormat(dayjs()),
+ "operateType": "NULL"
+ }
+ ],
+ }
}
- }
+ },
},
- },
- "andList": [
- {"name": "state", "value": "10", "operateType": "="}
- ]
- }
- })
- const updateSearch = (values) => {
- setSearch(values);
- };
+ "andList": [
+ {"name": "state", "value": "10", "operateType": "="}
+ ]
+ }
+ })
+ },[searchUrl])
return (
diff --git a/src/pages/ToDoList/index.js b/src/pages/ToDoList/index.js
index 344434c..13b2058 100644
--- a/src/pages/ToDoList/index.js
+++ b/src/pages/ToDoList/index.js
@@ -4,7 +4,7 @@ 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} from "../../utils/timeFormatUtil";
+import {DATE_TIME_FORMAT, DATE_TIME_FORMAT_SIMPLE} from "../../utils/timeFormatUtil";
import {getDictionary} from "../../utils/dictUtil";
const reorder = (
@@ -26,23 +26,27 @@ const ToDoList = () => {
const [priorityMap, setPriorityMap] = useState([]);
const [stateMap, setStateMap] = useState([])
const navigate = useNavigate();
- let loading = false;
+ 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)
const loadMore = async () => {
if (loading) {
return
}
loading = true;
console.log("loadMore", loading)
- await getTaskList({...search, "pageNumber": pageNumber + 1}).then(result => {
- setTaskList(val => [...val, ...result.content])
- setHasMore(result.page.number < result.page.totalPages)
- })
- setPageNumber(pageNumber + 1)
+ const taskRes = await getTaskList({...search, "pageNumber": pageNumber + 1});
+ setTaskList(val => [...val, ...taskRes.connect])
+ if (taskRes.page.number < taskRes.page.totalPages){
+ setHasMore(true)
+ setPageNumber(pageNumber + 1)
+ }else {
+ setHasMore(false)
+ setPageNumber(1)
+ }
loading = false;
}
/**
@@ -61,11 +65,17 @@ const ToDoList = () => {
})
getTaskList({...search, "pageNumber": pageNumber}).then(result => {
setTaskList(result.content)
- setHasMore(result.page.number < result.page.totalPages)
+ if (result.page.number < result.page.totalPages){
+ setHasMore(true)
+ setPageNumber(pageNumber + 1)
+ }else {
+ setHasMore(false)
+ setPageNumber(1)
+ }
loading = false;
})
- }, [])
+ }, [useOutletContext()])
const ref = useRef(null)
return (
@@ -75,8 +85,13 @@ const ToDoList = () => {
console.log("refresh")
getTaskList({...search, "pageNumber": 1}).then(result => {
setTaskList(result.content)
- setPageNumber(1)
- setHasMore(result.page.number < result.page.totalPages)
+ if (result.page.number < result.page.totalPages){
+ setHasMore(true)
+ setPageNumber(pageNumber + 1)
+ }else {
+ setHasMore(false)
+ setPageNumber(1)
+ }
})
}}
>
@@ -187,9 +202,9 @@ const ToDoList = () => {
{item.expectedEndTime && (stateMap.get(item.state)?.jsonValue?.color ?
(
- 结束时间:{dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT)}) :
+ {dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT_SIMPLE)}) :
(
- 结束时间:{dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT)}))
+ {dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT_SIMPLE)}))
}
}
description={item.description}
diff --git a/src/utils/requestUtil.js b/src/utils/requestUtil.js
index a13fdd8..91c8c0e 100644
--- a/src/utils/requestUtil.js
+++ b/src/utils/requestUtil.js
@@ -1,5 +1,6 @@
import axios from "axios";
import Cookies from "js-cookie";
+import {Toast} from "antd-mobile";
export const requestUtil = axios.create({
baseURL: 'http://www.huaruyu.com/',
@@ -24,11 +25,25 @@ requestUtil.interceptors.response.use(function (response) {
// 对响应数据做点什么
console.log("response",response);
if (response.data.status.code !== 200){
-
+ Toast.show({
+ content: 'response.data.status.message',
+ afterClose: () => {
+ console.log('after')
+ },
+ })
}
return response.data.data;
}, function (error) {
// 超出 2xx 范围的状态码都会触发该函数。
// 对响应错误做点什么
+ Toast.show({
+ content: error.toString(),
+ afterClose: () => {
+ console.log('after')
+ },
+ })
+ if (error.response.status >= 400 && error.response.status <= 500) {
+ window.location.href = '/login';
+ }
return Promise.reject(error);
});
\ No newline at end of file
diff --git a/src/utils/timeFormatUtil.js b/src/utils/timeFormatUtil.js
index c4e8427..b6f9ae2 100644
--- a/src/utils/timeFormatUtil.js
+++ b/src/utils/timeFormatUtil.js
@@ -1,5 +1,23 @@
+import dayjs from "dayjs";
+
const DATE_FORMAT = "YYYY-MM-DD"
// 到秒没啥意义
const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm"
-export {DATE_TIME_FORMAT,DATE_FORMAT}
\ No newline at end of file
+const DATE_TIME_FORMAT_SIMPLE = "MM-DD HH:mm"
+
+function dayStartUtcFormat(dayjs) {
+ if (dayjs) {
+ return dayjs.set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format()
+ }
+ return null;
+}
+
+function nextDayStartUtcFormat(dayjs) {
+ if (dayjs) {
+ return dayjs.add(1, "d").set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format()
+ }
+ return null
+}
+
+export {DATE_TIME_FORMAT, DATE_FORMAT,DATE_TIME_FORMAT_SIMPLE,dayStartUtcFormat,nextDayStartUtcFormat}
\ No newline at end of file