Detail.jsx 3.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import React, { useEffect, useState } from 'react'
  2. import { Button, Descriptions, List, Modal } from 'antd'
  3. import router from 'umi/router'
  4. import { fetch, apis } from '@/utils/request'
  5. import Section from './components/Section'
  6. import Edit from './components/Edit'
  7. const VerifyStatusDict = {
  8. '0': '未审核',
  9. '1': '通过',
  10. '2': '不通过',
  11. }
  12. const buildingDetails = fetch(apis.buildingOwnerInfo.buildingDetails)
  13. const verifyinfoAdd = fetch(apis.buildingOwnerInfo.verifyinfoAdd)
  14. export default props => {
  15. const [editorShow, setEditorShow] = useState(false)
  16. const [userData, setUserData] = useState({})
  17. const { id } = props.location.query
  18. const roomName = userData.phaseName + userData.buildingName + userData.unitName + userData.levelName + userData.roomNoName
  19. const handleEdit = vals => {
  20. verifyinfoAdd({ urlData: { id }, params: vals }).then(res => {
  21. Modal.success({
  22. content: '提交修改成功',
  23. onOk: () => {
  24. setEditorShow(false)
  25. }
  26. })
  27. })
  28. }
  29. useEffect(() => {
  30. buildingDetails({ data: { id } }).then(res => {
  31. const { taUser = {}, taUserVerify = {}, roomInfoList = [] } = res || {}
  32. setUserData({
  33. name: taUser.name,
  34. gender: taUser.gender,
  35. phone : taUser.phone,
  36. nickname : taUser.nickname,
  37. openid: taUser.openid,
  38. idCard: taUserVerify.idCard,
  39. avatarurl: taUser.avatarurl,
  40. ownerName: taUserVerify.ownerName,
  41. verifyStatus: taUserVerify.verifyStatus + '',
  42. status: taUserVerify.verifyStatus + '',
  43. faceImg: taUserVerify.faceImg,
  44. roomNoName: taUserVerify.roomNoName,
  45. roomInfoList : roomInfoList,
  46. roleId: taUserVerify.roleId + '',
  47. phaseName: taUserVerify.phaseName,
  48. unitName: taUserVerify.unitName,
  49. buildingName: taUserVerify.buildingName,
  50. levelName: taUserVerify.levelName,
  51. })
  52. })
  53. }, [id])
  54. return (
  55. <div>
  56. <Section title="基本信息">
  57. <Descriptions column={3}>
  58. <Descriptions.Item label="姓名">{userData.ownerName}</Descriptions.Item>
  59. <Descriptions.Item label="性别">{!userData.idCard ? '' : (userData.idCard.substring(-2, 1) - 0) % 2 === 1 ? '男' : '女'}</Descriptions.Item>
  60. <Descriptions.Item label="手机号">{userData.phone}</Descriptions.Item>
  61. <Descriptions.Item label="微信昵称">{userData.nickname}</Descriptions.Item>
  62. <Descriptions.Item label="微信ID">{userData.openid}</Descriptions.Item>
  63. <Descriptions.Item label="身份证">{userData.idCard}</Descriptions.Item>
  64. <Descriptions.Item label="头像">
  65. <img src={userData.avatarurl} alt="" style={{ width: '128px', height: '128px' }}/>
  66. </Descriptions.Item>
  67. </Descriptions>
  68. </Section>
  69. <Section title="在当前房屋" subTitle={roomName} action={<Button type="link" onClick={() => setEditorShow(true)}>修改</Button>}>
  70. <Descriptions column={3}>
  71. <Descriptions.Item label="身份">业主</Descriptions.Item>
  72. <Descriptions.Item label="审核状态">{VerifyStatusDict[userData.status]}</Descriptions.Item>
  73. <Descriptions.Item label="资料手机">{userData.phone}</Descriptions.Item>
  74. <Descriptions.Item label="人脸">
  75. <img src={userData.faceImg} alt="" style={{ width: '128px', height: '128px' }}/>
  76. </Descriptions.Item>
  77. </Descriptions>
  78. </Section>
  79. <Section title="关联本小区其他房屋" subTitle="使用用户手机号在小区用户列表中搜索查看">
  80. <List dataSource={userData.roomInfoList || []} renderItem={x => (<List.Item>{x}</List.Item>)} size="small" />
  81. </Section>
  82. <Edit
  83. visible={editorShow}
  84. userData={userData}
  85. onSubmit={handleEdit}
  86. onCancel={() => setEditorShow(false)}
  87. />
  88. </div>
  89. )
  90. }