| 
					
				 | 
			
			
				@@ -1,18 +1,20 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { useRequest } from 'umi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { useRef, useEffect } from 'react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { Drawer, message } from 'antd' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import type { FormInstance } from 'antd' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { connect, useRequest } from 'umi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useEffect } from 'react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import FormRender, { useForm } from 'form-render' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Drawer, message, Button } from 'antd' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { addInstitution, updateInstitution } from '@/services/api/institution' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { BaseMenuEnum } from '@/pages/Schema/Base' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import type { SchemaBaseModelState } from '@/pages/Schema/Base/model' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { ModalType } from '@/utils/enum' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import type { SchemaBaseModelState } from '@/pages/Schema/Base/model' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import type { ConnectProps } from 'umi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-type CompanyModalProps = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type CompanyModalProps = ConnectProps & { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   visible: boolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setVisible: (visible: boolean) => void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   type: ModalType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   defaultFormData?: API.InstitutionListItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   reload: () => void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  schema?: Record<string, any> | null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const CompanyDrawer: React.FC<CompanyModalProps> = ({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,9 +22,21 @@ const CompanyDrawer: React.FC<CompanyModalProps> = ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setVisible, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   defaultFormData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  schema, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // pTypeList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   reload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const form = useForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (visible && !schema) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dispatch({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'schemaBase/querySchema', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        payload: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          columnType: BaseMenuEnum.COMPANY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, [visible]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const { run: tryUpdateInstitution } = useRequest(updateInstitution, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     manual: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onSuccess: () => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36,14 +50,13 @@ const CompanyDrawer: React.FC<CompanyModalProps> = ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const onFinish = async (formData, errors) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    console.log('formData:', formData, 'errors', errors) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const onFinish = async formData => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 执行表单提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (type === ModalType.ADD) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        await tryAddInstitution(values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await tryAddInstitution(formData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        await tryUpdateInstitution(values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await tryUpdateInstitution(formData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       setVisible(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       reload() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -52,6 +65,18 @@ const CompanyDrawer: React.FC<CompanyModalProps> = ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       message.error(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const onMount = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log(defaultFormData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    form.setValues({ ...defaultFormData }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // delay().then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   form.setSchemaByPath('projectTypeID', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     enum: pTypeList.map(item => item.value), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     enumNames: pTypeList.map(item => item.label) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <Drawer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       width="50vw" 
			 |