lanjianrong 3 år sedan
förälder
incheckning
cbb0c39015

+ 14 - 6
src/pages/Project/Created/index.tsx

@@ -7,7 +7,7 @@ import type { ProFormColumnsType } from '@ant-design/pro-form'
 import { DeleteOutlined } from '@ant-design/icons'
 import { queryAcountList } from '@/services/api/institution'
 import consts from '@/utils/consts'
-import { Button } from 'antd'
+import { Button, message } from 'antd'
 import { saveCreator } from '@/services/api/user'
 import { useRequest } from 'umi'
 import { getProjectList } from '@/services/api/project'
@@ -39,7 +39,7 @@ const Created = () => {
       const {
         code = -1,
         data: { items }
-      } = await queryAcountList({ current: 1, pageSize: 21400, isCreated: 0 })
+      } = await queryAcountList({ current: 1, pageSize: 21400, isCreated: '0' })
       setState({
         ...state,
         options:
@@ -92,17 +92,25 @@ const Created = () => {
     }
   ]
 
+  const { run: trySaveCreator } = useRequest(saveCreator, {
+    manual: true,
+    onSuccess: () => {
+      tRef?.current?.reload()
+      return message.success('操作成功')
+    }
+  })
   const onFinish = async formData => {
     try {
       if (state.modalType === CreatedModalType.ADD) {
-        await saveCreator({ ...formData, isCreated: '1' })
+        await trySaveCreator({ ...formData, isCreated: '1' })
       } else {
-        await saveCreator({ ID: state.dataID, isCreated: '0' })
+        await trySaveCreator({ ID: state.dataID, isCreated: '0' })
       }
       setState({ ...state, modalVisible: false })
-      tRef?.current?.reload()
       return true
     } catch (error) {
+      console.log(error)
+
       return false
     }
   }
@@ -130,7 +138,7 @@ const Created = () => {
           const {
             code = -1,
             data: { items, total }
-          } = await queryAcountList({ ...params, ...filter, ...sort, isCreate: 1 })
+          } = await queryAcountList({ ...params, ...filter, ...sort, isCreated: '1' })
           return {
             success: code === consts.RET_CODE.SUCCESS,
             data: items,

+ 22 - 5
src/pages/Project/Management/components/Detail.tsx

@@ -83,7 +83,7 @@ const DetailModal: React.FC<ProjectModalProps> = ({
       const {
         code = -1,
         data: { items }
-      } = await queryAcountList({ current: 1, pageSize: 21400, isCreated: 0 })
+      } = await queryAcountList({ current: 1, pageSize: 21400 })
 
       setState({
         ...state,
@@ -111,7 +111,7 @@ const DetailModal: React.FC<ProjectModalProps> = ({
 
     if (state.activeKey === '3') {
       querySelectOptions()
-      ref2?.current?.setFieldsValue({ ID: defaultFormData?.dataID })
+      ref2?.current?.setFieldsValue({ ...state.perm })
     }
   }, [visible, state.activeKey])
 
@@ -119,8 +119,17 @@ const DetailModal: React.FC<ProjectModalProps> = ({
     const { dataID } = defaultFormData
     const { code = -1, data } = await getProject({ ID: dataID })
     if (code === consts.RET_CODE.SUCCESS) {
-      const currentFormData = { ...data }
-      setState({ ...state, account: data })
+      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) {
@@ -165,6 +174,7 @@ const DetailModal: React.FC<ProjectModalProps> = ({
         })
       } else {
         await trySetProjectPersonor({ ...formData, ID: defaultFormData.dataID })
+        setState({ ...state, perm: { ...formData } })
       }
       reload()
       return true
@@ -211,7 +221,14 @@ const DetailModal: React.FC<ProjectModalProps> = ({
           <ProFormSelect
             name="createdID"
             label="创建人:创建项目、管理编辑者、上传项目数据、编制项目、添加批注"
-            options={state.accountList}
+            request={async () => {
+              const { code = -1, data: { items } = { items: [] } } = await queryAcountList({
+                current: 1,
+                pageSize: 21400,
+                isCreated: '1'
+              })
+              return code === consts.RET_CODE.SUCCESS ? items : []
+            }}
           />
           <ProFormDependency name={['createdID']}>
             {({ createdID }) => {

+ 2 - 1
src/services/api/user.ts

@@ -116,6 +116,7 @@ export async function deleteUser(
 // 报错创建人
 export async function saveCreator(params: { ID: string; isCreated?: '1' | '0' }) {
   return request('/account/save/create', {
-    body: params
+    method: 'POST',
+    data: params
   })
 }