import {Button, Checkbox, DatePicker, Form, Input, Space, Switch, Tag} from "antd-mobile"; import ParentTask from "../../components/ParentTask"; import React, {useContext, useEffect} from "react"; import dayjs from "dayjs"; import {CloseCircleFill} from "antd-mobile-icons"; import {useLocation, useNavigate, useOutletContext} from "react-router-dom"; import {getDictionary} from "../../utils/dictUtil"; import {MyRootContext, UPDATE_SEARCH} from "../../components/MyRootContext"; import {dayStartUtcFormat, nextDayStartUtcFormat} from "../../utils/timeFormatUtil"; const DetailSearchContext = () => { const navigate = useNavigate(); const [form] = Form.useForm(); const [visible, setVisible] = React.useState(false); const { state, dispatch } = useContext(MyRootContext); const search = state.search const [stateList, setStateList] = React.useState([]); const [priorityList, setPriorityList] = React.useState([]); // 使用Outlet,传值修改标题 const {setTitle} = useOutletContext(); useEffect(() => { // 使用Outlet,传值修改标题 setTitle("搜索查询") initDate() }, []) async function initDate() { let stateDictionary = await getDictionary("2"); let priorityDictionary = await getDictionary("1"); setStateList(Array.from(stateDictionary.values())); setPriorityList(Array.from(priorityDictionary.values())); 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])); 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(',')) } if (searchMap.has("name")) { form.setFieldValue("name", searchMap.get("name").value) } } // 结束时间大于todo日,开始时间小于结束日 search.data?.orSearchModel?.andSearchModel?.andList?.forEach((searchObj) => { if (searchObj.name === "expectedEndTime") { form.setFieldValue("todoDay", dayjs(searchObj.value).toDate()) } }) 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 (
) } export default DetailSearchContext;