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;