|
@@ -1,6 +1,6 @@
|
|
|
import { useAjax } from "@/Hook/useAjax"
|
|
|
import { setBackApi } from "@/services/gameData/order"
|
|
|
-import { Alert, InputNumber, Modal, message } from "antd"
|
|
|
+import { Alert, InputNumber, Modal, Space, Switch, message } from "antd"
|
|
|
import React, { useState } from "react"
|
|
|
|
|
|
interface Props {
|
|
@@ -12,21 +12,37 @@ interface Props {
|
|
|
const Back: React.FC<Props> = ({ data, visible, onClose, onChange }) => {
|
|
|
|
|
|
/****************************/
|
|
|
- const [backMoney, setBackMoney] = useState<number>()
|
|
|
+ const [money, setMoney] = useState<any>()
|
|
|
+ const [splitOrder, setSplitOrder] = useState<boolean>(false)
|
|
|
+ const [splitNum, setSplitNum] = useState<number>()
|
|
|
+ const [splitMoney, setSplitMoney] = useState<number[]>([])
|
|
|
const setBack = useAjax((params) => setBackApi(params))
|
|
|
/****************************/
|
|
|
|
|
|
const handleOk = () => {
|
|
|
- if (backMoney) {
|
|
|
- setBack.run({ type: data.backTableName, id: data.backId, backMoney }).then(res => {
|
|
|
- if (res) {
|
|
|
- message.success('回传成功')
|
|
|
- onChange?.()
|
|
|
- }
|
|
|
- })
|
|
|
+ let params = { type: data.backTableName, splitOrder, orderIds: [data.backId] }
|
|
|
+ if (splitOrder) {
|
|
|
+ if (!splitNum) { message.error('请输入拆单数量'); return }
|
|
|
+ if (splitMoney.length > 0 && splitMoney.every(m => m)) {
|
|
|
+ params['splitMoney'] = splitMoney
|
|
|
+ } else {
|
|
|
+ message.error('请完善拆单金额');
|
|
|
+ return
|
|
|
+ }
|
|
|
} else {
|
|
|
- message.error('请输入回传金额')
|
|
|
+ if (!money) { message.error('请输入金额'); return }
|
|
|
+ params['backMoney'] = money
|
|
|
}
|
|
|
+ setBack.run(params).then((res: any) => {
|
|
|
+ if (res.data) {
|
|
|
+ message.success('上报成功')
|
|
|
+ onChange?.()
|
|
|
+ setSplitNum(undefined)
|
|
|
+ setSplitOrder(false)
|
|
|
+ setSplitMoney([])
|
|
|
+ setMoney(0)
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
|
|
@@ -36,8 +52,43 @@ const Back: React.FC<Props> = ({ data, visible, onClose, onChange }) => {
|
|
|
onCancel={onClose}
|
|
|
onOk={handleOk}
|
|
|
>
|
|
|
- <Alert message="回传状态3分钟延迟" type="error" style={{ marginBottom: 10 }}/>
|
|
|
- <InputNumber placeholder="请输入回传金额" value={backMoney} onChange={(e) => setBackMoney(e)} style={{ width: '100%' }} />
|
|
|
+ <Alert message="回传状态3分钟延迟" type="error" style={{ marginBottom: 10 }} />
|
|
|
+ <Space style={{ width: '100%' }} wrap>
|
|
|
+ <Space align="center"><strong>是否拆单</strong><Switch checkedChildren="开启" unCheckedChildren="关闭" checked={splitOrder} onChange={(e) => setSplitOrder(e)} /></Space>
|
|
|
+ {splitOrder ? <>
|
|
|
+ <Space align="center">
|
|
|
+ <strong>拆单数量</strong>
|
|
|
+ <InputNumber
|
|
|
+ value={splitNum}
|
|
|
+ placeholder="请输拆单数量"
|
|
|
+ style={{ width: 150 }}
|
|
|
+ onChange={(e) => {
|
|
|
+ setSplitNum(e as any)
|
|
|
+ setSplitMoney(Array(e || 0).fill(undefined))
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </Space>
|
|
|
+ {splitNum && <Space align="center" wrap>
|
|
|
+ <strong>拆单金额</strong>
|
|
|
+ {splitMoney.map((money, index) => <InputNumber
|
|
|
+ key={index}
|
|
|
+ value={money}
|
|
|
+ placeholder={`拆单金额${index + 1}`}
|
|
|
+ onChange={(e) => {
|
|
|
+ let oldMonery = JSON.parse(JSON.stringify(splitMoney))
|
|
|
+ oldMonery[index] = e
|
|
|
+ setSplitMoney(oldMonery)
|
|
|
+ }}
|
|
|
+ />)}
|
|
|
+ </Space>}
|
|
|
+ </> : <>
|
|
|
+ <Space align="center">
|
|
|
+ <strong>金额</strong>
|
|
|
+ <InputNumber style={{ width: 200 }} value={money} placeholder="请输入金额" onChange={(e) => setMoney(e)} />
|
|
|
+ </Space>
|
|
|
+ </>}
|
|
|
+ </Space>
|
|
|
+
|
|
|
</Modal>
|
|
|
}
|
|
|
|