import { ContractType } from '@/store/mobx/contract' import { iContractState } from '@/types/contract' import { contractConsts } from '@/utils/common/constStatus' import { dayjsFormat, formatMoney } from '@/utils/util' import { Tooltip } from 'antd' import React, { useMemo } from 'react' import styles from './index.module.scss' import { BigNumber } from "bignumber.js" interface DetailProps { contract: iContractState type: "income" | "expenditure" } const Detail:React.FC = (props) => { const { contract, type } = props const type_name = type === ContractType.INCOME ? '回款' : '支付' const progress = useMemo(() => { const i = new BigNumber(type === ContractType.INCOME ? contract.returned : contract.paid).dividedBy(contract.price).toFixed(2) const j = new BigNumber(1).minus(i) const k = new BigNumber(contract.price).minus(type === ContractType.INCOME ? contract.returned : contract.paid) return { returned: new BigNumber(i).multipliedBy(100) + '%', unReturned: new BigNumber(j).multipliedBy(100) + '%', unReturnedMoney: k } }, [ contract ]) return contract.id ? (
项目内容{contract.content}合同名称{contract.name}
合同编号{contract.code}状态{contractConsts[contract.status].text}
合同金额{formatMoney(contract.price)}创建时间{contract.createTime}
{type_name}金额{formatMoney(type === ContractType.INCOME ? contract.returned : contract.paid)}未{type_name}金额{formatMoney(progress.unReturnedMoney)}
{type_name}进度
{progress.returned}
{progress.unReturned}
甲方{contract.partyA}甲方签约人{contract.partyASigner}
乙方{contract.partyB}乙方签约人{contract.partyBSigner}
签约日期{dayjsFormat(contract.signerTime, 'YYYY-MM-DD')}
备注{contract.remarks}
) : null } export default Detail