import { PlusOutlined } from '@ant-design/icons'; import { ModalForm, ProForm, ProFormDateRangePicker, ProFormDateTimeRangePicker, ProFormSelect, ProFormText, ProFormTextArea, ProFormTreeSelect, } from '@ant-design/pro-components'; import { Button, Form, message } from 'antd'; import React, {useState} from "react"; import { addTask, getTaskTreeResult, OPERATION_BUTTON_TYPE, taskPriorityList, taskStateList } from "@/app/lib/task/project/data"; import {DataType} from "@/app/lib/definitions"; import dayjs from "dayjs"; export type DetailModelFormProps={ itemId?: number, pPid?:number, operationId: number, description:string, reloadData?: () => void } export type PidSelectTree= { label: string; value: number;pPid:number; children?: PidSelectTree[] } export const DetailModelForm: React.FC = (props) => { const [form] = Form.useForm(); const [pPid, setPPid] = useState(0); function childReduce(child:DataType[]):PidSelectTree[]{ const result:PidSelectTree[] = []; child.map(data=> { const resultData:PidSelectTree = {label:data.name,value:data.id,pPid:data.pPid}; if (data.children){ resultData.children=childReduce(data.children); } result.push(resultData); }) return result; } return ( title={ props.operationId === OPERATION_BUTTON_TYPE.DETAIL ? "任务详情": props.operationId === OPERATION_BUTTON_TYPE.ADD?"添加任务": props.operationId === OPERATION_BUTTON_TYPE.ADD?"修改任务":'' } trigger={ } form={form} autoFocusFirstInput modalProps={{ destroyOnClose: true, onCancel: () => console.log('run'), }} // submitTimeout={2000} onFinish={async (values) => { console.log('Received values of form: ', values); if (values.pid===undefined){ values.pid=0 } if (values.expectedTimeRange?.[0]!=undefined) { values.expectedStartTime=dayjs(values.expectedTimeRange[0]).toDate() } if (values.expectedTimeRange?.[1]!=undefined) { values.expectedEndTime=dayjs(values.expectedTimeRange[1]).toDate() } if (values.actualTimeRange?.[0]!=undefined) { values.actualStartTime=dayjs(values.actualTimeRange[0]).toDate() } if (values.actualTimeRange?.[1]!=undefined) { values.actualEndTime=dayjs(values.actualTimeRange[1]).toDate() } values.pPid=pPid; var result:boolean=false; await addTask(values).then(response => { console.log('response', response) if (response.status.success) { message.success("添加任务成功:" + response.data) // 树任务重新刷新 // 四象限任务重新刷新 // 如果可以直接更新列表而不请求。。。。。。 console.log('props.reloadData?.()',props.reloadData) props.reloadData?.() result= true }else { message.error(response.status.message) result= false } } ); return result; }} >