|
@@ -1,5 +1,6 @@
|
|
|
import DatePicker from '@/components/DatePicker'
|
|
|
import FileModal from '@/components/FileModal'
|
|
|
+import MoneyInput from '@/components/MoneyInput'
|
|
|
import { useTabHeighAuto } from '@/hooks/tabHooks'
|
|
|
import { commonStore, contractStore } from '@/store/mobx'
|
|
|
import { ContractType } from '@/store/mobx/contract'
|
|
@@ -10,6 +11,7 @@ import consts from '@/utils/consts'
|
|
|
import { dayjsFormat, formatMoney } from '@/utils/util'
|
|
|
import { DisconnectOutlined } from '@ant-design/icons'
|
|
|
import { Form, Input, Popconfirm, Table, Select } from 'antd'
|
|
|
+import BigNumber from 'bignumber.js'
|
|
|
// import locale from 'antd/es/date-picker/locale/zh_CN'
|
|
|
import dayjs from 'dayjs'
|
|
|
import { observer } from 'mobx-react'
|
|
@@ -36,6 +38,9 @@ const EditableCell: React.FC<iEditableCellProps> = ({
|
|
|
case 'DatePicker':
|
|
|
cellNode = <DatePicker size="small" allowClear />
|
|
|
break
|
|
|
+ case 'MoneyInput':
|
|
|
+ cellNode = <MoneyInput></MoneyInput>
|
|
|
+ break
|
|
|
case 'Select':
|
|
|
cellNode = <Select size="small">{commonStore.returnWayOptions.map(item => (<Option key={item} value={item}>{item}</Option>))}</Select>
|
|
|
break
|
|
@@ -51,6 +56,10 @@ const EditableCell: React.FC<iEditableCellProps> = ({
|
|
|
return (
|
|
|
<td {...restProps}>
|
|
|
{editing ? (
|
|
|
+ cellType === 'MoneyInput' ?
|
|
|
+ <Form.Item name={dataIndex} rules={[ { required: true, message: '请输入合同金额' } ]} className={styles.MoneyFormItem}>
|
|
|
+ {cellNode}
|
|
|
+ </Form.Item>:
|
|
|
<Form.Item name={dataIndex} style={{ margin: 0 }} rules={[ dataIndex === 'remarks' ? {} : { required: true, message: `请${cellType === 'text' ? '输入' : '选择'}${title}!` } ]}>
|
|
|
{cellNode}
|
|
|
</Form.Item>
|
|
@@ -162,7 +171,7 @@ const Receivable: React.FC<ReceivableProps> = ({ updateTreeAndContract, type })
|
|
|
editable: true,
|
|
|
width: '12%',
|
|
|
// eslint-disable-next-line react/display-name
|
|
|
- render: (text: string) => <span className="pi-text-right pi-width-100P">{formatMoney(text)}</span>
|
|
|
+ render: (text: string) => <span className="pi-text-right pi-width-100P">{formatMoney(new BigNumber(text).toString())}</span>
|
|
|
},
|
|
|
{
|
|
|
title: type === ContractType.INCOME ? '回款方式' : '支付方式',
|
|
@@ -240,11 +249,28 @@ const Receivable: React.FC<ReceivableProps> = ({ updateTreeAndContract, type })
|
|
|
if (!col.editable) {
|
|
|
return col
|
|
|
}
|
|
|
+ let cellType = 'text'
|
|
|
+ switch (col.dataIndex) {
|
|
|
+ case 'createTime':
|
|
|
+ cellType = 'DatePicker'
|
|
|
+ break
|
|
|
+ case 'time':
|
|
|
+ cellType = 'DatePicker'
|
|
|
+ break
|
|
|
+ case 'way':
|
|
|
+ cellType = 'Select'
|
|
|
+ break
|
|
|
+ case 'price':
|
|
|
+ cellType = 'MoneyInput'
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ break
|
|
|
+ }
|
|
|
return {
|
|
|
...col,
|
|
|
onCell: (record: iReceivableState) => ({
|
|
|
record,
|
|
|
- cellType: col.dataIndex === 'createTime' || col.dataIndex === 'time' ? 'DatePicker' : col.dataIndex === 'way' ? 'Select' : 'text',
|
|
|
+ cellType,
|
|
|
dataIndex: col.dataIndex,
|
|
|
title: col.title,
|
|
|
editing: isEditing(record)
|