modify.tsx 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import { Form, Input, message, Modal, Radio } from "antd"
  2. import React from "react"
  3. import '../../tencentAdPutIn/index.less'
  4. import { useAjax } from "@/Hook/useAjax"
  5. import { addApplicationApi, updateApplicationApi } from "@/services/adqV3/global"
  6. interface Props {
  7. initialValues?: any
  8. visible?: boolean
  9. onClose?: () => void
  10. onChange?: () => void
  11. }
  12. const Modify: React.FC<Props> = ({ initialValues, visible, onClose, onChange }) => {
  13. /****************************************/
  14. const [form] = Form.useForm()
  15. const addApplication = useAjax((params) => addApplicationApi(params))
  16. const updateApplication = useAjax((params) => updateApplicationApi(params))
  17. /****************************************/
  18. const handleOk = () => {
  19. form.validateFields().then(valid => {
  20. console.log(valid)
  21. let params = JSON.parse(JSON.stringify(valid))
  22. if (params?.contentList) {
  23. params.contentList = params?.contentList?.split(/[\n\s]+/ig).filter((item: any) => item)
  24. }
  25. if (initialValues?.id) {
  26. params.id = initialValues.id
  27. updateApplication.run(params).then(res => {
  28. if (res) {
  29. message.success('修改成功')
  30. onChange?.()
  31. }
  32. })
  33. } else {
  34. addApplication.run(params).then(res => {
  35. if (res) {
  36. message.success('新增成功')
  37. onChange?.()
  38. }
  39. })
  40. }
  41. })
  42. }
  43. return <Modal
  44. title={<strong>{initialValues?.id ? '修改文案' : '新增文案'}</strong>}
  45. open={visible}
  46. onCancel={onClose}
  47. className="modalResetCss"
  48. onOk={handleOk}
  49. confirmLoading={addApplication.loading || updateApplication.loading}
  50. >
  51. <Form
  52. name="basicApplication"
  53. form={form}
  54. layout='vertical'
  55. autoComplete="off"
  56. initialValues={initialValues || {
  57. type: 'ANDROID'
  58. }}
  59. >
  60. <Form.Item label={<strong>应用名称</strong>} name="name" rules={[{ required: true, message: '请输入应用名称!' }]}>
  61. <Input placeholder="请输入应用名称" allowClear />
  62. </Form.Item>
  63. <Form.Item label={<strong>应用ID</strong>} name="applicationId" rules={[{ required: true, message: '请输入应用ID!' }]}>
  64. <Input placeholder="请输入应用ID" allowClear />
  65. </Form.Item>
  66. <Form.Item label={<strong>应用类型</strong>} name="type" rules={[{ required: true, message: '请选择应用类型!' }]}>
  67. <Radio.Group buttonStyle="solid">
  68. <Radio.Button value="ANDROID">Android</Radio.Button>
  69. <Radio.Button value="IOS">Ios</Radio.Button>
  70. </Radio.Group>
  71. </Form.Item>
  72. </Form>
  73. </Modal>
  74. }
  75. export default React.memo(Modify)