rechargeActivityLinkDTO.tsx 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. import { Checkbox, DatePicker, Form, Input, InputNumber, Radio, Space } from "antd";
  2. import React from "react";
  3. import { DISPLAYTYPEHUASHENG } from "../../const";
  4. /**
  5. * 花生充值活动
  6. * @returns
  7. */
  8. const RechargeActivityLinkDTO: React.FC<BOOKLINK.BookLinkChildProps> = ({ restField, name, itemData }) => {
  9. return <>
  10. <Form.Item
  11. {...restField}
  12. name={[name, 'rechargeActivityLinkDTO', 'activityName']}
  13. label={<strong>活动名称</strong>}
  14. rules={[{ required: true, message: '请输入活动名称!' }]}
  15. >
  16. <Input placeholder="请输入活动名称" style={{ width: '100%' }} allowClear />
  17. </Form.Item>
  18. <Form.Item
  19. label={<strong>充值档位</strong>}
  20. required
  21. >
  22. <Space>
  23. <Form.Item
  24. {...restField}
  25. name={[name, 'rechargeActivityLinkDTO', 'rechargeAmount']}
  26. rules={[{ required: true, message: '请输入价位!' }]}
  27. noStyle
  28. >
  29. <InputNumber addonBefore="价位" suffix="元" placeholder="请输入" style={{ width: '100%' }} />
  30. </Form.Item>
  31. <Form.Item
  32. {...restField}
  33. name={[name, 'rechargeActivityLinkDTO', 'giftAmount']}
  34. rules={[{ required: true, message: '请输入赠送金额!' }]}
  35. noStyle
  36. >
  37. <InputNumber addonBefore="赠送" suffix="元" placeholder="请输入" style={{ width: '100%' }} />
  38. </Form.Item>
  39. </Space>
  40. </Form.Item>
  41. <Form.Item
  42. {...restField}
  43. name={[name, 'rechargeActivityLinkDTO', 'activityTime']}
  44. label={<strong>活动时间</strong>}
  45. rules={[{ required: true, message: '请选择活动时间!' }]}
  46. >
  47. <DatePicker.RangePicker />
  48. </Form.Item>
  49. <Form.Item
  50. {...restField}
  51. name={[name, 'rechargeActivityLinkDTO', 'status']}
  52. label={<strong>活动状态</strong>}
  53. rules={[{ required: true, message: '请选择活动状态!' }]}
  54. >
  55. <Radio.Group
  56. optionType='button'
  57. buttonStyle="solid"
  58. options={[
  59. { value: 'normal', label: '上架' },
  60. { value: 'del', label: '下架' }
  61. ]}
  62. />
  63. </Form.Item>
  64. <Form.Item
  65. {...restField}
  66. name={[name, 'rechargeActivityLinkDTO', 'chargeType']}
  67. label={<strong>限购类型</strong>}
  68. rules={[{ required: true, message: '请选择限购类型!' }]}
  69. >
  70. <Radio.Group
  71. optionType='button'
  72. buttonStyle="solid"
  73. options={[
  74. { value: 0, label: '整体限购' },
  75. { value: 1, label: '每天限购' }
  76. ]}
  77. />
  78. </Form.Item>
  79. <Form.Item
  80. {...restField}
  81. name={[name, 'rechargeActivityLinkDTO', 'display']}
  82. label={<strong>活动展示位</strong>}
  83. >
  84. <Checkbox.Group options={Object.keys(DISPLAYTYPEHUASHENG).map(key => ({ label: DISPLAYTYPEHUASHENG[key], value: key }))} />
  85. </Form.Item>
  86. <Form.Item
  87. {...restField}
  88. name={[name, 'rechargeActivityLinkDTO', 'chargeCount']}
  89. label={<strong>限购次数</strong>}
  90. rules={[{ required: true, message: '请选择充值次数!' }]}
  91. >
  92. <InputNumber placeholder="请输入" min={0} style={{ width: '100%' }} />
  93. </Form.Item>
  94. <Form.Item
  95. {...restField}
  96. name={[name, 'rechargeActivityLinkDTO', 'userType']}
  97. label={<strong>展示粉丝</strong>}
  98. rules={[{ required: true, message: '请选择展示粉丝!' }]}
  99. >
  100. <Radio.Group
  101. optionType='button'
  102. buttonStyle="solid"
  103. options={[
  104. { value: 1, label: '全部粉丝' },
  105. { value: 2, label: '条件粉丝' }
  106. ]}
  107. />
  108. </Form.Item>
  109. {itemData?.rechargeActivityLinkDTO?.userType === 2 && <>
  110. <Form.Item
  111. {...restField}
  112. name={[name, 'rechargeActivityLinkDTO', 'charge']}
  113. label={<strong>充值状态</strong>}
  114. rules={[{ required: true, message: '请选择充值状态!' }]}
  115. >
  116. <Radio.Group
  117. optionType='button'
  118. buttonStyle="solid"
  119. options={[
  120. { value: 0, label: '不限' },
  121. { value: 1, label: '已充值' },
  122. { value: 2, label: '未充值' }
  123. ]}
  124. />
  125. </Form.Item>
  126. <Form.Item
  127. {...restField}
  128. name={[name, 'rechargeActivityLinkDTO', 'commonType']}
  129. label={<strong>关注时间</strong>}
  130. rules={[{ required: true, message: '请选择关注时间!' }]}
  131. >
  132. <Radio.Group
  133. optionType='button'
  134. buttonStyle="solid"
  135. options={[
  136. { value: 0, label: '不限' },
  137. { value: 1, label: '24小时以上' },
  138. { value: 2, label: '48小时以上' },
  139. { value: 3, label: '72小时以上' }
  140. ]}
  141. />
  142. </Form.Item>
  143. </>}
  144. </>
  145. }
  146. export default React.memo(RechargeActivityLinkDTO);