edit.tsx 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. import React from 'react';
  2. import { Col, Form, Input, message, Modal, Row, Select } from 'antd';
  3. import MyEditor from '@/components/MyEditor';
  4. import { createPushMessage, editPushMessage } from '@/services/pushMessage';
  5. const { TextArea } = Input;
  6. interface editPros {
  7. visible: boolean;
  8. editCallback: () => void;
  9. params: any;
  10. }
  11. /**
  12. * 推送消息 - 编辑
  13. * @param props
  14. * @constructor
  15. */
  16. const Edit: React.FC<editPros> = (props) => {
  17. const { params, visible, editCallback } = props;
  18. const [form] = Form.useForm();
  19. // 提交
  20. const onOk = () => {
  21. form.validateFields().then((values) => {
  22. if (values) {
  23. const data = { ...values };
  24. if (params) {
  25. data.record_id = params.record_id;
  26. editPushMessage(data)
  27. .then((res) => {
  28. if (res && res.code === 0) {
  29. message.success('编辑成功');
  30. editCallback();
  31. } else {
  32. message.error('编辑失败');
  33. }
  34. })
  35. .catch((e) => {
  36. message.error(e?.message);
  37. });
  38. } else {
  39. createPushMessage(data)
  40. .then((res) => {
  41. if (res && res.code === 0) {
  42. message.success('新增成功');
  43. editCallback();
  44. } else {
  45. message.error('新增失败');
  46. }
  47. })
  48. .catch((e) => {
  49. message.error(e?.message);
  50. });
  51. }
  52. }
  53. });
  54. };
  55. // 取消
  56. const onCancel = () => {
  57. editCallback();
  58. };
  59. const formItemLayout24 = {
  60. labelCol: { span: 3 },
  61. wrapperCol: { span: 21 },
  62. };
  63. return (
  64. <Modal
  65. title={`${params ? '编辑' : '新增'}`}
  66. open={visible}
  67. onOk={onOk}
  68. onCancel={onCancel}
  69. width={800}
  70. >
  71. <Form form={form}>
  72. <Row>
  73. <Col span={24}>
  74. <Form.Item
  75. {...formItemLayout24}
  76. name="title"
  77. label="推送标题"
  78. rules={[{ required: true, message: '请输入推送标题' }]}
  79. initialValue={params?.title}
  80. >
  81. <Input placeholder="请输入推送标题" />
  82. </Form.Item>
  83. </Col>
  84. <Col span={24}>
  85. <Form.Item
  86. {...formItemLayout24}
  87. name="content_type"
  88. label="消息类型"
  89. rules={[{ required: true, message: '请选择消息类型' }]}
  90. initialValue={params?.content_type}
  91. >
  92. <Select placeholder="请选择消息类型">
  93. <Select.Option value={1} key="1">
  94. 系统消息
  95. </Select.Option>
  96. <Select.Option value={2} key="2">
  97. 活动消息
  98. </Select.Option>
  99. </Select>
  100. </Form.Item>
  101. </Col>
  102. <Col span={24}>
  103. <Form.Item
  104. {...formItemLayout24}
  105. name="content"
  106. label="展示内容"
  107. rules={[{ required: true, message: '请输入展示内容' }]}
  108. initialValue={params?.content}
  109. >
  110. <TextArea rows={2} placeholder="请输入展示内容" />
  111. </Form.Item>
  112. </Col>
  113. <Col span={24}>
  114. <Form.Item
  115. {...formItemLayout24}
  116. name="body"
  117. label="推送内容"
  118. rules={[{ required: true, message: '请输入内容' }]}
  119. initialValue={params?.body ? params?.body : ''}
  120. >
  121. <MyEditor data={params?.body ? params?.body : ''} />
  122. </Form.Item>
  123. </Col>
  124. </Row>
  125. </Form>
  126. </Modal>
  127. );
  128. };
  129. export default Edit;