Browse Source

大改结构-删除之前的版本

shaogen1995 3 months ago
parent
commit
4eed32a832
85 changed files with 418 additions and 3836 deletions
  1. 22 1
      src/components/Z3upFiles/index.tsx
  2. 0 0
      src/components/ZGaddNow/data.ts
  3. 1 1
      src/pages/B_enterTibet/B3goodsTable/B3GaddNow/index.module.scss
  4. 5 5
      src/pages/B_enterTibet/B3goodsTable/B3GaddNow/index.tsx
  5. 0 0
      src/components/ZGaddNow/type.d.ts
  6. 1 1
      src/pages/B_enterTibet/B3flowTable/index.module.scss
  7. 9 9
      src/pages/B_enterTibet/B3flowTable/index.tsx
  8. 1 1
      src/pages/A3_ledger/A32Routing/A32table/index.tsx
  9. 1 1
      src/pages/A3_ledger/A32Routing/index.tsx
  10. 1 1
      src/pages/A3_ledger/C1ledger/index.tsx
  11. 1 1
      src/pages/B_enterTibet/B1collect/B1edit/B1MoAdd/index.tsx
  12. 3 3
      src/pages/B_enterTibet/B1collect/B1edit/index.tsx
  13. 19 0
      src/pages/B_enterTibet/B1collect/data.ts
  14. 1 1
      src/pages/B_enterTibet/B1collect/index.tsx
  15. 1 1
      src/pages/B_enterTibet/B3_4page/type.d.ts
  16. 2 2
      src/pages/B_enterTibet/B2identify/B2edit/B2MoAdd/index.tsx
  17. 5 5
      src/pages/B_enterTibet/B2identify/B2edit/index.tsx
  18. 1 1
      src/pages/B_enterTibet/B2identify/index.tsx
  19. 0 65
      src/pages/B_enterTibet/B3_4page/B3edit/B3aTop/index.module.scss
  20. 0 192
      src/pages/B_enterTibet/B3_4page/B3edit/B3aTop/index.tsx
  21. 0 20
      src/pages/B_enterTibet/B3_4page/B3edit/data.ts
  22. 0 23
      src/pages/B_enterTibet/B3_4page/B3edit/index.module.scss
  23. 0 16
      src/pages/B_enterTibet/B3_4page/B3edit/index.tsx
  24. 0 364
      src/pages/B_enterTibet/B3_4page/B3edit/main.tsx
  25. 0 9
      src/pages/B_enterTibet/B3_4page/B3entering.tsx
  26. 0 9
      src/pages/B_enterTibet/B3_4page/B4enterTibet.tsx
  27. 0 30
      src/pages/B_enterTibet/B3_4page/index.module.scss
  28. 0 331
      src/pages/B_enterTibet/B3_4page/index.tsx
  29. 4 0
      src/pages/B_enterTibet/B3entering/index.module.scss
  30. 14 0
      src/pages/B_enterTibet/B3entering/index.tsx
  31. 0 12
      src/pages/B_enterTibet/B3goodsTable/B3GaddNew/data.ts
  32. 0 227
      src/pages/B_enterTibet/B3goodsTable/B3GaddNew/index.module.scss
  33. 0 868
      src/pages/B_enterTibet/B3goodsTable/B3GaddNew/index.tsx
  34. 0 21
      src/pages/B_enterTibet/B3goodsTable/B3GaddNew/type.d.ts
  35. 0 28
      src/pages/B_enterTibet/B3goodsTable/index.module.scss
  36. 0 183
      src/pages/B_enterTibet/B3goodsTable/index.tsx
  37. 4 0
      src/pages/B_enterTibet/B4enterTibet/index.module.scss
  38. 14 0
      src/pages/B_enterTibet/B4enterTibet/index.tsx
  39. 27 13
      src/pages/C_goodsManage/C1register/AddGoods/index.tsx
  40. 4 0
      src/pages/C_goodsManage/C1register/C1look/index.module.scss
  41. 13 0
      src/pages/C_goodsManage/C1register/C1look/index.tsx
  42. 42 51
      src/pages/C_goodsManage/C1register/index.tsx
  43. 71 0
      src/pages/C_goodsManage/C22goodEdit/data.ts
  44. 78 9
      src/pages/C_goodsManage/C22goodEdit/index.tsx
  45. 1 1
      src/pages/C_goodsManage/C2files/data.ts
  46. 1 1
      src/pages/C_goodsManage/C2files/index.tsx
  47. 1 1
      src/pages/C_goodsManage/C3focus/index.tsx
  48. 0 9
      src/pages/C_goodsManage/C5register/index.tsx
  49. 0 136
      src/pages/C_goodsManage/C6edit/C6add/index.module.scss
  50. 0 745
      src/pages/C_goodsManage/C6edit/C6add/index.tsx
  51. 0 30
      src/pages/C_goodsManage/C6edit/index.module.scss
  52. 0 277
      src/pages/C_goodsManage/C6edit/index.tsx
  53. 0 9
      src/pages/C_goodsManage/C7delete/index.tsx
  54. 6 6
      src/pages/D_storeManage/D4impStor/D4edit/index.tsx
  55. 2 2
      src/pages/D_storeManage/D4impStor/index.tsx
  56. 6 6
      src/pages/D_storeManage/D6putsStor/D6edit/index.tsx
  57. 1 1
      src/pages/D_storeManage/D6putsStor/D6impRelation/index.tsx
  58. 2 2
      src/pages/D_storeManage/D6putsStor/index.tsx
  59. 3 3
      src/pages/E_goodsStorage/E1accident/E1edit/index.tsx
  60. 1 1
      src/pages/E_goodsStorage/E1accident/index.tsx
  61. 6 6
      src/pages/E_goodsStorage/E2damaged/E2edit/index.tsx
  62. 2 2
      src/pages/E_goodsStorage/E2damaged/index.tsx
  63. 6 6
      src/pages/E_goodsStorage/E3actuality/E3edit/index.tsx
  64. 2 2
      src/pages/E_goodsStorage/E3actuality/index.tsx
  65. 5 5
      src/pages/E_goodsStorage/E4repair/E4edit/index.tsx
  66. 1 1
      src/pages/E_goodsStorage/E4repair/index.tsx
  67. 8 60
      src/pages/Layout/data.ts
  68. 1 1
      src/pages/Y_goodsDetails/Y1cathet/Y33com.tsx
  69. 1 1
      src/pages/Y_goodsDetails/Y1cathet/Y44com.tsx
  70. 1 1
      src/store/reducer/A32Routing.ts
  71. 1 1
      src/store/reducer/B1collect.ts
  72. 1 1
      src/store/reducer/B2identify.ts
  73. 1 1
      src/store/reducer/C1ledger.ts
  74. 1 1
      src/store/reducer/C2files.ts
  75. 1 1
      src/store/reducer/C3focus.ts
  76. 1 1
      src/store/reducer/C6edit.ts
  77. 1 1
      src/store/reducer/C8recycleBin.ts
  78. 1 1
      src/store/reducer/D4impStor.ts
  79. 1 1
      src/store/reducer/D6putsStor.ts
  80. 1 1
      src/store/reducer/E1accident.ts
  81. 1 1
      src/store/reducer/E2damaged.ts
  82. 1 1
      src/store/reducer/E3actuality.ts
  83. 1 1
      src/store/reducer/E4repair.ts
  84. 1 1
      src/store/reducer/FourAll.ts
  85. 2 2
      src/utils/history.ts

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

@@ -10,7 +10,28 @@ import { EyeOutlined, UploadOutlined, CloseOutlined, DownloadOutlined } from '@a
 import classNames from 'classnames'
 import { baseURL } from '@/utils/http'
 import { authFilesLookFu } from './data'
