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

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

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