lanjianrong 3 vuotta sitten
vanhempi
commit
22b47fb47f
1 muutettua tiedostoa jossa 11 lisäystä ja 11 poistoa
  1. 11 11
      src/pages/Project/Management/Detail/components/AuditPerm.tsx

+ 11 - 11
src/pages/Project/Management/Detail/components/AuditPerm.tsx

@@ -1,6 +1,6 @@
 import ProForm, { ProFormSelect } from '@ant-design/pro-form'
 import type { ProFormInstance } from '@ant-design/pro-form'
-import React, { useEffect, useRef } from 'react'
+import React, { useEffect, useRef, useState } from 'react'
 import { useRequest } from 'umi'
 import { getApprovalList, queryApprovalDetail, setApproval } from '@/services/api/project'
 import { Card, message } from 'antd'
@@ -15,6 +15,7 @@ type AuditPermProps = {
 }
 const AuditPerm: React.FC<AuditPermProps> = ({ dataID, defaultFormData, initFn }) => {
   const ref = useRef<ProFormInstance>(null)
+  const [approvalList, setApprovalList] = useState([])
   const { run: trySetApproval } = useRequest(setApproval, {
     manual: true,
     onSuccess: () => {
@@ -30,11 +31,16 @@ const AuditPerm: React.FC<AuditPermProps> = ({ dataID, defaultFormData, initFn }
       }
     }
   })
+  useRequest(getApprovalList, {
+    onSuccess: result => {
+      setApprovalList(result?.items || [])
+    }
+  })
   useEffect(() => {
-    if (dataID) {
-      tryQueryDetail({ ID: dataID })
+    if (defaultFormData?.approvalID) {
+      tryQueryDetail({ ID: defaultFormData?.approvalID })
     }
-  }, [dataID])
+  }, [defaultFormData?.approvalID])
 
   return (
     <Card>
@@ -53,13 +59,7 @@ const AuditPerm: React.FC<AuditPermProps> = ({ dataID, defaultFormData, initFn }
             name="approvalID"
             label="审批流程"
             placeholder="请选择审批流程"
-            request={async () => {
-              const { code = -1, data: { items } = { items: [] } } = await getApprovalList()
-              if (code === consts.RET_CODE.SUCCESS) {
-                return items.map(item => ({ label: item.name, value: item.ID }))
-              }
-              return []
-            }}
+            options={approvalList}
           />
         </ProForm>
       </div>