-import { GoodFileType } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/type'
+
+export type GoodFileType = {
+  createTime: string
+  creatorId: number
+  creatorName: string
+  description: string
+  display?: any
+  effect: string | null
+  fileName: string
+  filePath: string
+  fileSize: string
+  goodName: string
+  goodNum: string
+  goodNumName: string
+  id: number
+  moduleId?: any
+  moduleName: string
+  parentId?: any
+  thumb: string
+  type: string
+  updateTime: string
+}
 
 type Props = {
   max: number //最多传多少个文件

src/pages/B_enterTibet/B3goodsTable/B3GaddNow/data.ts → src/components/ZGaddNow/data.ts


+ 1 - 1
src/pages/B_enterTibet/B3goodsTable/B3GaddNow/index.module.scss

@@ -1,5 +1,5 @@
 // 新增弹窗页面
-.B3GaddNow {
+.ZGaddNow {
   :global {
     .B3Gtit {
       display: flex;

+ 5 - 5
src/pages/B_enterTibet/B3goodsTable/B3GaddNow/index.tsx

@@ -24,7 +24,7 @@ type Props = {
   register?: boolean
 }
 
-function B3GaddNow({
+function ZGaddNow({
   nowSta,
   closeFu,
   isOne = false,
@@ -216,7 +216,7 @@ function B3GaddNow({
 
   return (
     <Modal
-      wrapClassName={styles.B3GaddNow}
+      wrapClassName={styles.ZGaddNow}
       open={true}
       title={
         <div className='B3Gtit'>
@@ -255,7 +255,7 @@ function B3GaddNow({
         {/* 表格 */}
         <MyTable
           yHeight={575}
-          classKey='B3GaddNow'
+          classKey='ZGaddNow'
           list={tableList}
           columnsTemp={[
             ...B3eTableC,
@@ -279,6 +279,6 @@ function B3GaddNow({
   )
 }
 
-const MemoB3GaddNow = React.memo(B3GaddNow)
+const MemoZGaddNow = React.memo(ZGaddNow)
 
-export default MemoB3GaddNow
+export default MemoZGaddNow

src/pages/B_enterTibet/B3goodsTable/B3GaddNow/type.d.ts → src/components/ZGaddNow/type.d.ts


+ 1 - 1
src/pages/B_enterTibet/B3flowTable/index.module.scss

@@ -1,4 +1,4 @@
-.B3flowTable {
+.ZflowTable {
   position: absolute;
   z-index: 999;
   top: 0;

+ 9 - 9
src/pages/B_enterTibet/B3flowTable/index.tsx

@@ -7,7 +7,7 @@ import { B3FtableC } from '@/utils/tableData'
 import X2lookText from '@/pages/X_stock/X2lookText'
 import { textFu } from '@/utils/history'
 
-export type B3flowTableType = {
+export type ZflowTableType = {
   createTime: string
   creatorId: number
   creatorName: string
@@ -20,18 +20,18 @@ export type B3flowTableType = {
   updateTime: string
 }
 type Props = {
-  tableArr: B3flowTableType[]
+  tableArr: ZflowTableType[]
   closeFu: () => void
 }
 
-function B3flowTable({ tableArr, closeFu }: Props) {
+function ZflowTable({ tableArr, closeFu }: Props) {
   // const { key, id } = useParams<any>()
 
   const tableLastBtn = useMemo(() => {
     return [
       {
         title: '审批结构',
-        render: (item: B3flowTableType) => {
+        render: (item: ZflowTableType) => {
           const txt1 = item.status === 1 ? '同意' : item.status === 2 ? '不同意' : '(空)'
           const txt2 = item.isAuto === 1 ? '(自动)' : ''
           return txt1 + txt2
@@ -39,7 +39,7 @@ function B3flowTable({ tableArr, closeFu }: Props) {
       },
       {
         title: '审批意见',
-        render: (item: B3flowTableType) => {
+        render: (item: ZflowTableType) => {
           if (textFu(item.rtfOpinion)) {
             return (
               <Button size='small' type='text' onClick={() => setLook(textFu(item.rtfOpinion))}>
@@ -56,7 +56,7 @@ function B3flowTable({ tableArr, closeFu }: Props) {
   const [look, setLook] = useState('')
 
   return (
-    <div className={styles.B3flowTable} hidden={tableArr.length === 0}>
+    <div className={styles.ZflowTable} hidden={tableArr.length === 0}>
       <div className='B3Fbox'>
         <div className='B3Ftop'>
           <div>申请记录</div>
@@ -65,7 +65,7 @@ function B3flowTable({ tableArr, closeFu }: Props) {
         {/* 表格 */}
         <MyTable
           yHeight={570}
-          classKey='B3flowTable'
+          classKey='ZflowTable'
           list={tableArr}
           columnsTemp={B3FtableC}
           lastBtn={tableLastBtn}
@@ -79,6 +79,6 @@ function B3flowTable({ tableArr, closeFu }: Props) {
   )
 }
 
-const MemoB3flowTable = React.memo(B3flowTable)
+const MemoZflowTable = React.memo(ZflowTable)
 
-export default MemoB3flowTable
+export default MemoZflowTable

+ 1 - 1
src/pages/A3_ledger/A32Routing/A32table/index.tsx

@@ -1,7 +1,6 @@
 import React, { useEffect, useMemo, useState } from 'react'
 import styles from './index.module.scss'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import { selectObj } from '@/utils/select'
 import { Button, Table } from 'antd'
 import classNames from 'classnames'
@@ -10,6 +9,7 @@ import { useSelector } from 'react-redux'
 import { RootState } from '@/store'
 import ImageLazy from '@/components/ImageLazy'
 import { statusCollectObj, statusStorageObj } from '@/utils/tableData'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 type Props = {
   pageNum: number

+ 1 - 1
src/pages/A3_ledger/A32Routing/index.tsx

@@ -3,7 +3,6 @@ import styles from './index.module.scss'
 import { Button, Cascader, Input, Select } from 'antd'
 import dayjs from 'dayjs'
 import { MessageFu } from '@/utils/message'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import { resJiLianFu } from '@/utils/history'
 import { statusCollectObj, statusStorageObj } from '@/utils/tableData'
 import ExportJsonExcel from 'js-export-excel'
@@ -21,6 +20,7 @@ import A32set from './A32set'
 import store from '@/store'
 import A32table from './A32table'
 import { selectObj } from '@/utils/select'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 function A32Routing() {
   const dispatch = useDispatch()

+ 1 - 1
src/pages/A3_ledger/C1ledger/index.tsx

@@ -13,11 +13,11 @@ import { C1_APIgetList } from '@/store/action/C1ledger'
 import { RootState } from '@/store'
 import dayjs from 'dayjs'
 import { MessageFu } from '@/utils/message'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import ExportJsonExcel from 'js-export-excel'
 import C8recycleBin from '../ComPage/C8recycleBin'
 import C4import from '../ComPage/C4import'
 import { selectObj } from '@/utils/select'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 function C1ledger() {
   // 是否是藏品查询的藏品信息

+ 1 - 1
src/pages/B_enterTibet/B1collect/B1edit/B1MoAdd/index.tsx

@@ -9,7 +9,7 @@ import { MessageFu } from '@/utils/message'
 import { cascaderObjFu } from '@/utils/history'
 import ZupTypes from '@/components/ZupTypes'
 import { B1Xtype } from '../../data'
-import { cascaderChArr } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew'
+import { cascaderChArr } from '@/pages/C_goodsManage/C1register/AddGoods'
 
 type Props = {
   sId: number

+ 3 - 3
src/pages/B_enterTibet/B1collect/B1edit/index.tsx

@@ -7,8 +7,7 @@ import { MessageFu } from '@/utils/message'
 import MyTable from '@/components/MyTable'
 import { B1TableC2, statusObj } from '@/utils/tableData'
 import MyPopconfirm from '@/components/MyPopconfirm'
-import { FourTableType } from '../../B3_4page/type'
-import B3flowTable from '../../B3flowTable'
+import ZflowTable from '../../../../components/ZflowTable'
 import history, { btnFlagFu2 } from '@/utils/history'
 import {
   B1_APIcreate,
@@ -26,6 +25,7 @@ import X3auditInfo from '@/pages/X_stock/X3auditInfo'
 import B1MoAdd from './B1MoAdd'
 import { B1Xtype } from '../data'
 import ZupFileTable from '@/components/ZupFileTable'
+import { FourTableType } from '../type'
 
 function B1edit() {
   const { key, id } = useParams<any>()
@@ -361,7 +361,7 @@ function B1edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
 
         {/* 附件归档 */}

+ 19 - 0
src/pages/B_enterTibet/B1collect/data.ts

@@ -45,3 +45,22 @@ export type B1Xtype = {
   updateTime: string
   img: []
 }
+
+export const B3aForm1 = [
+  { name: '业务名称', key: 'typeName' },
+  { name: '发起人', key: 'creatorName' },
+  { name: '发起部门', key: 'deptName' },
+  { name: '业务单号', key: 'num' }
+]
+
+export type D3InputKeyType = 'num' | 'name' | 'deptName' | 'userName'
+
+export const B3_4inputKeyArr: {
+  name: string
+  key: D3InputKeyType
+}[] = [
+  { name: '业务单号', key: 'num' },
+  { name: '申请名称', key: 'name' },
+  { name: '发起部门', key: 'deptName' },
+  { name: '发起人', key: 'userName' }
+]

+ 1 - 1
src/pages/B_enterTibet/B1collect/index.tsx

@@ -9,11 +9,11 @@ import { B1TableC, statusObj } from '@/utils/tableData'
 import { useDispatch, useSelector } from 'react-redux'
 import { B1baseFormData, B1InputKeyType } from './data'
 import { B1_APIdel, B1_APIgetList } from '@/store/action/B1collect'
-import { FourTableType } from '../B3_4page/type'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { RootState } from '@/store'
 import dayjs from 'dayjs'
 import ExportJsonExcel from 'js-export-excel'
+import { FourTableType } from './type'
 const { RangePicker } = DatePicker
 
 function B1collect() {

+ 1 - 1
src/pages/B_enterTibet/B3_4page/type.d.ts

@@ -14,7 +14,7 @@ export type TypeB3Form = {
 export type TypeB3PageSta = '新增' | '编辑' | '查看' | '审批'
 
 export type FourTableType = {
-  audits: B3flowTableType[]
+  audits: ZflowTableType[]
   authInfoRtf: string
   authResultRtf: string
   authUnit: string

+ 2 - 2
src/pages/B_enterTibet/B2identify/B2edit/B2MoAdd/index.tsx

@@ -7,11 +7,11 @@ import ZupTypes from '@/components/ZupTypes'
 import { selectObj } from '@/utils/select'
 import { cascaderObjFu } from '@/utils/history'
 import MyPopconfirm from '@/components/MyPopconfirm'
-import { cascaderChArr } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew'
 import TextArea from 'antd/es/input/TextArea'
 import { API_C2getListByIds } from '@/store/action/C2files'
-import { GoodFileType } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/type'
 import { fileImgArr } from '@/store/action/layout'
+import { cascaderChArr } from '@/pages/C_goodsManage/C1register/AddGoods'
+import { GoodFileType } from '@/components/Z3upFiles'
 
 type Props = {
   info: C1GoodType

+ 5 - 5
src/pages/B_enterTibet/B2identify/B2edit/index.tsx

@@ -3,7 +3,6 @@ import styles from './index.module.scss'
 import { useParams } from 'react-router-dom'
 import { Button, Input } from 'antd'
 import MyPopconfirm from '@/components/MyPopconfirm'
-import { FourTableType } from '../../B3_4page/type'
 import {
   B2_APIcreate,
   B2_APIdel,
@@ -22,14 +21,15 @@ import X3auditInfo from '@/pages/X_stock/X3auditInfo'
 import { B2TableC2, statusObj } from '@/utils/tableData'
 import TextArea from 'antd/es/input/TextArea'
 import MyTable from '@/components/MyTable'
-import B3flowTable from '../../B3flowTable'
+import ZflowTable from '../../../../components/ZflowTable'
 import ZupFileTable from '@/components/ZupFileTable'
-import B3GaddNow from '../../B3goodsTable/B3GaddNow'
+import ZGaddNow from '../../../../components/ZGaddNow'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
 import { C1GoodType } from '@/pages/A3_ledger/C1ledger/type'
 import classNames from 'classnames'
 import B2MoAdd from './B2MoAdd'
 import { B2keyFliterFu } from '../data'
+import { FourTableType } from '../../B1collect/type'
 
 function B2edit() {
   const { key, id } = useParams<any>()
@@ -443,7 +443,7 @@ function B2edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
 
         {/* 附件归档 */}
@@ -495,7 +495,7 @@ function B2edit() {
 
       {/* 新增弹窗 */}
       {nowSta.id ? (
-        <B3GaddNow
+        <ZGaddNow
           nowSta={nowSta}
           closeFu={() => setNowSta({ key: '', id: '' })}
           dataResFu={data => {

+ 1 - 1
src/pages/B_enterTibet/B2identify/index.tsx

@@ -7,13 +7,13 @@ import { Button, DatePicker, Input, Select } from 'antd'
 import { B2_APIdel, B2_APIgetList } from '@/store/action/B2identify'
 import { MessageFu } from '@/utils/message'
 import history, { btnFlagFu } from '@/utils/history'
-import { FourTableType } from '../B3_4page/type'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { RootState } from '@/store'
 import dayjs from 'dayjs'
 import { B1TableC, statusObj } from '@/utils/tableData'
 import { selectObj } from '@/utils/select'
 import MyTable from '@/components/MyTable'
+import { FourTableType } from '../B1collect/type'
 const { RangePicker } = DatePicker
 
 function B2identify() {

+ 0 - 65
src/pages/B_enterTibet/B3_4page/B3edit/B3aTop/index.module.scss

@@ -1,65 +0,0 @@
-.B3aTop {
-  width: 100%;
-  height: calc(100% - 70px);
-  overflow-y: auto;
-  :global {
-    .B3aTit {
-      font-size: 18px;
-      font-weight: 700;
-      padding-bottom: 10px;
-      padding-left: 18px;
-      border-bottom: 1px solid #ccc;
-      margin-bottom: 17px;
-      color: var(--themeColor);
-      .ant-btn {
-        margin-left: 15px;
-        pointer-events: none;
-      }
-    }
-    .B3aRow {
-      display: flex;
-      justify-content: space-between;
-      align-items: self-start;
-      font-size: 16px;
-      flex-wrap: wrap;
-      .B3aR1 {
-        width: 48%;
-        display: flex;
-        align-items: center;
-        margin-bottom: 20px;
-        .B3aRll {
-          width: 100px;
-          text-align: right;
-          font-weight: 700;
-          & > span {
-            color: #ff4d4f;
-          }
-        }
-        .B3aRrr {
-          width: calc(100% - 100px);
-          .ant-input-affix-wrapper {
-            width: 300px;
-          }
-        }
-      }
-      .B3aR2 {
-        align-items: self-start;
-        .B3aRll {
-          position: relative;
-          top: 3px;
-        }
-      }
-
-      .B3aFull {
-        width: 100%;
-        margin-top: -20px;
-        align-items: self-start;
-        margin-bottom: 0;
-        .B3aRll {
-          position: relative;
-          top: 3px;
-        }
-      }
-    }
-  }
-}

+ 0 - 192
src/pages/B_enterTibet/B3_4page/B3edit/B3aTop/index.tsx

@@ -1,192 +0,0 @@
-import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
-import styles from './index.module.scss'
-import { Button, DatePicker, Input } from 'antd'
-import dayjs from 'dayjs'
-import Z3upFiles from '@/components/Z3upFiles'
-import ZRichTexts from '@/components/ZRichTexts'
-import { forwardRef, useImperativeHandle } from 'react'
-import { FourTableType, TypeB3PageSta } from '../../type'
-import X3auditInfo from '@/pages/X_stock/X3auditInfo'
-import { B3aForm1 } from '../data'
-import { useParams } from 'react-router-dom'
-import { statusObj } from '@/utils/tableData'
-
-type Props = {
-  info: FourTableType
-  pageSta: TypeB3PageSta
-  ref: any //当前自己的ref,给父组件调用
-  Dom?: React.ReactNode
-}
-
-function B3aTop({ info, pageSta, Dom }: Props, ref: any) {
-  const { pageKey } = useParams<any>()
-
-  const [formData, setFormData] = useState({} as FourTableType)
-
-  useEffect(() => {
-    if (info.id) {
-      setFormData(info)
-      // 设置富文本
-      if (info.rtf) ZRichTextRef.current?.ritxtShowFu(JSON.parse(info.rtf))
-    }
-  }, [info])
-
-  const timeChange = useCallback(
-    (e: any) => {
-      setFormData({ ...formData, date: dayjs(e).format('YYYY-MM-DD') })
-    },
-    [formData]
-  )
-
-  // 上传附件的ref
-  const filesRef = useRef<any>(null)
-
-  // 富文本的ref
-  const ZRichTextRef = useRef<any>(null)
-
-  // 审批意见的ref
-  const ZAuditRef = useRef<any>(null)
-
-  // 审批的sta
-  const [auditSta, setAuDitSta] = useState('')
-
-  // 可以让父组件调用子组件的方法
-  const resData = useCallback(() => {
-    const rtf1 = ZRichTextRef.current?.fatherBtnOkFu() || { flag: true }
-    // console.log('申请信息富文本', JSON.stringify(rtf1.val || ''))
-
-    const rtf2 = ZAuditRef.current?.resData()
-    // console.log('审批信息富文本', rtf2)
-
-    // 上传附件的
-    const filesRes = filesRef.current.filesIdRes()
-
-    return { formData, filesRes, rtf1: JSON.stringify(rtf1.val || ''), audit: { rtf2, auditSta } }
-  }, [auditSta, formData])
-
-  useImperativeHandle(ref, () => ({
-    resData
-  }))
-
-  const fileUrl = useMemo(() => {
-    return {
-      1: 'cms/orderHouse/upload',
-      2: 'cms/orderHide/upload',
-      3: 'cms/register/upload',
-      4: 'cms/orderDel/upload'
-    }[pageKey as '1']
-  }, [pageKey])
-
-  return (
-    <div className={styles.B3aTop} id='B3aTop'>
-      {['审批'].includes(pageSta) ? (
-        <X3auditInfo
-          dirCode={`Four${pageKey}`}
-          myUrl={fileUrl}
-          auditSta={auditSta}
-          auditStaFu={val => setAuDitSta(val)}
-          ref={ZAuditRef}
-        />
-      ) : null}
-
-      <div className='B3aTit'>
-        申请信息
-        {pageSta !== '新增' ? (
-          <Button type='dashed'>{Reflect.get(statusObj, info.status)}</Button>
-        ) : null}
-      </div>
-
-      <div className='B3aRow'>
-        <div className='B3aR1'>
-          <div className='B3aRll'>
-            <span> * </span>申请名称:
-          </div>
-          <div className='B3aRrr'>
-            <Input
-              value={formData.name}
-              onChange={e => setFormData({ ...formData, name: e.target.value.trim() })}
-              readOnly={['查看', '审批'].includes(pageSta)}
-              placeholder='请输入内容'
-              maxLength={30}
-              showCount
-            />
-          </div>
-        </div>
-        <div className='B3aR1'>
-          <div className='B3aRll'>
-            <span> * </span>业务日期:
-          </div>
-          <div className='B3aRrr'>
-            <DatePicker
-              disabled={['查看', '审批'].includes(pageSta)}
-              allowClear={false}
-              value={dayjs(formData.date)}
-              onChange={timeChange}
-            />
-          </div>
-        </div>
-
-        {B3aForm1.map(v => (
-          <div className='B3aR1' key={v.name}>
-            <div className='B3aRll'>{v.name}:</div>
-            <div className='B3aRrr'>
-              {formData[v.key as 'name']}
-              {['查看', '审批'].includes(pageSta) && v.name === '发起人'
-                ? ' - ' + formData.createTime || ''
-                : ''}
-            </div>
-          </div>
-        ))}
-
-        <div className='B3aR1 B3aR2'>
-          <div className='B3aRll'>附件:</div>
-          <div className='B3aRrr'>
-            <Z3upFiles
-              max={10}
-              isLook={['查看', '审批'].includes(pageSta)}
-              ref={filesRef}
-              fileCheck={false}
-              dirCode={`Four${pageKey}`}
-              myUrl={fileUrl}
-              lookData={info.files || []}
-              size={500}
-              fromData={{ moduleId: info.id }}
-            />
-          </div>
-        </div>
-
-        <div className='B3aR1'>
-          <div className='B3aRll'>原因事由:</div>
-          <div className='B3aRrr'>
-            <Input
-              value={formData.reason}
-              onChange={e => setFormData({ ...formData, reason: e.target.value })}
-              readOnly={['查看', '审批'].includes(pageSta)}
-              placeholder='请输入内容'
-              maxLength={30}
-              showCount
-            />
-          </div>
-        </div>
-
-        <div className='B3aR1 B3aFull'>
-          <div className='B3aRll'>备注:</div>
-          <div className='B3aRrr'>
-            <ZRichTexts
-              check={false}
-              dirCode={`Four${pageKey}`}
-              myUrl={fileUrl}
-              isLook={['查看', '审批'].includes(pageSta)}
-              ref={ZRichTextRef}
-              isOne={true}
-              upAudioBtnNone={true}
-            />
-          </div>
-        </div>
-      </div>
-      {Dom ? Dom : null}
-    </div>
-  )
-}
-
-export default forwardRef(B3aTop)

+ 0 - 20
src/pages/B_enterTibet/B3_4page/B3edit/data.ts

@@ -1,20 +0,0 @@
-export const B3aForm1 = [
-  { name: '业务名称', key: 'typeName' },
-  { name: '发起人', key: 'creatorName' },
-  { name: '发起部门', key: 'deptName' },
-  { name: '业务单号', key: 'num' }
-]
-
-export const B3TiaoObjUrl = {
-  1: '/entering',
-  2: '/enterTibet',
-  3: '/register',
-  4: '/delete'
-}
-
-export const B3TitObjKey = {
-  '1': '入馆',
-  '2': '入藏',
-  '3': '登记',
-  '4': '删除'
-}

+ 0 - 23
src/pages/B_enterTibet/B3_4page/B3edit/index.module.scss

@@ -1,23 +0,0 @@
-.B3editMain {
-  background-color: #fff;
-  border-radius: 10px;
-  padding: 15px 24px 0px;
-  :global {
-    // #B3aTop {
-    //   height: 100%;
-    //   padding-bottom: 30px;
-    // }
-    .ant-table-cell {
-      padding: 8px !important;
-    }
-
-    .B3eBtn {
-      position: absolute;
-      bottom: 20px;
-      left: 124px;
-      .ant-btn {
-        margin-right: 20px;
-      }
-    }
-  }
-}

+ 0 - 16
src/pages/B_enterTibet/B3_4page/B3edit/index.tsx

@@ -1,16 +0,0 @@
-import React from 'react'
-import B3editMain from './main'
-import { useParams } from 'react-router-dom'
-function B3edit() {
-  const { key } = useParams<any>()
-
-  return (
-    <B3editMain
-      pageSta={key === '1' ? '新增' : key === '2' ? '编辑' : key === '3' ? '审批' : '查看'}
-    />
-  )
-}
-
-const MemoB3edit = React.memo(B3edit)
-
-export default MemoB3edit

+ 0 - 364
src/pages/B_enterTibet/B3_4page/B3edit/main.tsx

@@ -1,364 +0,0 @@
-import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
-import styles from './index.module.scss'
-import { useParams } from 'react-router-dom'
-import { FourTableType, TypeB3PageSta } from '../type'
-import { Button } from 'antd'
-import MyPopconfirm from '@/components/MyPopconfirm'
-import history, { btnFlagFu2 } from '@/utils/history'
-import B3goodsTable from '../../B3goodsTable'
-import B3flowTable from '../../B3flowTable'
-import { B3TiaoObjUrl, B3TitObjKey } from './data'
-import B3aTop from './B3aTop'
-import { MessageFu } from '@/utils/message'
-import {
-  FourAPI_audit,
-  FourAPI_create,
-  FourAPI_del,
-  FourAPI_getInfo,
-  FourAPI_revocation,
-  FourAPI_saveApply,
-  FourAPI_saveCreate,
-  FourAPI_saveDraft
-} from '@/store/action/FourAll'
-import { EXbtnFu } from '@/utils/EXBtn'
-
-type Props = {
-  pageSta: TypeB3PageSta
-}
-
-function B3editMain({ pageSta }: Props) {
-  const { key, id, pageKey } = useParams<any>()
-
-  // 顶部数据
-  const [topInfo, setTopInfo] = useState({} as FourTableType)
-
-  // 创建订单
-  const creatFu = useCallback(async () => {
-    const res = await FourAPI_create(pageKey)
-    if (res.code === 0) {
-      setTopInfo(res.data)
-    }
-  }, [pageKey])
-
-  // 获取详情
-  const getInfoFu = useCallback(async () => {
-    const res = await FourAPI_getInfo(pageKey, id)
-    if (res.code === 0) {
-      setTopInfo(res.data)
-
-      // 设置藏品清单数据
-
-      goodsTableRef.current?.setData(res.data.goods || [])
-    }
-  }, [id, pageKey])
-
-  useEffect(() => {
-    if (key === '1') creatFu()
-    else getInfoFu()
-    // key 1 2 3 4 新增 编辑 审批 查看
-    // pageKey 1 2 3 4 入馆 入藏 登记 删除
-  }, [creatFu, getInfoFu, key])
-
-  // key改变的时候,滚动到顶部
-  const scrollTopFu = useCallback(() => {
-    const dom = document.querySelector('#B3aTop') as HTMLDivElement
-    if (dom) dom.scrollTop = 0
-  }, [])
-
-  useEffect(() => {
-    scrollTopFu()
-  }, [key, scrollTopFu])
-
-  // 点击按钮调用子组件的方法获取数据
-  const topRef = useRef<any>(null)
-
-  // 藏品清单子组件
-  const goodsTableRef = useRef<any>(null)
-
-  // 新增的按钮点击
-  const btnClickFu = useCallback(
-    async (val: '草稿' | '创建', flag: '当前页' | '编辑页') => {
-      // 从顶部组件中拿到数据
-      const resData = topRef.current?.resData()
-      // console.log('从子组件获取数据', resData)
-
-      const obj = {
-        ...resData.formData,
-        fileIds: resData.filesRes.join(','),
-        rtf: resData.rtf1
-      }
-      if (!resData.formData.name) return MessageFu.warning('申请名称不能为空')
-
-      if (val === '草稿') {
-        // 存草稿 当前页保存 不跳转
-        const res = await FourAPI_saveDraft(pageKey, obj)
-        if (res.code === 0) {
-          MessageFu.success(flag === '当前页' ? '草稿保存成功' : '添加藏品成功')
-          if (flag === '编辑页') {
-            const url = Reflect.get(B3TiaoObjUrl, pageKey)
-            history.push(`${url}_edit/2/${resData.formData.id}/${pageKey}`)
-          }
-        }
-      } else {
-        const res = await FourAPI_saveCreate(pageKey, obj)
-        if (res.code === 0) {
-          MessageFu.success('创建成功')
-          const url = Reflect.get(B3TiaoObjUrl, pageKey)
-          history.push(`${url}_edit/2/${resData.formData.id}/${pageKey}`)
-        }
-      }
-    },
-    [pageKey]
-  )
-
-  // 编辑点击提交
-  const editBtnOk = useCallback(
-    async (obj: any, id: number) => {
-      const res = await FourAPI_saveApply(pageKey, obj)
-
-      if (res.code === 0) {
-        MessageFu.success('操作成功')
-        // 跳详情页
-        const url = Reflect.get(B3TiaoObjUrl, pageKey)
-        history.push(`${url}_edit/4/${id}/${pageKey}`)
-      }
-    },
-    [pageKey]
-  )
-
-  // 点击保存
-  const btnOk = useCallback(async () => {
-    // 从顶部组件中拿到数据
-    const resData = topRef.current?.resData()
-    // console.log('从子组件获取数据', resData)
-
-    if (!resData.formData.name) return MessageFu.warning('申请名称不能为空')
-
-    const resData2 = goodsTableRef.current?.resData()
-
-    const obj = {
-      ...resData.formData,
-      fileIds: resData.filesRes.join(','),
-      goodsIds: resData2.tableIds,
-      rtf: resData.rtf1
-    }
-    if (pageSta === '审批') {
-      // 审批逻辑
-      // console.log('xxxxx', resData)
-      const auditObj = resData.audit || {}
-
-      if (!auditObj.auditSta) {
-        scrollTopFu()
-        return MessageFu.warning('请选择审批结果')
-      }
-
-      const res = await FourAPI_audit(pageKey, {
-        orderId: resData.formData.id,
-        rtfOpinion: auditObj.rtf2,
-        status: auditObj.auditSta === '同意' ? 1 : 2
-      })
-
-      if (res.code === 0) {
-        MessageFu.success('审批成功')
-        // editBtnOk(obj, resData.formData.id)
-        // 跳详情页
-        const url = Reflect.get(B3TiaoObjUrl, pageKey)
-        history.push(`${url}_edit/4/${resData.formData.id}/${pageKey}`)
-      }
-
-      // 编辑逻辑
-    } else editBtnOk(obj, resData.formData.id)
-  }, [editBtnOk, pageKey, pageSta, scrollTopFu])
-
-  // 点击取消
-  const btnX = useCallback(() => {
-    let url = Reflect.get(B3TiaoObjUrl, pageKey)
-    history.push(url)
-  }, [pageKey])
-
-  // const lookBtnFu = useCallback((val: string) => {
-  //   const obj = {
-  //     创建: '在当前页,改状态 草稿-待提交',
-  //     提交: '在当前页,改状态 待提交-待审批/已完成',
-  //     撤回: '在当前页,改状态 待审批/待提交',
-  //     审批: '跳审批页',
-  //     编辑: '跳编辑页',
-  //     重新提交: '当前页,审批不通过-待审批'
-  //   }
-  // }, [])
-
-  // 查看的按钮创建-提交-撤回
-  const lookBtnFu = useCallback(
-    async (val: '创建' | '提交' | '撤回') => {
-      // 从顶部组件中拿到数据
-      const resData = topRef.current?.resData()
-      const resData2 = goodsTableRef.current?.resData()
-      const obj = {
-        ...resData.formData,
-        fileIds: resData.filesRes.join(','),
-        goodsIds: resData2.tableIds,
-        rtf: resData.rtf1
-      }
-
-      const res =
-        val === '创建'
-          ? await FourAPI_saveCreate(pageKey, obj)
-          : val === '提交'
-          ? await FourAPI_saveApply(pageKey, obj)
-          : await FourAPI_revocation(pageKey, id)
-
-      if (res.code === 0) {
-        scrollTopFu()
-        MessageFu.success(val + '成功')
-        getInfoFu()
-      }
-    },
-    [getInfoFu, id, pageKey, scrollTopFu]
-  )
-
-  // 查看模式点击删除
-  const delFu = useCallback(async () => {
-    const res = await FourAPI_del(pageKey, id)
-    if (res.code === 0) {
-      MessageFu.success('删除成功')
-      btnX()
-    }
-  }, [btnX, id, pageKey])
-
-  // 查看模式点击审批 编辑
-  const lookJumpFu = useCallback(
-    (val: '审批' | '编辑') => {
-      const url = Reflect.get(B3TiaoObjUrl, pageKey)
-      history.push(`${url}_edit/${val === '审批' ? 3 : 2}/${id}/${pageKey}`)
-      MessageFu.success(`已跳转至${val}页面`)
-    },
-    [id, pageKey]
-  )
-
-  // 查看模式下的按钮
-  const lookBtn = useMemo(() => {
-    return (
-      <>
-        {btnFlagFu2(topInfo)['创建'] ? (
-          <Button type='primary' onClick={() => lookBtnFu('创建')}>
-            创建
-          </Button>
-        ) : null}
-        {btnFlagFu2(topInfo)['提交'] ? (
-          <Button type='primary' onClick={() => lookBtnFu('提交')}>
-            提交
-          </Button>
-        ) : null}
-
-        {btnFlagFu2(topInfo)['撤回'] ? (
-          <MyPopconfirm
-            txtK='撤回'
-            onConfirm={() => lookBtnFu('撤回')}
-            Dom={
-              <Button type='primary' danger>
-                撤回
-              </Button>
-            }
-          />
-        ) : null}
-
-        {btnFlagFu2(topInfo)['审批'] ? (
-          <Button type='primary' onClick={() => lookJumpFu('审批')}>
-            审批
-          </Button>
-        ) : null}
-        {btnFlagFu2(topInfo)['编辑'] ? (
-          <Button type='primary' onClick={() => lookJumpFu('编辑')}>
-            编辑
-          </Button>
-        ) : null}
-
-        {btnFlagFu2(topInfo)['重新提交'] ? (
-          <Button type='primary' onClick={() => lookBtnFu('提交')}>
-            重新提交
-          </Button>
-        ) : null}
-
-        {EXbtnFu(topInfo)}
-
-        {btnFlagFu2(topInfo)['删除'] ? (
-          <MyPopconfirm
-            txtK='删除'
-            onConfirm={() => delFu()}
-            Dom={
-              <Button type='primary' danger>
-                删除
-              </Button>
-            }
-          />
-        ) : null}
-
-        <Button onClick={btnX}>返回</Button>
-      </>
-    )
-  }, [btnX, delFu, lookBtnFu, lookJumpFu, topInfo])
-
-  // 申请记录
-  const [auditsShow, setAuditsShow] = useState(false)
-
-  return (
-    <div className={styles.B3editMain}>
-      <div className='pageTitle'>
-        藏品{Reflect.get(B3TitObjKey, pageKey)}-{pageSta}
-      </div>
-
-      <B3aTop
-        info={topInfo}
-        pageSta={pageSta}
-        ref={topRef}
-        Dom={
-          <>
-            {/* 藏品清单 */}
-            {pageSta === '新增' ? null : <B3goodsTable ref={goodsTableRef} pageSta={pageSta} />}
-
-            {/* 申请流程 */}
-            {auditsShow ? (
-              <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
-            ) : null}
-          </>
-        }
-      />
-
-      {/* 底部按钮 */}
-      <div className='B3eBtn'>
-        {['查看', '审批'].includes(key) && topInfo.audits && topInfo.audits.length ? (
-          <Button type='primary' onClick={() => setAuditsShow(true)}>
-            申请记录
-          </Button>
-        ) : null}
-
-        {/* 编辑的时候是保存 审批的时候是提交 */}
-        {['编辑', '审批'].includes(pageSta) ? (
-          <Button type='primary' onClick={btnOk}>
-            {pageSta === '编辑' ? '保存' : '提交'}
-          </Button>
-        ) : null}
-
-        {pageSta === '新增' ? (
-          <>
-            <Button type='primary' onClick={() => btnClickFu('草稿', '编辑页')}>
-              添加藏品
-            </Button>
-            <Button type='primary' onClick={() => btnClickFu('创建', '编辑页')}>
-              创建
-            </Button>
-            <Button type='primary' onClick={() => btnClickFu('草稿', '当前页')}>
-              存草稿
-            </Button>
-          </>
-        ) : null}
-
-        {pageSta === '查看' ? lookBtn : <MyPopconfirm txtK='取消' onConfirm={() => btnX()} />}
-      </div>
-    </div>
-  )
-}
-
-const MemoB3editMain = React.memo(B3editMain)
-
-export default MemoB3editMain

+ 0 - 9
src/pages/B_enterTibet/B3_4page/B3entering.tsx

@@ -1,9 +0,0 @@
-import React from 'react'
-import B34page from '.'
-function B3entering() {
-  return <B34page pageSta='入馆' />
-}
-
-const MemoB3entering = React.memo(B3entering)
-
-export default MemoB3entering

+ 0 - 9
src/pages/B_enterTibet/B3_4page/B4enterTibet.tsx

@@ -1,9 +0,0 @@
-import React from 'react'
-import B34page from '.'
-function B4enterTibet() {
-  return <B34page pageSta='入藏' />
-}
-
-const MemoB4enterTibet = React.memo(B4enterTibet)
-
-export default MemoB4enterTibet

+ 0 - 30
src/pages/B_enterTibet/B3_4page/index.module.scss

@@ -1,30 +0,0 @@
-.B34page {
-  background-color: #fff;
-  border-radius: 10px;
-  padding: 15px 24px 0;
-  :global {
-    .B3top {
-      display: flex;
-      justify-content: space-between;
-      margin-bottom: 15px;
-      .B3topll {
-        display: flex;
-        & > div {
-          position: relative;
-          margin-right: 15px;
-          display: flex;
-          align-items: center;
-          .ant-input {
-            width: 160px;
-          }
-        }
-      }
-      .ant-select-selection-placeholder {
-        color: black;
-      }
-    }
-    .ant-table-cell {
-      padding: 8px !important;
-    }
-  }
-}

+ 0 - 331
src/pages/B_enterTibet/B3_4page/index.tsx

@@ -1,331 +0,0 @@
-import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
-import styles from './index.module.scss'
-import { Button, DatePicker, Input, Select } from 'antd'
-import { FourTableType, TypeB3Form } from './type'
-import dayjs from 'dayjs'
-import MyTable from '@/components/MyTable'
-import MyPopconfirm from '@/components/MyPopconfirm'
-import { B3tableC, statusObj } from '@/utils/tableData'
-import history, { btnFlagFu } from '@/utils/history'
-import { useDispatch, useSelector } from 'react-redux'
-import { FourAPI_del, FourAPI_getList, FourKeyType } from '@/store/action/FourAll'
-import { selectObj } from '@/utils/select'
-import { RootState } from '@/store'
-import { MessageFu } from '@/utils/message'
-import ExportJsonExcel from 'js-export-excel'
-const { RangePicker } = DatePicker
-
-export type D3InputKeyType = 'num' | 'name' | 'deptName' | 'userName'
-
-const objUrl = {
-  入馆: '/entering',
-  入藏: '/enterTibet',
-  登记: '/register',
-  删除: '/delete'
-}
-
-const objKey = {
-  入馆: '1',
-  入藏: '2',
-  登记: '3',
-  删除: '4'
-}
-
-export const B3_4inputKeyArr: {
-  name: string
-  key: D3InputKeyType
-}[] = [
-  { name: '业务单号', key: 'num' },
-  { name: '申请名称', key: 'name' },
-  { name: '发起部门', key: 'deptName' },
-  { name: '发起人', key: 'userName' }
-]
-
-export const B3baseFormData: TypeB3Form = {
-  pageSize: 10,
-  pageNum: 1,
-  num: '',
-  name: '',
-  deptName: '',
-  userName: '',
-  startTime: '',
-  endTime: '',
-  status: null,
-  userType: null
-}
-
-type Props = {
-  pageSta: '入馆' | '入藏' | '登记' | '删除'
-}
-
-function B34page({ pageSta }: Props) {
-  const dispatch = useDispatch()
-
-  const pagekey = useMemo(() => {
-    return Reflect.get(objKey, pageSta) as FourKeyType
-  }, [pageSta])
-
-  const [formData, setFormData] = useState(B3baseFormData)
-  const formDataRef = useRef(B3baseFormData)
-  const formDataOldRef = useRef(B3baseFormData)
-
-  useEffect(() => {
-    formDataRef.current = formData
-  }, [formData])
-
-  // 点击搜索的 时间戳
-  const [timeKey, setTimeKey] = useState(0)
-
-  // 点击搜索
-  const clickSearch = useCallback(() => {
-    setFormData({ ...formData, pageNum: 1 })
-    setTimeout(() => {
-      setTimeKey(Date.now())
-    }, 50)
-  }, [formData])
-
-  // 时间选择器改变
-  const timeChange = useCallback(
-    (date: any, dateString: any) => {
-      let startTime = ''
-      let endTime = ''
-      if (dateString[0] && dateString[1]) {
-        startTime = dateString[0] + ' 00:00:00'
-        endTime = dateString[1] + ' 23:59:59'
-      }
-      setFormData({ ...formData, startTime, endTime })
-    },
-    [formData]
-  )
-
-  // 封装发送请求的函数
-  const getListFu = useCallback(() => {
-    formDataOldRef.current = { ...formDataRef.current }
-    dispatch(FourAPI_getList(formDataRef.current, pagekey))
-  }, [dispatch, pagekey])
-
-  // 从仓库中获取数据
-  const tableObj = useSelector((state: RootState) => state.FourAll.listObj[pagekey])
-
-  useEffect(() => {
-    getListFu()
-  }, [getListFu, timeKey])
-
-  // 输入框的改变
-  const txtChangeFu = useCallback(
-    (txt: string, key: D3InputKeyType) => {
-      setFormData({
-        ...formData,
-        [key]: txt
-      })
-    },
-    [formData]
-  )
-
-  // 点击重置
-  const resetSelectFu = useCallback(() => {
-    setFormData(B3baseFormData)
-    setTimeout(() => {
-      setTimeKey(Date.now())
-    }, 50)
-  }, [])
-
-  // 页码变化
-  const paginationChange = useCallback(
-    (pageNum: number, pageSize: number) => {
-      setFormData({ ...formData, pageNum, pageSize })
-      setTimeout(() => {
-        setTimeKey(Date.now())
-      }, 50)
-    },
-    [formData]
-  )
-
-  // 点击删除
-  const delTableFu = useCallback(
-    async (id: number) => {
-      const res = await FourAPI_del(pagekey, id)
-      if (res.code === 0) {
-        MessageFu.success('删除成功')
-        getListFu()
-      }
-    },
-    [getListFu, pagekey]
-  )
-
-  // 点击各种操作按钮
-  const btnFu = useCallback(
-    (id: number | string, key: string) => {
-      const url = Reflect.get(objUrl, pageSta)
-
-      history.push(`${url}_edit/${key}/${id}/${pagekey}`)
-    },
-    [pageSta, pagekey]
-  )
-
-  const tableLastBtn = useMemo(() => {
-    return [
-      {
-        title: '操作',
-        render: (item: FourTableType) => {
-          let obj = btnFlagFu(item)
-          return !Object.values(obj).some(Boolean) ? (
-            '-'
-          ) : (
-            <>
-              {obj['编辑'] ? (
-                <Button size='small' type='text' onClick={() => btnFu(item.id, '2')}>
-                  编辑
-                </Button>
-              ) : null}
-
-              {obj['审批'] ? (
-                <Button size='small' type='text' onClick={() => btnFu(item.id, '3')}>
-                  审批
-                </Button>
-              ) : null}
-              {obj['查看'] ? (
-                <Button size='small' type='text' onClick={() => btnFu(item.id, '4')}>
-                  查看
-                </Button>
-              ) : null}
-
-              {obj['删除'] ? (
-                <MyPopconfirm txtK='删除' onConfirm={() => delTableFu(item.id)} />
-              ) : null}
-            </>
-          )
-        }
-      }
-    ]
-  }, [btnFu, delTableFu])
-
-  // 点击导出
-  const deriveFu = useCallback(async () => {
-    const name = '藏品' + pageSta + dayjs(new Date()).format('YYYY-MM-DD HH:mm')
-
-    const res = await FourAPI_getList(
-      {
-        ...formDataOldRef.current,
-        pageNum: 1,
-        pageSize: 99999
-      },
-      pagekey,
-      true
-    )
-
-    if (res.code === 0) {
-      if (res.data.records.length <= 0) return MessageFu.warning('当前搜索条件没有数据!')
-
-      const option = {
-        fileName: name,
-        datas: [
-          {
-            sheetData: res.data.records.map((v: FourTableType) => ({
-              ...v,
-              status: statusObj[v.status as 1]
-            })),
-            sheetName: name,
-            sheetFilter: ['num', 'name', 'deptName', 'creatorName', 'createTime', 'status'],
-            sheetHeader: ['业务单号', '申请名称', '发起部门', '发送人', '发起日期', '申请状态'],
-            columnWidths: [10, 10, 10, 10, 10, 10]
-          }
-        ]
-      }
-
-      const toExcel = new ExportJsonExcel(option) //new
-      toExcel.saveExcel() //保存
-    }
-  }, [pageSta, pagekey])
-
-  return (
-    <div className={styles.B34page}>
-      <div className='pageTitle'>藏品{pageSta}</div>
-
-      <div className='B3top'>
-        <div className='B3topll'>
-          {B3_4inputKeyArr.map(item => (
-            <div key={item.name}>
-              <span>{item.name}:</span>
-              <Input
-                placeholder={`请输入${item.name}`}
-                maxLength={30}
-                value={formData[item.key]}
-                onChange={e => txtChangeFu(e.target.value, item.key)}
-              />
-            </div>
-          ))}
-        </div>
-        <div className='B3toprr'>
-          <Button type='primary' onClick={deriveFu}>
-            批量导出
-          </Button>
-          &emsp;
-          <Button type='primary' onClick={() => btnFu('null', '1')}>
-            新增
-          </Button>
-        </div>
-      </div>
-      <div className='B3top'>
-        <div className='B3topll'>
-          <div>
-            <span>发起日期范围:</span>
-            <RangePicker
-              value={
-                formData.startTime ? [dayjs(formData.startTime), dayjs(formData.endTime)] : null
-              }
-              onChange={timeChange}
-            />
-          </div>
-
-          <div>
-            <span>申请状态:</span>
-            <Select
-              allowClear={true}
-              placeholder='全部'
-              style={{ width: 200 }}
-              value={formData.status}
-              onChange={e => setFormData({ ...formData, status: e })}
-              options={selectObj['申请状态'].filter(v => v.label !== '待盘点')}
-            />
-          </div>
-
-          <div>
-            <span>选择角色:</span>
-            <Select
-              allowClear={true}
-              style={{ width: 200 }}
-              placeholder='全部'
-              options={selectObj['角色']}
-              // fieldNames={{ value: 'id', label: 'roleName' }}
-              value={formData.userType}
-              onChange={e => setFormData({ ...formData, userType: e })}
-            />
-          </div>
-        </div>
-        <div className='B3toprr'>
-          <Button type='primary' onClick={clickSearch}>
-            查询
-          </Button>
-          &emsp;<Button onClick={resetSelectFu}>重置</Button>
-        </div>
-      </div>
-
-      {/* 表格 */}
-      <MyTable
-        yHeight={610}
-        list={tableObj.list}
-        columnsTemp={B3tableC}
-        lastBtn={tableLastBtn}
-        pageNum={formData.pageNum}
-        pageSize={formData.pageSize}
-        total={tableObj.total}
-        onChange={(pageNum, pageSize) => paginationChange(pageNum, pageSize)}
-      />
-    </div>
-  )
-}
-
-const MemoB34page = React.memo(B34page)
-
-export default MemoB34page

+ 4 - 0
src/pages/B_enterTibet/B3entering/index.module.scss

@@ -0,0 +1,4 @@
+.B3entering {
+  :global {
+  }
+}

+ 14 - 0
src/pages/B_enterTibet/B3entering/index.tsx

@@ -0,0 +1,14 @@
+import React from 'react'
+import styles from './index.module.scss'
+function B3entering() {
+  return (
+    <div className={styles.B3entering}>
+      <div className='pageTitle'>藏品入馆</div>
+      <h1>开发中</h1>
+    </div>
+  )
+}
+
+const MemoB3entering = React.memo(B3entering)
+
+export default MemoB3entering

+ 0 - 12
src/pages/B_enterTibet/B3goodsTable/B3GaddNew/data.ts

@@ -1,12 +0,0 @@
-import { TypeZ1dict } from '@/pages/Z_system/Z1dict/type'
-
-// 级联的第二级数据平铺
-export const cascaderArr = (arr: TypeZ1dict[]) => {
-  let obj: any = {}
-  arr.forEach(v1 => {
-    v1.children?.forEach(v2 => {
-      obj[v2.name] = v2.children
-    })
-  })
-  return obj
-}

+ 0 - 227
src/pages/B_enterTibet/B3goodsTable/B3GaddNew/index.module.scss

@@ -1,227 +0,0 @@
-.B3GaddNew {
-  :global {
-    .ant-modal-close {
-      display: none;
-    }
-    .ant-modal {
-      width: 1600px !important;
-      min-width: 1600px;
-      top: 40px !important;
-    }
-
-    .ant-modal-body {
-      border-top: 1px solid #ccc;
-
-      .B3Nred {
-        color: #ff4d4f;
-      }
-
-      .B3Nmain {
-        height: 753px;
-        overflow-y: auto;
-        width: 1400px;
-        padding: 24px 0;
-        .B3Ntit {
-          font-size: 16px;
-          font-weight: 700;
-          padding-left: 15px;
-          position: relative;
-          margin-bottom: 15px;
-          &::before {
-            position: absolute;
-            left: 0px;
-            top: 50%;
-            transform: translateY(-50%);
-            content: '';
-            width: 6px;
-            height: 16px;
-            background-color: var(--themeColor);
-          }
-        }
-        .ant-form-item-label {
-          width: 100px;
-        }
-
-        .B3Nbox {
-          width: 100%;
-          display: flex;
-          justify-content: space-between;
-          flex-wrap: wrap;
-          align-items: self-start;
-          margin-bottom: 24px;
-          .B3Nrow {
-            width: 48%;
-            display: flex;
-            position: relative;
-            .ant-input {
-              width: 400px;
-            }
-            .ant-picker {
-              width: 462px;
-            }
-            textarea {
-              width: 462px !important;
-            }
-            .ant-select-selector {
-              width: 464px;
-            }
-
-            .B3Nrowll {
-              width: 100px;
-              text-align: right;
-            }
-            .B3Nrowrr {
-              width: calc(100% - 100px);
-              word-wrap: break-word;
-            }
-
-            // 一些定位的盒子
-            .B3NrowDing {
-              position: absolute;
-              top: 60px;
-              left: 0;
-              .ant-select-selector {
-                width: 464px;
-              }
-            }
-            // 具体质量
-            .B3NrowDing2 {
-              display: flex;
-              .ant-input-number {
-                width: 205px;
-              }
-              .ant-select-selector {
-                width: 260px;
-              }
-            }
-          }
-          .B3Nrow0 {
-            .ant-input {
-              width: 260px;
-            }
-            .ant-input-number {
-              width: 325px;
-            }
-            .ant-select-selector {
-              width: 140px;
-            }
-          }
-
-          // 质地
-          .B3Nrow1 {
-            .ant-select-selector {
-              width: 156px;
-            }
-          }
-
-          // 左边数字填写 右边级联
-          .B3NrowNumOrCas {
-            .ant-input-number {
-              width: 140px;
-            }
-            .ant-select-selector {
-              width: 325px;
-            }
-          }
-
-          // 封面
-          .formRow {
-            width: 48%;
-            display: flex;
-            .formLeft {
-              width: 100px;
-              text-align: right;
-              & > span {
-                color: #ff4d4f;
-              }
-            }
-          }
-
-          // 备注 富文本
-          .formRow2 {
-            width: 100%;
-            .formLeft {
-              position: relative;
-              top: 5px;
-            }
-            .formRightSize {
-              // 尺寸
-              display: flex;
-
-              .ant-form-item-label {
-                width: 82px;
-              }
-
-              .ant-input-number {
-                width: 205px;
-              }
-              .ant-select-selector {
-                width: 322px;
-              }
-            }
-          }
-
-          // 著者 版本 存卷
-          .B3Nrow2 {
-            flex-direction: column;
-            .ant-form-item {
-              width: 565px;
-            }
-          }
-
-          // 一些比较长的label字段
-          .B3NlongTxt {
-            .ant-form-item-label {
-              position: relative;
-              left: -7px;
-            }
-          }
-          .B3NlongTxt2 {
-            .ant-form-item-label label {
-              font-size: 13px;
-            }
-          }
-        }
-
-        .B3Nbox1 {
-          margin-top: -40px;
-          // 相关附件
-          .B3Ntit {
-            width: 600px;
-            display: flex;
-            .B3Ntitll {
-              position: relative;
-              top: 3px;
-              & > span {
-                font-size: 12px;
-                color: #999;
-              }
-            }
-            #Z3upFiles {
-              margin-left: 20px;
-              width: auto;
-            }
-          }
-          .tableImgAuto {
-            display: flex;
-            justify-content: center;
-          }
-          .ant-table-cell {
-            text-align: center;
-            padding: 8px !important;
-          }
-        }
-
-        .B3Nbtn {
-          position: absolute;
-          top: 50%;
-          transform: translateY(-50%);
-          right: 52px;
-          .ant-btn {
-            display: block;
-          }
-        }
-      }
-    }
-  }
-}

+ 0 - 868
src/pages/B_enterTibet/B3goodsTable/B3GaddNew/index.tsx

@@ -1,868 +0,0 @@
-import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
-import styles from './index.module.scss'
-import {
-  Button,
-  Cascader,
-  DatePicker,
-  Form,
-  FormInstance,
-  Input,
-  InputNumber,
-  Modal,
-  Select
-} from 'antd'
-import MyPopconfirm from '@/components/MyPopconfirm'
-import TextArea from 'antd/es/input/TextArea'
-import ZRichTexts from '@/components/ZRichTexts'
-import MyTable from '@/components/MyTable'
-import { Y33tableC } from '@/utils/tableData'
-import ImageLazy from '@/components/ImageLazy'
-import YtableVideo from '@/components/YtableVideo'
-import { selectObj } from '@/utils/select'
-import dayjs from 'dayjs'
-import { getTokenInfo } from '@/utils/storage'
-import Z3upFiles from '@/components/Z3upFiles'
-import { GoodFileType } from './type'
-import { baseURL } from '@/utils/http'
-import { fileImgArr, fileVideoArr } from '@/store/action/layout'
-import { API_C2dels } from '@/store/action/C2files'
-import { API_goodsAdd, API_goodsInfo } from '@/store/action/C1ledger'
-import { C1GoodType } from '@/pages/A3_ledger/C1ledger/type'
-import { MessageFu } from '@/utils/message'
-import { cascaderObjFu } from '@/utils/history'
-
-// 级联的数据转换成字符串
-export const cascaderChArr = [
-  'dictType',
-  'dictAge',
-  'pcsUnit',
-  'dictTexture1',
-  'dictTexture2',
-  'dictTexture3',
-  'dictTorn',
-  'sizeUnit',
-  'qualityDictScope',
-  'qualityUnit',
-  'inDictDateScope',
-  'source',
-  // 其他模块有的级联字段
-  'dictAgeFirst'
-]
-
-type Props = {
-  closeFu: () => void
-  nowSta: { key: string; id: string }
-  isEdit: boolean //藏品编辑模块
-  succFu: (
-    obj: C1GoodType,
-    type: '新增' | '编辑',
-    flieNew?: GoodFileType[],
-    fileOld?: GoodFileType[]
-  ) => void
-}
-
-function B3GaddNew({ nowSta, closeFu, succFu, isEdit }: Props) {
-  // 制档日期 / 制档人
-  const [txtArr, setTxtArr] = useState([getTokenInfo().user.realName, dayjs().format('YYYY-MM-DD')])
-
-  // 藏品编辑模块用来对比
-  const objOld = useRef<any>({})
-
-  // 编辑进来获取详情
-  const getInfo = useCallback(async (id: number) => {
-    const res = await API_goodsInfo(id)
-    if (res.code === 0) {
-      // 藏品编辑信息保存
-      objOld.current = { ...res.data }
-
-      // dateMaking inGoodsDate 2个日期需要格式处理一下
-      const obj = { ...res.data }
-      if (obj.dateMaking) obj.dateMaking = dayjs(obj.dateMaking)
-      if (obj.inGoodsDate) obj.inGoodsDate = dayjs(obj.inGoodsDate)
-
-      setTxtArr([obj.creatorName, dayjs(obj.createTime).format('YYYY-MM-DD')])
-
-      cascaderChArr.forEach(v => {
-        if (obj[v]) obj[v] = obj[v].split(',')
-      })
-      FormBoxRef.current?.setFieldsValue(obj)
-
-      // 设置封面图
-      // ZupThumbRef.current?.setFileComFileFu({
-      //   fileName: '',
-      //   filePath: obj.thumbPc,
-      //   thumb: obj.thumb
-      // })
-
-      // 设置富文本
-      if (obj.rtf) ZRichTextRef.current?.ritxtShowFu(JSON.parse(obj.rtf))
-
-      // 设置附件
-      setTable(obj.file || [])
-    }
-  }, [])
-
-  useEffect(() => {
-    if (nowSta.id !== 'null') {
-      getInfo(Number(nowSta.id))
-    }
-  }, [getInfo, nowSta.id])
-
-  // 设置表单ref
-  const FormBoxRef = useRef<FormInstance>(null)
-
-  // 年代是否选择了其他
-  const [ageAc, setAgeAc] = useState(false)
-
-  // 封面图的ref
-  // const ZupThumbRef = useRef<any>(null)
-
-  // 富文本的ref
-  const ZRichTextRef = useRef<any>(null)
-
-  // 上传附件的ref
-  const filesRef = useRef<any>(null)
-
-  // 附件表格
-  const [table, setTable] = useState<GoodFileType[]>([])
-
-  // 附件删除记录id
-  const fileDelIdArr = useRef<number[]>([])
-
-  const tableFu = useCallback(
-    (key: 'type' | 'effect', id: number, val: any) => {
-      setTable(
-        table.map(v => ({
-          ...v,
-          [key]: id === v.id ? val : v[key]
-        }))
-      )
-    },
-    [table]
-  )
-
-  // 附件类型和附件用途是否禁用
-  const disabledSelect = useCallback(
-    (id: number) => {
-      let flag = false
-      if (isEdit) {
-        if (objOld.current && objOld.current.file && objOld.current.file.length) {
-          const oldFileIds: number[] = objOld.current.file.map((v: any) => v.id)
-          if (oldFileIds.includes(id)) flag = true
-        }
-      }
-      return flag
-    },
-    [isEdit]
-  )
-
-  // 相关附件的操作
-  const startBtn = useMemo(() => {
-    return [
-      {
-        width: 100,
-        title: '缩略图/视频',
-        render: (item: GoodFileType) => {
-          const fileNameArr = item.fileName.split('.')
-          const fileNameLast = fileNameArr[fileNameArr.length - 1]
-
-          return fileImgArr.includes(fileNameLast) ? (
-            <div className='tableImgAuto'>
-              <ImageLazy width={60} height={60} srcBig={item.filePath} src={item.thumb} />
-            </div>
-          ) : fileVideoArr.includes(fileNameLast) ? (
-            <YtableVideo src={item.filePath} />
-          ) : (
-            ' - '
-          )
-        }
-      },
-      {
-        title: '附件类型',
-        render: (item: GoodFileType) => (
-          <Select
-            disabled={disabledSelect(item.id)}
-            style={{ width: 120 }}
-            placeholder='请选择'
-            value={item.type}
-            onChange={e => tableFu('type', item.id, e)}
-            options={selectObj['附件类型']}
-          />
-        )
-      },
-      {
-        title: '附件用途',
-        render: (item: GoodFileType) => (
-          <Cascader
-            disabled={disabledSelect(item.id)}
-            options={cascaderObjFu()['附件用途']}
-            value={item.effect ? item.effect.split(',') : []}
-            onChange={e => tableFu('effect', item.id, e ? e.join(',') : '')}
-            placeholder='请选择'
-            fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-          />
-        )
-      }
-    ]
-  }, [disabledSelect, tableFu])
-
-  const tableLastBtn = useMemo(() => {
-    return [
-      {
-        width: 120,
-        title: '操作',
-        render: (item: GoodFileType) => {
-          return (
-            <>
-              <Button size='small' type='text'>
-                <a href={baseURL + item.filePath} download target='_blank' rel='noreferrer'>
-                  下载
-                </a>
-              </Button>
-              <MyPopconfirm
-                txtK='删除'
-                onConfirm={() => {
-                  setTable(table.filter(v => v.id !== item.id))
-                  fileDelIdArr.current.push(item.id)
-                }}
-              />
-            </>
-          )
-        }
-      }
-    ]
-  }, [table])
-
-  // 没有通过校验
-  const onFinishFailed = useCallback(() => {
-    // return MessageFu.warning("有表单不符号规则!");
-  }, [])
-
-  // 通过校验点击确定
-  const onFinish = useCallback(
-    async (values: any) => {
-      // 封面图
-      // const coverUrl1 = ZupThumbRef.current?.fileComFileResFu()
-
-      // 富文本
-      const rtf = ZRichTextRef.current?.fatherBtnOkFu() || { flag: true }
-
-      // 附件
-      let fileIds = ''
-      let fileSet: any = null
-
-      if (table.length) {
-        fileIds = table.map(v => v.id).join(',')
-
-        fileSet = table.map(v => ({
-          effect: v.effect,
-          id: v.id,
-          type: v.type
-        }))
-      }
-
-      // 2个日期的格式处理
-      let inGoodsDate = ''
-      if (values.inGoodsDate) inGoodsDate = dayjs(values.inGoodsDate).format('YYYY-MM-DD')
-      let dateMaking = ''
-      if (values.dateMaking) dateMaking = dayjs(values.dateMaking).format('YYYY-MM-DD')
-
-      // 默认以第一个附件为img的作为封面图
-      const imgArr = table.filter(v => {
-        const txtArr = v.fileName.split('.')
-        const txt = txtArr[txtArr.length - 1]
-        return v.type === 'img' && fileImgArr.includes(txt)
-      })
-
-      let thumb = ''
-      let thumbPc = ''
-
-      if (imgArr && imgArr.length) {
-        thumb = imgArr[0].thumb
-        thumbPc = imgArr[0].filePath
-      }
-
-      const obj = {
-        ...values,
-        thumb,
-        thumbPc,
-        rtf: JSON.stringify(rtf.val || ''),
-        fileIds,
-        fileSet,
-        inGoodsDate,
-        dateMaking,
-        id: nowSta.id === 'null' ? null : Number(nowSta.id)
-      }
-
-      for (const k in obj) {
-        if (obj[k] === null || obj[k] === undefined) obj[k] = ''
-      }
-
-      // 级联的数据转换成字符串
-      cascaderChArr.forEach(v => {
-        if (values[v]) obj[v] = values[v].join(',')
-      })
-
-      if (isEdit) {
-        let flag = true
-
-        // fileIds 要特别处理
-        const fileNew = table.map(v => v.id).join(',')
-        const fileOld = (objOld.current.file || []).map((v: any) => v.id).join(',')
-
-        if (fileNew !== fileOld) flag = false
-
-        // console.log(fileNew, fileOld)
-
-        for (const k in obj) {
-          if (!['fileIds', 'fileSet'].includes(k)) {
-            if (objOld.current[k] !== obj[k]) {
-              flag = false
-            }
-          }
-        }
-        // if (1 + 1 === 2) return
-
-        if (flag) return MessageFu.warning('未修改藏品信息')
-
-        // -----------藏品编辑模块进来---------------
-        MessageFu.success('编辑成功')
-        succFu(obj, '编辑', table || [], objOld.current.file || [])
-        closeFu()
-      } else {
-        // -----------默认模块的新增和编辑-----------
-        // 删除附件
-        if (fileDelIdArr.current.length) {
-          await API_C2dels(fileDelIdArr.current)
-        }
-
-        const res = await API_goodsAdd(obj, nowSta.id === 'null' ? '新增' : '编辑')
-        if (res.code === 0) {
-          MessageFu.success(nowSta.id === 'null' ? '新增成功' : '编辑成功')
-          succFu(res.data, nowSta.id === 'null' ? '新增' : '编辑')
-          closeFu()
-        }
-      }
-    },
-    [closeFu, isEdit, nowSta.id, succFu, table]
-  )
-
-  return (
-    <Modal
-      wrapClassName={styles.B3GaddNew}
-      open={true}
-      title={`${nowSta.id !== 'null' ? '编辑' : '新增'}藏品`}
-      footer={
-        [] // 设置footer为空,去掉 取消 确定默认按钮
-      }
-    >
-      <div className='B3Nmain'>
-        <Form
-          scrollToFirstError={true}
-          ref={FormBoxRef}
-          name='basic'
-          onFinish={onFinish}
-          onFinishFailed={onFinishFailed}
-          autoComplete='off'
-        >
-          <div className='B3Ntit'>档案信息</div>
-
-          <div className='B3Nbox'>
-            <div className='B3Nrow B3Nrow0'>
-              <Form.Item
-                label='藏品编号'
-                name='numName'
-                rules={[{ required: true, message: '请选择编号类型' }]}
-              >
-                <Select
-                  style={{ width: 140 }}
-                  options={selectObj['藏品编号类型']}
-                  placeholder='请选择'
-                />
-              </Form.Item>
-
-              <Form.Item name='num' rules={[{ required: true, message: '请输入藏品编号' }]}>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='分类号' name='numType'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <div className='B3Nrowll'>制档人:</div>
-              <div className='B3Nrowrr'>{txtArr[0]}</div>
-            </div>
-
-            <div className='B3Nrow'>
-              <div className='B3Nrowll'>制档日期:</div>
-              <div className='B3Nrowrr'>{txtArr[1]}</div>
-            </div>
-          </div>
-
-          <div className='B3Ntit'>藏品基本信息</div>
-
-          <div className='B3Nbox'>
-            <div className='B3Nrow'>
-              <Form.Item
-                label='藏品名称'
-                name='name'
-                rules={[{ required: true, message: '请输入藏品名称' }]}
-              >
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item label='藏品原名' name='namePrimitive'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item
-                label='文物级别'
-                name='dictLevel'
-                rules={[{ required: true, message: '请选择文物级别' }]}
-              >
-                <Select options={selectObj['文物级别']} placeholder='请选择' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item
-                label='文物类别'
-                name='dictType'
-                rules={[{ required: true, message: '请选择文物类别' }]}
-              >
-                <Cascader
-                  options={cascaderObjFu()['文物类别']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  allowClear={false}
-                />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item
-                label='年代'
-                name='dictAge'
-                rules={[{ required: true, message: '请选择年代' }]}
-              >
-                <Cascader
-                  options={[...cascaderObjFu()['年代'], { name: '其他', id: '其他' }]}
-                  onChange={value => setAgeAc(value[0] === '其他')}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  allowClear={false}
-                />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item
-                label='具体年代'
-                name='ageInfo'
-                rules={[{ required: ageAc, message: '请输入内容' }]}
-              >
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='制作时间' name='dateMaking'>
-                <DatePicker placeholder='请选择日期' />
-              </Form.Item>
-              <div className='B3NrowDing'>
-                <Form.Item label='作者' name='author'>
-                  <Input maxLength={30} showCount placeholder='请输入内容' />
-                </Form.Item>
-              </div>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='作者介绍' name='authorDesc'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow B3NrowNumOrCas'>
-              <Form.Item
-                label='数量'
-                name='pcs'
-                rules={[{ required: true, message: '请输入正整数' }]}
-              >
-                <InputNumber min={1} max={99999999} precision={0} placeholder='请输入正整数' />
-              </Form.Item>
-
-              <Form.Item name='pcsUnit' rules={[{ required: true, message: '请选择单位' }]}>
-                <Cascader
-                  options={cascaderObjFu()['数量单位']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  allowClear={false}
-                />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item label='实际数量' name='pcsActual'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow B3Nrow1'>
-              <Form.Item
-                label={
-                  <div>
-                    <span className='B3Nred'> * </span>质地
-                  </div>
-                }
-                name='dictTexture1'
-              >
-                <Cascader
-                  options={cascaderObjFu()['质地']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                />
-              </Form.Item>
-              <Form.Item name='dictTexture2'>
-                <Cascader
-                  options={cascaderObjFu()['复合或组合质地']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                />
-              </Form.Item>
-              <Form.Item name='dictTexture3' rules={[{ required: true, message: '请选择质地3' }]}>
-                <Cascader
-                  options={cascaderObjFu()['单一质地']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  allowClear={false}
-                />
-              </Form.Item>
-
-              <div className='B3NrowDing'>
-                <Form.Item
-                  label='完残程度'
-                  name='dictTorn'
-                  rules={[{ required: true, message: '请选择完残程度' }]}
-                >
-                  <Cascader
-                    options={cascaderObjFu()['完残程度']}
-                    placeholder='请选择'
-                    fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                    allowClear={false}
-                  />
-                </Form.Item>
-              </div>
-            </div>
-
-            {/* 封面 */}
-            {/* <div className='formRow'>
-              <div className='formLeft'>封面图:</div>
-              <div className='formRight'>
-                <ZupOne
-                  ref={ZupThumbRef}
-                  isLook={false}
-                  fileCheck={false}
-                  size={5}
-                  dirCode='goodsAdd'
-                  myUrl='cms/goods/upload'
-                  format={['image/jpeg', 'image/png']}
-                  formatTxt='png、jpg和jpeg'
-                  checkTxt='请上传封面图!'
-                  upTxt='最多1张'
-                  myType='thumb'
-                />
-              </div>
-            </div> */}
-
-            <div className='B3Nrow'>
-              <Form.Item label='完残情况' name='torn'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='保存状态' name='preserveState'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='色泽' name='color'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='用途' name='uses'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='形状描述' name='shape'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='著者' name='pressAuthor'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='版本' name='pressVersion'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item label='存卷' name='pressFile'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            {/* 备注 */}
-            <div className='formRow formRow2'>
-              <div className='formLeft'>备注:</div>
-              <div className='formRight'>
-                <ZRichTexts
-                  check={false}
-                  dirCode='goodsAdd'
-                  myUrl='cms/goods/upload'
-                  isLook={false}
-                  ref={ZRichTextRef}
-                  isOne={true}
-                  upAudioBtnNone={true}
-                />
-              </div>
-            </div>
-          </div>
-
-          {/* =====上传附件==== */}
-          <div className='B3Nbox B3Nbox1'>
-            <div className='B3Ntit'>
-              <div className='B3Ntitll'>
-                相关附件<span>&emsp;附件类型为图像并且格式为图片的第一份数据为封面图</span>
-              </div>
-              <Z3upFiles
-                max={1000}
-                isLook={false}
-                ref={filesRef}
-                fileCheck={false}
-                dirCode='goodsAdd'
-                myUrl='cms/goods/upload'
-                lookData={[]}
-                size={500}
-                noShowList={true}
-                fileRes={obj => setTable([obj, ...table])}
-              />
-            </div>
-
-            {/* 表格 */}
-            <MyTable
-              list={table}
-              columnsTemp={Y33tableC}
-              lastBtn={tableLastBtn}
-              startBtn={startBtn}
-              pagingInfo={false}
-            />
-          </div>
-
-          <div className='B3Ntit'>尺寸和质量</div>
-
-          <div className='B3Nbox'>
-            <div className='formRow formRow2'>
-              <div className='formLeft'>尺寸:</div>
-              <div className='formRight formRightSize'>
-                <Form.Item label='通长' name='sizeL'>
-                  <InputNumber
-                    min={0}
-                    max={99999999}
-                    precision={2}
-                    placeholder='请输入数字,最多两位小数'
-                  />
-                </Form.Item>
-
-                <Form.Item label='通宽' name='sizeW'>
-                  <InputNumber
-                    min={0}
-                    max={99999999}
-                    precision={2}
-                    placeholder='请输入数字,最多两位小数'
-                  />
-                </Form.Item>
-                <Form.Item label='通高' name='sizeH'>
-                  <InputNumber
-                    min={0}
-                    max={99999999}
-                    precision={2}
-                    placeholder='请输入数字,最多两位小数'
-                  />
-                </Form.Item>
-
-                <Form.Item name='sizeUnit'>
-                  <Cascader
-                    options={cascaderObjFu()['尺寸单位']}
-                    placeholder='请选择'
-                    fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  />
-                </Form.Item>
-              </div>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item
-                label='质量范围'
-                name='qualityDictScope'
-                rules={[{ required: true, message: '请选择质量范围' }]}
-              >
-                <Cascader
-                  options={cascaderObjFu()['质量范围']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  allowClear={false}
-                />
-              </Form.Item>
-
-              <div className='B3NrowDing B3NrowDing2'>
-                <Form.Item label='具体质量' name='quality'>
-                  <InputNumber
-                    min={0}
-                    max={99999999}
-                    precision={2}
-                    placeholder='请输入数字,最多两位小数'
-                  />
-                </Form.Item>
-
-                <Form.Item name='qualityUnit'>
-                  <Cascader
-                    options={cascaderObjFu()['质量单位']}
-                    placeholder='请选择'
-                    fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  />
-                </Form.Item>
-              </div>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='具体尺寸' name='sizeInfo'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-          </div>
-
-          <div className='B3Ntit'>入藏及来源</div>
-
-          <div className='B3Nbox'>
-            <div className='B3Nrow'>
-              <Form.Item label='入馆凭证号' name='inHouseNum'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item label='入藏凭证号' name='inGoodsNum'>
-                <Input maxLength={30} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='入藏日期' name='inGoodsDate'>
-                <DatePicker placeholder='请选择日期' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item
-                label='入藏日期范围'
-                className='B3NlongTxt'
-                name='inDictDateScope'
-                // rules={[{ required: true, message: '请选择入藏日期范围' }]}
-              >
-                <Cascader
-                  options={cascaderObjFu()['入藏日期范围']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  allowClear={true}
-                />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='入藏去向' name='accountType'>
-                <Select options={selectObj['入藏去向']} placeholder='请选择' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item
-                label='来源'
-                name='source'
-                rules={[{ required: true, message: '请选择来源' }]}
-              >
-                <Cascader
-                  options={cascaderObjFu()['来源']}
-                  placeholder='请选择'
-                  fieldNames={{ label: 'name', value: 'id', children: 'children' }}
-                  allowClear={false}
-                />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='来源详情' name='sourceInfo'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-
-            <div className='B3Nrow'>
-              <Form.Item label='征集经过' name='sourcePass'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item label='铭记题跋' name='sourcePreface'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item label='鉴藏印记' name='sourceStamp'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-          </div>
-
-          <div className='B3Ntit'>藏品历史及流传</div>
-
-          <div className='B3Nbox'>
-            <div className='B3Nrow'>
-              <Form.Item label='著作及有关书目' className='B3NlongTxt2' name='historyWork'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-            <div className='B3Nrow'>
-              <Form.Item label='流传经历' name='historyUndergo'>
-                <TextArea maxLength={500} showCount placeholder='请输入内容' />
-              </Form.Item>
-            </div>
-          </div>
-
-          {/* 确定和取消按钮 */}
-          <Form.Item className='B3Nbtn'>
-            <Button type='primary' htmlType='submit'>
-              提交
-            </Button>
-            &emsp;
-            <MyPopconfirm txtK='取消' onConfirm={closeFu} />
-          </Form.Item>
-        </Form>
-      </div>
-    </Modal>
-  )
-}
-
-const MemoB3GaddNew = React.memo(B3GaddNew)
-
-export default MemoB3GaddNew

+ 0 - 21
src/pages/B_enterTibet/B3goodsTable/B3GaddNew/type.d.ts

@@ -1,21 +0,0 @@
-export type GoodFileType = {
-  createTime: string
-  creatorId: number
-  creatorName: string
-  description: string
-  display?: any
-  effect: string | null
-  fileName: string
-  filePath: string
-  fileSize: string
-  goodName: string
-  goodNum: string
-  goodNumName: string
-  id: number
-  moduleId?: any
-  moduleName: string
-  parentId?: any
-  thumb: string
-  type: string
-  updateTime: string
-}

+ 0 - 28
src/pages/B_enterTibet/B3goodsTable/index.module.scss

@@ -1,28 +0,0 @@
-.B3goodsTable {
-  padding-right: 20px;
-  :global {
-    .B3eGtop {
-      display: flex;
-      justify-content: space-between;
-      padding-bottom: 10px;
-      margin-bottom: 17px;
-      .B3eGtop1 {
-        color: var(--themeColor);
-        font-size: 18px;
-        font-weight: 700;
-        padding-left: 18px;
-      }
-    }
-    .D1GtNum {
-      cursor: pointer;
-      text-decoration: underline;
-      // &:hover {
-      //   color: var(--themeColor);
-      // }
-    }
-
-    .D1GtNumAc {
-      color: var(--themeColor);
-    }
-  }
-}

+ 0 - 183
src/pages/B_enterTibet/B3goodsTable/index.tsx

@@ -1,183 +0,0 @@
-import React, { useCallback, useMemo, useState } from 'react'
-import styles from './index.module.scss'
-import { Button } from 'antd'
-import MyTable from '@/components/MyTable'
-import { B3eTableC } from '@/utils/tableData'
-import MyPopconfirm from '@/components/MyPopconfirm'
-import classNames from 'classnames'
-import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
-import { openGoodsInfoFu } from '@/utils/history'
-import { useParams } from 'react-router-dom'
-import B3GaddNow from './B3GaddNow'
-import { forwardRef, useImperativeHandle } from 'react'
-import B3GaddNew from './B3GaddNew'
-import { TypeB3PageSta } from '../B3_4page/type'
-import { C1GoodType } from '@/pages/A3_ledger/C1ledger/type'
-
-const sonUrlObj = {
-  1: 'cms/orderHouse/goods/getList',
-  2: 'cms/orderHide/goods/getList',
-  3: 'cms/register/goods/getList',
-  4: 'cms/orderDel/goods/getList'
-}
-
-type Props = {
-  pageSta: TypeB3PageSta
-}
-
-function B3goodsTable({ pageSta }: Props, ref: any) {
-  const {
-    // id,
-    pageKey
-  } = useParams<any>()
-
-  // 表格数据
-  const [table, setTable] = useState<C1GoodType[]>([])
-
-  // 点击删除
-  const delTableFu = useCallback(
-    async (id: number) => {
-      setTable(table.filter(v => v.id !== id))
-    },
-    [table]
-  )
-
-  // 打开侧边栏
-  const [cathet, setCathet] = useState(0)
-
-  const startBtn = useMemo(() => {
-    return [
-      {
-        title: '藏品编号',
-        render: (item: C1GoodType) => {
-          return (
-            <span
-              onClick={() => setCathet(item.id)}
-              className={classNames('D1GtNum', item.id === cathet ? 'D1GtNumAc' : '')}
-            >
-              {item.num || '(空)'}
-            </span>
-          )
-        }
-      }
-    ]
-  }, [cathet])
-
-  const tableLastBtn = useMemo(() => {
-    return [
-      {
-        title: '操作',
-        render: (item: C1GoodType) => {
-          return (
-            <>
-              {['1', '2', '3'].includes(pageKey) &&
-              ['编辑'].includes(pageSta) &&
-              item.display === 0 ? (
-                <Button
-                  size='small'
-                  type='text'
-                  onClick={() => setNowSta({ key: pageKey, id: item.id + '', type: 'new' })}
-                >
-                  编辑
-                </Button>
-              ) : null}
-
-              <Button size='small' type='text' onClick={() => openGoodsInfoFu(item.id)}>
-                查看
-              </Button>
-              {['查看', '审批'].includes(pageSta) ? null : (
-                <MyPopconfirm txtK='删除' onConfirm={() => delTableFu(item.id)} />
-              )}
-            </>
-          )
-        }
-      }
-    ]
-  }, [delTableFu, pageKey, pageSta])
-
-  // 从已存在的藏品中添加
-  const [nowSta, setNowSta] = useState({ key: '', id: '', type: '' })
-
-  // 可以让父组件调用子组件的方法
-  // 返回数据
-  const resData = useCallback(() => {
-    return { tableIds: table.map(v => v.id).join(',') }
-  }, [table])
-
-  // 设置数据
-  const setData = useCallback((arr: C1GoodType[]) => {
-    setTable(arr)
-  }, [])
-
-  useImperativeHandle(ref, () => ({
-    resData,
-    setData
-  }))
-
-  // 点击 从已存在的藏品中添加
-  const isNowFu = useCallback(async () => {
-    const url = sonUrlObj[pageKey as '1']
-    setNowSta({ key: pageKey, id: url, type: 'now' })
-  }, [pageKey])
-
-  return (
-    <div className={styles.B3goodsTable}>
-      <div className='B3eGtop'>
-        <div className='B3eGtop1'>藏品清单</div>
-        <div>
-          {['查看', '审批'].includes(pageSta) ? null : (
-            <>
-              <Button type='primary' onClick={isNowFu}>
-                从已存在的藏品中添加
-              </Button>
-              &emsp;
-              <Button
-                type='primary'
-                onClick={() => setNowSta({ key: pageKey, id: 'null', type: 'new' })}
-              >
-                新增
-              </Button>
-            </>
-          )}
-        </div>
-      </div>
-      {/* 表格 */}
-      <MyTable
-        list={table}
-        columnsTemp={B3eTableC}
-        startBtn={startBtn}
-        lastBtn={tableLastBtn}
-        pagingInfo={false}
-      />
-      {/* 打开侧边栏 */}
-      <Y1cathet sId={cathet} closeFu={() => setCathet(0)} />
-
-      {nowSta.id ? (
-        nowSta.type === 'now' ? (
-          <B3GaddNow
-            nowSta={nowSta}
-            closeFu={() => setNowSta({ key: '', id: '', type: '' })}
-            dataResFu={data => setTable(data)}
-            oldCheckArr={table}
-          />
-        ) : (
-          <B3GaddNew
-            nowSta={nowSta}
-            closeFu={() => setNowSta({ key: '', id: '', type: '' })}
-            isEdit={false}
-            succFu={(obj, type) => {
-              if (type === '新增') setTable([obj, ...table])
-              else
-                setTable(
-                  table.map(v => {
-                    return v.id === obj.id ? obj : v
-                  })
-                )
-            }}
-          />
-        )
-      ) : null}
-    </div>
-  )
-}
-export default forwardRef(B3goodsTable)

+ 4 - 0
src/pages/B_enterTibet/B4enterTibet/index.module.scss

@@ -0,0 +1,4 @@
+.B4enterTibet {
+  :global {
+  }
+}

+ 14 - 0
src/pages/B_enterTibet/B4enterTibet/index.tsx

@@ -0,0 +1,14 @@
+import React from 'react'
+import styles from './index.module.scss'
+function B4enterTibet() {
+  return (
+    <div className={styles.B4enterTibet}>
+      <div className='pageTitle'>藏品入藏</div>
+      <h1>开发中</h1>
+    </div>
+  )
+}
+
+const MemoB4enterTibet = React.memo(B4enterTibet)
+
+export default MemoB4enterTibet

+ 27 - 13
src/pages/C_goodsManage/C1register/AddGoods/index.tsx

@@ -20,7 +20,7 @@ import { API_goodsAdd, API_goodsInfo } from '@/store/action/C1ledger'
 import { C1GoodType } from '@/pages/A3_ledger/C1ledger/type'
 import { MessageFu } from '@/utils/message'
 import history, { cascaderObjFu } from '@/utils/history'
-import B3GaddNow from '@/pages/B_enterTibet/B3goodsTable/B3GaddNow'
+import ZGaddNow from '@/components/ZGaddNow'
 
 // 级联的数据转换成字符串
 export const cascaderChArr = [
@@ -229,9 +229,11 @@ function AddGoods({ nowSta, closeFu, succFu, isEdit }: Props) {
 
   // 没有通过校验
   const onFinishFailed = useCallback((info: any) => {
+    MessageFu.warning('请完善必填字段')
+
     const values = info.values || {}
-    if (!values.qualityDictScope || !values.source) MessageFu.warning('请完善附属信息必填字段')
-    else MessageFu.warning('请完善基本信息必填字段')
+    if (!values.qualityDictScope || !values.source) setTabTxt('附属信息')
+    else setTabTxt('基本信息')
   }, [])
 
   // 通过校验点击确定
@@ -343,7 +345,7 @@ function AddGoods({ nowSta, closeFu, succFu, isEdit }: Props) {
 
         const res = await API_goodsAdd(obj, nowSta.id === 'null' ? '新增' : '编辑')
         if (res.code === 0) {
-          MessageFu.success(nowSta.id === 'null' ? '新增成功' : '编辑成功')
+          MessageFu.success(nowSta.id === 'null' ? `${staTxt.current}成功` : '编辑成功')
           succFu(res.data, nowSta.id === 'null' ? '新增' : '编辑', staTxt.current as '提交')
           closeFu()
         }
@@ -381,8 +383,12 @@ function AddGoods({ nowSta, closeFu, succFu, isEdit }: Props) {
           ))}
         </div>
         <div className='AddGtitRR'>
-          <Button onClick={() => setSelectOne(true)}>从入馆藏品中登记</Button>&emsp;
-          <Button onClick={() => history.push('/goodEdit')}>查看历史记录</Button>
+          {nowSta.id === 'null' ? (
+            <>
+              <Button onClick={() => setSelectOne(true)}>从入馆藏品中登记</Button>&emsp;
+              <Button onClick={() => history.push('/goodEdit')}>查看历史记录</Button>
+            </>
+          ) : null}
         </div>
       </div>
 
@@ -918,19 +924,27 @@ function AddGoods({ nowSta, closeFu, succFu, isEdit }: Props) {
             <Button type='primary' onClick={() => btnOk('提交')}>
               提交
             </Button>
-            &emsp;
-            <Button type='primary' onClick={() => btnOk('存草稿')}>
-              存草稿
-            </Button>
-            &emsp;
-            {nowSta.key === '藏品登记' ? null : <MyPopconfirm txtK='取消' onConfirm={closeFu} />}
+            {nowSta.id === 'null' ? (
+              <>
+                &emsp;
+                <Button type='primary' onClick={() => btnOk('存草稿')}>
+                  存草稿
+                </Button>
+              </>
+            ) : null}
+            {nowSta.key === '藏品登记' ? null : (
+              <>
+                &emsp;
+                <MyPopconfirm txtK='取消' onConfirm={closeFu} />
+              </>
+            )}
           </Form.Item>
         </Form>
       </div>
 
       {/* 从入馆藏品中选择一个 */}
       {selectOne ? (
-        <B3GaddNow
+        <ZGaddNow
           register={true}
           nowSta={{ key: '藏品登记', id: 'cms/register/goods/getList' }}
           closeFu={() => setSelectOne(false)}

+ 4 - 0
src/pages/C_goodsManage/C1register/C1look/index.module.scss

@@ -0,0 +1,4 @@
+.C1look {
+  :global {
+  }
+}

+ 13 - 0
src/pages/C_goodsManage/C1register/C1look/index.tsx

@@ -0,0 +1,13 @@
+import React from 'react'
+import styles from './index.module.scss'
+function C1look() {
+  return (
+    <div className={styles.C1look}>
+      <h1>C1look</h1>
+    </div>
+  )
+}
+
+const MemoC1look = React.memo(C1look)
+
+export default MemoC1look

+ 42 - 51
src/pages/C_goodsManage/C1register/index.tsx

@@ -1,31 +1,29 @@
 import React, { useCallback, useEffect, useRef, useState } from 'react'
 import AddGoods from './AddGoods'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
-import { C1GoodType } from '@/pages/A3_ledger/C1ledger/type'
 import {
   FourAPI_create,
   FourAPI_getInfo,
   FourAPI_saveApply,
   FourAPI_saveDraft
 } from '@/store/action/FourAll'
-import { MessageFu } from '@/utils/message'
 import history from '@/utils/history'
-function C21wealth() {
-  const [waiId, setWaiId] = useState('null')
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
+function C1register() {
+  const [waiId, setWaiId] = useState('')
 
   useEffect(() => {
     const url = window.location.href
     if (url.includes('?id=')) {
       const id = url.split('?id=')[1]
       if (id) setWaiId(id)
-    }
+    } else setWaiId('null')
   }, [])
 
   // 顶部数据
   const [topInfo, setTopInfo] = useState({} as FourTableType)
 
-  // 藏品清单快照数据 待完善
-  const [snaps, setSnaps] = useState<C1GoodType[]>([])
+  // 藏品清单快照数据1对1-把本身的id存起来
+  const snapsIdRef = useRef(0)
 
   // 藏品登记/藏品编辑、进来创建订单
   const createFu = useCallback(async () => {
@@ -41,61 +39,54 @@ function C21wealth() {
     if (res.code === 0) {
       const data = res.data
       setTopInfo(data)
-      // 藏品清单快照信息id对比
-      // const arrTemp: any = []
-      // const snapsTemp = data.snaps || []
-
-      // snapsTemp.forEach((v: any) => {
-      //   snapsID2ref.current.push({ goodsId: v.goodsId, id: v.id })
-
-      //   const obj = JSON.parse(v.snap || '{}')
-      //   if (obj.id) obj.id2 = v.id
-
-      //   arrTemp.push(obj)
-      // })
-      // setSnaps(arrTemp)
+      if (data.snaps && data.snaps.length) {
+        snapsIdRef.current = data.snaps[0].id
+      }
     }
   }, [])
 
   useEffect(() => {
     if (waiId === 'null') createFu()
-    else getInfoFu(waiId)
+    else if (waiId) getInfoFu(waiId)
   }, [createFu, getInfoFu, waiId])
 
   return (
     <div>
-      <div className='pageTitle'>藏品登记</div>
-      <AddGoods
-        closeFu={() => {}}
-        nowSta={{ key: '藏品登记', id: 'null' }}
-        isEdit={false}
-        succFu={async (obj, type, sta) => {
-          const obj2 = {
-            ...topInfo,
-            goodsIds: obj.id + '',
-            snaps: [
-              {
-                goodsId: obj.id,
-                id: type === '新增' ? null : '待完善',
-                orderId: topInfo.id,
-                snap: JSON.stringify(obj)
-              }
-            ]
-          }
-          const res =
-            sta === '存草稿'
-              ? await FourAPI_saveDraft('3', obj2)
-              : await FourAPI_saveApply('3', obj2)
+      <div className='pageTitle'>藏品登记{waiId !== 'null' ? '-编辑' : ''}</div>
+
+      {topInfo.id ? (
+        <AddGoods
+          closeFu={() => {}}
+          nowSta={{ key: '藏品登记', id: topInfo.goodsIds ? topInfo.goodsIds : 'null' }}
+          isEdit={false}
+          succFu={async (obj, type, sta) => {
+            const obj2 = {
+              ...topInfo,
+              goodsIds: obj.id + '',
+              snaps: [
+                {
+                  goodsId: obj.id,
+                  id: type === '新增' ? null : snapsIdRef.current ? snapsIdRef.current : null,
+                  orderId: topInfo.id,
+                  snap: JSON.stringify(obj)
+                }
+              ]
+            }
+            const res =
+              sta === '存草稿'
+                ? await FourAPI_saveDraft('3', obj2)
+                : await FourAPI_saveApply('3', obj2)
 
-          if (res.code === 0) {
-            history.push('/goodEdit')
-          }
-        }}
-      />
+            if (res.code === 0) {
+              history.push('/goodEdit')
+            }
+          }}
+        />
+      ) : null}
     </div>
   )
 }
 
-const MemoC21wealth = React.memo(C21wealth)
+const MemoC1register = React.memo(C1register)
 
-export default MemoC21wealth
+export default MemoC1register

+ 71 - 0
src/pages/C_goodsManage/C22goodEdit/data.ts

@@ -1,3 +1,6 @@
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
+import { getTokenInfo } from '@/utils/storage'
+
 type C22baseFormDataType = {
   pageSize: number
   pageNum: number
@@ -27,3 +30,71 @@ export const C22baseFormData: C22baseFormDataType = {
   status: '',
   userType: ''
 }
+
+// 藏品编辑模块(藏品登记模块/藏品删除模块)特有的按钮过滤
+type C22tableBtnTxtType = '编辑' | '查看' | '撤回' | '审批'
+
+export const C22tableBtnFu = (item: FourTableType) => {
+  //申请单状态     申请人id      当前节点审批人     历史审批人       抄送人
+  const { status, creatorId, currentAuditUserIds, auditUserIds, copyUserIds } = item
+  let flagObj: { [K in C22tableBtnTxtType]: boolean } = {
+    编辑: false,
+    查看: false,
+    撤回: false,
+    审批: false
+  }
+  const myId = (getTokenInfo().user || { id: 0 }).id
+
+  //  当前节点审批人
+  const arr3 = (currentAuditUserIds || '').split(',').map(v => Number(v))
+  // 历史审批人
+  const arr4 = (auditUserIds || '').split(',').map(v => Number(v))
+  // 抄送人
+  const arr5 = (copyUserIds || '').split(',').map(v => Number(v))
+
+  const obj = {
+    1: () => {
+      // 草稿
+      // 申请人是我自己(提交人)
+      if (myId === creatorId) flagObj['查看'] = flagObj['编辑'] = true
+    },
+    6: () => {
+      //待提交
+      // 申请人是我自己 =》查看   编辑
+      if (myId === creatorId) flagObj['查看'] = flagObj['编辑'] = true
+    },
+    2: () => {
+      // 待审批
+      // 申请人是我自己(提交人)
+      if (myId === creatorId) flagObj['查看'] = flagObj['撤回'] = true
+      // 历史审批人有我 =》查看
+      if (arr4.includes(myId)) flagObj['查看'] = true
+      // 当前审批人有我 =》审批
+      if (arr3.includes(myId)) flagObj['审批'] = true
+      // 抄送人有我 =》查看
+      if (arr5.includes(myId)) flagObj['查看'] = true
+    },
+    3: () => {
+      //审批不通过
+      // 申请人是我自己(提交人)
+      if (myId === creatorId) flagObj['编辑'] = flagObj['查看'] = true
+      // 历史审批人有我 =》查看
+      if (arr4.includes(myId)) flagObj['查看'] = true
+      // 抄送人有我 =》查看
+      if (arr5.includes(myId)) flagObj['查看'] = true
+    },
+    4: () => {
+      //已完成
+      // 申请人是我自己 =》查看
+      if (myId === creatorId) flagObj['查看'] = true
+      // 历史审批人有我 =》查看
+      if (arr4.includes(myId)) flagObj['查看'] = true
+      // 抄送人有我 =》查看
+      if (arr5.includes(myId)) flagObj['查看'] = true
+    }
+  }
+
+  if (Reflect.get(obj, status)) Reflect.get(obj, status)()
+
+  return flagObj
+}

+ 78 - 9
src/pages/C_goodsManage/C22goodEdit/index.tsx

@@ -1,12 +1,11 @@
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import ExportJsonExcel from 'js-export-excel'
 import { selectObj } from '@/utils/select'
 import { Button, DatePicker, Input, Select } from 'antd'
 import { useDispatch, useSelector } from 'react-redux'
-import { C22baseFormData, C22InputKeyType } from './data'
-import { C6_APIdel, C6_APIgetList } from '@/store/action/C6edit'
+import { C22baseFormData, C22InputKeyType, C22tableBtnFu } from './data'
+import { C6_APIgetList, C6_APIrevocation } from '@/store/action/C6edit'
 import { RootState } from '@/store'
 import { MessageFu } from '@/utils/message'
 import dayjs from 'dayjs'
@@ -14,6 +13,10 @@ import { C6tableC, statusObj } from '@/utils/tableData'
 import MyTable from '@/components/MyTable'
 import classNames from 'classnames'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
+import { FourAPI_revocation } from '@/store/action/FourAll'
+import history from '@/utils/history'
+import MyPopconfirm from '@/components/MyPopconfirm'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 const { RangePicker } = DatePicker
 
 function C22goodEdit() {
@@ -91,18 +94,84 @@ function C22goodEdit() {
     [formData]
   )
 
-  // 点击删除
-  const delTableFu = useCallback(
-    async (id: number) => {
-      const res = await C6_APIdel(id)
+  // 点击撤回
+  const revocationFu = useCallback(
+    async (id: number, type: string) => {
+      const res = type === 'DJ' ? await FourAPI_revocation('3', id) : await C6_APIrevocation(id)
       if (res.code === 0) {
-        MessageFu.success('删除成功')
+        MessageFu.success('撤回成功')
         getListFu()
       }
     },
     [getListFu]
   )
 
+  // 点击编辑
+  const editBtnFu = useCallback((id: number, type: string) => {
+    if (type === 'DJ') history.push(`/register?id=${id}`)
+    else history.push(`/goodEdit_edit/2/${id}`)
+  }, [])
+
+  // 点击 编辑2 查看4 审批3
+  const tableBtnFu = useCallback((id: number, key: '3' | '4', type: string) => {
+    let url = type === 'DJ' ? `/register_edit/${key}/${id}` : `/goodEdit_edit/${key}/${id}`
+    history.push(url)
+  }, [])
+
+  const lastBtn = useMemo(() => {
+    return [
+      {
+        title: '操作',
+        width: 200,
+        render: (item: FourTableType) => {
+          let obj = C22tableBtnFu(item)
+          return !Object.values(obj).some(Boolean) ? (
+            '-'
+          ) : (
+            <>
+              {obj['编辑'] ? (
+                <Button size='small' type='text' onClick={() => editBtnFu(item.id, item.type)}>
+                  编辑
+                </Button>
+              ) : null}
+              {obj['审批'] ? (
+                <Button
+                  size='small'
+                  type='text'
+                  onClick={() => tableBtnFu(item.id, '3', item.type)}
+                >
+                  审批
+                </Button>
+              ) : null}
+
+              {obj['查看'] ? (
+                <Button
+                  size='small'
+                  type='text'
+                  onClick={() => tableBtnFu(item.id, '4', item.type)}
+                >
+                  查看
+                </Button>
+              ) : null}
+
+              {obj['撤回'] ? (
+                <MyPopconfirm
+                  txtK='撤回'
+                  onConfirm={() => revocationFu(item.id, item.type)}
+                  Dom={
+                    <Button size='small' type='text' danger>
+                      撤回
+                    </Button>
+                  }
+                />
+              ) : null}
+            </>
+          )
+        }
+      }
+    ]
+  }, [editBtnFu, revocationFu, tableBtnFu])
+
   useEffect(() => {
     getListFu()
   }, [getListFu, timeKey])
@@ -288,7 +357,7 @@ function C22goodEdit() {
         list={tableInfo.list}
         columnsTemp={C6tableC}
         startBtn={startBtn}
-        lastBtn={[]}
+        lastBtn={lastBtn}
         pageNum={formData.pageNum}
         pageSize={formData.pageSize}
         total={tableInfo.total}

+ 1 - 1
src/pages/C_goodsManage/C2files/data.ts

@@ -1,8 +1,8 @@
 import { selectObj } from '@/utils/select'
 import { C2InputKeyType, TypeC2Form } from './type'
-import { cascaderArr } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/data'
 import { TypeZ1dict } from '@/pages/Z_system/Z1dict/type'
 import store from '@/store'
+import { cascaderArr } from '../C1register/AddGoods/data'
 
 export const C2baseFormData: TypeC2Form = {
   goodNumName: '',

+ 1 - 1
src/pages/C_goodsManage/C2files/index.tsx

@@ -10,7 +10,6 @@ import MyTable from '@/components/MyTable'
 import ImageLazy from '@/components/ImageLazy'
 import YtableVideo from '@/components/YtableVideo'
 import { C2tableC } from '@/utils/tableData'
-import { GoodFileType } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/type'
 import { selectObj } from '@/utils/select'
 import { fileImgArr, fileVideoArr } from '@/store/action/layout'
 import { API_C2dels, API_C2downS, C2_APIgetList } from '@/store/action/C2files'
@@ -18,6 +17,7 @@ import { useDispatch, useSelector } from 'react-redux'
 import { RootState } from '@/store'
 import { downFileFu, resJiLianFu } from '@/utils/history'
 import { MessageFu } from '@/utils/message'
+import { GoodFileType } from '@/components/Z3upFiles'
 const { RangePicker } = DatePicker
 
 function C2files() {

+ 1 - 1
src/pages/C_goodsManage/C3focus/index.tsx

@@ -5,7 +5,6 @@ import { C1baseFormData, C1InputKeyArr1 } from '../../A3_ledger/C1ledger/data'
 import ExportJsonExcel from 'js-export-excel'
 import { C3_APIfocusNo, C3_APIgetList } from '@/store/action/C3focus'
 import { C1InputKeyType } from '../../A3_ledger/C1ledger/type'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import { Button, Cascader, Input, Select } from 'antd'
 import { openGoodsInfoFu, resJiLianFu } from '@/utils/history'
 import { MessageFu } from '@/utils/message'
@@ -16,6 +15,7 @@ import { C1tableC, statusCollectObj, statusStorageObj } from '@/utils/tableData'
 import MyTable from '@/components/MyTable'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
 import MyPopconfirm from '@/components/MyPopconfirm'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 function C3focus() {
   const dispatch = useDispatch()

+ 0 - 9
src/pages/C_goodsManage/C5register/index.tsx

@@ -1,9 +0,0 @@
-import B34page from '@/pages/B_enterTibet/B3_4page'
-import React from 'react'
-function C5register() {
-  return <B34page pageSta='登记' />
-}
-
-const MemoC5register = React.memo(C5register)
-
-export default MemoC5register

+ 0 - 136
src/pages/C_goodsManage/C6edit/C6add/index.module.scss

@@ -1,136 +0,0 @@
-.C6add {
-  background-color: #fff;
-  border-radius: 10px;
-  padding: 15px 24px 0px;
-  :global {
-    .C6Tit {
-      font-size: 18px;
-      font-weight: 700;
-      padding-bottom: 10px;
-      padding-left: 18px;
-      border-bottom: 1px solid #ccc;
-      margin-bottom: 17px;
-      color: var(--themeColor);
-      .ant-btn {
-        margin-left: 15px;
-        pointer-events: none;
-      }
-    }
-    .C6Tit2 {
-      margin-top: 24px;
-      display: flex;
-      justify-content: space-between;
-      padding-bottom: 10px;
-      border-bottom: 1px solid #ccc;
-      margin-bottom: 20px;
-      .C6Tit2ll {
-        font-size: 18px;
-        font-weight: 700;
-        padding-left: 18px;
-        margin-bottom: 17px;
-        color: var(--themeColor);
-      }
-      .C6Tit2rr {
-        position: relative;
-        z-index: 2;
-        .ant-btn {
-          margin-left: 15px;
-        }
-      }
-    }
-
-    .C6main {
-      width: 100%;
-      height: calc(100% - 70px);
-      overflow-y: auto;
-      padding-bottom: 40px;
-
-      .C6rowAll {
-        display: flex;
-        justify-content: space-between;
-        align-items: self-start;
-        font-size: 16px;
-        flex-wrap: wrap;
-        .C6row {
-          width: 48%;
-          display: flex;
-          align-items: center;
-          margin-bottom: 20px;
-          .C6rowll {
-            width: 110px;
-            text-align: right;
-            font-weight: 700;
-            & > span {
-              color: #ff4c6f;
-            }
-          }
-          .C6rowrr {
-            width: calc(100% - 110px);
-            .ant-input-affix-wrapper {
-              width: 300px;
-            }
-            .ant-select {
-              width: 300px;
-            }
-          }
-        }
-        .C6row2 {
-          align-items: self-start;
-          .C6rowll {
-            position: relative;
-            top: 3px;
-          }
-        }
-        .C6row3 {
-          position: relative;
-          top: 4px;
-        }
-
-        .C6rowFull {
-          width: 100%;
-          margin-top: -20px;
-          align-items: self-start;
-          margin-bottom: 0;
-          .C6rowll {
-            position: relative;
-            top: 3px;
-          }
-        }
-      }
-      // 藏品清单
-      .C6googsBox {
-        padding-right: 20px;
-        margin-top: 24px;
-        .D1GtNum {
-          cursor: pointer;
-          text-decoration: underline;
-          // &:hover {
-          //   color: var(--themeColor);
-          // }
-        }
-
-        .D1GtNumAc {
-          color: var(--themeColor);
-        }
-
-        .C6tab2Tit {
-          font-weight: 700;
-          color: var(--themeColor);
-        }
-      }
-    }
-
-    .C6btn {
-      position: absolute;
-      bottom: 20px;
-      left: 134px;
-      .ant-btn {
-        margin-right: 20px;
-      }
-    }
-
-    .ant-table-cell {
-      padding: 8px !important;
-    }
-  }
-}

+ 0 - 745
src/pages/C_goodsManage/C6edit/C6add/index.tsx

@@ -1,745 +0,0 @@
-import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
-import styles from './index.module.scss'
-import { useParams } from 'react-router-dom'
-import { pageTitTxtObj } from '@/pages/D_storeManage/D4impStor/D4edit'
-import X3auditInfo from '@/pages/X_stock/X3auditInfo'
-import { Button, DatePicker, Input } from 'antd'
-import dayjs from 'dayjs'
-import { B3aForm1 } from '@/pages/B_enterTibet/B3_4page/B3edit/data'
-import Z3upFiles from '@/components/Z3upFiles'
-import ZRichTexts from '@/components/ZRichTexts'
-import B3GaddNow from '@/pages/B_enterTibet/B3goodsTable/B3GaddNow'
-import MyTable from '@/components/MyTable'
-import history, { btnFlagFu2, openGoodsInfoFu, textFu } from '@/utils/history'
-import MyPopconfirm from '@/components/MyPopconfirm'
-import { B3eTableC, statusObj } from '@/utils/tableData'
-import { MessageFu } from '@/utils/message'
-import classNames from 'classnames'
-import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
-import B3GaddNew from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew'
-import ImageLazy from '@/components/ImageLazy'
-import X2lookText from '@/pages/X_stock/X2lookText'
-import B3flowTable from '@/pages/B_enterTibet/B3flowTable'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
-import {
-  C6_APIcreate,
-  C6_APIdel,
-  C6_APIgetInfo,
-  C6_APIrevocation,
-  C6_APIsaveApply,
-  C6_APIsaveAudit,
-  C6_APIsaveCreate,
-  C6_APIsaveDraft
-} from '@/store/action/C6edit'
-import { EXbtnFu } from '@/utils/EXBtn'
-import {
-  ArrKeyType,
-  Y11infoArr1,
-  Y11infoArr2,
-  Y11infoArr3,
-  Y11infoArr4,
-  Y11infoArr5
-} from '@/pages/Y_goodsDetails/Y1cathet/data'
-import { baseURL } from '@/utils/http'
-import { GoodFileType } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/type'
-
-export type OldNewType = {
-  name: string
-  qian: string | GoodFileType[]
-  hou: string | GoodFileType[]
-}
-
-const oldNewTxtArr: ArrKeyType = [
-  ...Y11infoArr1,
-  ...Y11infoArr2,
-  ...Y11infoArr3,
-  ...Y11infoArr4,
-  ...Y11infoArr5,
-  {
-    name: '封面图',
-    key: 'thumb',
-    backFu: info => {
-      return { thumb: info.thumb, thumbPc: info.thumbPc }
-    }
-  }
-]
-
-function C6add() {
-  // 新旧附件信息对比
-  const [oldNewArr, setOldNewArr] = useState<OldNewType[]>([])
-
-  const { key, id } = useParams<any>()
-  // key:1 新增 2编辑 3审批 4查看
-
-  // 滚到顶部
-  const sollrDom = useRef<HTMLDivElement>(null)
-
-  // 顶部数据
-  const [topInfo, setTopInfo] = useState({} as FourTableType)
-
-  // 创建订单
-  const creatFu = useCallback(async () => {
-    const res = await C6_APIcreate()
-    if (res.code === 0) {
-      setTopInfo(res.data)
-    }
-  }, [])
-
-  // 获取详情
-  const getInfoFu = useCallback(async () => {
-    const res = await C6_APIgetInfo(id)
-    if (res.code === 0) {
-      const obj = { ...res.data }
-
-      try {
-        if (obj.goods && obj.goods.length && obj.goods[0].tempGoodsJson)
-          obj.tempGoodsJson = JSON.parse(obj.goods[0].tempGoodsJson)
-
-        if (obj.snap) setOldNewArr(JSON.parse(obj.snap))
-      } catch (error) {
-        console.log('error:', error)
-      }
-
-      setTopInfo(obj)
-
-      // 设置富文本
-      ZRichTextRef.current?.ritxtShowFu(JSON.parse(res.data.rtf || '{}'))
-    }
-  }, [id])
-
-  useEffect(() => {
-    if (key === '1') creatFu()
-    else getInfoFu()
-
-    if (sollrDom.current) sollrDom.current.scrollTop = 0
-  }, [creatFu, getInfoFu, key])
-
-  // 上传附件的ref
-  const filesRef = useRef<any>(null)
-  // const filesRes = filesRef.current.filesIdRes();
-
-  // 富文本的ref
-  const ZRichTextRef = useRef<any>(null)
-
-  // 审批意见的ref
-  const ZAuditRef = useRef<any>(null)
-
-  const timeChange = useCallback(
-    (e: any) => {
-      setTopInfo({ ...topInfo, date: dayjs(e).format('YYYY-MM-DD') })
-    },
-    [topInfo]
-  )
-
-  // 审批的sta
-  const [auditSta, setAuDitSta] = useState('')
-
-  // 新增的底部按钮点击
-  const btnClickFu = useCallback(
-    async (val: '草稿' | '创建' | '保存' | '审批') => {
-      if (!topInfo.name) return MessageFu.warning('申请名称不能为空')
-
-      // 藏品编辑校验
-      if (val !== '草稿') {
-        if (!topInfo.goods || (topInfo.goods && topInfo.goods.length === 0))
-          return MessageFu.warning('请选择藏品')
-
-        if (oldNewArr.length === 0) return MessageFu.warning('未修改藏品信息')
-      }
-
-      if (val === '审批') {
-        // console.log('审批信息富文本', rtf2)
-        if (!auditSta) {
-          if (sollrDom.current) sollrDom.current.scrollTop = 0
-          return MessageFu.warning('请选择审批结果')
-        }
-        const rtf2 = ZAuditRef.current?.resData()
-
-        const res = await C6_APIsaveAudit({
-          orderId: topInfo.id,
-          rtfOpinion: rtf2,
-          status: auditSta === '同意' ? 1 : 2
-        })
-
-        if (res.code === 0) {
-          MessageFu.success('审批成功')
-          // 跳详情页
-          history.push(`/edit_add/4/${topInfo.id}`)
-        }
-      } else {
-        const rtf1 = ZRichTextRef.current?.fatherBtnOkFu() || { flag: true }
-        // console.log('申请信息富文本', JSON.stringify(rtf1.val || ''))
-
-        // 上传附件
-        const filesRes = filesRef.current.filesIdRes()
-
-        const obj = {
-          ...topInfo,
-          fileIds: filesRes.join(','),
-          rtf: JSON.stringify(rtf1.val || ''),
-          goodsIds: topInfo.goods.map(v => v.id).join(','),
-          snap: JSON.stringify(oldNewArr),
-          tempGoodsJson: topInfo.tempGoodsJson
-        }
-        // console.log(123, obj)
-
-        // if (1 + 1 === 2) return
-
-        if (val === '草稿') {
-          // 存草稿 当前页保存 不跳转
-          const res = await C6_APIsaveDraft(obj)
-          if (res.code === 0) {
-            MessageFu.success('草稿保存成功')
-          }
-        } else {
-          const res = val === '创建' ? await C6_APIsaveCreate(obj) : await C6_APIsaveApply(obj)
-          if (res.code === 0) {
-            MessageFu.success(`${val}成功`)
-            // 跳到详情页
-            history.push(`/edit_add/4/${topInfo.id}`)
-          }
-        }
-      }
-    },
-    [auditSta, oldNewArr, topInfo]
-  )
-
-  // 打开侧边栏
-  const [cathet, setCathet] = useState(0)
-
-  const startBtn = useMemo(() => {
-    return [
-      {
-        title: '藏品编号',
-        render: (item: FourTableType) => {
-          return (
-            <span
-              onClick={() => setCathet(item.id)}
-              className={classNames('D1GtNum', item.id === cathet ? 'D1GtNumAc' : '')}
-            >
-              {item.num}
-            </span>
-          )
-        }
-      }
-    ]
-  }, [cathet])
-
-  const tableLastBtn = useMemo(() => {
-    return [
-      {
-        title: '操作',
-        render: (item: FourTableType) => {
-          return (
-            <>
-              <Button size='small' type='text' onClick={() => openGoodsInfoFu(item.id)}>
-                查看
-              </Button>
-              {['3', '4'].includes(key) ? null : (
-                <MyPopconfirm
-                  txtK='删除'
-                  onConfirm={() =>
-                    setTopInfo({
-                      ...topInfo,
-                      goods: topInfo.goods.filter(v => v.id !== item.id)
-                    })
-                  }
-                />
-              )}
-            </>
-          )
-        }
-      }
-    ]
-  }, [key, topInfo])
-
-  // 点击所选藏品 / 继续编辑
-  const [nowSta, setNowSta] = useState({ key: '', id: '', type: '' })
-
-  // 查看的按钮创建-提交-撤回
-  const lookBtnFu = useCallback(
-    async (val: '创建' | '提交' | '撤回') => {
-      if (val !== '撤回') {
-        if (!topInfo.goods || (topInfo.goods && topInfo.goods.length === 0))
-          return MessageFu.warning('请选择藏品')
-
-        if (oldNewArr.length === 0) return MessageFu.warning('未修改藏品信息')
-      }
-
-      const rtf1 = ZRichTextRef.current?.fatherBtnOkFu() || { flag: true }
-      // console.log('申请信息富文本', JSON.stringify(rtf1.val || ''))
-
-      // 上传附件
-      const filesRes = filesRef.current.filesIdRes()
-      const obj = {
-        ...topInfo,
-        fileIds: filesRes.join(','),
-        rtf: JSON.stringify(rtf1.val || ''),
-        goodsIds: topInfo.goods.map(v => v.id).join(','),
-        snap: JSON.stringify(oldNewArr),
-        tempGoodsJson: topInfo.tempGoodsJson
-      }
-
-      const res =
-        val === '创建'
-          ? await C6_APIsaveCreate(obj)
-          : val === '提交'
-          ? await C6_APIsaveApply(obj)
-          : await C6_APIrevocation(id)
-
-      if (res.code === 0) {
-        if (sollrDom.current) sollrDom.current.scrollTop = 0
-        MessageFu.success(val + '成功')
-        getInfoFu()
-      }
-    },
-    [getInfoFu, id, oldNewArr, topInfo]
-  )
-
-  // 查看模式点击删除
-  const delFu = useCallback(async () => {
-    const res = await C6_APIdel(id)
-    if (res.code === 0) {
-      MessageFu.success('删除成功')
-      history.push('/edit')
-    }
-  }, [id])
-
-  // 查看模式点击审批 编辑
-  const lookJumpFu = useCallback(
-    (val: '审批' | '编辑') => {
-      history.push(`/edit_add/${val === '审批' ? 3 : 2}/${id}`)
-      MessageFu.success(`已跳转至${val}页面`)
-    },
-    [id]
-  )
-
-  // 查看模式下的按钮
-  const lookBtn = useMemo(() => {
-    return (
-      <>
-        {btnFlagFu2(topInfo)['创建'] ? (
-          <Button type='primary' onClick={() => lookBtnFu('创建')}>
-            创建
-          </Button>
-        ) : null}
-        {btnFlagFu2(topInfo)['提交'] ? (
-          <Button type='primary' onClick={() => lookBtnFu('提交')}>
-            提交
-          </Button>
-        ) : null}
-
-        {btnFlagFu2(topInfo)['撤回'] ? (
-          <MyPopconfirm
-            txtK='撤回'
-            onConfirm={() => lookBtnFu('撤回')}
-            Dom={
-              <Button type='primary' danger>
-                撤回
-              </Button>
-            }
-          />
-        ) : null}
-
-        {btnFlagFu2(topInfo)['审批'] ? (
-          <Button type='primary' onClick={() => lookJumpFu('审批')}>
-            审批
-          </Button>
-        ) : null}
-        {btnFlagFu2(topInfo)['编辑'] ? (
-          <Button type='primary' onClick={() => lookJumpFu('编辑')}>
-            编辑
-          </Button>
-        ) : null}
-
-        {btnFlagFu2(topInfo)['重新提交'] ? (
-          <Button type='primary' onClick={() => lookBtnFu('提交')}>
-            重新提交
-          </Button>
-        ) : null}
-
-        {EXbtnFu(topInfo)}
-
-        {btnFlagFu2(topInfo)['删除'] ? (
-          <MyPopconfirm
-            txtK='删除'
-            onConfirm={() => delFu()}
-            Dom={
-              <Button type='primary' danger>
-                删除
-              </Button>
-            }
-          />
-        ) : null}
-
-        <Button onClick={() => history.push('/edit')}>返回</Button>
-      </>
-    )
-  }, [delFu, lookBtnFu, lookJumpFu, topInfo])
-
-  // 编辑明细 表格
-
-  const tableLastBtn2Fu = useCallback((item: OldNewType, key: 'qian' | 'hou') => {
-    if (item.name === '备注') {
-      if (textFu(item[key] as string)) {
-        return (
-          <Button size='small' type='text' onClick={() => setLook(textFu(item[key] as string))}>
-            查看
-          </Button>
-        )
-      } else return '-'
-    } else if (item.name === '附件信息') {
-      let arr = item[key] as GoodFileType[]
-
-      return arr.length
-        ? arr.map((v: any, i: number) => (
-            <a key={v.id} href={baseURL + v.filePath} download target='_blank' rel='noreferrer'>
-              {v.fileName}
-              {i < arr!.length - 1 ? ',' : ''}
-            </a>
-          ))
-        : '-'
-    } else if (item.name === '封面图') {
-      const info: any = item[key]
-
-      return (
-        <div className='tableImgAuto'>
-          <ImageLazy
-            width={60}
-            height={60}
-            srcBig={info.thumbPc || info.filePath}
-            src={info.thumb}
-          />
-        </div>
-      )
-    } else return item[key] || '(空)'
-  }, [])
-
-  const tableLastBtn2 = useMemo(() => {
-    return [
-      {
-        title: '编辑项',
-        render: (item: OldNewType) =>
-          ['封面图', '附件信息', '备注'].includes(item.name) ? (
-            <span className='C6tab2Tit'>{item.name}</span>
-          ) : (
-            item.name
-          )
-      },
-      {
-        title: '编辑前',
-        render: (item: OldNewType) => tableLastBtn2Fu(item, 'qian')
-      },
-      {
-        title: '编辑后',
-        render: (item: OldNewType) => tableLastBtn2Fu(item, 'hou')
-      }
-    ]
-  }, [tableLastBtn2Fu])
-
-  //查看富文本信息
-  const [look, setLook] = useState('')
-
-  // 申请记录
-  const [auditsShow, setAuditsShow] = useState(false)
-
-  return (
-    <div className={styles.C6add}>
-      <div className='pageTitle'>藏品编辑-{Reflect.get(pageTitTxtObj, key)}</div>
-
-      <div className='C6main' ref={sollrDom}>
-        {['3'].includes(key) ? (
-          <X3auditInfo
-            dirCode='C6edit'
-            myUrl='cms/orderEdit/upload'
-            auditSta={auditSta}
-            auditStaFu={val => setAuDitSta(val)}
-            ref={ZAuditRef}
-          />
-        ) : null}
-
-        {/* 表单字段、附件等 */}
-        <div className='C6Tit'>
-          申请信息
-          {key === '1' ? null : (
-            <Button type='dashed'>{Reflect.get(statusObj, topInfo.status)}</Button>
-          )}
-        </div>
-        <div className='C6rowAll'>
-          <div className='C6row'>
-            <div className='C6rowll'>
-              <span> * </span>申请名称:
-            </div>
-            <div className='C6rowrr'>
-              <Input
-                value={topInfo.name}
-                onChange={e => setTopInfo({ ...topInfo, name: e.target.value.trim() })}
-                readOnly={['3', '4'].includes(key)}
-                placeholder='请输入内容'
-                maxLength={30}
-                showCount
-              />
-            </div>
-          </div>
-
-          <div className='C6row'>
-            <div className='C6rowll'>
-              <span> * </span>业务日期:
-            </div>
-            <div className='C6rowrr'>
-              <DatePicker
-                disabled={['3', '4'].includes(key)}
-                allowClear={false}
-                value={dayjs(topInfo.date)}
-                onChange={timeChange}
-              />
-            </div>
-          </div>
-
-          {B3aForm1.map(v => (
-            <div className='C6row' key={v.name}>
-              <div className='C6rowll'>{v.name}:</div>
-              <div className='C6rowrr'>
-                {topInfo[v.key as 'name']}
-                {['3', '4'].includes(key) && v.name === '发起人'
-                  ? ' - ' + topInfo.createTime || ''
-                  : ''}
-              </div>
-            </div>
-          ))}
-
-          <div className='C6row C6row2'>
-            <div className='C6rowll'>附件:</div>
-            <div className='C6rowrr'>
-              <Z3upFiles
-                max={10}
-                isLook={['3', '4'].includes(key)}
-                ref={filesRef}
-                fileCheck={false}
-                dirCode='C6edit'
-                myUrl='cms/orderEdit/upload'
-                lookData={topInfo.files || []}
-                size={500}
-                fromData={{ moduleId: topInfo.id }}
-              />
-            </div>
-          </div>
-
-          <div className='C6row'>
-            <div className='C6rowll'>原因事由:</div>
-            <div className='C6rowrr'>
-              <Input
-                value={topInfo.reason}
-                onChange={e => setTopInfo({ ...topInfo, reason: e.target.value })}
-                readOnly={['3', '4'].includes(key)}
-                placeholder='请输入内容'
-                maxLength={30}
-                showCount
-              />
-            </div>
-          </div>
-
-          <div className='C6row C6rowFull'>
-            <div className='C6rowll'>备注:</div>
-            <div className='C6rowrr'>
-              <ZRichTexts
-                check={false}
-                dirCode='C6edit'
-                myUrl='cms/orderEdit/upload'
-                isLook={['3', '4'].includes(key)}
-                ref={ZRichTextRef}
-                isOne={true}
-                upAudioBtnNone={true}
-              />
-            </div>
-          </div>
-        </div>
-
-        {/* 所选藏品 */}
-        <div className='C6googsBox'>
-          <div className='C6Tit2'>
-            <div className='C6Tit2ll'>所选藏品</div>
-            <div className='C6Tit2rr'>
-              {['3', '4'].includes(key) ? null : (
-                <>
-                  <Button
-                    type='primary'
-                    onClick={() =>
-                      setNowSta({ key: '7', id: 'cms/orderEdit/goods/getList', type: 'now' })
-                    }
-                  >
-                    选择藏品
-                  </Button>
-                  <Button
-                    disabled={!(topInfo.goods && topInfo.goods.length)}
-                    type='primary'
-                    onClick={() =>
-                      setNowSta({ key: '7', id: topInfo.goods[0].id + '', type: 'new' })
-                    }
-                  >
-                    继续编辑
-                  </Button>
-                </>
-              )}
-            </div>
-          </div>
-
-          {/* 表格 */}
-          <MyTable
-            list={topInfo.goods || []}
-            columnsTemp={B3eTableC}
-            startBtn={startBtn}
-            lastBtn={tableLastBtn}
-            pagingInfo={false}
-          />
-        </div>
-
-        {/* 编辑明细 */}
-        <div className='C6googsBox'>
-          <div className='C6Tit'>编辑明细</div>
-
-          {/* 表格 */}
-          <MyTable
-            rowKey='name'
-            list={oldNewArr}
-            columnsTemp={[]}
-            lastBtn={tableLastBtn2}
-            pagingInfo={false}
-          />
-        </div>
-
-        {/* 申请流程 */}
-        {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
-        ) : null}
-      </div>
-
-      {/* 底部按钮 */}
-      <div className='C6btn'>
-        {['3', '4'].includes(key) && topInfo.audits && topInfo.audits.length ? (
-          <Button type='primary' onClick={() => setAuditsShow(true)}>
-            申请记录
-          </Button>
-        ) : null}
-
-        {key === '4' ? (
-          lookBtn
-        ) : (
-          <>
-            {key === '3' ? (
-              <Button type='primary' onClick={() => btnClickFu('审批')}>
-                审批
-              </Button>
-            ) : (
-              <Button type='primary' onClick={() => btnClickFu(key === '1' ? '创建' : '保存')}>
-                {key === '1' ? '创建' : '保存'}
-              </Button>
-            )}
-
-            {key === '1' ? (
-              <Button type='primary' onClick={() => btnClickFu('草稿')}>
-                存草稿
-              </Button>
-            ) : null}
-
-            <MyPopconfirm txtK='取消' onConfirm={() => history.push('/edit')} />
-          </>
-        )}
-      </div>
-
-      {/* 打开侧边栏 */}
-      <Y1cathet sId={cathet} closeFu={() => setCathet(0)} />
-
-      {/* 所选藏品弹窗 / 继续编辑 */}
-      {nowSta.id ? (
-        nowSta.type === 'now' ? (
-          <B3GaddNow
-            isOne={true}
-            nowSta={nowSta}
-            closeFu={() => setNowSta({ key: '', id: '', type: '' })}
-            dataResFu={data => {
-              setTopInfo({ ...topInfo, goods: data })
-              setTimeout(() => {
-                setNowSta({ key: '7', id: data[0].id + '', type: 'new' })
-              }, 20)
-
-              // 编辑明细清空
-              if (topInfo.goods && topInfo.goods[0] && data[0].id !== topInfo.goods[0].id) {
-                setOldNewArr([])
-              }
-            }}
-            oldCheckArr={topInfo.goods || []}
-          />
-        ) : (
-          <B3GaddNew
-            nowSta={nowSta}
-            closeFu={() => setNowSta({ key: '', id: '', type: '' })}
-            isEdit={true}
-            succFu={(newObj, _, fileNewTemp, fileOldTemp) => {
-              const arrRes: OldNewType[] = []
-
-              oldNewTxtArr.forEach(v => {
-                const oldInfo = topInfo.goods[0]
-                let oldTxt = oldInfo[v.key]
-                let newTxt = newObj[v.key] as string
-
-                if ((oldTxt || newTxt) && oldTxt !== newTxt && v.name !== '制档日期') {
-                  if (v.backFu && v.name !== '备注') oldTxt = v.backFu(oldInfo)
-                  if (v.backFu && v.name !== '备注') newTxt = v.backFu(newObj)
-
-                  arrRes.push({
-                    name: v.name,
-                    qian: oldTxt,
-                    hou: newTxt
-                  })
-                }
-              })
-
-              // 附件信息的对比
-
-              const fileOld = fileOldTemp || []
-              const fileNew = fileNewTemp || []
-
-              const fileOldIds = fileOld.map(v => v.id).join('')
-
-              const fileNewIds = fileNew.map(v => v.id).join('')
-
-              if (fileOldIds !== fileNewIds) {
-                arrRes.push({
-                  name: '附件信息',
-                  qian: fileOld.map(
-                    v =>
-                      ({
-                        id: v.id,
-                        fileName: v.fileName,
-                        filePath: v.filePath
-                      } as GoodFileType)
-                  ),
-                  hou: fileNew.map(
-                    v =>
-                      ({
-                        id: v.id,
-                        fileName: v.fileName,
-                        filePath: v.filePath
-                      } as GoodFileType)
-                  )
-                })
-              }
-
-              setTopInfo({ ...topInfo, tempGoodsJson: newObj })
-
-              setOldNewArr(arrRes)
-            }}
-          />
-        )
-      ) : null}
-
-      {/* 查看富文本 */}
-      {look ? <X2lookText closeFu={() => setLook('')} text={look} /> : null}
-    </div>
-  )
-}
-
-const MemoC6add = React.memo(C6add)
-
-export default MemoC6add

+ 0 - 30
src/pages/C_goodsManage/C6edit/index.module.scss

@@ -1,30 +0,0 @@
-.C6edit {
-  background-color: #fff;
-  border-radius: 10px;
-  padding: 15px 24px 0;
-  :global {
-    .C6top {
-      display: flex;
-      justify-content: space-between;
-      margin-bottom: 15px;
-      .C6topll {
-        display: flex;
-        & > div {
-          position: relative;
-          margin-right: 15px;
-          display: flex;
-          align-items: center;
-          .ant-input {
-            width: 160px;
-          }
-        }
-      }
-      .ant-select-selection-placeholder {
-        color: black;
-      }
-    }
-    .ant-table-cell {
-      padding: 8px !important;
-    }
-  }
-}

+ 0 - 277
src/pages/C_goodsManage/C6edit/index.tsx

@@ -1,277 +0,0 @@
-import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
-import styles from './index.module.scss'
-import { B3_4inputKeyArr, B3baseFormData, D3InputKeyType } from '@/pages/B_enterTibet/B3_4page'
-import { Button, DatePicker, Input, Select } from 'antd'
-import MyPopconfirm from '@/components/MyPopconfirm'
-import history, { btnFlagFu } from '@/utils/history'
-import dayjs from 'dayjs'
-import MyTable from '@/components/MyTable'
-import { B3tableC, statusObj } from '@/utils/tableData'
-import { useDispatch, useSelector } from 'react-redux'
-import { C6_APIdel, C6_APIgetList } from '@/store/action/C6edit'
-import { RootState } from '@/store'
-import { MessageFu } from '@/utils/message'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
-import ExportJsonExcel from 'js-export-excel'
-import { selectObj } from '@/utils/select'
-const { RangePicker } = DatePicker
-
-function C6edit() {
-  const dispatch = useDispatch()
-
-  const [formData, setFormData] = useState(B3baseFormData)
-  const formDataRef = useRef(B3baseFormData)
-  const formDataOldRef = useRef(B3baseFormData)
-
-  useEffect(() => {
-    formDataRef.current = formData
-  }, [formData])
-
-  // 点击搜索的 时间戳
-  const [timeKey, setTimeKey] = useState(0)
-
-  // 点击搜索
-  const clickSearch = useCallback(() => {
-    setFormData({ ...formData, pageNum: 1 })
-    setTimeout(() => {
-      setTimeKey(Date.now())
-    }, 50)
-  }, [formData])
-
-  // 时间选择器改变
-  const timeChange = useCallback(
-    (date: any, dateString: any) => {
-      let startTime = ''
-      let endTime = ''
-      if (dateString[0] && dateString[1]) {
-        startTime = dateString[0] + ' 00:00:00'
-        endTime = dateString[1] + ' 23:59:59'
-      }
-      setFormData({ ...formData, startTime, endTime })
-    },
-    [formData]
-  )
-
-  // 封装发送请求的函数
-  const getListFu = useCallback(() => {
-    formDataOldRef.current = { ...formDataRef.current }
-    dispatch(C6_APIgetList(formDataRef.current))
-  }, [dispatch])
-
-  // 从仓库中获取数据
-  const tableInfo = useSelector((state: RootState) => state.C6edit.tableInfo)
-
-  useEffect(() => {
-    getListFu()
-  }, [getListFu, timeKey])
-
-  // 输入框的改变
-  const txtChangeFu = useCallback(
-    (txt: string, key: D3InputKeyType) => {
-      setFormData({
-        ...formData,
-        [key]: txt
-      })
-    },
-    [formData]
-  )
-
-  // 点击重置
-  const resetSelectFu = useCallback(() => {
-    setFormData(B3baseFormData)
-    setTimeout(() => {
-      setTimeKey(Date.now())
-    }, 50)
-  }, [])
-
-  // 页码变化
-  const paginationChange = useCallback(
-    (pageNum: number, pageSize: number) => {
-      setFormData({ ...formData, pageNum, pageSize })
-      setTimeout(() => {
-        setTimeKey(Date.now())
-      }, 50)
-    },
-    [formData]
-  )
-
-  // 点击删除
-  const delTableFu = useCallback(
-    async (id: number) => {
-      const res = await C6_APIdel(id)
-      if (res.code === 0) {
-        MessageFu.success('删除成功')
-        getListFu()
-      }
-    },
-    [getListFu]
-  )
-
-  // 点击各种操作按钮
-  const btnFu = useCallback((id: number | string, key: string) => {
-    history.push(`/edit_add/${key}/${id}`)
-  }, [])
-  const tableLastBtn = useMemo(() => {
-    return [
-      {
-        title: '操作',
-        render: (item: FourTableType) => {
-          let obj = btnFlagFu(item)
-          return !Object.values(obj).some(Boolean) ? (
-            '-'
-          ) : (
-            <>
-              {obj['编辑'] ? (
-                <Button size='small' type='text' onClick={() => btnFu(item.id, '2')}>
-                  编辑
-                </Button>
-              ) : null}
-
-              {obj['审批'] ? (
-                <Button size='small' type='text' onClick={() => btnFu(item.id, '3')}>
-                  审批
-                </Button>
-              ) : null}
-              {obj['查看'] ? (
-                <Button size='small' type='text' onClick={() => btnFu(item.id, '4')}>
-                  查看
-                </Button>
-              ) : null}
-
-              {obj['删除'] ? (
-                <MyPopconfirm txtK='删除' onConfirm={() => delTableFu(item.id)} />
-              ) : null}
-            </>
-          )
-        }
-      }
-    ]
-  }, [btnFu, delTableFu])
-
-  // 点击导出
-  const deriveFu = useCallback(async () => {
-    const name = '藏品编辑' + dayjs(new Date()).format('YYYY-MM-DD HH:mm')
-
-    const res = await C6_APIgetList(
-      {
-        ...formDataOldRef.current,
-        pageNum: 1,
-        pageSize: 99999
-      },
-      true
-    )
-
-    if (res.code === 0) {
-      if (res.data.records.length <= 0) return MessageFu.warning('当前搜索条件没有数据!')
-
-      const option = {
-        fileName: name,
-        datas: [
-          {
-            sheetData: res.data.records.map((v: FourTableType) => ({
-              ...v,
-              status: statusObj[v.status as 1]
-            })),
-            sheetName: name,
-            sheetFilter: ['num', 'name', 'deptName', 'creatorName', 'createTime', 'status'],
-            sheetHeader: ['业务单号', '申请名称', '发起部门', '发送人', '发起日期', '申请状态'],
-            columnWidths: [10, 10, 10, 10, 10, 10]
-          }
-        ]
-      }
-
-      const toExcel = new ExportJsonExcel(option) //new
-      toExcel.saveExcel() //保存
-    }
-  }, [])
-
-  return (
-    <div className={styles.C6edit}>
-      <div className='pageTitle'>藏品编辑</div>
-      <div className='C6top'>
-        <div className='C6topll'>
-          {B3_4inputKeyArr.map(item => (
-            <div key={item.name}>
-              <span>{item.name}:</span>
-              <Input
-                placeholder={`请输入${item.name}`}
-                maxLength={30}
-                value={formData[item.key]}
-                onChange={e => txtChangeFu(e.target.value, item.key)}
-              />
-            </div>
-          ))}
-        </div>
-        <div className='C6toprr'>
-          <Button type='primary' onClick={deriveFu}>
-            批量导出
-          </Button>
-          &emsp;
-          <Button type='primary' onClick={() => btnFu('null', '1')}>
-            新增
-          </Button>
-        </div>
-      </div>
-      <div className='C6top'>
-        <div className='C6topll'>
-          <div>
-            <span>发起日期范围:</span>
-            <RangePicker
-              value={
-                formData.startTime ? [dayjs(formData.startTime), dayjs(formData.endTime)] : null
-              }
-              onChange={timeChange}
-            />
-          </div>
-
-          <div>
-            <span>申请状态:</span>
-            <Select
-              allowClear={true}
-              placeholder='全部'
-              style={{ width: 200 }}
-              value={formData.status}
-              onChange={e => setFormData({ ...formData, status: e })}
-              options={selectObj['申请状态'].filter(v => v.label !== '待盘点')}
-            />
-          </div>
-
-          <div>
-            <span>选择角色:</span>
-            <Select
-              allowClear={true}
-              style={{ width: 200 }}
-              placeholder='全部'
-              options={selectObj['角色']}
-              // fieldNames={{ value: 'id', label: 'roleName' }}
-              value={formData.userType}
-              onChange={e => setFormData({ ...formData, userType: e })}
-            />
-          </div>
-        </div>
-        <div className='C6toprr'>
-          <Button type='primary' onClick={clickSearch}>
-            查询
-          </Button>
-          &emsp;<Button onClick={resetSelectFu}>重置</Button>
-        </div>
-      </div>
-
-      {/* 表格 */}
-      <MyTable
-        yHeight={610}
-        list={tableInfo.list}
-        columnsTemp={B3tableC}
-        lastBtn={tableLastBtn}
-        pageNum={formData.pageNum}
-        pageSize={formData.pageSize}
-        total={tableInfo.total}
-        onChange={(pageNum, pageSize) => paginationChange(pageNum, pageSize)}
-      />
-    </div>
-  )
-}
-
-const MemoC6edit = React.memo(C6edit)
-
-export default MemoC6edit

+ 0 - 9
src/pages/C_goodsManage/C7delete/index.tsx

@@ -1,9 +0,0 @@
-import React from 'react'
-import B34page from '@/pages/B_enterTibet/B3_4page'
-function C7delete() {
-  return <B34page pageSta='删除' />
-}
-
-const MemoC7delete = React.memo(C7delete)
-
-export default MemoC7delete

+ 6 - 6
src/pages/D_storeManage/D4impStor/D4edit/index.tsx

@@ -2,7 +2,6 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { useParams } from 'react-router-dom'
 import { Button, Cascader, DatePicker, Input, Select } from 'antd'
-import { B3aForm1 } from '@/pages/B_enterTibet/B3_4page/B3edit/data'
 import dayjs from 'dayjs'
 import Z3upFiles from '@/components/Z3upFiles'
 import ZRichTexts from '@/components/ZRichTexts'
@@ -19,10 +18,10 @@ import MyTable from '@/components/MyTable'
 import classNames from 'classnames'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
 import { D4goodsTableC, statusObj } from '@/utils/tableData'
-import B3GaddNow from '@/pages/B_enterTibet/B3goodsTable/B3GaddNow'
+import ZGaddNow from '@/components/ZGaddNow'
 import X1setStoreLocS from '@/pages/X_stock/X1setStoreLocS'
 import X3auditInfo from '@/pages/X_stock/X3auditInfo'
-import B3flowTable from '@/pages/B_enterTibet/B3flowTable'
+import ZflowTable from '@/components/ZflowTable'
 import {
   D4_APIcreate,
   D4_APIdel,
@@ -33,7 +32,6 @@ import {
   D4_APIsaveCreate,
   D4_APIsaveDraft
 } from '@/store/action/D4impStor'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import { useDispatch, useSelector } from 'react-redux'
 import { RootState } from '@/store'
 import { D2_APIgetList } from '@/store/action/D2storSet'
@@ -43,6 +41,8 @@ import { TypeD2list } from '../../D2storSet/type'
 import { KuIsTreeType } from '../type'
 import { EXbtnFu } from '@/utils/EXBtn'
 import { D6_APIgetList } from '@/store/action/D6putsStor'
+import { B3aForm1 } from '@/pages/B_enterTibet/B1collect/data'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 export const pageTitTxtObj = {
   1: '新增',
@@ -710,7 +710,7 @@ function D4edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
       </div>
 
@@ -751,7 +751,7 @@ function D4edit() {
       <Y1cathet sId={cathet} closeFu={() => setCathet(0)} />
       {/* 新增弹窗 */}
       {nowSta.id ? (
-        <B3GaddNow
+        <ZGaddNow
           nowSta={nowSta}
           closeFu={() => setNowSta({ key: '', id: '' })}
           dataResFu={data => setTopInfo({ ...topInfo, goods: data })}

+ 2 - 2
src/pages/D_storeManage/D4impStor/index.tsx

@@ -2,7 +2,6 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { Button, DatePicker, Input, Select } from 'antd'
 import { TypeD4Form } from './type'
-import { B3_4inputKeyArr, D3InputKeyType } from '@/pages/B_enterTibet/B3_4page'
 import dayjs from 'dayjs'
 import MyTable from '@/components/MyTable'
 import { D4tableC, statusObj } from '@/utils/tableData'
@@ -14,8 +13,9 @@ import { D2_APIgetList } from '@/store/action/D2storSet'
 import { RootState } from '@/store'
 import { D4_APIdel, D4_APIgetList } from '@/store/action/D4impStor'
 import { MessageFu } from '@/utils/message'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import ExportJsonExcel from 'js-export-excel'
+import { B3_4inputKeyArr, D3InputKeyType } from '@/pages/B_enterTibet/B1collect/data'
 const { RangePicker } = DatePicker
 
 export const D3baseFormData: TypeD4Form = {

+ 6 - 6
src/pages/D_storeManage/D6putsStor/D6edit/index.tsx

@@ -3,21 +3,19 @@ import styles from './index.module.scss'
 import { pageTitTxtObj } from '../../D4impStor/D4edit'
 import { useParams } from 'react-router-dom'
 import { Button, Cascader, DatePicker, Input, Radio, Select } from 'antd'
-import { B3aForm1 } from '@/pages/B_enterTibet/B3_4page/B3edit/data'
 import dayjs from 'dayjs'
 import Z3upFiles from '@/components/Z3upFiles'
 import ZRichTexts from '@/components/ZRichTexts'
 import { MessageFu } from '@/utils/message'
 import history, { btnFlagFu2, cascaderObjFu, openGoodsInfoFu } from '@/utils/history'
-import B3GaddNow from '@/pages/B_enterTibet/B3goodsTable/B3GaddNow'
+import ZGaddNow from '@/components/ZGaddNow'
 import MyTable from '@/components/MyTable'
 import classNames from 'classnames'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { D4goodsTableC, statusObj } from '@/utils/tableData'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
 import X3auditInfo from '@/pages/X_stock/X3auditInfo'
-import B3flowTable from '@/pages/B_enterTibet/B3flowTable'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import ZflowTable from '@/components/ZflowTable'
 import { useDispatch, useSelector } from 'react-redux'
 import { D2_APIgetList } from '@/store/action/D2storSet'
 import { RootState } from '@/store'
@@ -34,6 +32,8 @@ import {
 import { C1GoodType } from '@/pages/A3_ledger/C1ledger/type'
 import { EXbtnFu } from '@/utils/EXBtn'
 import D6impRelation from '../D6impRelation'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
+import { B3aForm1 } from '@/pages/B_enterTibet/B1collect/data'
 
 function D6edit() {
   const { key, id } = useParams<any>()
@@ -604,7 +604,7 @@ function D6edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
       </div>
 
@@ -645,7 +645,7 @@ function D6edit() {
       <Y1cathet sId={cathet} closeFu={() => setCathet(0)} />
       {/* 新增弹窗 */}
       {nowSta.id ? (
-        <B3GaddNow
+        <ZGaddNow
           nowSta={nowSta}
           closeFu={() => setNowSta({ key: '', id: '' })}
           dataResFu={data => setTopInfo({ ...topInfo, goods: data })}

+ 1 - 1
src/pages/D_storeManage/D6putsStor/D6impRelation/index.tsx

@@ -3,7 +3,7 @@ import styles from './index.module.scss'
 import MyTable from '@/components/MyTable'
 import { D4tableC } from '@/utils/tableData'
 import { Button } from 'antd'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 type Props = {
   list: FourTableType[]

+ 2 - 2
src/pages/D_storeManage/D6putsStor/index.tsx

@@ -1,7 +1,6 @@
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { Button, DatePicker, Input, Select } from 'antd'
-import { B3_4inputKeyArr, D3InputKeyType } from '@/pages/B_enterTibet/B3_4page'
 import dayjs from 'dayjs'
 import MyTable from '@/components/MyTable'
 import { D6tableC, statusObj } from '@/utils/tableData'
@@ -13,9 +12,10 @@ import { useDispatch, useSelector } from 'react-redux'
 import { D2_APIgetList } from '@/store/action/D2storSet'
 import { RootState } from '@/store'
 import { MessageFu } from '@/utils/message'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import ExportJsonExcel from 'js-export-excel'
 import { D6_APIdel, D6_APIgetList } from '@/store/action/D6putsStor'
+import { B3_4inputKeyArr, D3InputKeyType } from '@/pages/B_enterTibet/B1collect/data'
 const { RangePicker } = DatePicker
 
 function D6putsStor() {

+ 3 - 3
src/pages/E_goodsStorage/E1accident/E1edit/index.tsx

@@ -4,7 +4,7 @@ import { pageTitTxtObj } from '@/pages/D_storeManage/D4impStor/D4edit'
 import { useParams } from 'react-router-dom'
 import { Button, DatePicker, Input, Select } from 'antd'
 import { statusObj } from '@/utils/tableData'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import dayjs from 'dayjs'
 import { selectObj } from '@/utils/select'
 import Z3upFiles from '@/components/Z3upFiles'
@@ -25,7 +25,7 @@ import {
   E1_APIsaveDraft
 } from '@/store/action/E1accident'
 import { EXbtnFu } from '@/utils/EXBtn'
-import B3flowTable from '@/pages/B_enterTibet/B3flowTable'
+import ZflowTable from '@/components/ZflowTable'
 import ZupFileTable from '@/components/ZupFileTable'
 function E1edit() {
   const { key, id } = useParams<any>()
@@ -525,7 +525,7 @@ function E1edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
 
         {/* 附件归档 */}

+ 1 - 1
src/pages/E_goodsStorage/E1accident/index.tsx

@@ -6,7 +6,7 @@ import { useDispatch, useSelector } from 'react-redux'
 import { E1_APIdel, E1_APIgetList } from '@/store/action/E1accident'
 import { MessageFu } from '@/utils/message'
 import history, { btnFlagFu } from '@/utils/history'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { RootState } from '@/store'
 import dayjs from 'dayjs'

+ 6 - 6
src/pages/E_goodsStorage/E2damaged/E2edit/index.tsx

@@ -1,7 +1,6 @@
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { useParams } from 'react-router-dom'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import {
   E2_APIcreate,
   E2_APIdel,
@@ -20,17 +19,18 @@ import classNames from 'classnames'
 import dayjs from 'dayjs'
 import { Button, DatePicker, Input, Select } from 'antd'
 import MyPopconfirm from '@/components/MyPopconfirm'
-import B3GaddNow from '@/pages/B_enterTibet/B3goodsTable/B3GaddNow'
+import ZGaddNow from '@/components/ZGaddNow'
 import { EXbtnFu } from '@/utils/EXBtn'
 import X3auditInfo from '@/pages/X_stock/X3auditInfo'
 import { D4goodsTableC, statusObj } from '@/utils/tableData'
-import { B3aForm1 } from '@/pages/B_enterTibet/B3_4page/B3edit/data'
 import Z3upFiles from '@/components/Z3upFiles'
 import ZRichTexts from '@/components/ZRichTexts'
 import MyTable from '@/components/MyTable'
-import B3flowTable from '@/pages/B_enterTibet/B3flowTable'
+import ZflowTable from '@/components/ZflowTable'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
 import ZupFileTable from '@/components/ZupFileTable'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
+import { B3aForm1 } from '@/pages/B_enterTibet/B1collect/data'
 
 function E2edit() {
   const { key, id } = useParams<any>()
@@ -500,7 +500,7 @@ function E2edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
 
         {/* 附件归档 */}
@@ -551,7 +551,7 @@ function E2edit() {
       <Y1cathet sId={cathet} closeFu={() => setCathet(0)} />
 
       {nowSta.id ? (
-        <B3GaddNow
+        <ZGaddNow
           nowSta={nowSta}
           closeFu={() => setNowSta({ key: '', id: '' })}
           dataResFu={data => setTopInfo({ ...topInfo, goods: data })}

+ 2 - 2
src/pages/E_goodsStorage/E2damaged/index.tsx

@@ -5,14 +5,14 @@ import { useDispatch, useSelector } from 'react-redux'
 import { E2_APIdel, E2_APIgetList } from '@/store/action/E2damaged'
 import { MessageFu } from '@/utils/message'
 import history, { btnFlagFu } from '@/utils/history'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import { Button, DatePicker, Input, Select } from 'antd'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { RootState } from '@/store'
 import dayjs from 'dayjs'
 import { E2tableC, statusObj } from '@/utils/tableData'
 import ExportJsonExcel from 'js-export-excel'
-import { B3_4inputKeyArr } from '@/pages/B_enterTibet/B3_4page'
+import { B3_4inputKeyArr } from '@/pages/B_enterTibet/B1collect/data'
 import { selectObj } from '@/utils/select'
 import MyTable from '@/components/MyTable'
 const { RangePicker } = DatePicker

+ 6 - 6
src/pages/E_goodsStorage/E3actuality/E3edit/index.tsx

@@ -1,7 +1,6 @@
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { useParams } from 'react-router-dom'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import {
   E3_APIcreate,
   E3_APIdel,
@@ -23,14 +22,15 @@ import MyPopconfirm from '@/components/MyPopconfirm'
 import { EXbtnFu } from '@/utils/EXBtn'
 import X3auditInfo from '@/pages/X_stock/X3auditInfo'
 import { D4goodsTableC, statusObj } from '@/utils/tableData'
-import { B3aForm1 } from '@/pages/B_enterTibet/B3_4page/B3edit/data'
 import Z3upFiles from '@/components/Z3upFiles'
 import ZRichTexts from '@/components/ZRichTexts'
 import MyTable from '@/components/MyTable'
-import B3flowTable from '@/pages/B_enterTibet/B3flowTable'
+import ZflowTable from '@/components/ZflowTable'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
-import B3GaddNow from '@/pages/B_enterTibet/B3goodsTable/B3GaddNow'
+import ZGaddNow from '@/components/ZGaddNow'
 import ZupFileTable from '@/components/ZupFileTable'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
+import { B3aForm1 } from '@/pages/B_enterTibet/B1collect/data'
 
 function E3edit() {
   const { key, id } = useParams<any>()
@@ -501,7 +501,7 @@ function E3edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
 
         {/* 附件归档 */}
@@ -552,7 +552,7 @@ function E3edit() {
       <Y1cathet sId={cathet} closeFu={() => setCathet(0)} />
 
       {nowSta.id ? (
-        <B3GaddNow
+        <ZGaddNow
           nowSta={nowSta}
           closeFu={() => setNowSta({ key: '', id: '' })}
           dataResFu={data => setTopInfo({ ...topInfo, goods: data })}

+ 2 - 2
src/pages/E_goodsStorage/E3actuality/index.tsx

@@ -7,13 +7,13 @@ import { E3_APIdel, E3_APIgetList } from '@/store/action/E3actuality'
 import { E2InputKeyType } from '../E2damaged/type'
 import { MessageFu } from '@/utils/message'
 import history, { btnFlagFu } from '@/utils/history'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { RootState } from '@/store'
 import dayjs from 'dayjs'
 import { E2tableC, statusObj } from '@/utils/tableData'
 import ExportJsonExcel from 'js-export-excel'
-import { B3_4inputKeyArr } from '@/pages/B_enterTibet/B3_4page'
+import { B3_4inputKeyArr } from '@/pages/B_enterTibet/B1collect/data'
 import { selectObj } from '@/utils/select'
 import MyTable from '@/components/MyTable'
 const { RangePicker } = DatePicker

+ 5 - 5
src/pages/E_goodsStorage/E4repair/E4edit/index.tsx

@@ -1,7 +1,7 @@
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { useParams } from 'react-router-dom'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import {
   E4_APIcreate,
   E4_APIdel,
@@ -27,9 +27,9 @@ import { E4tableCgoods, statusObj } from '@/utils/tableData'
 import Z3upFiles from '@/components/Z3upFiles'
 import ZRichTexts from '@/components/ZRichTexts'
 import MyTable from '@/components/MyTable'
-import B3flowTable from '@/pages/B_enterTibet/B3flowTable'
+import ZflowTable from '@/components/ZflowTable'
 import Y1cathet from '@/pages/Y_goodsDetails/Y1cathet'
-import B3GaddNow from '@/pages/B_enterTibet/B3goodsTable/B3GaddNow'
+import ZGaddNow from '@/components/ZGaddNow'
 import ZupFileTable from '@/components/ZupFileTable'
 
 function E4edit() {
@@ -551,7 +551,7 @@ function E4edit() {
 
         {/* 申请流程 */}
         {auditsShow ? (
-          <B3flowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
+          <ZflowTable tableArr={topInfo.audits || []} closeFu={() => setAuditsShow(false)} />
         ) : null}
 
         {/* 底部按钮 */}
@@ -602,7 +602,7 @@ function E4edit() {
       <Y1cathet sId={cathet} closeFu={() => setCathet(0)} />
 
       {nowSta.id ? (
-        <B3GaddNow
+        <ZGaddNow
           nowSta={nowSta}
           closeFu={() => setNowSta({ key: '', id: '' })}
           dataResFu={data => {

+ 1 - 1
src/pages/E_goodsStorage/E4repair/index.tsx

@@ -7,7 +7,7 @@ import { E4_APIdel, E4_APIgetList } from '@/store/action/E4repair'
 import { E1InputKeyType } from '../E1accident/type'
 import { MessageFu } from '@/utils/message'
 import history, { btnFlagFu } from '@/utils/history'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { RootState } from '@/store'
 import dayjs from 'dayjs'

+ 8 - 60
src/pages/Layout/data.ts

@@ -115,29 +115,6 @@ const tabLeftArr: RouterType = [
         path: '/focus',
         Com: React.lazy(() => import('../C_goodsManage/C3focus'))
       }
-      // 待完善v1.1.1去掉之前的模块
-      // {
-      //   id: 350,
-      //   name: '藏品登记',
-      //   path: '/register',
-      //   Com: React.lazy(() => import('../C_goodsManage/C5register'))
-      // },
-
-      // 待完善v1.1.1去掉之前的模块
-      // {
-      //   id: 360,
-      //   name: '藏品编辑',
-      //   path: '/edit',
-      //   Com: React.lazy(() => import('../C_goodsManage/C6edit'))
-      // },
-
-      // 待完善v1.1.1去掉之前的模块
-      // {
-      //   id: 370,
-      //   name: '藏品删除',
-      //   path: '/delete',
-      //   Com: React.lazy(() => import('../C_goodsManage/C7delete'))
-      // }
     ]
   },
   {
@@ -160,13 +137,13 @@ const tabLeftArr: RouterType = [
         id: 230,
         name: '藏品入馆',
         path: '/entering',
-        Com: React.lazy(() => import('../B_enterTibet/B3_4page/B3entering'))
+        Com: React.lazy(() => import('../B_enterTibet/B3entering'))
       },
       {
         id: 240,
         name: '藏品入藏',
         path: '/enterTibet',
-        Com: React.lazy(() => import('../B_enterTibet/B3_4page/B4enterTibet'))
+        Com: React.lazy(() => import('../B_enterTibet/B4enterTibet'))
       }
     ]
   },
@@ -341,33 +318,6 @@ export const routerSon: RouterTypeRow[] = [
     Com: React.lazy(() => import('../D_storeManage/D2storSet/D2site'))
   },
 
-  // -------------入馆 - 入藏 - 登记 -删除-------------------
-  {
-    id: 3,
-    name: '藏品 入馆 新增/编辑/审批/查看',
-    path: '/entering_edit/:key/:id/:pageKey',
-    Com: React.lazy(() => import('../B_enterTibet/B3_4page/B3edit'))
-  },
-  {
-    id: 4,
-    name: '藏品 入藏 新增-编辑/审批/查看',
-    path: '/enterTibet_edit/:key/:id/:pageKey',
-    Com: React.lazy(() => import('../B_enterTibet/B3_4page/B3edit'))
-  },
-  // 待完善v1.1.1去掉之前的模块
-  // {
-  //   id: 5,
-  //   name: '藏品 登记 新增-编辑/审批/查看',
-  //   path: '/register_edit/:key/:id/:pageKey',
-  //   Com: React.lazy(() => import('../B_enterTibet/B3_4page/B3edit'))
-  // },
-  // {
-  //   id: 6,
-  //   name: '藏品 删除 新增-编辑/审批/查看',
-  //   path: '/delete_edit/:key/:id/:pageKey',
-  //   Com: React.lazy(() => import('../B_enterTibet/B3_4page/B3edit'))
-  // },
-
   // -------------入库-----------------
   {
     id: 7,
@@ -382,14 +332,6 @@ export const routerSon: RouterTypeRow[] = [
     path: '/putsStor_edit/:key/:id',
     Com: React.lazy(() => import('../D_storeManage/D6putsStor/D6edit'))
   },
-  // ------------藏品编辑------------------
-  // 待完善v1.1.1去掉之前的模块
-  // {
-  //   id: 9,
-  //   name: '藏品编辑-新增/编辑/审批/查看',
-  //   path: '/edit_add/:key/:id',
-  //   Com: React.lazy(() => import('../C_goodsManage/C6edit/C6add'))
-  // },
 
   // ------------藏品征集------------------
   {
@@ -433,5 +375,11 @@ export const routerSon: RouterTypeRow[] = [
     name: '藏品鉴定-新增/编辑/审批/查看',
     path: '/identify_edit/:key/:id',
     Com: React.lazy(() => import('../B_enterTibet/B2identify/B2edit'))
+  },
+  {
+    id: 16,
+    name: '藏品登记-审批/查看',
+    path: '/register_edit/:key/:id',
+    Com: React.lazy(() => import('../C_goodsManage/C1register/C1look'))
   }
 ]

+ 1 - 1
src/pages/Y_goodsDetails/Y1cathet/Y33com.tsx

@@ -6,7 +6,6 @@ import ImageLazy from '@/components/ImageLazy'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import Y33setType, { infoType } from '../Y2look/Y33setType'
 import YtableVideo from '@/components/YtableVideo'
-import { GoodFileType } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/type'
 import { selectObj } from '@/utils/select'
 import { fileImgArr, fileVideoArr } from '@/store/action/layout'
 import { downFileFu, resJiLianFu } from '@/utils/history'
@@ -14,6 +13,7 @@ import { API_C2dels, API_C2downS, API_goodFileList } from '@/store/action/C2file
 import { MessageFu } from '@/utils/message'
 import { useSelector } from 'react-redux'
 import { RootState } from '@/store'
+import { GoodFileType } from '@/components/Z3upFiles'
 
 type Props = {
   isLook?: boolean

+ 1 - 1
src/pages/Y_goodsDetails/Y1cathet/Y44com.tsx

@@ -3,8 +3,8 @@ import { Y44tableC } from '@/utils/tableData'
 import { Button, DatePicker, Input, Select } from 'antd'
 import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import { TypeY44form } from './type'
-import { B3_4inputKeyArr } from '@/pages/B_enterTibet/B3_4page'
 import dayjs from 'dayjs'
+import { B3_4inputKeyArr } from '@/pages/B_enterTibet/B1collect/data'
 const { RangePicker } = DatePicker
 
 type InputKeyType = 'num' | 'name' | 'deptName' | 'userName'

+ 1 - 1
src/store/reducer/A32Routing.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/B1collect.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/B2identify.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/C1ledger.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/C2files.ts

@@ -1,4 +1,4 @@
-import { GoodFileType } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/type'
+import { GoodFileType } from '@/components/Z3upFiles'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/C3focus.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/C6edit.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/C8recycleBin.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/D4impStor.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/D6putsStor.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/E1accident.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/E2damaged.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/E3actuality.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/E4repair.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 
 // 初始化状态
 const initState = {

+ 1 - 1
src/store/reducer/FourAll.ts

@@ -1,4 +1,4 @@
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 import { FourKeyType } from '../action/FourAll'
 
 // 初始化状态

+ 2 - 2
src/utils/history.ts

@@ -3,11 +3,11 @@ import { treeLastIdFindFatherFu } from '@/pages/Z_system/Z6user/data'
 import store from '@/store'
 import { createHashHistory } from 'history'
 import { getTokenInfo } from './storage'
-import { FourTableType } from '@/pages/B_enterTibet/B3_4page/type'
 import { TypeZ4Tree } from '@/pages/Z_system/Z4organization/type'
 import { KuIsTreeType } from '@/pages/D_storeManage/D4impStor/type'
-import { cascaderArr } from '@/pages/B_enterTibet/B3goodsTable/B3GaddNew/data'
 import { baseURL } from './http'
+import { cascaderArr } from '@/pages/C_goodsManage/C1register/AddGoods/data'
+import { FourTableType } from '@/pages/B_enterTibet/B1collect/type'
 const history = createHashHistory()
 export default history