index.jsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import { Drawer, Row, Col } from 'antd'
  2. import React, { useState, useEffect } from 'react'
  3. import '../index.scss'
  4. import ContanctForm from '@/components/PopContent/Contacts/ContanctForm.jsx'
  5. import ContanctTabList from '@/components/PopContent/Contacts/ContanctTabList.jsx'
  6. import ContanctLowerList from '@/components/PopContent/Contacts/ContanctLowerList.jsx'
  7. import { apiContactDetail } from '@/services/contact'
  8. import consts from '@/consts'
  9. const Popcontent = props => {
  10. const { visible, onClose, id = '' } = props
  11. console.log(props)
  12. // 浏览器实际宽度
  13. const [clientWidth, setClientWidth] = useState(document.body.clientWidth * 0.75)
  14. const [state, setState] = useState({
  15. client: {},
  16. log: []
  17. })
  18. const initData = async () => {
  19. const {
  20. data: { client = {} },
  21. code = -1
  22. } = await apiContactDetail(id)
  23. if (code === consts.RET_CODE.SUCCESS) {
  24. setState({ ...state, client })
  25. }
  26. }
  27. useEffect(() => {
  28. if (visible) {
  29. initData()
  30. }
  31. window.addEventListener('resize', () => {
  32. setClientWidth(document.body.clientWidth * 0.7)
  33. })
  34. return () => {
  35. window.removeEventListener('resize', () => {})
  36. }
  37. }, [visible])
  38. return (
  39. <div>
  40. <div className="sheet-box">
  41. <Drawer
  42. title="联系人"
  43. placement="right"
  44. width={clientWidth}
  45. closable
  46. onClose={onClose}
  47. visible={visible}
  48. // mask={false}
  49. >
  50. <Row>
  51. <Col span={12} className="sheet-box-left">
  52. <div className="sheet-left-panel zh-pd-right-15">
  53. <ContanctForm data={state.client} />
  54. </div>
  55. </Col>
  56. <Col span={12}>
  57. <ContanctTabList />
  58. <ContanctLowerList />
  59. </Col>
  60. </Row>
  61. </Drawer>
  62. </div>
  63. </div>
  64. )
  65. }
  66. export default Popcontent
  67. // export default connect(({ journallist, loading }) => ({
  68. // journalName: journallist,
  69. // getlist: loading.effects['journallist/fetch']
  70. // }))(Popcontent)