Forráskód Böngészése

feat: 合同添加回款金额限制在最大值,超出部分自动填充最大值

lanjianrong 4 éve
szülő
commit
e5b77bff59

+ 17 - 3
src/pages/Contract/Content/Income/components/Modal/index.tsx

@@ -1,13 +1,14 @@
 import Authorization from '@/components/Authorization'
 import DatePicker from '@/components/DatePicker'
 import { contractReturnStore, tenderStore } from '@/store/mobx'
+import contractReturn from '@/store/mobx/contractReturn'
 import { iModalCommonProps } from '@/types/contract'
 import consts from '@/utils/consts'
 import { dayjsFormat, handleAutoCode } from '@/utils/util'
-import { Button, Form, Input, Modal, Select } from 'antd'
+import { Button, Form, Input, Modal, Select, Tree } from 'antd'
 import locale from 'antd/es/date-picker/locale/zh_CN'
 import dayjs from 'dayjs'
-import React, { useEffect, useState } from 'react'
+import React, { ChangeEvent, useEffect, useState } from 'react'
 import { apiGetReturnWay } from '../Tabs/Receivable/api'
 import styles from './index.module.scss'
 const ContractModal: React.FC<iModalCommonProps> = ({ modalObj: { type, visible, confirmLoading }, onConfirm, onCancel, reload, row }) => {
@@ -74,6 +75,16 @@ const ContractModal: React.FC<iModalCommonProps> = ({ modalObj: { type, visible,
     const ruleArr = await handleAutoCode(tenderStore.tender.bidsectionId, 'contractReturnRule')
     form.setFieldsValue({ code: ruleArr.join('-') })
   }
+
+  // 处理添加回款的金额不应该超出最大值
+  const handleReturnPrice = (e: ChangeEvent<HTMLInputElement>) => {
+    const maxPrice = parseFloat(contractReturnStore.contract.price) - parseFloat(contractReturnStore.contract.returned)
+    console.log(maxPrice)
+
+    if (parseFloat(e.target.value) > maxPrice) {
+      form.setFieldsValue({ price: maxPrice })
+    }
+  }
   return (
     <Modal
       getContainer={false}
@@ -126,6 +137,9 @@ const ContractModal: React.FC<iModalCommonProps> = ({ modalObj: { type, visible,
         <Form.Item name="bidsectionId" hidden>
           <Input />
         </Form.Item>
+        {/* <Form.Item name="treeId" label="合同劳务" hidden>
+          <Tree showLine={true} treeData={contractReturnStore.tree} />
+        </Form.Item> */}
         <Form.Item name="treeId" label="合同劳务" hidden>
           <Input />
         </Form.Item>
@@ -244,7 +258,7 @@ const ContractModal: React.FC<iModalCommonProps> = ({ modalObj: { type, visible,
               <DatePicker allowClear locale={locale} className="pi-width-100P" />
             </Form.Item>
             <Form.Item name="price" label="回款金额" rules={[ { required: true, message: '请选择回款金额' } ]}>
-              <Input />
+              <Input onChange={handleReturnPrice}/>
             </Form.Item>
             <Form.Item name="way" label="支付方式" rules={[ { required: true, message: '请选择回款方式' } ]}>
               <Select>{options}</Select>