Kaynağa Gözat

fix(org): org save

Lind 4 yıl önce
ebeveyn
işleme
0cf35ddad9

+ 9 - 9
src/pages/system/Org/Save/index.tsx

@@ -1,17 +1,17 @@
 import { message, Modal } from 'antd';
 import { message, Modal } from 'antd';
 import { createForm } from '@formily/core';
 import { createForm } from '@formily/core';
-import { createSchemaField, observer } from '@formily/react';
+import { createSchemaField } from '@formily/react';
 import { NumberPicker, Form, Input, FormItem } from '@formily/antd';
 import { NumberPicker, Form, Input, FormItem } from '@formily/antd';
-import React from 'react';
 import { useIntl } from '@@/plugin-locale/localeExports';
 import { useIntl } from '@@/plugin-locale/localeExports';
 import OrgModel from '@/pages/system/Org/model';
 import OrgModel from '@/pages/system/Org/model';
 import { service } from '@/pages/system/Org';
 import { service } from '@/pages/system/Org';
 
 
 interface Props {
 interface Props {
-  refresh: () => void;
+  refresh?: () => void;
+  visible: boolean;
 }
 }
 
 
-const Save: React.FC<Props> = observer((props: Props) => {
+const Save = (props: Props) => {
   const intl = useIntl();
   const intl = useIntl();
   const form = createForm({
   const form = createForm({
     initialValues: OrgModel.current,
     initialValues: OrgModel.current,
@@ -79,17 +79,17 @@ const Save: React.FC<Props> = observer((props: Props) => {
     await service.update({ ...data, parentId: OrgModel.parentId });
     await service.update({ ...data, parentId: OrgModel.parentId });
     message.success('保存成功');
     message.success('保存成功');
     OrgModel.closeEdit();
     OrgModel.closeEdit();
-    props.refresh();
+    props.refresh?.();
   };
   };
 
 
   return (
   return (
     <Modal
     <Modal
-      onOk={save}
+      onOk={() => save()}
       title={`${OrgModel.parentId ? '添加下级' : '编辑'}`}
       title={`${OrgModel.parentId ? '添加下级' : '编辑'}`}
-      visible={OrgModel.edit}
+      visible={props.visible}
       onCancel={() => {
       onCancel={() => {
         OrgModel.closeEdit();
         OrgModel.closeEdit();
-        props.refresh();
+        props.refresh?.();
       }}
       }}
     >
     >
       <Form form={form} labelCol={5} wrapperCol={16}>
       <Form form={form} labelCol={5} wrapperCol={16}>
@@ -97,5 +97,5 @@ const Save: React.FC<Props> = observer((props: Props) => {
       </Form>
       </Form>
     </Modal>
     </Modal>
   );
   );
-});
+};
 export default Save;
 export default Save;

+ 3 - 3
src/pages/system/Org/index.tsx

@@ -4,7 +4,7 @@ import styles from './index.less';
 import { Drawer, Menu, message, Modal } from 'antd';
 import { Drawer, Menu, message, Modal } from 'antd';
 import NodeTemplate from '@/pages/system/Org/NodeTemplate';
 import NodeTemplate from '@/pages/system/Org/NodeTemplate';
 import { observer } from '@formily/react';
 import { observer } from '@formily/react';
-import React, { useEffect } from 'react';
+import { useEffect } from 'react';
 import Service from '@/pages/system/Org/service';
 import Service from '@/pages/system/Org/service';
 import encodeQuery from '@/utils/encodeQuery';
 import encodeQuery from '@/utils/encodeQuery';
 import Save from '@/pages/system/Org/Save';
 import Save from '@/pages/system/Org/Save';
@@ -16,7 +16,7 @@ import BindUser from '@/components/BindUser';
 import OrgModel from '@/pages/system/Org/model';
 import OrgModel from '@/pages/system/Org/model';
 
 
 export const service = new Service('organization');
 export const service = new Service('organization');
-const Org: React.FC = observer(() => {
+const Org = observer(() => {
   const intl = useIntl();
   const intl = useIntl();
   const hitCenter = () => {
   const hitCenter = () => {
     const orgChart = document.getElementsByClassName('orgchart-container')[0];
     const orgChart = document.getElementsByClassName('orgchart-container')[0];
@@ -142,7 +142,7 @@ const Org: React.FC = observer(() => {
           )}
           )}
         />
         />
       </div>
       </div>
-      <Save refresh={query} />
+      <Save refresh={query} visible={OrgModel.edit} />
       <Modal
       <Modal
         visible={BindModel.visible}
         visible={BindModel.visible}
         closable={false}
         closable={false}