123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import React, { useRef, useCallback } from 'react';
  2. import { connect, history } from 'umi';
  3. import { PageContainer } from '@ant-design/pro-layout';
  4. import ProTable from '@ant-design/pro-table';
  5. import { PlusOutlined } from '@ant-design/icons';
  6. import { Button, Space } from 'antd';
  7. import { queryTable } from '@/utils/request';
  8. const VisitList = () => {
  9. const ref = useRef();
  10. const handleMedicalClick = useCallback((id) => {
  11. history.push(id ? `/medical/visit/edit?id=${id}` : '/medical/visit/edit');
  12. }, []);
  13. const actions = [
  14. <Button key="button" icon={<PlusOutlined />} type="primary" onClick={() => handleMedicalClick()}>
  15. 新建
  16. </Button>,
  17. ];
  18. const columns = [
  19. {
  20. title: '就诊编号',
  21. dataIndex: 'serialNo',
  22. hideInSearch: true,
  23. align: 'center',
  24. },
  25. {
  26. title: '学校名称',
  27. dataIndex: 'schoolName',
  28. align: 'center',
  29. },
  30. {
  31. title: '学号',
  32. dataIndex: 'd',
  33. align: 'center',
  34. },
  35. {
  36. title: '姓名',
  37. dataIndex: 'status',
  38. align: 'center',
  39. hideInSearch: true,
  40. // hideInTable: true,
  41. },
  42. {
  43. title: '性别',
  44. dataIndex: 'status',
  45. align: 'center',
  46. hideInSearch: true,
  47. },
  48. {
  49. title: '专业',
  50. dataIndex: 'status',
  51. align: 'center',
  52. // hideInTable: true,
  53. },
  54. {
  55. title: '医生',
  56. dataIndex: 'createDate',
  57. align: 'center',
  58. hideInSearch: true,
  59. valueType: 'date',
  60. },
  61. {
  62. title: '就诊科室',
  63. dataIndex: 'createDate',
  64. align: 'center',
  65. hideInSearch: true,
  66. },
  67. {
  68. title: '就诊时间',
  69. dataIndex: 'recordDate',
  70. align: 'center',
  71. hideInSearch: true,
  72. valueType: 'date',
  73. },
  74. {
  75. title: '操作',
  76. dataIndex: 'action',
  77. align: 'center',
  78. hideInSearch: true,
  79. render: (text, record) => (
  80. <Space size="middle">
  81. <a onClick={() => handleMedicalClick(record.serialNo)}>查看报告</a>
  82. </Space>
  83. ),
  84. },
  85. ];
  86. return (
  87. <PageContainer>
  88. <ProTable
  89. columns={columns}
  90. request={queryTable('/medicalLog')}
  91. formRef={ref}
  92. rowKey="serialNo"
  93. headerTitle="就诊列表"
  94. search={{
  95. labelWidth: '4em',
  96. }}
  97. toolBarRender={() => actions}
  98. />
  99. </PageContainer>
  100. );
  101. };
  102. export default connect((s) => ({
  103. typeList: s.post.typeList,
  104. }))(VisitList);