check.tsx 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. }
  19. /**
  20. * 用户查看
  21. * @param props
  22. * @constructor
  23. */
  24. const Check: React.FC<userCheckPros> = (props) => {
  25. const { visible, onCallback, id } = props;
  26. const [dataDetail, setDataDetail] = useState<detailType>({
  27. phone: '',
  28. photo: '',
  29. real_name: '',
  30. user_name: '',
  31. created_at: '',
  32. status: '',
  33. updated_at: '',
  34. });
  35. useEffect(() => {
  36. queryUserDetail(id).then((res) => {
  37. if (res.code === 0) {
  38. setDataDetail(res.data);
  39. }
  40. });
  41. }, []);
  42. // 确定
  43. const onOk = () => {
  44. onCallback();
  45. };
  46. // 取消
  47. const onCancel = () => {
  48. onCallback();
  49. };
  50. return (
  51. <Modal title="查看" open={visible} onOk={onOk} onCancel={onCancel} width={1000}>
  52. <Descriptions title="用户信息" bordered column={2}>
  53. <Descriptions.Item label="用户姓名">{dataDetail?.user_name}</Descriptions.Item>
  54. <Descriptions.Item label="真实姓名">{dataDetail?.real_name}</Descriptions.Item>
  55. <Descriptions.Item label="手机号">{dataDetail?.phone}</Descriptions.Item>
  56. <Descriptions.Item label="状态">
  57. <span style={{ color: `${{ 1: '#00a650', 2: 'red' }[dataDetail?.status]}` }}>
  58. {{ 1: '启用', 2: '停用' }[dataDetail?.status]}
  59. </span>
  60. </Descriptions.Item>
  61. <Descriptions.Item label="创建时间">
  62. {dataDetail?.created_at
  63. ? moment(dataDetail?.created_at).format('YYYY-MM-DD HH:ss:mm')
  64. : '暂无'}
  65. </Descriptions.Item>
  66. <Descriptions.Item label="更新时间">
  67. {dataDetail?.updated_at
  68. ? moment(dataDetail?.updated_at).format('YYYY-MM-DD HH:ss:mm')
  69. : '暂无'}
  70. </Descriptions.Item>
  71. <Descriptions.Item label="头像">
  72. <Image width={100} src={dataDetail?.photo} />
  73. </Descriptions.Item>
  74. </Descriptions>
  75. </Modal>
  76. );
  77. };
  78. export default Check;