import Tables from "@/components/Tables"; import { DatePicker, Drawer, Form, Input, Modal, Select } from "antd"; import moment from "moment"; import React, { useCallback, useEffect, useState } from "react"; import { useModel } from "umi"; import { columnsCrGdt } from "./tablesConfig" type Props = { data?: { name: number, id: number } | null, visible?: boolean, onChange?: () => void, onClose?: () => void } function ChangeRecord(props: Props) { const { data, visible, onClose } = props const { getGdtChangeRecord, editAccountChangeRecord, editGdtChangeRecord, getResource } = useModel('useOperating.useAccountyyb') const [accountQueryForm, setAccountQueryForm] = useState<{ quickAppAccountId: number, pageNum: number, pageSize: number }>({ quickAppAccountId: data?.id as number, pageNum: 1, pageSize: 20 }) const [gdtQueryForm, setGdtQueryForm] = useState<{ gdtAccountId: number, pageNum: number, pageSize: number }>({ gdtAccountId: data?.name as number, pageNum: 1, pageSize: 20 }) const [editTitle, setEditTitle] = useState('编辑') const [form] = Form.useForm() const [editData, setEditData] = useState<{ recordId: number, putResourceId: number | undefined, resourceNames: string, beginTime: any, endTime: any } | null>(null) const [editVisible, setEditVisible] = useState(false) useEffect(() => { getList() }, [accountQueryForm, gdtQueryForm]) const getList = () => { getGdtChangeRecord.run(gdtQueryForm) } // 分页 const pageChange = useCallback((page: string | number, pageSize?: string | number) => { setGdtQueryForm({ ...gdtQueryForm, pageNum: page as number, pageSize: pageSize as number }) }, [accountQueryForm, gdtQueryForm]) // 编辑 const editHandle = useCallback((data: any) => { const { beginTime, endTime, id, putResourceName } = data setEditData({ beginTime: moment(beginTime), endTime: endTime ? moment(endTime) : null, recordId: id, putResourceId: undefined, resourceNames: putResourceName }) setEditTitle('编辑 ' + putResourceName) setEditVisible(true) setTimeout(() => { form.resetFields() }, 100) }, [editData, editTitle, editVisible, form]) // 搜索资源 const handleSearch = (value: string) => { getResource.run({ resourceName: value, resourceType: 0 }) } const handleOk = async () => { form.submit() let { resourceNames, ...data1 } = await form.validateFields() let proms = { ...data1, beginTime: moment(data1.beginTime).format('YYYY-MM-DD') } if (data1.endTime) { proms.endTime = moment(data1.endTime).format('YYYY-MM-DD') } editGdtChangeRecord.run({ ...proms, recordId: editData?.recordId }).then(res => { if(res) { setEditData(null); setEditVisible(false); getGdtChangeRecord.refresh() } }) } return
{ onClose && onClose() }} open={visible}> {editVisible && { setEditData(null); form.resetFields(); setEditVisible(false); }} confirmLoading={editAccountChangeRecord.loading || editGdtChangeRecord.loading}>
}
} export default React.memo(ChangeRecord)