知与行后台管理端

recommendClients.jsx 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. import React, { useState, useEffect } from 'react';
  2. import { Input, Menu, Dropdown, Button, Icon, message, Table, Divider, Tag, Select } from 'antd';
  3. import { FormattedMessage } from 'umi-plugin-react/locale';
  4. import channels from './channelList.less';
  5. import router from 'umi/router';
  6. import apis from '../../services/apis';
  7. import request from '../../utils/request'
  8. const { Option } = Select;
  9. function handleChange(value) {
  10. console.log(`selected ${value}`);
  11. }
  12. const menu = (
  13. <Menu onClick={handleMenuClick}>
  14. <Menu.Item key="1">
  15. <Icon type="user" />
  16. 1st menu item
  17. </Menu.Item>
  18. <Menu.Item key="2">
  19. <Icon type="user" />
  20. 2nd menu item
  21. </Menu.Item>
  22. <Menu.Item key="3">
  23. <Icon type="user" />
  24. 3rd item
  25. </Menu.Item>
  26. </Menu>
  27. );
  28. const dataSource = [
  29. {
  30. key: '1',
  31. img: 'http://img0.imgtn.bdimg.com/it/u=4246326797,2657995307&fm=26&gp=0.jpg',
  32. name: '123',
  33. age: 32,
  34. address: '西湖区湖底公园1号',
  35. },
  36. {
  37. key: '2',
  38. img: '',
  39. age: 42,
  40. address: '西湖区湖底公园1号',
  41. },
  42. ];
  43. const columns = [
  44. {
  45. title: '头像',
  46. // dataIndex: 'img',
  47. // key: 'img',
  48. align: 'center',
  49. render: (text, record) => <img src={record.picture} className={channels.touxiang} />,
  50. },
  51. {
  52. title: '用户姓名',
  53. dataIndex: 'name',
  54. key: 'name',
  55. align: 'center',
  56. render: text => <a>{text}</a>,
  57. },
  58. {
  59. title: '电话',
  60. dataIndex: 'recommendTel',
  61. key: 'recommendTel',
  62. align: 'center',
  63. },
  64. {
  65. title: '性别',
  66. dataIndex: 'sex',
  67. key: 'sex',
  68. align: 'center',
  69. render: (text, record) => <a style={ { color: '#66B3FF' } } >{ record.sex === 1 ? '男' : '女' }</a>,
  70. },
  71. {
  72. title: '意向项目',
  73. dataIndex: 'intention',
  74. key: 'intention',
  75. align: 'center',
  76. },
  77. {
  78. title: '推荐时间',
  79. dataIndex: 'createDate',
  80. key: 'createDate',
  81. align: 'center',
  82. },
  83. {
  84. title: '状态',
  85. dataIndex: 'status',
  86. key: 'status',
  87. align: 'center',
  88. },
  89. ];
  90. const header = props => {
  91. // eslint-disable-next-line react-hooks/rules-of-hooks
  92. const [data, setData] = useState({})
  93. // const [page, changePage] = useState({})
  94. // eslint-disable-next-line react-hooks/rules-of-hooks
  95. useEffect(() => {
  96. getListRecommend({ pageNumber: 1, pageSize: 10 })
  97. }, [])
  98. // function getListRecommend(params) {
  99. // request({
  100. // url: `/api/admin/customer/recommend/${props.location.query.id}`,
  101. // method: 'GET',
  102. // params: { ...params },
  103. // // eslint-disable-next-line no-shadow
  104. // }).then(data => {
  105. // console.log(data)
  106. // setData(data)
  107. // })
  108. // }
  109. function getListRecommend(params) {
  110. request({ ...apis.channelList.getListRecommend, urlData: { id: props.location.query.id }, params: { ...params } }).then((data) => {
  111. setData(data)
  112. }).catch((err) => {
  113. console.log(err)
  114. message.info(err.msg || err.message)
  115. })
  116. }
  117. // 分页
  118. function onChange(pageNum) {
  119. // eslint-disable-next-line react-hooks/rules-of-hooks
  120. getListRecommend({ pageNumber: pageNum, pageSize: 9 })
  121. }
  122. return (
  123. <>
  124. <Table dataSource={data.records} rowKey="recommendClist" columns={columns} pagination={{ pageSize: 10, total: data.total, onChange }} />
  125. </>
  126. )
  127. }
  128. function handleMenuClick(e) {
  129. message.info('Click on menu item.');
  130. console.log('click', e);
  131. }
  132. export default header