import React, { useMemo } from 'react'; import { Tooltip, Tabs } from 'antd'; import Filedetail from "@/components/Filedetail"; import DetailPro from '@/components/DetailPro'; import AutoTable from '@/components/AutoTable/mtable'; import { useNavigate } from '@umijs/max'; const fields = [ { title: '合同单号', dataIndex: 'contractNo', key: 'contractNo' }, { title: '合同金额', dataIndex: 'amount', key: 'amount' }, { title: '客户编号', dataIndex: 'customerNo', key: 'customerNo' }, { title: '客户名称', dataIndex: 'customerName', key: 'customerName' }, { title: '合同租期(月)', dataIndex: 'tenancy', key: 'tenancy' }, { title: '营销区域', dataIndex: 'marketRegion', key: 'marketRegion' }, { title: '智享店', dataIndex: 'zxstore', key: 'zxstore' }, { title: '承接合同编号', dataIndex: 'undertakingNo', key: 'undertakingId' }, { title: '销售经理', dataIndex: 'head', key: 'head' }, { title: '签订日期', dataIndex: 'registrationDate', key: 'registrationDate' }, { title: '到货日期', dataIndex: 'arriveDate', key: 'arriveDate' }, { title: '退还日期', dataIndex: 'returnDate', key: 'returnDate' }, { title: '状态', dataIndex: 'statusName', key: 'statusName' }, { title: '', valueType: 'split' }, { title: '合同起租日', dataIndex: 'startLeaseDate', key: 'startLeaseDateList' }, { title: '合同终止日', dataIndex: 'endLeaseDate', key: 'endLeaseDate' }, { title: '回款设置(自然日)', dataIndex: 'collectionSet', key: 'collectionSet' }, { title: '预警设置(自然日)', dataIndex: 'warnSet', key: 'warnSet' }, { title: '', valueType: 'split' }, { title: '交付运费', dataIndex: 'tripFreight', key: 'tripFreight' }, { title: '去程运费承担方', dataIndex: 'tripBearName', key: 'tripBearName' }, { title: '退还运费', dataIndex: 'returnFreight', key: 'returnFreight' }, { title: '', valueType: 'split' }, { title: '退还押金', dataIndex: 'refund', key: 'refund' }, { title: '处理人', dataIndex: 'handleUserName', key: 'handleUserName' }, { title: '处理时间', dataIndex: 'handleTime', key: 'handleTime' }, { title: '备注', dataIndex: 'remark', key: 'remark', colProps: { span: 24 }, }, { title: '相关文件', valueType: 'split' }, { title: '合同文件', dataIndex: 'contractFileList', key: 'contractFileList', span: 3, render: (_, row) => { return <Filedetail files={row?.['contractFileList']} /> } }, { title: '起租单文件', dataIndex: 'startLeaseFileList', key: 'startLeaseFileList', render: (_, row) => { return <Filedetail files={row?.['startLeaseFileList']} /> } }, { title: '发运单文件', dataIndex: 'hairuseFileList', key: 'hairuseFileList', render: (_, row) => { return <Filedetail files={row?.['hairuseFileList']} /> } }, { title: '租赁物交付确认单文件', dataIndex: 'leaseDeliverFileList', key: 'leaseDeliverFileList', render: (_, row) => { return <Filedetail files={row?.['leaseDeliverFileList']} /> } }, { title: '租赁物归还确认单文件', dataIndex: 'leaseReturnFileList', key: 'leaseReturnFileList', render: (_, row) => { return <Filedetail files={row?.['leaseReturnFileList']} /> } }, { title: '押金归还确认单文件', dataIndex: 'refundFileList', key: 'refundFileList', render: (_, row) => { return <Filedetail files={row?.['refundFileList']} /> } }, ]; const Details = ({ drawer }) => { const navigator = useNavigate(); const columns = [ { title: '设备编号', dataIndex: 'equipmentNo', key: 'equipmentNo', render: (_, row) => { return ( <Tooltip title={row.equipmentNo}> { row.pageStatus == 0 ? <span className="table-cell"> {row.equipmentNo} </span> : <a className="table-cell" onClick={() => { navigator('/lease/costanalysis', { state: { pageStatus: row.pageStatus, extraparams: { contractId: row.contractId, equipmentId: row.equipmentId } } }) }} > {row.equipmentNo} </a> } </Tooltip> ); } }, { title: '设备名称', dataIndex: 'equipmentName', key: 'equipmentName', }, { title: '设备型号', dataIndex: 'equipmentModelName', key: 'equipmentModelName', hideInSearch: true }, { title: '莫格云眼', dataIndex: 'intelligentUnitNo', key: 'intelligentUnitNo', }, { title: '出库区域', dataIndex: 'shopName', key: 'shopName', hideInSearch: true }, { title: '入库区域', dataIndex: 'returnShopName', key: 'returnShopName', hideInSearch: true }, { title: '每期单价', dataIndex: 'unitPrice', key: 'unitPrice', hideInSearch: true, width: 80 }, { title: '智享价', dataIndex: 'zxPrice', key: 'zxPrice', hideInSearch: true, width: 80 }, { title: '返利金额', dataIndex: 'rebatePrice', key: 'rebatePrice', hideInSearch: true, width: 80 }, { title: '交付运费', dataIndex: 'deliveryPrice', key: 'deliveryPrice', hideInSearch: true, width: 80 }, { title: '交付日期', dataIndex: 'deliveryDate', key: 'deliveryDate', hideInSearch: true }, { title: '押金', dataIndex: 'deposit', key: 'deposit', hideInSearch: true, width: 80 }, { title: '开始租赁时间', dataIndex: 'startLeaseDate', key: 'startLeaseDate', hideInSearch: true }, { title: '结束租赁时间', dataIndex: 'endLeaseDate', key: 'endLeaseDate', hideInSearch: true }, { title: '实际结束时间', dataIndex: 'realEndDate', key: 'realEndDate', hideInSearch: true }, { title: '违约金', dataIndex: 'violatePrice', key: 'violatePrice', hideInSearch: true, width: 80 }, { title: '退还运费', dataIndex: 'returnFreight', key: 'returnFreight', hideInSearch: true, width: 80 }, { title: '退还日期', dataIndex: 'returnDate', key: 'returnDate', hideInSearch: true }, { title: '返程运费承担方', dataIndex: 'returnBearName', key: 'returnBearName', hideInSearch: true }, { title: '备注', dataIndex: 'remark', key: 'remark', hideInSearch: true }, ]; const items = useMemo(() => { return [ { key: '1', label: '基本信息', children: <DetailPro fields={fields} detailpath="/lease/umContract/queryDetail" params={{ id: drawer?.item?.id }} />, }, { key: '2', label: '合同详情', children: <AutoTable columns={columns} path={'/lease/umContractEquipment/queryByContractId'} resizeable={false} pageextra="none" bordered={false} extraparams={{ contractId: drawer?.item?.id }} pagination={'false'} x={2300} />, } ] }, [drawer?.item?.id]) return <div> <Tabs items={items} destroyInactiveTabPane /> </div> } export default Details;