import React,{useEffect,useState,useMemo,useRef} from 'react'; import { Form, Button, Input, Row,Upload, Col, Table, DatePicker, TreeSelect,message,Image,Modal,Typography ,Popconfirm } from 'antd'; import { DeleteOutlined,FileWordOutlined,FilePdfOutlined,FileZipOutlined,FileExcelOutlined } from '@ant-design/icons'; import { formItemLayout, btnItemLayout } from '../../../../components/crud/FormLayoutProps'; import PersonTree from '../../../../components/PersonTree'; import apiurl from '../../../../service/apiurl'; import NormalSelect from '../../../../components/Form/NormalSelect'; import { xyt_httpget2 } from '../../../../utils/request'; import "./index.less" import moment from 'moment'; import { httpget2 } from '../../../../utils/request'; const { RangePicker } = DatePicker const { Dragger } = Upload; const url = "http://223.75.53.141:9102/test.by-lyf.tmp" const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { const [itemList, setItemList] = useState([]) const [itemParams, setItemParams] = useState([]) const taskTypes = [ {label:"日常巡查",value:0}, {label:"特别检查",value:1}, {label:"汛前巡检",value:2}, ] const [form] = Form.useForm(); const handleTree = (arr) => { const res = arr.map(item => { item.value = item.id; item.title = item.itemDesc; if (item.children) { item.children = handleTree(item.children) } return item; }) return res } const getItemList = async() => { try { const res = await httpget2(apiurl.rcgl.xcxj.xjrw.list); if (res.code === 200) { const arr1 = res.data.map(item => ({ id: item.id, itemDesc: item.name, children: item.children, disabled:item.children.length > 0 ? false : true })); const result = handleTree(arr1) console.log(result); setItemList(result) } } catch (error) { console.log(error); } } const onfinish = (values) => { const userId = localStorage.getItem('userId') const userName = localStorage.getItem('userName') values.startDate = values.startDate?moment(values.startDate).format("YYYY-MM-DD 00:00:00"):'' values.endDate = values.endDate ? moment(values.endDate).format("YYYY-MM-DD 00:00:00") : '' values.createUserId = userId values.createUserName = userName; values.inspectUserName = deptUserList?.find(item => item.userId == values.inspectUserId)?.nickName values.items = itemParams; if (mode === 'save') { onSave(apiurl.rcgl.xcxj.xjrw.save,values) } if (mode == "edit") { onEdit(apiurl.rcgl.xcxj.xjrw.edit,{...record,...values}) } } const itemChange = (a, b,c) => { const itemArr = a.map(item => ({ pointId: c?.triggerNode?.props?.pointId, itemId:item })) setItemParams(itemArr) } const getXjInfo = async () => { try { const res = await httpget2(apiurl.rcgl.xcxj.xjrw.detail, { taskId: record?.id }) if (res.code === 200) { const xjd = res.data.map(item => item.itemId) form.setFieldValue("items", xjd) setItemParams(res.data) } } catch (error) { console.log(error); } } useEffect(() => { getItemList() }, []) useEffect(() => { if (mode == "edit") { getXjInfo() } }, [record,mode]) const [deptList, setDeptList] = useState([]) const [deptUserList, setDeptUserList] = useState([]) const buildTree = (data, parentId) => { let tree = []; data.forEach((node) => { node.title = node.deptName; node.key = node.deptId; if (node.parentId === parentId) { let children = buildTree(data, node.deptId); if (children.length) { node.children = children; } tree.push(node); } }); return tree; } const handleTreeList = (dept, user) => { const deptArr = dept.map(item => { return { ...item, value: item.deptId, title: item.deptName, disabled: item.userId ? false : true, children: user.filter(u => u.deptId == item.deptId).map(u => ({ ...u, value: u.userId, title: u.nickName })) } }) console.log("deptArr",deptArr); const treelist = buildTree(deptArr,0) return treelist } const treeList = useMemo(() => { if (deptUserList?.length > 0 && deptList?.length > 0) { return handleTreeList(deptList,deptUserList) } else { return [] } }, [deptUserList, deptList]) // 获取部门数据 const getDeptList = async() => { try { const result = await xyt_httpget2(apiurl.rcgl.zbgl.zbb.deptlist); if (result.code == 200) { setDeptList(result.data); getDeptUser(result.data[0]) } } catch (error) { console.log(error); } } // 获取部门人员数据 const getDeptUser = async() => { try { const result = await xyt_httpget2(apiurl.rcgl.zbgl.zbb.userList, {pageNum:1,pageSize:9999}); if (result.code == 200) { setDeptUserList(result.rows) } } catch (error) { console.log(error); } } useEffect(() => { getDeptList() }, []) return ( <>
dateString} getValueProps={(value) => ({ value: value ? moment(value) : undefined })} > dateString} getValueProps={(value) => ({ value: value ? moment(value) : undefined })} > { mode==='view'?null:( <> ) }
); } export default ModalForm;