index.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { FC } from "react";
  2. import { Form, Input, InputNumber, Modal, ModalProps } from "antd";
  3. import style from "@/components/AddIndexModal/index.module.scss";
  4. export interface EvaluationModalProps extends Omit<ModalProps, "onOk"> {
  5. onCancel?: () => void;
  6. onOk?: (val: any) => void;
  7. }
  8. const { TextArea } = Input;
  9. export const EvaluationModal: FC<EvaluationModalProps> = ({
  10. open,
  11. onOk,
  12. onCancel,
  13. ...rest
  14. }) => {
  15. const [form] = Form.useForm<any>();
  16. const handleCancel = () => {
  17. form.resetFields();
  18. onCancel?.();
  19. };
  20. const handleConfirm = () => {
  21. form.submit();
  22. };
  23. const handleSubmit = async (values: any) => {
  24. onOk?.(values);
  25. handleCancel();
  26. };
  27. return (
  28. <Modal
  29. className={style.modal}
  30. title="评定意见"
  31. okText="提交"
  32. cancelText="取消"
  33. open={open}
  34. width={640}
  35. okButtonProps={{
  36. disabled: false,
  37. }}
  38. onOk={handleConfirm}
  39. onCancel={handleCancel}
  40. {...rest}
  41. >
  42. <Form
  43. labelCol={{ span: 4, offset: 2 }}
  44. form={form}
  45. onFinish={handleSubmit}
  46. >
  47. <Form.Item name="">
  48. <TextArea
  49. rows={6}
  50. maxLength={2000}
  51. placeholder="请输入内容,不超过2000字"
  52. />
  53. </Form.Item>
  54. </Form>
  55. </Modal>
  56. );
  57. };