|
|
@@ -1,12 +1,12 @@
|
|
|
-import { useCallback, useMemo } from 'react'
|
|
|
+import { useCallback, useEffect, useMemo } from 'react'
|
|
|
import styles from './index.module.scss'
|
|
|
import { selectObj } from '@/utils/dataChange'
|
|
|
import { useParams } from 'react-router-dom'
|
|
|
-import { TypeD1table } from '@/pages/Dmanage/D1register/data'
|
|
|
import dayjs from 'dayjs'
|
|
|
import { Button, Cascader, DatePicker, Input } from 'antd'
|
|
|
import classNames from 'classnames'
|
|
|
import TextArea from 'antd/es/input/TextArea'
|
|
|
+import { useInfo } from '../InfoContext'
|
|
|
|
|
|
const pageKeyTxtObj = {
|
|
|
1: '新增',
|
|
|
@@ -20,15 +20,41 @@ type Props = {
|
|
|
rowArr: any[]
|
|
|
// 页面字段
|
|
|
pageTxt: string
|
|
|
- // 数据
|
|
|
- info: TypeD1table
|
|
|
- // 修改数据
|
|
|
- setInfo: (info: TypeD1table) => void
|
|
|
+ // api
|
|
|
+ APIobj: any
|
|
|
}
|
|
|
|
|
|
-function EditTop({ rowArr, pageTxt, info, setInfo }: Props) {
|
|
|
- const { key } = useParams<any>()
|
|
|
+function EditTop({ rowArr, pageTxt, APIobj }: Props) {
|
|
|
+ const { info, setInfoFu } = useInfo()
|
|
|
+
|
|
|
+ const { key, id } = useParams<any>()
|
|
|
// key:1 新增 2编辑 3审批 4查看
|
|
|
+
|
|
|
+ // 创建订单
|
|
|
+ const createFu = useCallback(async () => {
|
|
|
+ const res = await APIobj['创建订单']()
|
|
|
+ if (res.code === 0) {
|
|
|
+ setInfoFu(res.data)
|
|
|
+ }
|
|
|
+ }, [APIobj, setInfoFu])
|
|
|
+
|
|
|
+ // 获取详情
|
|
|
+ const getInfoFu = useCallback(
|
|
|
+ async (id: number) => {
|
|
|
+ const res = await APIobj['获取详情'](id)
|
|
|
+ if (res.code === 0) {
|
|
|
+ setInfoFu(res.data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ [APIobj, setInfoFu]
|
|
|
+ )
|
|
|
+
|
|
|
+ useEffect(() => {
|
|
|
+ if (key === '1') createFu()
|
|
|
+ else getInfoFu(id)
|
|
|
+ }, [createFu, getInfoFu, id, key])
|
|
|
+
|
|
|
+ // 页面最上部文字
|
|
|
const pageKeyTxt = useMemo(() => {
|
|
|
return Reflect.get(pageKeyTxtObj, key)
|
|
|
}, [key])
|
|
|
@@ -40,18 +66,18 @@ function EditTop({ rowArr, pageTxt, info, setInfo }: Props) {
|
|
|
const key = item.key
|
|
|
|
|
|
if (type === 'DatePicker') {
|
|
|
- setInfo({ ...info, [key]: dayjs(val).format('YYYY-MM-DD') })
|
|
|
+ setInfoFu({ ...info, [key]: dayjs(val).format('YYYY-MM-DD') })
|
|
|
} else if (['TextArea', 'Input'].includes(type)) {
|
|
|
const varRes = item.noNull ? val.replace(/\s+/g, '') : val
|
|
|
- setInfo({
|
|
|
+ setInfoFu({
|
|
|
...info,
|
|
|
[key]: varRes
|
|
|
})
|
|
|
} else if (type === 'Cascader') {
|
|
|
- setInfo({ ...info, dictIdApply: val ? val.join(',') : '' })
|
|
|
+ setInfoFu({ ...info, dictIdApply: val ? val.join(',') : '' })
|
|
|
}
|
|
|
},
|
|
|
- [info, setInfo]
|
|
|
+ [info, setInfoFu]
|
|
|
)
|
|
|
|
|
|
// 订单申请状态
|