import React, { useState, useRef, useEffect } from "react";
import {
    message,
    Pagination,
    Table,
    Input,
    Space,
    Modal,
    Button,
    Select,
    Tabs,
    Descriptions,
    Timeline
} from "antd";
const { TextArea } = Input;
import moment from "moment";
import ajax from '@/config/ajax.js'
import { TableModule } from "@/components";
import {
    bindColumns,
    modiColumns,
    formRefundColumns
} from "./dataSource";
import { dictionary } from "@/config/common.js";
import "./index.scss";
function CarInfo() {
    const [carId, setCarId] = useState()
    const columns = [
        {
            title: "序号",
            dataIndex: "index",
            key: "index",
            align: "center",
            fixed: "left",
            render: (text, record, index) => index + 1,
            width: 100,
        },
        {
            title: "车牌号",
            dataIndex: "plate_number",
            key: "plate_number",
        },
        {
            title: "会员姓名",
            dataIndex: "name",
            key: "name",
        },
        {
            title: "会员手机号",
            dataIndex: "mobile",
            key: "mobile",
        },
        {
            title: "行驶本认证",
            dataIndex: "authStateName",
            key: "authStateName",
        },
        {
            title: "欠费金额",
            dataIndex: "arrears_money",
            key: "arrears_money",
        },
        {
            title: "创建时间",
            dataIndex: "create_time",
            key: "create_time",
        },
        {
            title: "操作",
            dataIndex: "operation",
            key: "operation",
            fixed: "right",
            align: "center",
            width: 300,
            render: (text, record) => (
                <>
                    <span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
                        setCarId(record.carId);
                        searchDetail(record);
                    }}>
                        <a>详情</a>
                    </span>
                </>
            ),
        },
    ];
    //构建表头
    const createCol = (label, name, type) => {
        label.length == name.length ? null : console.log('参数缺失', label.length, name.length)
        var arr = []
        label?.map((item, index) => {
            let cm = {
                title: item,
                dataIndex: name[index],
                key: name[index],
                align: "center",
            }
            switch (item) {
                case "序号":
                    cm.render = (text, record, index) => index + 1
                    break
                case "退款订单ID":
                case "业务订单ID":
                case "支付订单ID":
                    cm.render = (text) => (
                        <>
                            <a onClick={() => {
                                navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") });
                            }}>{text}</a>
                        </>
                    )
                    break
                default: break
            }
            arr.push(cm)
        })
        var obj = {
            title: "操作",
            dataIndex: "operation",
            key: "operation",
            fixed: "right",
            align: "center",
        }
        switch (type) {
            case 2:
                obj.render = (text, record) => (<>
                    <span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
                        setYcddData(record)
                        setDetailVisible(true)
                    }}>
                        <a>详情</a>
                    </span>
                </>)
                arr.push(obj)
                break
            case 5:
                obj.render = (text, record) => (<>
                    <span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
                        refundSearch(record)
                        setTkddVisible(true)
                    }}>
                        <a>详情</a>
                    </span>
                </>)
                arr.push(obj)
                break
            case 6:
                obj.render = (text, record) => (<>
                    <span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
                        setTkddVisible(true)
                    }}>
                        <a>详情</a>
                    </span>
                </>)
                arr.push(obj)
                break
            case 7:
                obj.render = (text, record) => (<>
                    <span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {
                        setTkddVisible(true)
                    }}>
                        <a>详情</a>
                    </span>
                </>)
                arr.push(obj)
                break
            case 8:
                obj.render = (text, record) => (<>
                    <span type="primary" style={{ display: 'block', textAlign: 'center' }} onClick={() => {

                    }}>
                        <a>详情</a>
                    </span>
                </>)
                arr.push(obj)
                break
            default: break
        }
        return arr
    }
    //基本信息检索条件
    const formSearch = [
        {
            name: "carId",
            type: "Input",
            label: "车牌号",
            placeholder: "请输入车牌号",
        },
        {
            name: "mobile",
            type: "Input",
            label: "会员手机号",
            placeholder: "请输入会员手机号",
        },
        {
            name: "authState",
            type: "Select",
            label: "认证状态",
            options: [
                {
                    label: "已认证",
                    value: 0,
                },
                {
                    label: "未认证",
                    value: 1,
                },

            ],
        },
        {
            name: "bingState",
            type: "Select",
            label: "绑定状态",
            options: [
                {
                    label: "已绑定",
                    value: 0,
                },
                {
                    label: "未绑定",
                    value: 1,
                },

            ],
        },
        {
            name: "timePeriod",
            type: "RangePicker",
            label: "时间段",
            defaultValue: [moment().subtract(1, "month"), moment()],
        },
    ];
    //退费记录检索条件
    const formRefundSearch = [
        {
            name: "refund_id",
            type: "Input",
            label: "退款订单号",
            placeholder: "请输入退款订单号",
        },
        {
            name: "type",
            type: "Select",
            label: "业务订单类型",
            options: dictionary.BusinessOrderType,
        },
        {
            name: "park_id",
            type: "Input",
            label: "业务订单ID",
            placeholder: "请输入业务订单ID",
        },
        {
            name: "order_id",
            type: "Input",
            label: "支付订单ID",
            placeholder: "请输入支付订单ID",
        },
        {
            name: "state",
            type: "Select",
            label: "退款状态",
            options: [
                {
                    label: "全部",
                    value: 0,
                },
                {
                    label: "待确认",
                    value: 1,
                },
                {
                    label: "退款中",
                    value: 2,
                },
                {
                    label: "已完成",
                    value: 3,
                },
                {
                    label: "退款失败",
                    value: 4,
                },
            ],
        },
        {
            name: "reason",
            type: "Select",
            label: "退款原因",
            options: [
                {
                    label: "全部",
                    value: 0,
                },
                {
                    label: "异常订单处理",
                    value: 1,
                },
                {
                    label: "自动平单退款",
                    value: 2,
                },
            ],
        },
        {
            name: "flow_id",
            type: "Input",
            label: "渠道流水号",
            placeholder: "请输入渠道流水号",
        },
        {
            name: "timePeriod",
            type: "RangePicker",
            label: "时间段",
            defaultTitle: ['退款时间', '至'],
            defaultValue: [moment().subtract(1, "month"), moment()],
        },
    ];
    //所有检索条件
    const ash = [
        {//1
            name: "region",
            type: "TreeSelect",
            label: "区域",
        },
        {//2
            name: "operator",
            type: "Select",
            label: "商户名称",
            options: dictionary.MerchantName,
        },
        {//3
            name: "road",
            type: "Input",
            label: "停车场名称",
            placeholder: "请输入停车场名称",
        },
        {//4
            name: "road_type",
            type: "Select",
            label: "车场类型",
            options: [
                {
                    label: "全部",
                    value: 0,
                },
                {
                    label: "路侧平行",
                    value: 1,
                },
                {
                    label: "路侧垂停",
                    value: 2,
                },
                {
                    label: "封闭车场",
                    value: 3,
                },
                {
                    label: "半封闭车场",
                    value: 4,
                },
            ],
        },
        {//5
            name: "phone",
            type: "Input",
            label: "手机号",
            placeholder: "请输入手机号",
        },
        {//6
            name: "type",
            type: "Select",
            label: "出入场类型",
            placeholder: "请选择出入场类型",
            defaultValue: 1,
            options: [
                {
                    label: "入场",
                    value: 1,
                },
                {
                    label: "出场",
                    value: 2,
                },
            ],
        },

        {//7
            name: "b",
            type: "Input",
            label: "商品名称",
            placeholder: "请输入商品名称",
        },
        {//8
            name: "b",
            type: "Select",
            label: "购买渠道",
            placeholder: "请选择购买渠道",
            options: [
                {
                    label: "全部",
                    value: 0,
                },
                {
                    label: "线上渠道",
                    value: 1,
                },
                {
                    label: "后台录入",
                    value: 2,
                },
            ],
        },
        {//9
            name: "b",
            type: "Select",
            label: "订单状态",
            placeholder: "请选择订单状态",
            options: [
                {
                    label: "全部",
                    value: 0,
                },
                {
                    label: "未生效",
                    value: 1,
                },
                {
                    label: "生效中",
                    value: 2,
                },
                {
                    label: "已失效",
                    value: 3,
                },
            ],
        },
        {//10
            name: "PayChannel",
            type: "Select",
            label: "支付渠道",
            placeholder: "请选择支付渠道",
            options: dictionary.PayChannel,
        },
        {//11
            name: "payment_equipment",
            type: "Select",
            label: "支付设备",
            placeholder: "请选择支付设备",
            options: dictionary.PayDevice
        },
        {//12
            name: "pay_type",
            type: "Select",
            label: "支付方式",
            placeholder: "请选择支付方式",
            options: dictionary.PaydMethod,
        },
        {//13
            name: "timePeriod",
            type: "RangePicker",
            label: "时间段",
            defaultValue: [moment().startOf("day"), moment()],
        },
        {//14
            name: "b",
            type: "Select",
            label: "退款方式",
            placeholder: "请选择退款方式",
            options: dictionary.PaydMethod,
        },
        {//15
            name: "b",
            type: "Input",
            label: "第三方流水号",
            placeholder: "请输入第三方流水号",
        },
        {//16
            name: "timePeriod",
            type: "RangePicker",
            label: "时间段",
            defaultTitle: ['支付时间', '至']
            // defaultValue: [moment().startOf("day"), moment()],
        },
        {//17
            name: "timePeriod",
            type: "RangePicker",
            label: "时间段",
            defaultTitle: ['订购时间', '至']
            // defaultValue: [moment().startOf("day"), moment()],
        },
        {//18
            name: "timePeriod",
            type: "RangePicker",
            label: "时间段",
            defaultTitle: ['预约到场时间', '至']
            // defaultValue: [moment().startOf("day"), moment()],
        },
        {//19
            name: "plate",
            type: "Input",
            label: "车牌号",
            placeholder: "请输入车牌号",
        },
    ];
    const [tag, setTag] = useState('1');
    const [edit, setEdit] = useState(true);
    const [resultData, setResultData] = useState([])
    const [baseData, setBaseData] = useState({
        //car_type:2
    })
    const [bindData, setBindData] = useState([])//绑定
    const [modiData, setModiData] = useState([])//修改
    const [detailData, setDetailData] = useState([])//
    const [ycddData, setYcddData] = useState([])//异常订单数据
    const [detailVisible, setDetailVisible] = useState(false);
    const [ltcVisible, setLtcVisible] = useState(false);
    const [timesVisible, setTimesVisible] = useState(false); //退款尝试次数展开
    const [ycddVisible, setYcddVisible] = useState(false);
    const [tkddVisible, setTkddVisible] = useState(false);
    const [cardVisible, setCardVisible] = useState(false);
    const [eaeVisible, setEaeVisible] = useState(false);//出入场图片
    const [bigpicVisible, setBigpicVisible] = useState(false);//大图展示
    const [bigPic, setBigPic] = useState();
    const [total, setTotal] = useState(0);
    const [tabKey, setTabKey] = useState("1");
    function openModal(params) {
        setDetailVisible(true);
    }
    function changeKey(key) {
        setTabKey(key);
    }

    //基本信息查询
    function search(e) {
        // if (!e.type) {
        //     e.type = 1
        // }
        ajax({
            url: "/api/ope/car/list",
            type: "post",
            data: { ...e },
        }).then((res) => {
            let { status, data, total } = res
            if (status == 20000) {
                setResultData(data)
                setTotal(total)
            } else {
                message.error(res.message)
            }
        })
    }
    //基本信息详情
    function searchDetail(e) {
        ajax({
            url: "/api/ope/car/get_base_info",
            type: "get",
            data: { carId: e?.carId || carId },
        }).then((res) => {
            let { status, data, total } = res
            if (status == 20000) {
                setBaseData(data)
                setTag('2')
            } else {
                message.error(res.message)
            }
        })
        ajax({//绑定
            url: "/api/ope/car/get_bind_records",
            type: "get",
            data: { carId: e?.carId || carId },
        }).then((res) => {
            let { status, data, total } = res
            if (status == 20000) {
                setBindData(data)
            } else {
                message.error(res.message)
            }
        })
        ajax({//修改数据
            url: "/api/ope/car/get_edit_records",
            type: "get",
            data: { carId: e?.carId || carId },
        }).then((res) => {
            let { status, data, total } = res
            if (status == 20000) {
                setModiData(data)
            } else {
                message.error(res.message)
            }
        })
    }
    //编辑车辆外观信息
    function editDetail() {
        ajax({
            url: "/api/ope/car/edit_car",
            type: "post",
            data: {
                carId: baseData.carId,
                car_brand: baseData.car_brand,
                car_model: baseData.car_model,
                car_color: baseData.car_color,
                car_type: baseData.car_type,
                plate_type: baseData.plate_type,
            },
        }).then((res) => {
            let { status, data } = res
            if (status == 20000) {
                setEdit(true)
                //window.location.reload()
                //setTag('2')
                searchDetail()
            } else {
                message.error(res.message)
            }
        })

    }
    //详情其他模块查询
    function searchOther(e) {
        var url = ''
        switch (tabKey) {
            case "1":
                url = ""
                break
            case "2":
                url = "/api/bpm/record/get_record_list"//停车记录
                break
            case "3":
                url = "/api/bpm/record/get_parking_arrears_list"//欠费记录
                break
            case "4":
                url = "/api/bpm/record/get_payment_list"//支付记录
                break
            case "5":
                url = "/api/ope/record/get_refund_list"//退费订单
                break
            case "6":
                url = ""
                break
            case "7":
                url = ""
                break
            case "8":
                url = ""
                break
            default: break
        }
        if (tabKey == '3' && e && !e?.type) {
            e.type = 1
        }
        ajax({
            url: url,
            type: "post",
            data: { ...e, carId: carId, startTime: e?.start_time, endTime: e?.end_time },
        }).then((res) => {
            let { status, data, total } = res
            if (status == 20000) {
                if (data.list) {
                    setResultData(data.list)
                    setTotal(data.total)
                } else {
                    setResultData(data)
                    setTotal(total)
                }
            } else {
                setResultData([])
                message.error(res.message)
            }
        })
    }
    //退款订单详情
    function refundSearch(e) {
        ajax({
            url: "/api/ope/record/get_refund_info",
            type: "get",
            data: { id: e.refund_id },
        }).then((res) => {
            let { status, data } = res
            if (status == 20000) {
                //setResultData(data)
                setYcddData(data)
            } else {
                message.error(res.message)
            }
        })
    }
    //停车记录信息渲染
    function renderParkRecord(params) {
        return (
            <div className="ltc-box">
                <div className="ltc-box-title"><div className="text">停车场信息</div><div className="line"></div></div>
                <div className="ltc-content">
                    <div className="ltc-item">
                        <div className="new-item">停车场名称</div><div className="new-value">{params?.road || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">泊位号</div><div className="new-value">{params.berth_id || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">区域</div><div className="new-value">{params.region || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">商户</div><div className="new-value">{params.operator || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">车场类型</div><div className="new-value">{params.road_type || "--"}</div>
                    </div>
                </div>
                <div className="ltc-box-title"><div className="text">停车信息</div><div className="line"></div></div>
                <div className="ltc-content">
                    <div className="ltc-item">
                        <div className="new-item">车牌号</div><div className="new-value">{params.plate || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">会员手机号</div><div className="new-value">{params.phone || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">入场时间</div><div className="new-value">{params.in_time || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">出场时间</div><div className="new-value">{params.out_time || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">停车时长</div><div className="new-value">{params.admission_time || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">订单金额</div><div className="new-value">{params.order_amount || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">停车卡折扣</div><div className="new-value">{params.parking_card_discount || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">车场折扣</div><div className="new-value">{params.road_discount || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">应收金额</div><div className="new-value">{params.receivable_amount || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">优惠券</div><div className="new-value">{params.preferential_amount || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">优惠总计</div><div className="new-value">{params.preferential_total || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">实付金额</div><div className="new-value">{params.actual_amount || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">优惠退款</div><div className="new-value">{params.refund_discount || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">实付退款</div><div className="new-value">{params.actual_refund || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">退款总计</div><div className="new-value">{params.refund_total || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">入场收费员</div><div className="new-value">{params.in_person || "--"}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">出场收费员</div><div className="new-value">{params.out_person || "--"}</div>
                    </div>
                </div>
                <div className="ltc-box-title"><div className="text">入场照片</div><div className="line"></div></div>
                <Descriptions title="">
                    <Descriptions.Item label=""><img width={300} src={params.in_veh_pic} onClick={() => { setBigPic(params.in_veh_pic); setBigpicVisible(true) }} /></Descriptions.Item>
                    <Descriptions.Item label=""><img width={300} src={params.in_plate_pic} onClick={() => { setBigPic(params.in_plate_pic); setBigpicVisible(true) }} /></Descriptions.Item>
                </Descriptions>
            </div>
        );
    }
    //基本信息渲染
    function renderRecord(params) {
        return (
            <div style={{ padding: '18px' }}>
                <div className="base-ltc">
                    <div className="ltc-img">
                        <img src={baseData.car_img} width={600} />
                    </div>
                    <div className="ltc-box">
                        <div className="ltc-box-title"><div className="ltc-icon"></div>车辆归属信息</div>
                        <div className="ltc-content">
                            <div className="ltc-item">
                                <div className="new-item">车牌颜色:</div>
                                <div className="new-value">{baseData.plate_color || "--"}</div>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item">车牌号:</div>
                                <div className="new-value">{baseData.plate_number || "--"}</div>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item">绑定会员账户:</div>
                                <div className="new-value">{baseData.mobile || "--"}</div>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item">认证状态:</div>
                                <div className="new-value"> {baseData.authStateName || "--"}</div>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item">车牌归属地:</div>
                                <div className="new-value"> {baseData.home_location || "--"}</div>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item">创建时间:</div>
                                <div className="new-value">{baseData.create_time || "--"}</div>
                            </div>
                        </div>
                        <div className="ltc-box-title">
                            <div className="ltc-icon"></div>车辆外观信息
                            {
                                edit ? <div className="ltc-btn" onClick={() => { setEdit(false) }}>编辑</div> :
                                    <>
                                        <div className="ltc-btn" onClick={() => { editDetail(); }}>保存</div>
                                        <div className="ltc-btn ltc-cancel" onClick={() => { setEdit(true) }}>取消</div>
                                    </>
                            }
                        </div>
                        <div className="ltc-content">
                            <div className="ltc-item">
                                <div className="new-item">车辆品牌:</div>
                                <Input className="ltc-item-input" value={baseData.car_brand} onChange={(e) => { console.log(e); setBaseData({ ...baseData, car_brand: e.target.value }) }} placeholder="请输入车辆品牌" disabled={edit}></Input>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item">车辆型号:</div>
                                <Input className="ltc-item-input" value={baseData.car_model} placeholder="请输入车辆型号" disabled={edit}></Input>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item">车身颜色:</div>
                                <Input className="ltc-item-input" value={baseData.car_color} placeholder="请输入车身颜色" disabled={edit}></Input>
                            </div>
                            <div className="ltc-item">
                                <div className="new-item"> 车辆类型:</div>
                                <Select
                                    disabled={edit}
                                    defaultValue={baseData.car_type}
                                    options={[
                                        {
                                            label: "大型车",
                                            value: 1,
                                        },
                                        {
                                            label: "中型车",
                                            value: 2,
                                        },
                                        {
                                            label: "小型车",
                                            value: 3,
                                        },
                                    ]}
                                    placeholder={''}
                                />
                            </div>
                            <div className="ltc-item">
                                号牌类型:
                                <Select
                                    disabled={edit}
                                    options={dictionary.PlateType}
                                    fieldNames={{ label: 'text', value: 'value' }}
                                    defaultValue={baseData?.plate_type}
                                    placeholder={''}
                                />

                            </div>
                        </div>
                    </div>
                </div>
                <div className="ltc-box">
                    <div className="ltc-box-title"><div className="ltc-icon"></div>车辆绑定记录</div>
                    <div className="table-wrap">
                        <Table
                            columns={bindColumns}
                            dataSource={bindData}
                            scroll={{ x: 1000 }}
                            // className="yisa-table"
                            pagination={false}
                            rowKey={(record) => record.id}
                        />
                    </div>
                    <div className="ltc-box-title"><div className="ltc-icon"></div>车辆信息修改记录</div>
                    <Table
                        columns={modiColumns}
                        dataSource={modiData}
                        scroll={{ x: 1000 }}
                        // className="yisa-table"
                        pagination={false}
                        rowKey={(record) => record.id}
                    />
                </div>
            </div>
        );
    }
    //其他页面渲染
    function renderTable(columns, arr, dataSource) {
        return (
            <TableModule
                columns={columns}
                tableData={dataSource}
                formSearch={arr}
                total={total}
                search={searchOther}
                rowKey={(record) => record.id}
            />
        );
    }
    //退款订单详情
    const tkddModal = <div className="ltc-box">
        <div className="ltc-box-title"><div className="text">退款订单:{ycddData?.refund_id}</div><div className="line"></div></div>
        <div className="ltc-content">
            <div className="ltc-item">
                <div className="new-item">生成时间</div><div className="new-value">{ycddData?.refund_time || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">退款状态</div><div className="new-value">{ycddData.refund_state || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_channels || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">退款方式</div><div className="new-value">{ycddData.refund_type || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">应退实付金额</div><div className="new-value">{ycddData.refund_actual_amount || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">已退实付金额</div><div className="new-value">{ycddData.has_refund_actual_amount || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">应退优惠金额</div><div className="new-value">{ycddData.refund_discount_amount || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">已退优惠金额</div><div className="new-value">{ycddData.has_refund_discount_amount || "--"}</div>
            </div>
            <div className="ltc-item">
                <div className="new-item">退款尝试次数</div><div className="new-value">{ycddData.try_count || "--"}
                    {timesVisible ?
                        <a onClick={() => { setTimesVisible(false) }}>收起</a> :
                        <a onClick={() => { setTimesVisible(true) }}>查看</a>}
                </div>
            </div>
            <div className="ltc-item">
                <div className="new-item">最近尝试时间</div><div className="new-value">{ycddData.latest_try_time || "--"}</div>
            </div>
        </div>


        {timesVisible ? <>
            <div className="ltc-box-title"><div className="text">退款尝试详情</div><div className="line"></div></div>
            <Table
                columns={formRefundColumns}
                dataSource={ycddData.try_list}
                scroll={{ x: 1000 }}
                // className="yisa-table"
                pagination={false}
                rowKey={(record) => record.id}
            /> </> :
            <>
                <div className="ltc-box-title"><div className="text">支付订单:{ycddData.order_id}</div><div className="line"></div></div>
                <div className="ltc-content">
                    <div className="ltc-item">
                        <div className="new-item">平台商户</div><div className="new-value">{ycddData.payment_operator_name}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">生成时间</div><div className="new-value">{ycddData.payment_create_time}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">支付时间</div><div className="new-value">{ycddData.pay_time}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">支付渠道</div><div className="new-value">{ycddData.payment_equipment}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">优惠金额</div><div className="new-value">{ycddData.discount_amount}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">支付应用</div><div className="new-value">{ycddData.payment_equipment}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">实付金额</div><div className="new-value">{ycddData.paid_in_money}</div>
                    </div>
                </div>
                <div className="ltc-box-title"><div className="text">停车订单:{ycddData.park_record_id}</div><div className="line"></div></div>
                <div className="ltc-box-title"><div className="text">车厂详情</div></div>
                <div className="ltc-content">
                    <div className="ltc-item">
                        <div className="new-item">平台商户</div><div className="new-value">{ycddData.payment_operator_name}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">停车场名称</div><div className="new-value">{ycddData?.road_name}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">区域</div><div className="new-value">{ycddData.area_name}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">商户名称</div><div className="new-value">{ycddData.park_operator_name}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">泊位号</div><div className="new-value">{ycddData.berth_code}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">车场类型</div><div className="new-value">{ycddData.road_type}</div>
                    </div>
                </div>
                <div className="ltc-box-title"><div className="text">车辆详情</div></div>
                <div className="ltc-content">
                    <div className="ltc-item">
                        <div className="new-item">车牌号</div><div className="new-value">{ycddData.plate_number}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">停车时长</div><div className="new-value">{ycddData.parking_duration}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">入场时间</div><div className="new-value">{ycddData.in_time}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">出场时间</div><div className="new-value">{ycddData.out_time}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">入场记录来源</div><div className="new-value">{ycddData.inSource}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">出场记录来源</div><div className="new-value">{ycddData.outSource}</div>
                    </div>
                    <div className="ltc-item">
                        <div className="new-item">证据图像</div><div className="new-value"><a onClick={() => { setEaeVisible(true) }}>查看</a></div>
                    </div>
                </div>
            </>}



    </div>

    //停车卡详情
    const tckModal = <div className="ltc-box">
        <div className="ltc-box-title">订单信息:</div>
        <div className="ltc-box-line"></div>
        <Descriptions title="">
            <Descriptions.Item label="订单状态">{ycddData?.t || "--"}</Descriptions.Item>
            <Descriptions.Item label="支付时间">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="车牌号">{ycddData.o || "--"}</Descriptions.Item>
            <Descriptions.Item label="车牌颜色">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="手机号">{ycddData.mobile || "--"}</Descriptions.Item>
            <Descriptions.Item label="购买渠道">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="实付金额">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="支付渠道">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="支付设备">{ycddData.r || "--"}</Descriptions.Item>
        </Descriptions>
        <div className="ltc-box-title">商品信息:</div>
        <div className="ltc-box-line"></div>
        <Descriptions title="">
            <Descriptions.Item label="商品名称">{ycddData.plate}</Descriptions.Item>
            <Descriptions.Item label="商户名称">{ycddData.admission_time}</Descriptions.Item>
            <Descriptions.Item label="适用范围">{ycddData.in_time}</Descriptions.Item>
            <Descriptions.Item label="生效开始日期">{ycddData.out_time}</Descriptions.Item>
            <Descriptions.Item label="有效天数">{ycddData.in_source}</Descriptions.Item>
            <Descriptions.Item label="生效结束日期">{ycddData.out_source}</Descriptions.Item>
            <Descriptions.Item label="实付金额"></Descriptions.Item>
        </Descriptions>
    </div>

    //错峰卡详情
    const cfkModal = <div className="ltc-box">
        <div className="ltc-box-title">订单信息:</div>
        <div className="ltc-box-line"></div>
        <Descriptions title="">
            <Descriptions.Item label="停车场名称">{ycddData?.road || "--"}</Descriptions.Item>
            <Descriptions.Item label="手机号">{ycddData.mobile || "--"}</Descriptions.Item>
            <Descriptions.Item label="车牌号">{ycddData.plate_number || "--"}</Descriptions.Item>
            <Descriptions.Item label="同步MS状态">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="订购时间">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="支付方式">{ycddData.r || "--"}</Descriptions.Item>
            <Descriptions.Item label="订单金额">{ycddData.r || "--"}</Descriptions.Item>
        </Descriptions>
        <div className="ltc-box-title">商品信息:</div>
        <div className="ltc-box-line"></div>
        <Descriptions title="">
            <Descriptions.Item label="销售金额">{ycddData.plate}</Descriptions.Item>
            <Descriptions.Item label="有效时间">{ycddData.admission_time}</Descriptions.Item>
        </Descriptions>
    </div>
    useEffect(() => {
        searchOther()
    }, [tabKey])

    return (
        <>
            {tag == 1 ?
                <TableModule
                    columns={columns}
                    tableData={resultData}
                    formSearch={formSearch}
                    total={total}
                    search={search}
                    rowKey={(record) => record.id}
                /> :
                <>
                    <div className="back-btn" onClick={() => { setTag('1') }}>返回</div>
                    <Tabs activeKey={tabKey} onChange={changeKey}>
                        <Tabs.TabPane tab="基本信息" key="1">
                            {renderRecord(detailData)}
                        </Tabs.TabPane>
                        <Tabs.TabPane tab="停车记录" key="2">
                            {renderTable(
                                createCol(['序号', '区域', '商户名称', '停车场名称', '车场类型', '车牌号', '泊位号', '入场时间', '离场时间', '停车时长', '应收金额', '优惠金额', '实收金额'],
                                    ['index', 'region', 'operator', 'road', 'road_type', 'plate', 'berth_id', 'in_time', 'out_time', 'admission_time', 'receivable_amount', 'preferential_amount', 'actual_amount'], 2),
                                [ash[0], ash[1], ash[2], ash[3], ash[4], ash[5], ash[12]],
                                resultData
                            )}
                        </Tabs.TabPane>
                        <Tabs.TabPane tab="欠费记录" key="3">
                            {renderTable(
                                createCol(['商户名称', '区域', '停车场名称', '车牌号', '入场时间', '出场时间', '欠费金额'],
                                    ['merchantName', 'area', 'sectionName', 'licensePlateNumber', 'entryTime', 'exitTime', 'arrearsAmount'], 3),
                                [ash[0], ash[1], ash[2], ash[3], ash[5], ash[12]],
                                resultData
                            )}
                        </Tabs.TabPane>
                        <Tabs.TabPane tab="支付记录" key="4">
                            {renderTable(
                                createCol(['订单ID', '停车场名称', '车牌号', '泊位号', '入场时间', '计费时间', '停车时长', '应收金额', '优惠金额', '实收金额', '支付渠道', '支付设备', '操作人', '付款车场', '支付时间', '第三方流水ID'],
                                    ['order_id', 'road', 'plate', 'berth_id', 'admission_time', 'charging_time', 'parking_duration', 'receivable_amount', 'discount_amount', 'paid_in_money', 'payment_channels', 'payment_equipment', 'dealer', 'pay_road', 'pay_time', 'third_party_flow_id'], 4),
                                [ash[2], ash[9], ash[10], ash[15]],
                                resultData
                            )}
                        </Tabs.TabPane>
                        <Tabs.TabPane tab="退费订单" key="5">
                            {renderTable(
                                createCol(['序号', '最近尝试时间', '支付渠道', '应退实付(元)', '应退优惠(元)', '退款原因', '退款申请时间', '退款订单ID', '业务订单类型', '业务订单ID', '支付订单类型', '支付订单ID', '渠道流水号', '状态'],
                                    ['index', 'latest_try_time', 'payment_channels_name', 'refund_actual_amount', 'refund_discount_amount', 'reason', 'refund_time', 'payment_order_id', 'parking_type_name', 'park_record_id', 'payment_type_name', 'payment_order_id', 'flow_id', 'state_name'], 5),
                                formRefundSearch,
                                resultData
                            )}
                        </Tabs.TabPane>
                        <Tabs.TabPane tab="停车卡购买记录" key="6">
                            {renderTable(
                                createCol(['车牌号', '车辆颜色', '手机号', '商户名称', '实付金额', '支付渠道', '支付设备', '购买渠道', '支付时间', '订单状态'],
                                    ['plate', '', 'phone', 'operator', 'actual_amount', '', '', '', '', ''], 6),
                                [ash[4], ash[6], ash[7], ash[8], ash[9], ash[10], ash[15]],
                                resultData
                            )}
                        </Tabs.TabPane>
                        <Tabs.TabPane tab="错峰卡购买记录" key="7">
                            {renderTable(
                                createCol(['序号', '停车场名称', '车牌号', '手机号', '订单金额', '支付方式', '同步MS状态', '订购状态'],
                                    ['index', 'road', 'plate', 'phone', 'order_amount', '', '', ''], 7),
                                [ash[2], ash[4], ash[11], ash[16]],
                                resultData
                            )}
                        </Tabs.TabPane>
                        <Tabs.TabPane tab="预约处理" key="8">
                            <Tabs defaultActiveKey="1">
                                <Tabs.TabPane tab="预约订单" key="1">
                                    {renderTable(
                                        createCol(['序号', '车牌号', '手机号', '停车场名称', '实付金额', '支付方式', '下单时间', '订单状态', '第三方流水号'],
                                            ['index', 'plate', 'phone', 'road', 'actual_amount', '', '', ''], 8),
                                        [ash[4], ash[2], ash[17], ash[11], ash[14], ash[15], ash[8]],
                                        resultData
                                    )}
                                </Tabs.TabPane>
                                <Tabs.TabPane tab="预约订单退款" key="2">
                                    {renderTable(
                                        createCol(['序号', '车牌号', '手机号', '停车场名称', '预约到场时间', '实付金额', '退款金额', '退款方式', '退款时间', '第三方流水号'],
                                            ['index', 'plate', 'phone', 'road', '', 'actual_amount', 'refund_total', '', '', ''], 9),
                                        [ash[4], ash[2], ash[12], ash[13], ash[12], ash[14]],
                                        resultData
                                    )}
                                </Tabs.TabPane>
                            </Tabs>
                        </Tabs.TabPane>
                    </Tabs>

                </>
            }
            <Modal
                open={detailVisible}
                width={1500}
                onCancel={() => {
                    setDetailVisible(false);
                }}
                footer={null}
            >
                <Tabs >
                    <Tabs.TabPane tab="停车记录信息" key="1">
                        {/* {renderParkRecord(detailData)} */}
                        {renderParkRecord(ycddData)}
                    </Tabs.TabPane>
                    <Tabs.TabPane tab="历史处理" key="2">
                        {/* {renderModalTable(payRecordColumns, payRecord)} */}
                    </Tabs.TabPane>
                </Tabs>
            </Modal>
            <Modal
                open={bigpicVisible}
                width={1600}
                title={'图片展示'}
                className="eae-modal"
                onCancel={() => {
                    setBigpicVisible(false);
                }}
                footer={false}
            >
                <div>
                    <div className="eae-modal-item">
                        <img src={bigPic} width={1550} />
                    </div>
                </div>
            </Modal>
            <Modal
                open={tkddVisible}
                width={1500}
                title={'订单详情'}
                onCancel={() => {
                    setTkddVisible(false);
                }}
                footer={[
                    <Button key="back" onClick={() => {
                        setTkddVisible(false);
                    }}>
                        关闭窗口
                    </Button>]}
            >
                {/* {tkddModal} */}
                {tabKey == '5' ? tkddModal : tabKey == '6' ? tckModal : tabKey == '7' ? cfkModal : null}

            </Modal>
            <Modal
                open={eaeVisible}
                width={1600}
                title={'证据图像'}
                className="eae-modal"
                onCancel={() => {
                    setEaeVisible(false);
                }}
                footer={false}
            >
                <div>
                    <div className="eae-modal-title"><div className="ltc-icon"></div>入场图片</div>
                    <div className="eae-modal-item">
                        <div>车辆照片</div>
                        <img src={ycddData.in_veh_pic} width={750} />
                    </div>
                    <div className="eae-modal-item">
                        <div>车牌照片</div>
                        <img src={ycddData.in_plate_pic} width={750} />
                    </div>
                </div>
            </Modal>
        </>
    );
}

export default CarInfo;