feat:backup
This commit is contained in:
parent
791e0c2ef6
commit
9c81ff199c
Binary file not shown.
Before Width: | Height: | Size: 5.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.9 KiB |
|
@ -29,6 +29,8 @@ export default () => {
|
|||
// 获取form引用
|
||||
const [form] = Form.useForm();
|
||||
useEffect(() => {
|
||||
|
||||
|
||||
if (location.pathname.endsWith("addTask")) {
|
||||
setTitle("添加任务");
|
||||
setCurrentPath("addTask");
|
||||
|
@ -186,7 +188,7 @@ export default () => {
|
|||
showCount
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item name='state' label='任务状态' required disabled={updateFiledDisabled}>
|
||||
<Form.Item name='state' label='任务状态' required={true} disabled={updateFiledDisabled}>
|
||||
<Radio.Group>
|
||||
<Space direction='vertical'>
|
||||
<Radio value='8'><Tag color='primary'>未开始</Tag></Radio>
|
||||
|
@ -196,7 +198,7 @@ export default () => {
|
|||
</Space>
|
||||
</Radio.Group>
|
||||
</Form.Item>
|
||||
<Form.Item name='priority' label='任务优先级' disabled={updateFiledDisabled}>
|
||||
<Form.Item name='priority' label='任务优先级' required={true} disabled={updateFiledDisabled}>
|
||||
<Radio.Group>
|
||||
<Space direction='vertical'>
|
||||
<Radio value='3'><Tag color='danger'>紧急重要</Tag></Radio>
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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: <AppOutline/>,
|
||||
badge: '1',
|
||||
// badge: '1',
|
||||
},
|
||||
{
|
||||
key: '/mobile/listTask',
|
||||
title: '列表任务',
|
||||
icon: <UnorderedListOutline/>,
|
||||
badge: '2',
|
||||
// badge: '2',
|
||||
},
|
||||
{
|
||||
key: '/mobile/calTask',
|
||||
title: '日历任务',
|
||||
icon: <MessageOutline/>,
|
||||
badge: '3',
|
||||
icon: <CalendarOutline />,
|
||||
// badge: '3',
|
||||
},
|
||||
{
|
||||
key: '/mobile/me',
|
||||
title: '我的',
|
||||
icon: <UserOutline/>,
|
||||
badge: '4',
|
||||
// badge: '4',
|
||||
},
|
||||
]
|
||||
class BottomInner extends React.Component {
|
||||
|
|
|
@ -32,8 +32,9 @@ const DetailSearchContext = () => {
|
|||
if (!search) {
|
||||
return
|
||||
}
|
||||
if (search.data && search.data.orSearchModel && search.data.orSearchModel.andList) {
|
||||
let searchMap = new Map(
|
||||
search.data?.orSearchModel?.andList.map(searchObj => [searchObj.name, searchObj]));
|
||||
search.data.orSearchModel.andList.map(searchObj => [searchObj.name, searchObj]));
|
||||
if (searchMap.has("pid")) {
|
||||
|
||||
// form.setFieldValue(task.name);
|
||||
|
@ -44,21 +45,23 @@ const DetailSearchContext = () => {
|
|||
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)
|
||||
}
|
||||
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')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<Form
|
||||
|
|
|
@ -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,7 +13,12 @@ const Home = () => {
|
|||
console.log("Home", location);
|
||||
const searchUrl = location?.state?.search;
|
||||
const [pName, setName] = React.useState("");
|
||||
const [search, setSearch] = React.useState(searchUrl ? searchUrl : {
|
||||
const [search, setSearch] = React.useState()
|
||||
const updateSearch = (values) => {
|
||||
setSearch(values);
|
||||
};
|
||||
useEffect(() => {
|
||||
setSearch(searchUrl ? searchUrl : {
|
||||
"pageSize": 20,
|
||||
"pageNumber": 1,
|
||||
"data": {
|
||||
|
@ -24,12 +30,12 @@ const Home = () => {
|
|||
"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": "expectedEndTime",
|
||||
"value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
|
||||
"value": dayStartUtcFormat(dayjs()),
|
||||
"operateType": ">"
|
||||
}
|
||||
],
|
||||
|
@ -37,17 +43,17 @@ const Home = () => {
|
|||
"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(),
|
||||
"value": dayStartUtcFormat(dayjs()),
|
||||
"operateType": ">"
|
||||
},
|
||||
{
|
||||
"name": "expectedEndTime",
|
||||
"value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
|
||||
"value": dayStartUtcFormat(dayjs()),
|
||||
"operateType": "NULL"
|
||||
}
|
||||
],
|
||||
|
@ -55,17 +61,17 @@ const Home = () => {
|
|||
"andList": [
|
||||
{
|
||||
"name": "expectedEndTime",
|
||||
"value": dayjs().add(1, "d").set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
|
||||
"value": nextDayStartUtcFormat(dayjs()),
|
||||
"operateType": "<"
|
||||
},
|
||||
{
|
||||
"name": "expectedEndTime",
|
||||
"value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
|
||||
"value": dayStartUtcFormat(dayjs()),
|
||||
"operateType": ">"
|
||||
},
|
||||
{
|
||||
"name": "expectedStartTime",
|
||||
"value": dayjs().set('h', 0).set('m', 0).set('s', 0).set('ms', 0).format(),
|
||||
"value": dayStartUtcFormat(dayjs()),
|
||||
"operateType": "NULL"
|
||||
}
|
||||
],
|
||||
|
@ -78,9 +84,7 @@ const Home = () => {
|
|||
]
|
||||
}
|
||||
})
|
||||
const updateSearch = (values) => {
|
||||
setSearch(values);
|
||||
};
|
||||
},[searchUrl])
|
||||
return (
|
||||
<div className='body'>
|
||||
|
||||
|
|
|
@ -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)
|
||||
})
|
||||
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 (
|
||||
<Fragment>
|
||||
|
@ -75,8 +85,13 @@ const ToDoList = () => {
|
|||
console.log("refresh")
|
||||
getTaskList({...search, "pageNumber": 1}).then(result => {
|
||||
setTaskList(result.content)
|
||||
if (result.page.number < result.page.totalPages){
|
||||
setHasMore(true)
|
||||
setPageNumber(pageNumber + 1)
|
||||
}else {
|
||||
setHasMore(false)
|
||||
setPageNumber(1)
|
||||
setHasMore(result.page.number < result.page.totalPages)
|
||||
}
|
||||
})
|
||||
}}
|
||||
>
|
||||
|
@ -187,9 +202,9 @@ const ToDoList = () => {
|
|||
|
||||
{item.expectedEndTime && (stateMap.get(item.state)?.jsonValue?.color ?
|
||||
(<span style={{color: stateMap.get(item.state)?.jsonValue?.color}}>
|
||||
结束时间:{dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT)}</span>) :
|
||||
{dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT_SIMPLE)}</span>) :
|
||||
(
|
||||
<span>结束时间:{dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT)}</span>))
|
||||
<span>{dayjs(item.expectedEndTime).format(DATE_TIME_FORMAT_SIMPLE)}</span>))
|
||||
}
|
||||
</div>}
|
||||
description={item.description}
|
||||
|
|
|
@ -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);
|
||||
});
|
|
@ -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}
|
||||
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}
|
Loading…
Reference in New Issue