lanjianrong 4 лет назад
Родитель
Сommit
1866b16857
1 измененных файлов с 27 добавлено и 14 удалено
  1. 27 14
      src/pages/Product/Cloud/components/Detail/UpgradeModal.jsx

+ 27 - 14
src/pages/Product/Cloud/components/Detail/UpgradeModal.jsx

@@ -1,8 +1,9 @@
-import React, { useState } from 'react'
+import React, { useEffect, useState } from 'react'
 import { Modal, Form, Switch, DatePicker } from 'antd'
 // import dayjs from 'dayjs'
 import { dayjsFormat } from '@/utils/utils'
 import { useDispatch } from 'umi'
+import dayjs from 'dayjs'
 
 export const upgradeTypeEnum = {
   UPGRADE: 1, // 升级
@@ -50,10 +51,17 @@ const UpgradeModal = props => {
   } = props
   const [form] = Form.useForm()
   const dispatch = useDispatch()
+  const [showDeadline, setShowDeadline] = useState(false)
   const layout = {
     layout: 'vertical'
   }
-  const [showDeadline, setShowDeadline] = useState(false)
+  useEffect(() => {
+    if (upgradeType === upgradeTypeEnum.DEADLINE) {
+      form?.setFieldsValue({ deadline: dayjs(deadline) })
+      setShowDeadline(true)
+    }
+  }, [upgradeType])
+
   const onChange = value => {
     setShowDeadline(value)
   }
@@ -73,6 +81,7 @@ const UpgradeModal = props => {
         lock,
         upgradeType
       })
+      form.resetFields()
       dispatch({
         type: 'refresh/commitAction',
         payload: 'cloud'
@@ -86,8 +95,13 @@ const UpgradeModal = props => {
       title={modalTitleEnum[type]}
       visible={visible}
       confirmLoading={loading}
-      onCancel={onCancel}
-      onOk={handleonOk}>
+      onCancel={() => {
+        setShowDeadline(false)
+        onCancel()
+        form?.resetFields()
+      }}
+      onOk={handleonOk}
+    >
       {type === lockTypeEnum.GIVE || type === lockTypeEnum.LEND || type === lockTypeEnum.SALE ? (
         <div className="mb-6">
           <p className="pb-3">
@@ -98,13 +112,9 @@ const UpgradeModal = props => {
             <Switch onChange={onChange} checked={showDeadline} />
             <span className="ml-2">限期</span>
           </div>
-          <Form {...layout} form={form}>
-            <Form.Item name="deadline" label="到期时间">
-              <DatePicker style={{ width: '100%' }} disabled={!showDeadline} />
-            </Form.Item>
-          </Form>
         </div>
       ) : null}
+
       {type === titleType.DEMOTION ? (
         <div className="mb-6">
           未用户<b>{cloudUser.mobile}</b>,<b>{cloudUser.username}</b> 降级 <b>{cloudUser.name}</b>{' '}
@@ -118,13 +128,16 @@ const UpgradeModal = props => {
           <div className="pt-5 pb-5">
             当前限期为 <b>{deadline}</b>
           </div>
-          <Form {...layout} form={form}>
-            <Form.Item name="deadline" label="到期时间">
-              <DatePicker style={{ width: '100%' }} disabled={!showDeadline} />
-            </Form.Item>
-          </Form>
         </div>
       ) : null}
+
+      {type !== titleType.DEMOTION ? (
+        <Form {...layout} form={form}>
+          <Form.Item name="deadline" label="到期时间">
+            <DatePicker style={{ width: '100%' }} disabled={!showDeadline} />
+          </Form.Item>
+        </Form>
+      ) : null}
     </Modal>
   )
 }