index.tsx 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import React, { useCallback, useEffect, useState } from 'react'
  2. import styles from './index.module.scss'
  3. import { useParams } from 'react-router-dom'
  4. import { D2_APIdel, D2_APIgetInfo } from '@/store/action/D2storSet'
  5. import { Button } from 'antd'
  6. import MyPopconfirm from '@/components/MyPopconfirm'
  7. import { MessageFu } from '@/utils/message'
  8. import history from '@/utils/history'
  9. import { TypeD2list } from '../type'
  10. import D2edit from '../D2edit'
  11. import MyTable from '@/components/MyTable'
  12. import { D2tableCSon } from '@/utils/tableData'
  13. const topArr = [
  14. { name: '仓库名称', key: 'name' },
  15. { name: '仓库编码', key: 'num' },
  16. { name: '仓库负责人', key: 'managerUser' },
  17. { name: '仓库说明', key: 'description' }
  18. // { name: '仓库状态', key: 'enable' }
  19. ]
  20. function D2look() {
  21. const { id: sId } = useParams<any>()
  22. const [info, setInfo] = useState({} as TypeD2list)
  23. const getInfoFu = useCallback(async () => {
  24. const res = await D2_APIgetInfo(sId)
  25. if (res.code === 0) {
  26. setInfo(res.data)
  27. }
  28. }, [sId])
  29. useEffect(() => {
  30. getInfoFu()
  31. }, [getInfoFu])
  32. // 点击删除
  33. const delTableFu = useCallback(async () => {
  34. const res = await D2_APIdel(sId)
  35. if (res.code === 0) {
  36. MessageFu.success('删除成功!')
  37. history.go(-1)
  38. }
  39. }, [sId])
  40. const [editId, setEditId] = useState(0)
  41. return (
  42. <div className={styles.D2look}>
  43. <div className='pageTitle'>库房设置-查看</div>
  44. <div className='D2Ltop'>
  45. <div className='D2Ltop1'>
  46. <div className='D2Ltop1_1'>库房信息</div>
  47. <div>
  48. <Button type='primary' onClick={() => setEditId(sId)}>
  49. 编辑
  50. </Button>
  51. &emsp;
  52. <MyPopconfirm
  53. txtK='删除'
  54. onConfirm={() => delTableFu()}
  55. Dom={<Button danger>删除</Button>}
  56. />
  57. &emsp;
  58. <Button onClick={() => history.go(-1)}>返回</Button>
  59. </div>
  60. </div>
  61. {info.id ? (
  62. <div className='D2Ltop2'>
  63. {topArr.map(item => (
  64. <div className='D2Ltop2_1' key={item.name}>
  65. <div>{item.name}:</div>
  66. <p>{info[item.key as 'name'] || '(空)'}</p>
  67. </div>
  68. ))}
  69. <div className='D2Ltop2_1'>
  70. <div>仓库状态:</div>
  71. <p>{info.enable ? '启用' : '禁用'}</p>
  72. </div>
  73. </div>
  74. ) : null}
  75. </div>
  76. {/* 下面的表格 */}
  77. <div className='D2Ltable'>
  78. <div className='D2Ltop1'>
  79. <div className='D2Ltop1_1'>库位信息</div>
  80. <div>
  81. <Button
  82. type='primary'
  83. onClick={() => history.push(`/storSet_site/${sId}/${info.name}`)}
  84. >
  85. 设置
  86. </Button>
  87. </div>
  88. </div>
  89. <MyTable
  90. list={info.site || []}
  91. columnsTemp={D2tableCSon}
  92. lastBtn={[]}
  93. pagingInfo={false}
  94. widthSet={{ description: 700 }}
  95. />
  96. </div>
  97. {/* 编辑弹窗 */}
  98. {editId ? (
  99. <D2edit sId={editId} succToLookFu={() => getInfoFu()} closeFu={() => setEditId(0)} />
  100. ) : null}
  101. </div>
  102. )
  103. }
  104. const MemoD2look = React.memo(D2look)
  105. export default MemoD2look