AddRecord.jsx 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import React, { useRef, useState } from 'react'
  2. import { Form, Button, Input, Radio, DatePicker, Switch } from 'antd'
  3. import { dayjsFormat } from '@/utils/utils'
  4. import { ModalForm } from '@ant-design/pro-form'
  5. import { Plus } from '@icon-park/react'
  6. const AddRecord = props => {
  7. const formRef = useRef(null)
  8. const { TextArea } = Input
  9. const { onConfirm } = props
  10. const [showExtraItem, setShowExtraItem] = useState(false)
  11. const onChange = value => {
  12. setShowExtraItem(value)
  13. }
  14. return (
  15. <ModalForm
  16. layout="vertical"
  17. title="添加服务记录"
  18. formRef={formRef}
  19. trigger={
  20. <Button type="primary" ghost size="small" className="mr-1">
  21. <Plus /> 添加服务记录
  22. </Button>
  23. }
  24. onFinish={async values => {
  25. try {
  26. const newVal = { ...values }
  27. formRef.current?.resetFields()
  28. if (values.date) {
  29. newVal.date = dayjsFormat(values.date, 'YYYY-MM-DD')
  30. }
  31. await onConfirm(newVal)
  32. return true
  33. } catch (error) {
  34. return false
  35. }
  36. }}>
  37. <Form.Item name="status" rules={[{ required: true, message: '请选择类型' }]}>
  38. <Radio.Group>
  39. <Radio value={1}>上门服务</Radio>
  40. <Radio value={2}>电话拜访</Radio>
  41. <Radio value={3}>其他事项</Radio>
  42. <Radio value={4}>在线服务</Radio>
  43. </Radio.Group>
  44. </Form.Item>
  45. <Form.Item name="date" label="时间">
  46. <DatePicker style={{ width: '100%' }} />
  47. </Form.Item>
  48. <Form.Item name="mark" label="内容">
  49. <TextArea rows={3} />
  50. </Form.Item>
  51. <div className="zh-pd-bottom-20">
  52. <Switch onChange={onChange} />
  53. <span className="zh-mg-left-3">添加提醒</span>
  54. </div>
  55. {showExtraItem ? (
  56. <>
  57. <Form.Item name="deadline" label="提醒限期">
  58. <DatePicker style={{ width: '100%' }} />
  59. </Form.Item>
  60. <Form.Item name="remark" label="备注">
  61. <TextArea rows={2} />
  62. </Form.Item>
  63. </>
  64. ) : null}
  65. </ModalForm>
  66. )
  67. }
  68. export default AddRecord