shaogen1995 1 月之前
父节点
当前提交
4e0034176f

+ 1 - 1
src/components/Z3upFiles/index.tsx

@@ -233,7 +233,7 @@ function Z3upFiles({
 
         const updatedInfo: Typetable = {
           ...prevInfo,
-          files: updatedFiles
+          [filesKey]: updatedFiles
         }
         return updatedInfo
       })

+ 0 - 15
src/pages/Benter/B3auth/B3edit/index.tsx

@@ -116,25 +116,10 @@ function B3edit() {
             fileUpInfo={{ myUrl: 'cms/order/auth/upload', dirCode: 'auth' }}
           />
           <EditTopDom
-            pageTxt='藏品鉴定'
             rowArr={rowArrDom}
-            APIobj={B3API_obj}
             fileUpInfo={{ myUrl: 'cms/order/auth/upload', dirCode: 'auth' }}
             Tit='鉴定报告'
           />
-          {/* 添加藏品 */}
-          {/* {showSelectGoods && (
-            <SelectGoods
-              myType='藏品'
-              API_getList={API_getGoodsLists}
-              closeFu={() => setShowSelectGoods(false)}
-              baseFormData={sgBaseFormDataGood}
-              topSelectDom={sgTopSelectDomGood}
-              columnsTemp={goodsSonTableC(true)}
-              oldCheckArr={info.goods || []}
-              dataResFu={res => setInfoFu({ ...info, goods: res || [] })}
-            />
-          )} */}
 
           {/* 底部按钮 */}
           <EditBtn path='/auth' APIobj={B3API_obj} checkListTxt='请添加藏品' />

+ 7 - 141
src/pages/Zother/EditTopDom/index.tsx

@@ -1,6 +1,5 @@
-import { useCallback, useEffect, useMemo, useState } from 'react'
+import { useCallback, useMemo, useState } from 'react'
 import styles from './index.module.scss'
-import { selectObj } from '@/utils/dataChange'
 import { useParams } from 'react-router-dom'
 import dayjs from 'dayjs'
 import { Button, Cascader, DatePicker, Input } from 'antd'
@@ -8,40 +7,22 @@ import classNames from 'classnames'
 import TextArea from 'antd/es/input/TextArea'
 import { useInfo } from '../InfoContext'
 import Z3upFiles from '@/components/Z3upFiles'
-import { API_objType } from '@/store/action/Dmanage/D1register'
-import { editPageToTopFu } from '@/utils/authority'
 import { FileUpInfoType } from '../data'
 import SelectGoods from '@/pages/Zother/SelectGoods'
 import { GoodsType } from '../SonGoodsList/data'
 
-export const pageKeyTxtObj = {
-  1: '新增',
-  2: '编辑',
-  3: '审批',
-  4: '查看'
-}
-
-export const auditBtnArr = [
-  { value: 1, label: '同意' },
-  { value: 2, label: '不同意' }
-]
-
 type Props = {
   // 顶部信息录入
   rowArr: any[]
-  // 页面字段
-  pageTxt: string
-  // api
-  APIobj: API_objType
   // 上传附件的信息
   fileUpInfo: FileUpInfoType
   Tit: string
 }
 
-function EditTopDom({ rowArr, pageTxt, APIobj, fileUpInfo, Tit }: Props) {
-  const { info, setInfoFu, snaps, setSnapsFu, timeKey, auditInfo, setAuditInfoFu } = useInfo()
+function EditTopDom({ rowArr, fileUpInfo, Tit }: Props) {
+  const { info, setInfoFu, snaps, setSnapsFu } = useInfo()
 
-  const { key, id } = useParams<any>()
+  const { key } = useParams<any>()
   // key:1 新增 2编辑 3审批 4查看
 
   const isLook = useMemo(() => {
@@ -51,57 +32,6 @@ function EditTopDom({ rowArr, pageTxt, APIobj, fileUpInfo, Tit }: Props) {
   // 控制选择藏品弹窗显示
   const [showChildTable, setShowChildTable] = useState(false)
 
-  // 创建订单
-  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) {
-        // 回到顶部
-        editPageToTopFu()
-
-        const data = res.data
-        setInfoFu(data)
-
-        // 设置有关藏品的信息
-        // 藏品清单快照信息id对比
-        const arrTemp: any = []
-        const snapsTemp = data.snaps || []
-        snapsTemp.forEach((v: any, i: number) => {
-          const obj = JSON.parse(v.snap || '{}')
-
-          const flag = v.pageType === 'clue' && !v.clueId
-          if (obj.id === null || obj.isNew || flag) obj.id = Date.now() + i
-
-          obj.idTemp = obj.id
-
-          arrTemp.push(obj)
-        })
-        // console.log('-------', arrTemp)
-
-        setSnapsFu(arrTemp)
-      }
-    },
-    [APIobj, setInfoFu, setSnapsFu]
-  )
-
-  useEffect(() => {
-    if (key === '1') createFu()
-    else getInfoFu(id)
-  }, [createFu, getInfoFu, id, key, timeKey])
-
-  // 页面最上部文字
-  const pageKeyTxt = useMemo(() => {
-    return Reflect.get(pageKeyTxtObj, key)
-  }, [key])
-
   // 数据改变
   const dataChangeFu = useCallback(
     (val: any, item: any) => {
@@ -123,72 +53,12 @@ function EditTopDom({ rowArr, pageTxt, APIobj, fileUpInfo, Tit }: Props) {
     [info, setInfoFu]
   )
 
-  // 订单申请状态
-  const statusTxt = useMemo(() => {
-    let txt = ''
-    const obj = selectObj['订单审批状态'].find(v => v.value === info.status)
-
-    // 新增的时候看不到状态
-    if (key !== '1' && obj) txt = obj.label
-    return txt
-  }, [info.status, key])
-
   return (
     <div className={styles.EditTop}>
-      <div className='pageTitle'>
-        {pageTxt}-{pageKeyTxt}
-      </div>
-
       {info.id ? (
         <>
-          {key === '3' ? (
-            <>
-              <div className='EdTit'>
-                <div>审批信息</div>
-              </div>
-              <div className='Edtop1'>
-                <div className='Edtop1row Edtop1rowFull'>
-                  <div className='Edtop1ll'>
-                    <span>* </span>审批结果:
-                  </div>
-                  <div className='Edtop1rr'>
-                    {auditBtnArr.map(btn => (
-                      <Button
-                        key={btn.value}
-                        type={btn.value === auditInfo.status ? 'primary' : 'default'}
-                        onClick={() => setAuditInfoFu('status', btn.value)}
-                      >
-                        {btn.label}
-                      </Button>
-                    ))}
-                  </div>
-                </div>
-
-                <div className='Edtop1row Edtop1rowFull'>
-                  <div className='Edtop1ll'>审批意见:</div>
-                  <div className='Edtop1rr'>
-                    <TextArea
-                      placeholder='请输入'
-                      value={auditInfo.rtfOpinion}
-                      onChange={e => setAuditInfoFu('rtfOpinion', e.target.value)}
-                      maxLength={500}
-                      showCount
-                    />
-                  </div>
-                </div>
-              </div>
-            </>
-          ) : null}
-
           <div className='EdTit'>
-            <div>
-              {Tit}
-              {statusTxt ? (
-                <Button className='EdTitBtn' type='dashed'>
-                  {statusTxt}
-                </Button>
-              ) : null}
-            </div>
+            <div>{Tit}</div>
           </div>
           <div className='Edtop1'>
             {rowArr.map((item, index) => (
@@ -277,14 +147,10 @@ function EditTopDom({ rowArr, pageTxt, APIobj, fileUpInfo, Tit }: Props) {
                             // 需要过滤掉已经有id的-不替换数据,没有id的替换数据 因为数据可能已经在另外一个弹窗更新了
                             const nowIds = snaps.map(v => v.id)
                             const dataRes: GoodsType[] = data.map((v, i) => {
-                              v.idTemp = v.id + 'clue'
+                              v.idTemp = v.id + 'goood'
                               // 优先使用已存在的snap数据,否则使用新数据
                               const item = nowIds.includes(v.id) ? snaps[i] : v
-                              // 如果是线索选择,添加标识
-                              // if (isClueSelect) {
-                              //   // 因为征集和藏品表分开的,所以在藏品里面拿征集信息,自己加上这个标识
-                              //   return { ...item, pageType: 'clue' }
-                              // }
+
                               return item
                             })
 

+ 13 - 1
src/pages/Zother/InfoContext.tsx

@@ -1,4 +1,12 @@
-import { createContext, ReactNode, useCallback, useContext, useMemo, useState } from 'react'
+import {
+  createContext,
+  ReactNode,
+  useCallback,
+  useContext,
+  useEffect,
+  useMemo,
+  useState
+} from 'react'
 import { Typetable } from './data'
 import { GoodsType } from './SonGoodsList/data'
 
@@ -40,6 +48,10 @@ export function InfoProvider({ children }: Props) {
   // 顶部信息
   const [info, setInfo] = useState({} as Typetable)
 
+  // useEffect(() => {
+  //   console.log('xxxxxxxx', info)
+  // }, [info])
+
   const setInfoFu = useCallback(
     (newInfoOrUpdater: Typetable | ((prevInfo: Typetable) => Typetable)) => {
       if (typeof newInfoOrUpdater === 'function') {