index.jsx 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import React, { useMemo, useRef, useCallback, useState, useEffect } from 'react'
  2. import {Button,message} from 'antd'
  3. import apis from '@/services/apis'
  4. import AuthButton from '@/components/AuthButton';
  5. import QueryTable from '@/components/QueryTable'
  6. import getTableColumns from './tableColumns'
  7. import { router } from 'umi';
  8. import { fetch} from '@/utils/request';
  9. import request from '@/utils/request'
  10. import getSearchFields from './searchFields'//searchbox
  11. export default (props) => {
  12. const ref = useRef()
  13. const [page, setPage] = useState({current: 1, pageSize: 10})
  14. const toEdit = useCallback((row) => {
  15. router.push({
  16. pathname: '/building/Developers/Edit',
  17. query: {
  18. brandId: row?.brandId || undefined,
  19. },
  20. });
  21. }, [])
  22. //编辑
  23. // const onEdit =useCallback((row,brandId)=>{
  24. // request({
  25. // ...apis.brand.alterBrand,
  26. // urlData: { id: brandId },
  27. // data:{ ...row}
  28. // }).then((data) => {
  29. // setNewsData(data)
  30. // }).catch((err) => {
  31. // message.error(err.msg || err.message)
  32. // })
  33. // },[])
  34. //删除
  35. const onDelete = useCallback((row,brandId) => {
  36. request({ ...apis.brand.deleBrand, urlData: { id: brandId }, data: { ...row, } }).then((data) => {
  37. ref.current.reload();//调用ref对象都有current对象
  38. message.info('操作成功!')
  39. }).catch((err) => {
  40. console.log(err)
  41. message.info(err.msg || err.message)
  42. })
  43. }, [])//格式
  44. const searchFields = useMemo(getSearchFields, [])//搜索框
  45. const tableColumns = useMemo(() => {
  46. return getTableColumns({
  47. page,//
  48. onEdit:(e)=>toEdit(e),
  49. onDelete,
  50. // onEdit,
  51. })
  52. }, [page])
  53. const actionRender = () => {
  54. return (
  55. //name
  56. <AuthButton name="building.brand.add" noRight={null}>
  57. <Button type="primary" icon="plus" onClick={toEdit} >
  58. 新增
  59. </Button>
  60. </AuthButton>
  61. );
  62. };
  63. return (
  64. <>
  65. <QueryTable
  66. ref={ref}//绑定到table
  67. rowKey="brandId"
  68. api={apis.brand.list}
  69. columns={tableColumns}
  70. actionRender={actionRender}
  71. searchFields={searchFields}
  72. />
  73. </>
  74. )
  75. }