|
@@ -1,15 +1,22 @@
|
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
|
import styles from './index.module.scss'
|
|
import styles from './index.module.scss'
|
|
import { Button, DatePicker, Input, Select } from 'antd'
|
|
import { Button, DatePicker, Input, Select } from 'antd'
|
|
-import { TypeD4Form } from './type'
|
|
|
|
|
|
+import { TypeD4Form, TypeD4list } from './type'
|
|
import { B3_4inputKeyArr, D3InputKeyType } from '@/pages/B_enterTibet/B3_4page'
|
|
import { B3_4inputKeyArr, D3InputKeyType } from '@/pages/B_enterTibet/B3_4page'
|
|
import dayjs from 'dayjs'
|
|
import dayjs from 'dayjs'
|
|
import MyTable from '@/components/MyTable'
|
|
import MyTable from '@/components/MyTable'
|
|
import { D4tableC } from '@/utils/tableData'
|
|
import { D4tableC } from '@/utils/tableData'
|
|
import MyPopconfirm from '@/components/MyPopconfirm'
|
|
import MyPopconfirm from '@/components/MyPopconfirm'
|
|
-import history from '@/utils/history'
|
|
|
|
|
|
+import history, { btnFlagFu } from '@/utils/history'
|
|
|
|
+import { selectObj } from '@/utils/select'
|
|
|
|
+import { useDispatch, useSelector } from 'react-redux'
|
|
|
|
+import { D2_APIgetList } from '@/store/action/D2storSet'
|
|
|
|
+import { RootState } from '@/store'
|
|
|
|
+import { D4_APIdel, D4_APIgetList } from '@/store/action/D4impStor'
|
|
|
|
+import { MessageFu } from '@/utils/message'
|
|
const { RangePicker } = DatePicker
|
|
const { RangePicker } = DatePicker
|
|
|
|
|
|
|
|
+// 后端筛选字段 待完善
|
|
const baseFormData: TypeD4Form = {
|
|
const baseFormData: TypeD4Form = {
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
@@ -19,14 +26,21 @@ const baseFormData: TypeD4Form = {
|
|
dddd: '',
|
|
dddd: '',
|
|
startTime: '',
|
|
startTime: '',
|
|
endTime: '',
|
|
endTime: '',
|
|
- eeee: '',
|
|
|
|
- ffff: '',
|
|
|
|
- gggg: ''
|
|
|
|
|
|
+ eeee: null,
|
|
|
|
+ ffff: null,
|
|
|
|
+ gggg: null
|
|
}
|
|
}
|
|
|
|
|
|
-// 没有接入后端 待完善
|
|
|
|
-
|
|
|
|
function D4impStor() {
|
|
function D4impStor() {
|
|
|
|
+ const dispatch = useDispatch()
|
|
|
|
+
|
|
|
|
+ // 获取入库库房下拉框 - 库房设置列表
|
|
|
|
+ useEffect(() => {
|
|
|
|
+ dispatch(D2_APIgetList({ pageNum: 1, pageSize: 99999 }))
|
|
|
|
+ }, [dispatch])
|
|
|
|
+
|
|
|
|
+ const { list } = useSelector((state: RootState) => state.D2storSet.tableInfo)
|
|
|
|
+
|
|
const [formData, setFormData] = useState(baseFormData)
|
|
const [formData, setFormData] = useState(baseFormData)
|
|
const formDataRef = useRef(baseFormData)
|
|
const formDataRef = useRef(baseFormData)
|
|
|
|
|
|
@@ -61,8 +75,8 @@ function D4impStor() {
|
|
|
|
|
|
// 封装发送请求的函数
|
|
// 封装发送请求的函数
|
|
const getListFu = useCallback(() => {
|
|
const getListFu = useCallback(() => {
|
|
- console.log('发送请求', formDataRef.current)
|
|
|
|
- }, [])
|
|
|
|
|
|
+ dispatch(D4_APIgetList(formDataRef.current))
|
|
|
|
+ }, [dispatch])
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
getListFu()
|
|
getListFu()
|
|
@@ -101,34 +115,50 @@ function D4impStor() {
|
|
// 点击删除
|
|
// 点击删除
|
|
const delTableFu = useCallback(
|
|
const delTableFu = useCallback(
|
|
async (id: number) => {
|
|
async (id: number) => {
|
|
- getListFu()
|
|
|
|
|
|
+ const res = await D4_APIdel(id)
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
+ MessageFu.success('删除成功')
|
|
|
|
+ getListFu()
|
|
|
|
+ }
|
|
},
|
|
},
|
|
[getListFu]
|
|
[getListFu]
|
|
)
|
|
)
|
|
|
|
|
|
// 点击操作按钮
|
|
// 点击操作按钮
|
|
- const tableBtnFu = useCallback((key: string, id: number) => {
|
|
|
|
|
|
+ const tableBtnFu = useCallback((id: number, key: string) => {
|
|
history.push(`/impStor_edit/${key}/${id}`)
|
|
history.push(`/impStor_edit/${key}/${id}`)
|
|
}, [])
|
|
}, [])
|
|
|
|
|
|
const tableLastBtn = useMemo(() => {
|
|
const tableLastBtn = useMemo(() => {
|
|
- // 看状态和账号角色显示按钮 待完善
|
|
|
|
return [
|
|
return [
|
|
{
|
|
{
|
|
title: '操作',
|
|
title: '操作',
|
|
- render: (item: any) => {
|
|
|
|
- return (
|
|
|
|
|
|
+ render: (item: TypeD4list) => {
|
|
|
|
+ let obj = btnFlagFu(item)
|
|
|
|
+ return !Object.values(obj).some(Boolean) ? (
|
|
|
|
+ '-'
|
|
|
|
+ ) : (
|
|
<>
|
|
<>
|
|
- <Button size='small' type='text' onClick={() => tableBtnFu('2', item.id)}>
|
|
|
|
- 编辑
|
|
|
|
- </Button>
|
|
|
|
- <Button size='small' type='text' onClick={() => tableBtnFu('3', item.id)}>
|
|
|
|
- 审批
|
|
|
|
- </Button>
|
|
|
|
- <Button size='small' type='text' onClick={() => tableBtnFu('4', item.id)}>
|
|
|
|
- 查看
|
|
|
|
- </Button>
|
|
|
|
- <MyPopconfirm txtK='删除' onConfirm={() => delTableFu(item.id)} />
|
|
|
|
|
|
+ {obj['编辑'] ? (
|
|
|
|
+ <Button size='small' type='text' onClick={() => tableBtnFu(item.id, '2')}>
|
|
|
|
+ 编辑
|
|
|
|
+ </Button>
|
|
|
|
+ ) : null}
|
|
|
|
+
|
|
|
|
+ {obj['审批'] ? (
|
|
|
|
+ <Button size='small' type='text' onClick={() => tableBtnFu(item.id, '3')}>
|
|
|
|
+ 审批
|
|
|
|
+ </Button>
|
|
|
|
+ ) : null}
|
|
|
|
+ {obj['查看'] ? (
|
|
|
|
+ <Button size='small' type='text' onClick={() => tableBtnFu(item.id, '4')}>
|
|
|
|
+ 查看
|
|
|
|
+ </Button>
|
|
|
|
+ ) : null}
|
|
|
|
+
|
|
|
|
+ {obj['删除'] ? (
|
|
|
|
+ <MyPopconfirm txtK='删除' onConfirm={() => delTableFu(item.id)} />
|
|
|
|
+ ) : null}
|
|
</>
|
|
</>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
@@ -136,6 +166,9 @@ function D4impStor() {
|
|
]
|
|
]
|
|
}, [delTableFu, tableBtnFu])
|
|
}, [delTableFu, tableBtnFu])
|
|
|
|
|
|
|
|
+ // 从仓库拿数据
|
|
|
|
+ const tableInfo = useSelector((state: RootState) => state.D4impStor.tableInfo)
|
|
|
|
+
|
|
return (
|
|
return (
|
|
<div className={styles.D4impStor}>
|
|
<div className={styles.D4impStor}>
|
|
<div className='pageTitle'>入库</div>
|
|
<div className='pageTitle'>入库</div>
|
|
@@ -176,21 +209,23 @@ function D4impStor() {
|
|
<div>
|
|
<div>
|
|
<span>申请状态:</span>
|
|
<span>申请状态:</span>
|
|
<Select
|
|
<Select
|
|
- placeholder='请选择'
|
|
|
|
|
|
+ allowClear={true}
|
|
|
|
+ placeholder='全部'
|
|
style={{ width: 150 }}
|
|
style={{ width: 150 }}
|
|
value={formData.eeee}
|
|
value={formData.eeee}
|
|
onChange={e => setFormData({ ...formData, eeee: e })}
|
|
onChange={e => setFormData({ ...formData, eeee: e })}
|
|
- options={[{ value: '', label: '全部' }]}
|
|
|
|
|
|
+ options={selectObj['申请状态'].filter(v => v.label !== '待盘点')}
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div>
|
|
<div>
|
|
<span>选择角色:</span>
|
|
<span>选择角色:</span>
|
|
<Select
|
|
<Select
|
|
|
|
+ allowClear={true}
|
|
style={{ width: 150 }}
|
|
style={{ width: 150 }}
|
|
- placeholder='请选择'
|
|
|
|
- options={[]}
|
|
|
|
- fieldNames={{ value: 'id', label: 'roleName' }}
|
|
|
|
|
|
+ placeholder='全部'
|
|
|
|
+ options={selectObj['角色']}
|
|
|
|
+ // fieldNames={{ value: 'id', label: 'roleName' }}
|
|
value={formData.ffff}
|
|
value={formData.ffff}
|
|
onChange={e => setFormData({ ...formData, ffff: e })}
|
|
onChange={e => setFormData({ ...formData, ffff: e })}
|
|
/>
|
|
/>
|
|
@@ -200,11 +235,13 @@ function D4impStor() {
|
|
<span>入库库房:</span>
|
|
<span>入库库房:</span>
|
|
{/* 拿库房设置的列表 */}
|
|
{/* 拿库房设置的列表 */}
|
|
<Select
|
|
<Select
|
|
- placeholder='请选择'
|
|
|
|
|
|
+ allowClear={true}
|
|
|
|
+ placeholder='全部'
|
|
style={{ width: 150 }}
|
|
style={{ width: 150 }}
|
|
value={formData.gggg}
|
|
value={formData.gggg}
|
|
onChange={e => setFormData({ ...formData, gggg: e })}
|
|
onChange={e => setFormData({ ...formData, gggg: e })}
|
|
- options={[{ value: '', label: '全部' }]}
|
|
|
|
|
|
+ fieldNames={{ value: 'id', label: 'name' }}
|
|
|
|
+ options={list}
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -219,12 +256,12 @@ function D4impStor() {
|
|
{/* 表格 */}
|
|
{/* 表格 */}
|
|
<MyTable
|
|
<MyTable
|
|
yHeight={610}
|
|
yHeight={610}
|
|
- list={[{ id: 66 }]}
|
|
|
|
|
|
+ list={tableInfo.list}
|
|
columnsTemp={D4tableC}
|
|
columnsTemp={D4tableC}
|
|
lastBtn={tableLastBtn}
|
|
lastBtn={tableLastBtn}
|
|
pageNum={formData.pageNum}
|
|
pageNum={formData.pageNum}
|
|
pageSize={formData.pageSize}
|
|
pageSize={formData.pageSize}
|
|
- total={0}
|
|
|
|
|
|
+ total={tableInfo.total}
|
|
onChange={(pageNum, pageSize) => paginationChange(pageNum, pageSize)}
|
|
onChange={(pageNum, pageSize) => paginationChange(pageNum, pageSize)}
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|