lanjianrong 3 年之前
父節點
當前提交
b59efe89b4
共有 1 個文件被更改,包括 0 次插入223 次删除
  1. 0 223
      src/pages/Project/Management/List/components/Detail.tsx

+ 0 - 223
src/pages/Project/Management/List/components/Detail.tsx

@@ -1,223 +0,0 @@
-import { connect, useRequest } from 'umi'
-import { useEffect, useRef, useState } from 'react'
-import { Form, message, Tabs } from 'antd'
-import { FormLayout, FormItem, Input, Select } from '@formily/antd'
-import { getApprovalList, setApproval, setProjectPersonor } from '@/services/api/project'
-import { BaseMenuEnum, SchemaEnum } from '@/pages/Schema/Base'
-import type { SchemaBaseModelState } from '@/pages/Schema/Base/model'
-import type { ConnectProps } from 'umi'
-import ProForm from '@ant-design/pro-form'
-// import TreeNodeSelect from './TreeNodeSelect'
-import type { ModalType } from './ProjectModal'
-import TreeNodeSelect from './TreeNodeSelect'
-import { connectSchema } from '@/utils/schema'
-import { createForm, onFieldMount, onFormReact } from '@formily/core'
-import { createSchemaField, Field, FormProvider } from '@formily/react'
-
-enum FormType {
-  UPLOAD_PERM = '1',
-  ROLE_PERM = '2'
-}
-
-type ProjectModalProps = ConnectProps & {
-  visible: boolean
-  type: ModalType
-  defaultFormData?: {
-    dataID: string
-  }
-  reload: () => void
-  projectSchema: Record<string, any> | null
-  pTypeList: { label: string; value: string }[]
-}
-const DetailModal: React.FC<ProjectModalProps> = ({
-  visible,
-  projectSchema,
-  defaultFormData,
-  pTypeList,
-  reload
-}) => {
-  const ref = useRef<FormInstance>(null)
-  const ref2 = useRef<FormInstance>(null)
-  const { TabPane } = Tabs
-  const [state, setState] = useState({
-    acountInstitutionList: [],
-    approvalList: [],
-    accountList: [],
-    activeKey: '',
-    account: null,
-    perm: null
-  })
-
-  const { run: tryApprovalList } = useRequest(() => getApprovalList(), {
-    manual: true,
-    onSuccess: result => {
-      setState({ ...state, approvalList: result.items })
-    }
-  })
-
-  const { run: trySetApproval } = useRequest(setApproval, {
-    manual: true,
-    onSuccess: () => {
-      message.success('提交成功')
-    }
-  })
-
-  const { run: trySetProjectPersonor } = useRequest(setProjectPersonor, {
-    manual: true,
-    onSuccess: () => {
-      message.success('提交成功')
-    }
-  })
-
-  useEffect(() => {
-    if (state.activeKey === '2') {
-      const TabFormData = {
-        accountID: state.account.reportAccount?.ID,
-        approvalID: state.account.approval?.ID
-      }
-      ref.current?.setFieldsValue({ ...TabFormData })
-    }
-
-    if (state.activeKey === '3') {
-      ref2?.current?.setFieldsValue({ ...state.perm })
-    }
-  }, [visible, state.activeKey])
-
-<<<<<<< HEAD:src/pages/Project/Management/List/components/Detail.tsx
-=======
-  const onMount = async () => {
-    const { dataID } = defaultFormData
-    const { code = -1, data } = await getProject({ ID: dataID })
-    if (code === consts.RET_CODE.SUCCESS) {
-      const {
-        created: { ID: createdID },
-        reportAccount,
-        ...currentFormData
-      } = { ...data }
-
-      setState({
-        ...state,
-        account: currentFormData,
-        perm: { createdID, reportAccount: reportAccount?.map(item => item.ID) || [] }
-      })
-      const keys = Object.keys(currentFormData)
-      keys.forEach(key => {
-        if (currentFormData[key] instanceof Object) {
-          const targetMap = currentFormData[key]
-          delete currentFormData[key]
-          currentFormData[`${key}ID`] = targetMap.ID
-        }
-      })
-      form.setValues({ ...currentFormData })
-    }
-    delay(80).then(() => {
-      form.setSchemaByPath('projectTypeID', {
-        enum: pTypeList.map(item => item.value),
-        enumNames: pTypeList.map(item => item.label)
-      })
-    })
-  }
-
->>>>>>> 994f418... feat: 修复由于编辑者为空的情况引发的报错:src/pages/Project/Management/components/Detail.tsx
-  const onChange = key => {
-    setState({ ...state, activeKey: key })
-    if (key === '2') {
-      // if (!state.acountInstitutionList?.length) {
-      //   tryAcountInstitutionList()
-      // }
-      if (!state.approvalList?.length) {
-        tryApprovalList()
-      }
-    }
-  }
-
-  const onFinish = async (t, formData) => {
-    try {
-      if (t === FormType.UPLOAD_PERM) {
-        await trySetApproval({ ...formData, ID: defaultFormData.dataID })
-        setState({
-          ...state,
-          account: {
-            ...state,
-            approval: { ID: formData.approvalID },
-            reportAccount: { ID: formData.accountID }
-          }
-        })
-      } else {
-        await trySetProjectPersonor({ ...formData, ID: defaultFormData.dataID })
-        setState({ ...state, perm: { ...formData } })
-      }
-      reload()
-      return true
-    } catch (error) {
-      console.log(error)
-      return false
-    }
-  }
-
-  return (
-    <Tabs onChange={onChange}>
-      <TabPane tab="项目信息" key="1">
-        <FormProvider form={formInstance}>
-          <SchemaField
-            schema={connectSchema(SchemaEnum?.[BaseMenuEnum.PROJECT], projectSchema)}
-            // scope={{ useAsyncDataSource }}
-          />
-          <Field name="input" component={[Input, { placeholder: 'Please Input' }]} />
-        </FormProvider>
-      </TabPane>
-      {/* <TabPane tab="上传权限" key="2">
-        <ProForm
-          formRef={ref}
-          submitter={{ resetButtonProps: { style: { display: 'none' } } }}
-          onFinish={onFinish}
-        >
-          <Form.Item label="指定人员" name="accountID">
-            <TreeNodeSelect />
-          </Form.Item>
-          <ProFormSelect
-            name="approvalID"
-            label={'审批流程'}
-            placeholder="请选择审批流程"
-            options={state.approvalList.map(item => ({
-              label: item.name,
-              value: item.ID
-            }))}
-          />
-        </ProForm>
-      </TabPane> */}
-      <TabPane tab="角色权限" key="3">
-        <ProForm formRef={ref2} onFinish={formData => onFinish(FormType.ROLE_PERM, formData)}>
-          <Form.Item
-            label="创建人:创建项目、管理编辑者、上传项目数据、编制项目、添加批注"
-            name="createdID"
-            rules={[{ required: true, message: '请选择创建人' }]}
-          >
-            <TreeNodeSelect params={{ isCreated: 1 }} />
-          </Form.Item>
-          <Form.Item label="编辑者:编制项目、上传项目数据、添加批注" name="reportAccount">
-            <TreeNodeSelect multiple />
-          </Form.Item>
-          {/* <ProFormDependency name={['createdID']}>
-            {({ createdID }) => {
-              return (
-                <ProFormSelect
-                  name="reportAccount"
-                  label="编辑者:编制项目、上传项目数据、添加批注"
-                  fieldProps={{
-                    mode: 'tags'
-                  }}
-                  options={state.accountList.filter(item => item.value !== createdID)}
-                />
-              )
-            }}
-          </ProFormDependency> */}
-        </ProForm>
-      </TabPane>
-    </Tabs>
-  )
-}
-
-export default connect(({ schemaBase }: { schemaBase: SchemaBaseModelState }) => ({
-  projectSchema: schemaBase.base[BaseMenuEnum.PROJECT]
-}))(DetailModal)