Commit 5045abb7 authored by 前端-许佳敏's avatar 前端-许佳敏

fix:优化采购订单批量提交体验,防止重复提交

parent 7f749d46
...@@ -14,6 +14,7 @@ import Submit from '@/components/NiceForm/components/Submit' ...@@ -14,6 +14,7 @@ import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components' import { DatePicker } from '@formily/antd-components'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable' import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { PurchaseOrderInsideWorkState } from '@/constants' import { PurchaseOrderInsideWorkState } from '@/constants'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 一级待审核订单 // 一级待审核订单
...@@ -33,6 +34,8 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -33,6 +34,8 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
rowSelectionCtl rowSelectionCtl
} = useSelfTable() } = useSelfTable()
const { run, loading } = useHttpRequest(PublicApi.postOrderProcurementOrderReviewedAll)
const handleSubmitBatch = async () => { const handleSubmitBatch = async () => {
if (rowSelectionCtl.selectRow.length === 0) { if (rowSelectionCtl.selectRow.length === 0) {
message.error('请先勾选订单') message.error('请先勾选订单')
...@@ -40,8 +43,12 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -40,8 +43,12 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
} }
const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ONE_LEVEL_AUDIT_ORDER) const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ONE_LEVEL_AUDIT_ORDER)
if (canBitch) { if (canBitch) {
await PublicApi.postOrderProcurementOrderReviewedAll({ids: rowSelectionCtl.selectedRowKeys}) const { code } = await run({ids: rowSelectionCtl.selectedRowKeys})
ref.current.reload() if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else { } else {
message.error('只能批量提交内部状态为审核中的订单') message.error('只能批量提交内部状态为审核中的订单')
} }
...@@ -81,7 +88,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -81,7 +88,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}} }}
formilyChilds={{ formilyChilds={{
children: <Space> children: <Space>
<Button onClick={handleSubmitBatch}>批量提交审核</Button> <Button onClick={handleSubmitBatch} loading={loading}>批量提交审核</Button>
</Space>, </Space>,
layouts: { layouts: {
span: 8 span: 8
......
...@@ -14,6 +14,7 @@ import { DatePicker } from '@formily/antd-components' ...@@ -14,6 +14,7 @@ import { DatePicker } from '@formily/antd-components'
import { useSelfTable } from './model/useReadyAddOrder' import { useSelfTable } from './model/useReadyAddOrder'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable' import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { PurchaseOrderInsideWorkState } from '@/constants' import { PurchaseOrderInsideWorkState } from '@/constants'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 待新增订单 // 待新增订单
...@@ -26,6 +27,8 @@ const fetchTableData = async (params) => { ...@@ -26,6 +27,8 @@ const fetchTableData = async (params) => {
// TODO // TODO
const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => { const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
const { run: deleteRun } = useHttpRequest(PublicApi.postOrderProcurementOrderDeleteAll)
const { loading: submitLoading, run: submitRun } = useHttpRequest(PublicApi.postOrderProcurementOrderSubmitExamineAll)
const { columns, ref, rowSelection, rowSelectionCtl } = useSelfTable() const { columns, ref, rowSelection, rowSelectionCtl } = useSelfTable()
const handleMenuClick = async (e) => { const handleMenuClick = async (e) => {
...@@ -34,8 +37,12 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => { ...@@ -34,8 +37,12 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
// 批量删除 // 批量删除
const canDelete = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER) const canDelete = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER)
if (canDelete) { if (canDelete) {
await PublicApi.postOrderProcurementOrderDeleteAll({ids: rowSelectionCtl.selectedRowKeys}) const { code } = await deleteRun({ids: rowSelectionCtl.selectedRowKeys})
ref.current.reload() if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else { } else {
message.error('只能删除内部状态为未审核过的订单') message.error('只能删除内部状态为未审核过的订单')
} }
...@@ -47,8 +54,12 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => { ...@@ -47,8 +54,12 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
const handleBitchPush = async () => { const handleBitchPush = async () => {
const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER) const canBitch = !rowSelectionCtl.selectRow.some(v => v.interiorState !== PurchaseOrderInsideWorkState.ADD_PURCHASE_ORDER)
if (canBitch) { if (canBitch) {
await PublicApi.postOrderProcurementOrderSubmitExamineAll({ids: rowSelectionCtl.selectedRowKeys}) const { code } = await submitRun({ids: rowSelectionCtl.selectedRowKeys})
ref.current.reload() if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else { } else {
message.error('只能提交审核待新增的订单') message.error('只能提交审核待新增的订单')
} }
...@@ -97,7 +108,7 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => { ...@@ -97,7 +108,7 @@ const ReadyAddOrder:React.FC<ReadyAddOrderProps> = (props) => {
> >
新建 新建
</Button> </Button>
<Button onClick={handleBitchPush}>批量提交审核</Button> <Button onClick={handleBitchPush} loading={submitLoading}>批量提交审核</Button>
<DropDeleteDown> <DropDeleteDown>
<Menu onClick={(e) => handleMenuClick(e)}> <Menu onClick={(e) => handleMenuClick(e)}>
<Menu.Item key="1" icon={<DeleteOutlined />}> <Menu.Item key="1" icon={<DeleteOutlined />}>
......
...@@ -28,14 +28,6 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -28,14 +28,6 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
columns columns
} = useSelfTable() } = useSelfTable()
const handleMenuClick = (e) => {
switch(e.key) {
case '1': {
// 批量删除
break;
}
}
}
return <PageHeaderWrapper> return <PageHeaderWrapper>
<Card> <Card>
<StandardTable <StandardTable
...@@ -61,25 +53,6 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -61,25 +53,6 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
DateRangePicker: DatePicker.RangePicker, DateRangePicker: DatePicker.RangePicker,
Submit Submit
} }
},
layouts: {
order: 2,
span: 16
}
}}
formilyChilds={{
children: <Space>
<Button>批量提交审核</Button>
<DropDeleteDown>
<Menu onClick={(e) => handleMenuClick(e)}>
<Menu.Item key="1" icon={<DeleteOutlined />}>
批量删除
</Menu.Item>
</Menu>
</DropDeleteDown>
</Space>,
layouts: {
span: 8
} }
}} }}
/> />
......
...@@ -12,7 +12,7 @@ export const tableListSchema: ISchema = { ...@@ -12,7 +12,7 @@ export const tableListSchema: ISchema = {
"x-component": 'SearchFilter', "x-component": 'SearchFilter',
'x-component-props': { 'x-component-props': {
placeholder: '请输入订单编号', placeholder: '请输入订单编号',
align: 'flex-end', align: 'flex-start',
}, },
}, },
[FORM_FILTER_PATH]: { [FORM_FILTER_PATH]: {
...@@ -21,7 +21,7 @@ export const tableListSchema: ISchema = { ...@@ -21,7 +21,7 @@ export const tableListSchema: ISchema = {
'x-component-props': { 'x-component-props': {
inline: true, inline: true,
colStyle: { colStyle: {
marginLeft: 20 marginRight: 20
} }
}, },
properties: { properties: {
......
...@@ -13,6 +13,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const' ...@@ -13,6 +13,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import Submit from '@/components/NiceForm/components/Submit' import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components' import { DatePicker } from '@formily/antd-components'
import { PurchaseOrderOutWorkState, PurchaseOrderInsideWorkState } from '@/constants' import { PurchaseOrderOutWorkState, PurchaseOrderInsideWorkState } from '@/constants'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 待提交订单 // 待提交订单
...@@ -31,12 +32,17 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -31,12 +32,17 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
rowSelection, rowSelection,
rowSelectionCtl rowSelectionCtl
} = useSelfTable() } = useSelfTable()
const { run, loading } = useHttpRequest(PublicApi.postOrderProcurementOrderSubmitAll)
const handleBitchPush = async () => { const handleBitchPush = async () => {
const canBitch = !rowSelectionCtl.selectRow.some(v => v.externalState !== PurchaseOrderOutWorkState.SUBMIT_ORDER || v.interiorState !== PurchaseOrderInsideWorkState.SUBMIT_ORDER) const canBitch = !rowSelectionCtl.selectRow.some(v => v.externalState !== PurchaseOrderOutWorkState.SUBMIT_ORDER || v.interiorState !== PurchaseOrderInsideWorkState.SUBMIT_ORDER)
if (canBitch) { if (canBitch) {
await PublicApi.postOrderProcurementOrderSubmitAll({ids: rowSelectionCtl.selectedRowKeys}) const { code } = await run({ids: rowSelectionCtl.selectedRowKeys})
ref.current.reload() if (code === 1000) {
ref.current.reload()
rowSelectionCtl.setSelectRow([])
rowSelectionCtl.setSelectedRowKeys([])
}
} else { } else {
message.error('只能提交内部状态为审核通过并且外部状态为待提交的订单') message.error('只能提交内部状态为审核通过并且外部状态为待提交的订单')
} }
...@@ -77,7 +83,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -77,7 +83,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}} }}
formilyChilds={{ formilyChilds={{
children: <Space> children: <Space>
<Button onClick={handleBitchPush}>批量提交</Button> <Button onClick={handleBitchPush} loading={loading}>批量提交</Button>
</Space>, </Space>,
layouts: { layouts: {
span: 8 span: 8
......
...@@ -13,6 +13,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const' ...@@ -13,6 +13,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import Submit from '@/components/NiceForm/components/Submit' import Submit from '@/components/NiceForm/components/Submit'
import { DatePicker } from '@formily/antd-components' import { DatePicker } from '@formily/antd-components'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable' import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { useHttpRequest } from '@/hooks/useHttpRequest'
// 二级待审核订单 // 二级待审核订单
...@@ -30,9 +31,10 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -30,9 +31,10 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
ref ref
} = useSelfTable() } = useSelfTable()
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'}) const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const { run, loading } = useHttpRequest(PublicApi.postOrderProcurementOrderReviewedAllTwo)
const handleSubmitBatch = async () => { const handleSubmitBatch = async () => {
const { code } = await PublicApi.postOrderProcurementOrderReviewedAllTwo({ const { code } = await run({
ids: rowSelectionCtl.selectedRowKeys ids: rowSelectionCtl.selectedRowKeys
}) })
...@@ -78,7 +80,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => { ...@@ -78,7 +80,7 @@ const FirstApprovedOrder:React.FC<FirstApprovedOrderProps> = (props) => {
}} }}
formilyChilds={{ formilyChilds={{
children: <Space> children: <Space>
<Button onClick={handleSubmitBatch}>批量提交审核</Button> <Button onClick={handleSubmitBatch} loading={loading}>批量提交审核</Button>
</Space>, </Space>,
layouts: { layouts: {
span: 8 span: 8
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment