Explorar o código

fix: 创建企业不关闭弹窗

outaozhen %!s(int64=4) %!d(string=hai) anos
pai
achega
8c0e0579d2

+ 2 - 8
src/pages/Product/Road/Enterprise/components/AddEnterprise/EnterpriseSelect.jsx

@@ -2,10 +2,7 @@ import { Select, Space } from 'antd'
 import React, { useState, useEffect } from 'react'
 import { useDispatch, connect } from 'umi'
 
-const EnterpriseSelect = ({ compilationv2, disabled }) => {
-  const [state, setState] = useState({
-    newValue: ''
-  })
+const EnterpriseSelect = ({ compilationv2, disabled, ...otherProps }) => {
   const dispatch = useDispatch()
   useEffect(() => {
     if (!compilationv2?.length) {
@@ -22,15 +19,12 @@ const EnterpriseSelect = ({ compilationv2, disabled }) => {
     mode: 'multiple',
     style: { width: '100%' },
     options: compilationv2.map(item => ({ label: item.name, value: item._id })),
-    onChange: newValue => {
-      setState(newValue)
-    },
     placeholder: '请选择授权定额',
     maxTagCount: 'responsive'
   }
   return (
     <Space direction="vertical" style={{ width: '100%' }}>
-      <Select {...selectProps} disabled={disabled} />
+      <Select {...otherProps} {...selectProps} disabled={disabled} />
     </Space>
   )
 }

+ 30 - 4
src/pages/Product/Road/Enterprise/components/AddEnterprise/index.jsx

@@ -12,10 +12,10 @@ const AddEnterprise = ({
   onCancel,
   onConfirm,
   disabled,
+  compilationv2,
   defaultValues,
   ...resetModalProps
 }) => {
-  console.log(defaultValues)
   const layout = {
     layout: 'horizontal',
     labelCol: { flex: '100px' }
@@ -24,6 +24,25 @@ const AddEnterprise = ({
     visible: false,
     list: null
   })
+  const dispatch = useDispatch()
+  useEffect(() => {
+    if (!compilationv2?.length) {
+      dispatch({
+        type: 'personal/fetchCompilationv2',
+        payload: {
+          projectType: 1
+        }
+      })
+    }
+  })
+  const options = []
+  const selectProps = {
+    mode: 'multiple',
+    style: { width: '100%' },
+    options: compilationv2.map(item => ({ label: item.name, value: item._id })),
+    placeholder: '请选择授权定额',
+    maxTagCount: 'responsive'
+  }
   const [formRef] = Form.useForm()
   // 重置到默认值,包括表单
   const initData = () => {
@@ -76,10 +95,12 @@ const AddEnterprise = ({
       }>
       {/* initialValues={{ licenceNum: 1 }} */}
       <Form {...layout} form={formRef} initialValues={defaultValues}>
+        <ProFormText name="companyId" hidden />
         <Form.Item
           name="companyName"
           label="创建企业"
           hasFeedback
+          rules={[{ required: true }]}
           validateStatus={validStatus.companyName}
           help={
             validStatus.companyName === validateEnum.Error ? '当前企业名称已存在,请重新输入' : null
@@ -96,13 +117,16 @@ const AddEnterprise = ({
           tooltip="企业管理员在前台可设置的企业最大人员数量">
           <InputNumber min={1} max={99} />
         </Form.Item>
-        <Form.Item name="licenceNum" label="授权定额" rules={[{ required: true }]}>
-          <EnterpriseSelect disabled={disabled} />
+        <Form.Item name="cptList" label="授权定额" rules={[{ required: true }]}>
+          <Space direction="vertical" style={{ width: '100%' }}>
+            <Select {...selectProps} disabled={disabled} />
+          </Space>
         </Form.Item>
         <Form.Item
           name="adminID"
           label="管理员名称"
           hasFeedback
+          rules={[{ required: true }]}
           validateStatus={validStatus.adminID}
           help={
             validStatus.adminID === validateEnum.Error ? '当前账号非大司空用户,请重新输入' : null
@@ -117,4 +141,6 @@ const AddEnterprise = ({
   )
 }
 
-export default AddEnterprise
+export default connect(({ personal }) => ({
+  compilationv2: personal.compilationv2
+}))(AddEnterprise)

+ 5 - 4
src/pages/Product/Road/Enterprise/components/Detail/TabList.jsx

@@ -6,7 +6,7 @@ import { useModal } from '@/components/ModalStore'
 import { apiRoadUpdateCompany } from '@/services/product'
 
 const EnterpriseTabList = props => {
-  const { authUsers, compilationList, company } = props
+  const { authUsers, compilationList, company, initData } = props
   const { TabPane } = Tabs
   const tRef = useRef(null)
   const dispatchModal = useModal()
@@ -16,8 +16,7 @@ const EnterpriseTabList = props => {
     undefined: ''
   }
   const handleUpdateEnterprise = async values => {
-    const params = formatValues(values)
-    const { code = -1 } = await apiRoadUpdateCompany(params)
+    const { code = -1 } = await apiRoadUpdateCompany(values)
     if (code === consts.RET_CODE.SUCCESS) {
       message.success('编辑成功')
       initData()
@@ -110,9 +109,11 @@ const EnterpriseTabList = props => {
               onConfirm: handleUpdateEnterprise,
               disabled: true,
               defaultValues: {
+                companyId: company.companyId,
                 companyName: company.name,
                 adminID: company.managerName,
-                licenceNum: company.latestUsed
+                licenceNum: company.numLicenses,
+                cptList: company.latestUsed.map(item => item.id)
               },
               reload: () => tRef.current?.reload()
             })

+ 1 - 0
src/pages/Product/Road/Enterprise/components/Detail/index.jsx

@@ -147,6 +147,7 @@ const EnterpriseDetail = props => {
                 compilationList={state.compilationList}
                 authUsers={state.authUsers}
                 company={state.company}
+                initData={initData}
               />
               <EnterpriseLowerList log={state.log} />
             </Col>