rechargeActivityLinkDTO.tsx 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { DatePicker, Form, Input, InputNumber, Select, Space } from "antd";
  2. import React from "react";
  3. /**
  4. * 模板充值活动
  5. * @returns
  6. */
  7. const RechargeActivityLinkDTO: React.FC<BOOKLINK.BookLinkChildProps> = ({ restField, name }) => {
  8. return <>
  9. <Form.Item
  10. {...restField}
  11. name={[name, 'rechargeActivityLinkDTO', 'activityName']}
  12. label={<strong>活动名称</strong>}
  13. rules={[{ required: true, message: '请输入活动名称!' }]}
  14. >
  15. <Input placeholder="请输入活动名称" style={{ width: '100%' }} allowClear />
  16. </Form.Item>
  17. <Form.Item
  18. {...restField}
  19. name={[name, 'rechargeActivityLinkDTO', 'activityTime']}
  20. label={<strong>活动时间</strong>}
  21. rules={[{ required: true, message: '请选择活动时间!' }]}
  22. >
  23. <DatePicker.RangePicker />
  24. </Form.Item>
  25. <Form.Item
  26. label={<strong>充值档位</strong>}
  27. required
  28. >
  29. <Space>
  30. <Form.Item
  31. {...restField}
  32. name={[name, 'rechargeActivityLinkDTO', 'rechargeAmount']}
  33. rules={[{ required: true, message: '请输入充值金额(0.1~300)!' }]}
  34. noStyle
  35. >
  36. <InputNumber addonBefore="价位" suffix="元" min={0.1} max={300} placeholder="请输入" style={{ width: '100%' }} />
  37. </Form.Item>
  38. <Form.Item
  39. {...restField}
  40. name={[name, 'rechargeActivityLinkDTO', 'giftAmount']}
  41. rules={[{ required: true, message: '请输入赠送金额!' }]}
  42. noStyle
  43. >
  44. <InputNumber addonBefore="赠送" suffix="元" placeholder="请输入" style={{ width: '100%' }} />
  45. </Form.Item>
  46. </Space>
  47. </Form.Item>
  48. <Form.Item
  49. {...restField}
  50. name={[name, 'rechargeActivityLinkDTO', 'rechargeCount']}
  51. label={<strong>充值次数</strong>}
  52. rules={[{ required: true, message: '请选择充值次数!' }]}
  53. >
  54. <Select
  55. showSearch
  56. placeholder="请选择充值次数"
  57. filterOption={(input, option) =>
  58. ((option?.label ?? '') as string).toLowerCase().includes(input.toLowerCase())
  59. }
  60. allowClear
  61. options={[{label: '不限次', value: -1}, {label: '1次', value: 1}, {label: '2次', value: 2}, {label: '3次', value: 3}]}
  62. />
  63. </Form.Item>
  64. </>
  65. }
  66. export default React.memo(RechargeActivityLinkDTO);