import {Button, Checkbox, DatePicker, Form, Input, Space, Switch, Tag} from "antd-mobile"; import ParentTask from "../../components/ParentTask"; import React, {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 {getTaskById} from "../../utils"; const DetailSearchContext = () => { const navigate = useNavigate(); const [form] = Form.useForm(); const [visible, setVisible] = React.useState(false); const location = useLocation(); console.log("DetailSearchContext", location); const {search} = location?.state || undefined; console.log("DetailSearchContext.search", 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 } let searchMap = new Map(search.data.map(searchObj => [searchObj.name, searchObj])); if (searchMap.has("pid")) { let task = await getTaskById(searchMap.get("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("todoDay")) { form.setFieldValue("todoDay", searchMap.get("todoDay").value) } } return (
{ console.log(values) let searchCondition = []; const {pidArray, name, priority, state, todoDay} = values; if (pidArray && pidArray.length !== 0) { searchCondition.push({"name": "name", "value": pidArray[pidArray.length - 1], "operateType": "="}) } if (name && name !== "") { searchCondition.push({"name": "name", "value": name, "operateType": "LIKE"}) } if (priority && priority.length !== 0) { searchCondition.push({"name": "priority", "value": priority.join(","), "operateType": "IN"}) } if (state && state.length !== 0) { searchCondition.push({"name": "state", "value": state.join(","), "operateType": "IN"}) } if (todoDay !== undefined) { searchCondition.push({"name": "todoDay", "value": todoDay, "operateType": "IN"}) } navigate("/home/listTask", {state: {search: JSON.stringify(searchCondition)}}) }} footer={ } > { stateList.map(stateDict => {stateDict.itemName} ) } { priorityList.map(stateDict => {stateDict.itemName} ) } prevValues.todoDay !== curValues.todoDay } > {({getFieldValue, setFieldsValue}) => ( { e.stopPropagation() setFieldsValue({todoDay: null}) }} />) : true } onClick={() => { setVisible(true) }} > { setVisible(false) }} > {value => value ? dayjs(value).format('YYYY-MM-DD') : '请选择日期' } )} {/*后期嵌套or*/} {/**/} {/* */} {/**/} ) } export default DetailSearchContext;