知与行后台管理端

Help.jsx 8.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. import React, { useState, useEffect } from 'react';
  2. import { Form, InputNumber, Input, Button, Icon, Select, message, Table, Divider, Tag, Pagination, Modal, Breadcrumb, DatePicker } from 'antd';
  3. import router from 'umi/router';
  4. import moment from 'moment';
  5. import apis from '../../../../services/apis';
  6. import request from '../../../../utils/request';
  7. const { RangePicker } = DatePicker;
  8. function validatorNum (rule, value, callback) {
  9. callback(value < 1 || value > 1000 ? '人数必须大于0 小于 1000' : undefined);
  10. }
  11. function Help(props) {
  12. const { id, name } = props
  13. // const [taNoticeList, setTaNoticeList] = useState([])
  14. const [data, setData] = useState({})
  15. useEffect(() => {
  16. getHelpDetail();
  17. }, [])
  18. // 查询列表
  19. const getHelpDetail = () => {
  20. request({ ...apis.redPacket.helpDetail, urlData: { id } }).then(data => {
  21. data.date = [moment(data.startDate), moment(data.endDate)]
  22. setData(data)
  23. })
  24. }
  25. const updateRedPacket = values => {
  26. const [startDate, endDate] = values.date
  27. values.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00.000')}Z`
  28. values.endDate = `${moment(endDate).format('YYYY-MM-DDT00:00:00.000')}Z`
  29. values.activityId = id
  30. request({ ...apis.redPacket.updateHelp, urlData: { id }, data: { ...values } }).then(data => {
  31. })
  32. }
  33. function handleSubmit(e) {
  34. e.preventDefault();
  35. props.form.validateFields((err, values) => {
  36. if (!err) {
  37. console.log(values, '------222-------')
  38. // date
  39. // values.
  40. updateRedPacket(values)
  41. }
  42. },
  43. )
  44. }
  45. const { getFieldDecorator } = props.form
  46. return (
  47. <>
  48. <Form labelCol={{ span: 8 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
  49. <Form.Item label="助力成功需要人数">
  50. {getFieldDecorator('helpSuccesPersons', {
  51. initialValue: data.helpSuccesPersons || 3,
  52. rules: [
  53. { required: true, message: '请设置 助力成功需要人数' },
  54. { validator: validatorNum },
  55. ],
  56. },
  57. )(
  58. <InputNumber min={1} max={1000} />,
  59. )}
  60. </Form.Item>
  61. <Form.Item label="单人每日助力次数限制">
  62. {getFieldDecorator('limitNumPerDay', {
  63. initialValue: data.limitNumPerDay || 3,
  64. rules: [
  65. { required: true, message: '请设置 单人每日助力次数限制' },
  66. { validator: validatorNum },
  67. ],
  68. })(
  69. <InputNumber min={1} max={1000} />,
  70. )}
  71. </Form.Item>
  72. <Form.Item label="超出时提示文案">
  73. {getFieldDecorator('limitPerDayIllegalTip', {
  74. initialValue: data.limitPerDayIllegalTip || '每人每天最多只能助力3次',
  75. rules: [
  76. { required: true, message: '请设置 超出时提示文案' },
  77. ],
  78. })(
  79. <Input placeholder="每人每天最多只能助力3次" />,
  80. )}
  81. </Form.Item>
  82. <Form.Item label="单人总助力次数限制">
  83. {getFieldDecorator('limitNumPerPerson', {
  84. initialValue: data.limitNumPerPerson || 3,
  85. rules: [
  86. { required: true, message: '请设置 单人总助力次数限制' },
  87. { validator: validatorNum },
  88. ],
  89. })(
  90. <InputNumber min={1} max={1000} />,
  91. )}
  92. </Form.Item>
  93. <Form.Item label="超出时提示文案">
  94. {getFieldDecorator('limitPerPersonIllegalTip', {
  95. initialValue: data.limitPerPersonIllegalTip || '每人最多只能为他人助力3次',
  96. rules: [
  97. { required: true, message: '请设置 超出时提示文案' },
  98. ],
  99. })(
  100. <Input placeholder="每人最多只能为他人助力3次" />,
  101. )}
  102. </Form.Item>
  103. <Form.Item label="为同一人助力次数限制">
  104. {getFieldDecorator('limitNumForEachPerson', {
  105. initialValue: data.limitNumForEachPerson || 1,
  106. rules: [
  107. { required: true, message: '请设置 为同一人助力次数限制' },
  108. { validator: validatorNum },
  109. ],
  110. })(
  111. <InputNumber min={1} max={1000} />,
  112. )}
  113. </Form.Item>
  114. <Form.Item label="超出时提示文案">
  115. {getFieldDecorator('limitForEachPersonIllegalTip', {
  116. initialValue: data.limitForEachPersonIllegalTip || '只能为同一人助力1次',
  117. rules: [
  118. { required: true, message: '请设置 超出时提示文案' },
  119. ],
  120. })(
  121. <Input placeholder="只能为同一人助力1次" />,
  122. )}
  123. </Form.Item>
  124. <Form.Item label="助力成功时提示文案">
  125. {getFieldDecorator('successTip', {
  126. initialValue: data.successTip || '助力成功!快去告诉你的好友吧',
  127. rules: [
  128. { required: true, message: '请设置 助力成功时提示文案' },
  129. ],
  130. })(
  131. <Input placeholder="助力成功!快去告诉你的好友吧" />,
  132. )}
  133. </Form.Item>
  134. <Form.Item label="其他无法助力时提示文案">
  135. {getFieldDecorator('warnningTip', {
  136. initialValue: data.warnningTip || '无法助力!具体原因请看活动规则',
  137. rules: [
  138. { required: true, message: '请设置 其他无法助力时提示文案' },
  139. ],
  140. })(
  141. <Input placeholder="无法助力!具体原因请看活动规则" />,
  142. )}
  143. </Form.Item>
  144. <Form.Item label="活动开始~结束时间">
  145. {getFieldDecorator('date', {
  146. initialValue: data.date || [],
  147. rules: [
  148. { required: true, message: '请设置 活动开始~结束时间' },
  149. ],
  150. })(
  151. <RangePicker />,
  152. )}
  153. </Form.Item>
  154. <Form.Item label="活动结束提示文案">
  155. {getFieldDecorator('activityEndTip', {
  156. initialValue: data.activityEndTip,
  157. rules: [
  158. { required: true, message: '请设置 活动结束提示文案' },
  159. ],
  160. })(
  161. <Input placeholder="活动已经结束啦" />,
  162. )}
  163. </Form.Item>
  164. <Form.Item wrapperCol={{ span: 15, offset: 8 }}>
  165. <div style={{ width: '190px' }}>
  166. <Button type="primary" style={{ marginRight: '20px' }} htmlType="submit">保存</Button>
  167. {/* <Button onClick={() => router.go(-1)} >取消</Button> */}
  168. </div>
  169. </Form.Item>
  170. </Form></>
  171. )
  172. }
  173. const WrappedHelp = Form.create({ name: 'Help' })(Help);
  174. export default WrappedHelp