check.tsx 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import React, { useEffect, useState } from 'react';
  2. import { Descriptions, Modal, Image } from 'antd';
  3. import { queryUserDetail } from '@/services/setting';
  4. import moment from 'moment';
  5. interface userCheckPros {
  6. visible: boolean;
  7. id: string;
  8. onCallback: () => void;
  9. }
  10. interface detailType {
  11. user_name: string;
  12. real_name: string;
  13. phone: string;
  14. photo: string;
  15. created_at: string;
  16. updated_at: string;
  17. status: string;
  18. province: string;
  19. city: string;
  20. district: string;
  21. }
  22. /**
  23. * 用户查看
  24. * @param props
  25. * @constructor
  26. */
  27. const Check: React.FC<userCheckPros> = (props) => {
  28. const { visible, onCallback, id } = props;
  29. const [dataDetail, setDataDetail] = useState<detailType>({
  30. phone: '',
  31. photo: '',
  32. real_name: '',
  33. user_name: '',
  34. created_at: '',
  35. status: '',
  36. updated_at: '',
  37. province: '',
  38. city: '',
  39. district: '',
  40. });
  41. useEffect(() => {
  42. queryUserDetail(id).then((res) => {
  43. if (res.code === 0) {
  44. setDataDetail(res.data);
  45. }
  46. });
  47. }, []);
  48. // 确定
  49. const onOk = () => {
  50. onCallback();
  51. };
  52. // 取消
  53. const onCancel = () => {
  54. onCallback();
  55. };
  56. return (
  57. <Modal title="查看" open={visible} onOk={onOk} onCancel={onCancel} width={1000}>
  58. <Descriptions title="用户信息" bordered column={2}>
  59. <Descriptions.Item label="用户名">{dataDetail?.user_name}</Descriptions.Item>
  60. {/*<Descriptions.Item label="真实姓名">{dataDetail?.real_name}</Descriptions.Item>*/}
  61. <Descriptions.Item label="手机号">{dataDetail?.phone}</Descriptions.Item>
  62. <Descriptions.Item label="状态">
  63. <span style={{ color: `${{ 1: '#00a650', 2: 'red' }[dataDetail?.status]}` }}>
  64. {{ 1: '启用', 2: '停用' }[dataDetail?.status]}
  65. </span>
  66. </Descriptions.Item>
  67. <Descriptions.Item label="地区">
  68. {dataDetail?.province}-{dataDetail?.city}-{dataDetail?.district}
  69. </Descriptions.Item>
  70. <Descriptions.Item label="创建时间">
  71. {dataDetail?.created_at
  72. ? moment(dataDetail?.created_at).format('YYYY-MM-DD HH:ss:mm')
  73. : '暂无'}
  74. </Descriptions.Item>
  75. <Descriptions.Item label="更新时间">
  76. {dataDetail?.updated_at
  77. ? moment(dataDetail?.updated_at).format('YYYY-MM-DD HH:ss:mm')
  78. : '暂无'}
  79. </Descriptions.Item>
  80. <Descriptions.Item label="头像">
  81. <Image width={100} src={dataDetail?.photo} />
  82. </Descriptions.Item>
  83. </Descriptions>
  84. </Modal>
  85. );
  86. };
  87. export default Check;