import React, { useState, useEffect, useRef } from 'react'; import { Button, Popconfirm, Modal, Form, Input, message } from 'antd'; import { PlusOutlined } from '@ant-design/icons'; import { PageHeaderWrapper } from '@ant-design/pro-layout'; import moment from 'moment'; import PageTable from '@/components/PageTable'; import { getNewsTypeList, addNewsType, deleteNewsType, updateNewsType } from '@/services/newsType'; const formatterTime = (val) => { return val && val !== '-' ? moment(val).format('YYYY-MM-DD') : '-'; }; const FormItem = Form.Item; export default (props) => { const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 } }; const [form] = Form.useForm(); const [editModal, setEditModal] = useState(false); const [loading, setLoading] = useState(false); const [typeId, setTypeId] = useState(); const actionRef = useRef(); const Submit = (values) => { setLoading(true); if (typeId) { updateNewsType(typeId, values).then(() => { setLoading(false); message.success(`修改成功`); onCancel(); actionRef.current.reload(); }); } else { addNewsType(values) .then(() => { setLoading(false); message.success(`保存成功`); onCancel(); actionRef.current.reload(); }) .catch((err) => { setLoading(false); message.error(err.message || err); }); } }; const handelEdit = (val) => { setTypeId(val.typeId); form.setFieldsValue(val); setEditModal(true); }; const onCancel = () => { setTypeId(); form.resetFields(); setEditModal(false); }; const handleDelete = (id) => { deleteNewsType(id) .then(() => { message.success('删除成功'); actionRef.current.reload(); }) .catch((err) => { message.error(err); }); }; useEffect(() => { if (typeId) { } else { form.resetFields(); } }, [typeId]); const actions = () => [ , ]; const columns = [ { title: '分类名', dataIndex: 'name', key: 'name', }, { title: '创建时间', dataIndex: 'createDate', key: 'createDate', render: formatterTime, search: false, width: 240, }, { title: '操作', valueType: 'option', width: 160, render: (_, record) => [ , handleDelete(record.typeId)} okText="确定" cancelText="取消" > , ], }, ]; return (
); };