B2look.tsx 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import React, { useCallback, useEffect, useState } from 'react'
  2. import styles from './index.module.scss'
  3. import { Button, Modal } from 'antd'
  4. import { B2_APIgetInfo } from '@/store/action/B2exhiLog'
  5. import { B2SonListType } from './type'
  6. type Props = {
  7. sId: number
  8. closeFu: () => void
  9. }
  10. function B2look({ sId, closeFu }: Props) {
  11. const [list, setList] = useState<B2SonListType[]>([])
  12. const [info, setInfo] = useState({
  13. createTime: '',
  14. bookDate: '',
  15. time: '',
  16. type: '',
  17. pcs: 0,
  18. teamDesc: ''
  19. })
  20. const getInfoFu = useCallback(async (id: number) => {
  21. const res = await B2_APIgetInfo(id)
  22. if (res.code === 0) {
  23. setInfo(res.data)
  24. setList(JSON.parse(res.data.rtf))
  25. }
  26. }, [])
  27. useEffect(() => {
  28. getInfoFu(sId)
  29. }, [getInfoFu, sId])
  30. return (
  31. <Modal
  32. wrapClassName={styles.B2look}
  33. open={true}
  34. title='查看'
  35. footer={
  36. [] // 设置footer为空,去掉 取消 确定默认按钮
  37. }
  38. >
  39. <div className='B2Lmain'>
  40. <div className='B2row B2rowOne'>
  41. <div className='B2box'>
  42. <div className='B2boxll'>预约类型:</div>
  43. <div className='B2boxrr'>
  44. {info.type === 'person' ? '个人预约' : '团队预约'}
  45. </div>
  46. </div>
  47. <div className='B2box'>
  48. <div className='B2boxll'>申请时间:</div>
  49. <div className='B2boxrr'>{info.createTime}</div>
  50. </div>
  51. <div className='B2box'>
  52. <div className='B2boxll'>预约日期:</div>
  53. <div className='B2boxrr'>{info.bookDate}</div>
  54. </div>
  55. <div className='B2box'>
  56. <div className='B2boxll'>预约时段:</div>
  57. <div className='B2boxrr'>{info.time}</div>
  58. </div>
  59. </div>
  60. {list.map((item, index) => (
  61. <div className='B2row' key={index}>
  62. <div className='B2box'>
  63. <div className='B2boxll'>
  64. {info.type === 'person' ? '参观人' : '负责人'}姓名:
  65. </div>
  66. <div className='B2boxrr'>{item.name}</div>
  67. </div>
  68. <div className='B2box'>
  69. <div className='B2boxll'>
  70. {info.type === 'person' ? '参观人' : '负责人'}电话:
  71. </div>
  72. <div className='B2boxrr'>{item.phone}</div>
  73. </div>
  74. <div className='B2box'>
  75. <div className='B2boxll B2boxllZZ'>
  76. {item.papers || '证件号码'}:<span>{item.identity}</span>
  77. </div>
  78. </div>
  79. </div>
  80. ))}
  81. {info.type === 'team' ? (
  82. <div className='B2row B2row2'>
  83. <div className='B2box'>
  84. <div className='B2boxll'>参团人数:</div>
  85. <div className='B2boxrr'>{info.pcs}</div>
  86. </div>
  87. {info.teamDesc ? (
  88. <div className='B2box B2box2'>
  89. <div className='B2boxll'>团队描述:</div>
  90. <div className='B2boxrr'>{info.teamDesc}</div>
  91. </div>
  92. ) : null}
  93. </div>
  94. ) : null}
  95. </div>
  96. <div className='B2Lbtn'>
  97. <Button onClick={closeFu}>关闭</Button>
  98. </div>
  99. </Modal>
  100. )
  101. }
  102. const MemoB2look = React.memo(B2look)
  103. export default MemoB2look