modifyCopyWriting.tsx 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import { useAjax } from "@/Hook/useAjax"
  2. import { copyWritingApi } from "@/services/adqV3/global"
  3. import { Form, Input, message, Modal } from "antd"
  4. import React from "react"
  5. import '../../tencentAdPutIn/index.less'
  6. interface Props {
  7. initialValues?: any
  8. visible?: boolean
  9. onClose?: () => void
  10. onChange?: () => void
  11. }
  12. /**
  13. * 文案操作
  14. * @param param0
  15. * @returns
  16. */
  17. const ModifyCopyWriting: React.FC<Props> = ({ visible, initialValues, onClose, onChange }) => {
  18. /******************************/
  19. const [form] = Form.useForm()
  20. const copyWriting = useAjax((params) => copyWritingApi(params))
  21. /******************************/
  22. const handleOk = () => {
  23. form.validateFields().then(valid => {
  24. console.log(valid)
  25. let params = JSON.parse(JSON.stringify(valid))
  26. if (params?.contentList) {
  27. params.contentList = params?.contentList?.split(/[,,\n\s]+/ig).filter((item: any) => item)
  28. }
  29. if (initialValues?.id) {
  30. params.id = initialValues.id
  31. }
  32. copyWriting.run(params).then(res => {
  33. if (res) {
  34. message.success(initialValues?.id ? '修改成功' : '新增成功')
  35. onChange?.()
  36. }
  37. })
  38. })
  39. }
  40. return <Modal
  41. title={<strong>{initialValues?.id ? '修改文案' : '新增文案'}</strong>}
  42. open={visible}
  43. onCancel={onClose}
  44. className="modalResetCss"
  45. onOk={handleOk}
  46. confirmLoading={copyWriting.loading}
  47. >
  48. <Form
  49. name="basicCopyWriting"
  50. form={form}
  51. layout='vertical'
  52. autoComplete="off"
  53. initialValues={initialValues || {
  54. }}
  55. >
  56. <Form.Item label={<strong>分类</strong>} name="category" rules={[{ required: true, message: '请输入文案分类!' }]}>
  57. <Input placeholder="请输入文案分类" allowClear />
  58. </Form.Item>
  59. {initialValues?.id ? <Form.Item label={<strong>文案</strong>} name="content" rules={[{ required: true, message: '请输入文案!' }]}>
  60. <Input allowClear placeholder="请输入文案" />
  61. </Form.Item> : <Form.Item label={<strong>文案</strong>} name="contentList" rules={[{ required: true, message: '请输入文案!' }]}>
  62. <Input.TextArea
  63. placeholder="请输入文案(多个,,空格换行)"
  64. allowClear
  65. rows={6}
  66. />
  67. </Form.Item>}
  68. </Form>
  69. </Modal>
  70. }
  71. export default React.memo(ModifyCopyWriting)