import React, { useState, useEffect } from "react"; import { Input, Select, Modal, Form, message, Tooltip, Tag, Button, Space, } from "antd"; import { DeleteOutlined, PlusOutlined } from "@ant-design/icons"; import { ApprovalType, Approval_Status, transformDTO, transformFormData, } from "../entity"; import _ from "lodash"; import { systemListApi } from "@/pages/admin/Privilege/api"; import usePagination from "@/hooks/usePagination"; import { getAllRoleCodeApi } from "@/common/api"; import useInitial from "@/hooks/useInitail"; import { saveApproveConfig } from "../api"; import toChineseBig from "@/utils/toChinease"; const { Option } = Select; const layout = { labelCol: { span: 6 }, wrapperCol: { span: 18 }, }; interface Props { item: { visible: boolean; currentItem?: ApprovalSetteing.ApprovalListItems }; setItem: any; setParams: any; } const formItemLayout = { labelCol: { xs: { span: 24 }, sm: { span: 4 }, }, wrapperCol: { xs: { span: 24 }, sm: { span: 20 }, }, }; const formItemLayoutWithOutLabel = { wrapperCol: { xs: { span: 24, offset: 0 }, sm: { span: 20, offset: 4 }, }, }; export default function CreateItem({ item, setItem, setParams }: Props) { const [form] = Form.useForm(); const { list } = usePagination(systemListApi, { current: 1, pageSize: 500 }); const { data, setData } = useInitial(getAllRoleCodeApi, [], {}); const [loading, setLoading] = useState(false); const { visible, currentItem } = item; useEffect(() => { setData(data.filter((item) => item.useType === 3 || item.useType === 4)); if (visible && currentItem) { const result = transformFormData(currentItem); form.setFieldsValue({ ...result }); } }, [visible]); const onFinish = () => { form .validateFields() .then((fileds) => { const pa = { ...fileds, id: currentItem ? currentItem.id : undefined, }; const result = transformDTO(pa); // return; setLoading(true); saveApproveConfig(result) .then((res) => { message.success("保存成功"); setParams({ current: 1 }, true); setItem({ visible: false }); }) .catch((err) => message.error(err.message)) .finally(() => { setLoading(false); }); }) .catch((err) => message.error(err.message)); }; return ( setItem({ visible: false })} onOk={() => form.submit()} confirmLoading={loading} afterClose={() => form.resetFields()} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} >
prevValues.approvalType !== currentValues.approvalType} > {({ getFieldValue }) => (getFieldValue("approvalType") === 1 ? ( {(fields, { add, remove }) => (
{fields.map(({ key, name, ...restField }, index) => (
{toChineseBig(index + 1)}级审批 {index !== 0 && ( remove(name)} /> )}
))}
)}
) : null)}
); }