/* 设备台账
 * @Author: Li Hanlin
 * @Date: 2022-11-10 09:39:56
 * @Last Modified by: Li Hanlin
 * @Last Modified time: 2023-02-16 17:23:15
 */

import * as React from 'react';
import { useState, useMemo, useRef, useEffect } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { doFetch } from '@/utils/doFetch';
import {
    message,
    Dropdown,
    Menu,
    Layout,
    Button,
    Image,
    Space,
    Divider,
    Tabs,
    Tooltip,
} from 'antd';
import TreeRender from '@/components/TreeRender';
import { ProDescriptions } from '@ant-design/pro-components';
import InitForm from '@/components/InitForm';
import dayjs from 'dayjs';

const { Sider, Content } = Layout;

function Account({ boxRef, extraparams }) {
    const disabledDateOfDay = (current) => {
        // Can not select days before today and today
        return current && current > dayjs().endOf('day');
    };
    const [activeTab, setactiveTab] = useState(1);
    let actionRef = useRef(),
        formRef = useRef(),
        [drawer, setDrawer] = useState({
            open: false,
        }),
        [currDrawer, setCurrDrawer] = useState({
            open: false,
        }),
        [resumeTab, setresumeTab] = useState(null),
        currfields = {
            1: [
                {
                    title: '操作人',
                    dataIndex: 'updateUserName',
                    key: 'updateUserName',
                },
                {
                    title: '操作时间',
                    dataIndex: 'updateTime',
                    key: 'updateTime',
                },
                {
                    title: '改造日期',
                    dataIndex: 'reformDate',
                    key: 'reformDate',
                    valueType: 'date',

                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '改造承包商',
                    dataIndex: 'supplierId',
                    key: 'supplierId',
                    valueType: 'select',
                    options: {
                        path: '/asset/equipmentSupplier/query/selection',
                        params: {},
                    },
                    formItemProps: {
                        rules: [
                            {
                                required: true,
                                message: '此项为必填项',
                            },
                        ],
                    },
                },
                {
                    title: '改造内容',
                    dataIndex: 'reformContent',
                    key: 'reformContent',
                    valueType: 'textarea',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '上传文件',
                    key: 'urlIds',
                    valueType: 'uploadDragger',
                    // column: { xs: 1, sm: 2, md: 3 },
                    span: '3',
                    fieldProps: {
                        maxCount: 5,
                    },
                    formItemProps: {
                        rules: [
                            {
                                required: true,
                                message: '此项为必填项',
                            },
                        ],
                    },
                    render: (text, row) => {
                        return (
                            <div>
                                {row?.urlIds.map((it, i) => (
                                    // eslint-disable-next-line react/jsx-key
                                    <div style={{ marginBottom: '8px' }} key={i}>
                                        <a href={it?.url} download target="_blank" rel="noopener noreferrer">
                                            {it?.name}
                                        </a>
                                    </div>
                                ))}
                            </div>
                        );
                    },
                },
            ],
            2: [
                {
                    title: '操作人',
                    dataIndex: 'updateUserName',
                    key: 'updateUserName',
                },
                {
                    title: '操作时间',
                    dataIndex: 'updateTime',
                    key: 'updateTime',
                },
                {
                    title: '报废日期',
                    dataIndex: 'scrapDate',
                    key: 'scrapDate',
                    valueType: 'date',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '报废原因',
                    dataIndex: 'scrapReason',
                    key: 'scrapReason',
                    valueType: 'textarea',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '上传文件',
                    key: 'urlIds',
                    valueType: 'uploadDragger',
                    span: '3',
                    formItemProps: {
                        rules: [
                            {
                                required: false,
                                message: '此项为必填项',
                            },
                        ],
                    },
                    fieldProps: {
                        maxCount: 5,
                    },
                    render: (text, row) => {
                        return (
                            <div>
                                {row?.urlIds.map((it, i) => (
                                    // eslint-disable-next-line react/jsx-key
                                    <div style={{ marginBottom: '8px' }} key={i} >
                                        <a href={it?.url} download target="_blank" rel="noopener noreferrer">
                                            {it?.name}
                                        </a>
                                    </div>
                                ))}
                            </div>
                        );
                    },
                },
            ],
            3: [
                {
                    title: '操作人',
                    dataIndex: 'updateUserName',
                    key: 'updateUserName',
                },
                {
                    title: '操作时间',
                    dataIndex: 'updateTime',
                    key: 'updateTime',
                },
                {
                    title: '调入公司',
                    dataIndex: 'toOrganizationName',
                    key: 'toOrganizationId',
                    valueType: 'select',
                    options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '调入部门',
                    valueType: 'treeSelect',
                    dataIndex: 'toDepartmentName',
                    key: 'toDepartmentId',
                    options: {
                        path: '/auth/sysDepartment/query/children/tree',
                        linkParams: {
                            toOrganizationId: 'parentId',
                        },
                    },
                },
                {
                    title: '调入工厂',
                    dataIndex: 'toFactoryName',
                    key: 'toFactoryId',
                    valueType: 'select',
                    options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '调入车间',
                    dataIndex: 'toShopName',
                    valueType: 'select',
                    options: {
                        path: '/auth/sysShop/getShopSelectionByFactory',
                        linkParams: {
                            toFactoryId: 'factoryId',
                        },
                    },
                    key: 'toShopId',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '调入工段',
                    dataIndex: 'toSectionName',
                    key: 'toSectionId',
                    valueType: 'select',
                    options: {
                        path: '/auth/sysSection/getAllSectionSelectionByShop',
                        linkParams: {
                            toShopId: 'shopId',
                        },
                    },
                },
                {
                    title: '调入产线',
                    dataIndex: 'toProductLineName',
                    valueType: 'select',
                    key: 'toProductLineId',
                    options: {
                        path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                        linkParams: {
                            toShopId: 'shopId',
                        },
                    },
                },
                {
                    title: '调入位置号',
                    dataIndex: 'toPositionNo',
                    valueType: 'input',
                    key: 'toPositionNo',
                },
                {
                    title: '调拨日期',
                    dataIndex: 'transferDate',
                    key: 'transferDate',
                    valueType: 'date',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '调拨原因',
                    dataIndex: 'transferReason',
                    key: 'transferReason',
                    valueType: 'textarea',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
            ],
            4: [
                {
                    title: '操作人',
                    dataIndex: 'updateUserName',
                    key: 'updateUserName',
                },
                {
                    title: '操作时间',
                    dataIndex: 'updateTime',
                    key: 'updateTime',
                },
                {
                    title: '借用公司',
                    dataIndex: 'toOrganizationName',
                    key: 'toOrganizationName',
                },
                {
                    title: '借用部门',
                    valueType: 'treeSelect',
                    dataIndex: 'toDepartmentName',
                    key: 'toDepartmentName',
                },
                {
                    title: '借用工厂',
                    dataIndex: 'toFactoryName',
                    key: 'toFactoryName',
                },
                {
                    title: '借用车间',
                    dataIndex: 'toShopName',
                    valueType: 'select',
                    key: 'toShopName',
                },
                {
                    title: '借用工段',
                    dataIndex: 'toSectionName',
                    key: 'toSectionName',
                },
                {
                    title: '借用产线',
                    dataIndex: 'toProductLineName',
                    key: 'toProductLineName',
                },
                {
                    title: '借用位置号',
                    dataIndex: 'toPositionNo',
                    valueType: 'input',
                    key: 'toPositionNo',
                },
                {
                    title: '借用日期',
                    dataIndex: 'borrowDate',
                    key: 'borrowDate',
                    valueType: 'date',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '预计归还日期',
                    dataIndex: 'planReturnDate',
                    key: 'planReturnDate',
                    valueType: 'date',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '借用原因',
                    dataIndex: 'borrowReason',
                    key: 'borrowReason',
                    valueType: 'textarea',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
            ],
            5: [
                {
                    title: '操作人',
                    dataIndex: 'updateUserName',
                    key: 'updateUserName',
                },
                {
                    title: '操作时间',
                    dataIndex: 'updateTime',
                    key: 'updateTime',
                },
                {
                    title: '接收公司',
                    dataIndex: 'returnOrganizationName',
                    key: 'returnOrganizationName',
                    valueType: 'select',
                    options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '接收部门',
                    valueType: 'treeSelect',
                    dataIndex: 'returnDepartmentName',
                    key: 'returnDepartmentName',
                    options: {
                        path: '/auth/sysDepartment/query/children/tree',
                        linkParams: {
                            returnOrganizationId: 'parentId',
                        },
                    },
                },
                {
                    title: '接收工厂',
                    dataIndex: 'returnFactoryName',
                    key: 'returnFactoryName',
                    valueType: 'select',
                    options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '接收车间',
                    dataIndex: 'returnShopName',
                    valueType: 'select',
                    options: {
                        path: '/auth/sysShop/getShopSelectionByFactory',
                        linkParams: {
                            returnFactoryId: 'factoryId',
                        },
                    },
                    key: 'returnShopId',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '接收工段',
                    dataIndex: 'returnSectionName',
                    key: 'returnSectionId',
                    valueType: 'select',
                    options: {
                        path: '/auth/sysSection/getAllSectionSelectionByShop',
                        linkParams: {
                            returnShopId: 'shopId',
                        },
                    },
                },
                {
                    title: '接收产线',
                    dataIndex: 'returnProductLineName',
                    valueType: 'select',
                    key: 'returnProductLineId',
                    options: {
                        path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                        linkParams: {
                            returnShopId: 'shopId',
                        },
                    },
                },
                {
                    title: '接收位置号',
                    dataIndex: 'returnPositionNo',
                    valueType: 'input',
                    key: 'returnPositionNo',
                },
                {
                    title: '实际归还日期',
                    dataIndex: 'realReturnDate',
                    key: 'realReturnDate',
                    valueType: 'date',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
                {
                    title: '备注',
                    dataIndex: 'remark',
                    key: 'remark',
                    valueType: 'textarea',
                    formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                },
            ],
        },
        urlParams = {
            save: '/asset/equipment/save',
            remove: '/asset/equipment/deleteById',
            list: '/asset/equipment/queryList',
            detail: '/asset/equipment/detail',
        },
        urlParams_childEquipment = {
            list: '/asset/equipment/children/queryList',
            checked: '/asset/equipment/children/selected/queryList',
            save: '/asset/equipmentChildren/save',
        },
        urlParams_resume = {
            save: '/asset/equipmentLog/save',
            list: '/asset/equipmentLog/queryEquipmentLogPage',
            detail: '/asset/equipmentLog/query/resumeDetail',
        },
        urlParams_correlation = {
            zsb: '/asset/equipment/detail/children/page',
            fsb: '/asset/equipment/detail/parent/page',
        };

    function formatDate(date) {
        var myyear = date.getFullYear();
        var mymonth = date.getMonth() + 1;
        var myweekday = date.getDate();

        if (mymonth < 10) {
            mymonth = '0' + mymonth;
        }
        if (myweekday < 10) {
            myweekday = '0' + myweekday;
        }
        return myyear + '-' + mymonth + '-' + myweekday; //想要什么格式都可以随便自己拼
    }
    //设备详情
    const Detail = () => {
        // 基础信息
        const BaseInfo = () => {
            const columns1 = [
                {
                    title: '设备编号',
                    dataIndex: 'equipmentNo',
                    key: 'equipmentNo',
                },
                {
                    title: '设备名称',
                    dataIndex: 'equipmentName',
                    key: 'equipmentName',
                },
                {
                    title: '位置号',
                    dataIndex: 'positionNo',
                    key: 'positionNo',
                },
                {
                    title: '设备类型',
                    dataIndex: 'equipmentTypeName',
                    key: 'equipmentTypeId',
                },
                {
                    title: '设备型号',
                    dataIndex: 'equipmentModelName',
                    key: 'equipmentModelName',
                },
                {
                    title: '状态',
                    dataIndex: 'statusName',
                    key: 'statusName',
                    span: 2,
                },
            ];
            const columns2 = [
                {
                    title: '公司名称',
                    dataIndex: 'organizationName',
                    key: 'organizationId',
                },
                {
                    title: '部门名称',
                    dataIndex: 'departmentName',
                    key: 'departmentId',
                },
                {
                    title: '工厂名称',
                    dataIndex: 'factoryName',
                    key: 'factoryId',
                },
                {
                    title: '车间名称',
                    dataIndex: 'shopName',
                    key: 'shopId',
                },
                {
                    title: '工段名称',
                    dataIndex: 'sectionName',
                    key: 'sectionId',
                },
                {
                    title: '产线名称',
                    dataIndex: 'productLineName',
                    key: 'productLineName',
                },
            ];
            const columns3 = [
                {
                    title: '供应商',
                    dataIndex: 'supplierName',
                    key: 'supplierId',
                },
                {
                    title: '设备原值',
                    dataIndex: 'equipmentWorth',
                    key: 'equipmentWorth',
                },
                {
                    title: '安装投产日期',
                    dataIndex: 'productDate',
                    key: 'productDate',
                },
                {
                    title: '图片',
                    dataIndex: 'pictureUrl',
                    key: 'pictureUrl',
                    render: (_, row) => {
                        return row?.pictureUrl ? <Image style={{ width: 40, height: 40, objectFit: 'contain', objectPosition: 'center' }} src={row?.pictureUrl} /> : '-'
                    }
                },
                {
                    title: '二维码',
                    dataIndex: 'qrCodeUrl',
                    key: 'qrCodeUrl',
                    render: (_, row) => {
                        return row?.qrCodeUrl ? <Image style={{ width: 40, height: 40, objectFit: 'contain', objectPosition: 'center' }} src={row?.qrCodeUrl} /> : '-'
                    }
                },
            ];
            const [newfieldscolumns, setnewfieldscolumns] = useState([]);
            const selectValueType = (type, options) => {
                switch (type) {
                    case 1:
                        return {
                            valueType: 'input',
                        };
                    case 2:
                        return {
                            valueType: 'select',
                            options,
                        };
                    case 3:
                        return {
                            valueType: 'radio',
                            options,
                        };
                    case 4:
                        return {
                            valueType: 'select',
                            options,
                        };
                    default:
                        break;
                }
            };
            const [request, setrequest] = useState();
            useEffect(() => {
                const fn = async () => {
                    let res = await doFetch({
                        url: '/base/paFormField/queryList',
                        params: {
                            formId: '2',
                        },
                    });
                    if (res?.data?.dataList) {
                        let column = [];
                        res?.data?.dataList?.forEach?.((el) => {
                            column.push({
                                ...selectValueType(el.fieldChar, el.valueList),
                                title: el.fieldName,
                                dataIndex: el.id,
                                key: el.id,
                            });
                        });
                        setnewfieldscolumns(column);
                    }
                },
                    fn2 = async () => {
                        const res = await doFetch({
                            url: urlParams.detail,
                            params: { id: drawer?.item?.id },
                        });
                        let obj = {};
                        res?.data?.data['equipmentCharList']?.forEach?.((it) => {
                            obj[it?.fieldId] = it?.fieldRealValue;
                        });
                        setrequest(
                            {
                                ...(res?.data?.data ?? {}),
                                ...obj,
                            } ?? {},
                        );
                    };
                fn();
                fn2();
            }, []);
            return (
                <>
                    <ProDescriptions dataSource={request} columns={columns1} />
                    <Divider style={{ marginTop: 0 }} />
                    <ProDescriptions dataSource={request} columns={columns2} />
                    <Divider style={{ marginTop: 0 }} />
                    <ProDescriptions dataSource={request} columns={columns3} />
                    <h3 className="page-title" style={{ marginBottom: 24 }}>
                        扩展字段
                    </h3>
                    <ProDescriptions dataSource={request} columns={newfieldscolumns} />
                </>
            );
        };
        // 相关设备
        const Correlation = () => {
            return (
                <>
                    <AutoTable
                        pagetitle="子设备"
                        columns={[
                            {
                                title: '设备编号',
                                dataIndex: 'equipmentNo',
                                key: 'equipmentNo',
                                search: false,

                                width: 120,
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '设备名称',
                                dataIndex: 'equipmentName',
                                search: false,

                                width: 120,
                                key: 'equipmentName',
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '公司名称',

                                search: false,
                                dataIndex: 'organizationName',
                                width: 120,
                                key: 'organizationId',
                                valueType: 'select',
                                options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '部门名称',
                                width: 120,
                                search: false,

                                valueType: 'treeSelect',
                                dataIndex: 'departmentName',
                                key: 'departmentId',
                                options: {
                                    path: '/auth/sysDepartment/query/children/tree',
                                    linkParams: {
                                        organizationId: 'parentId',
                                    },
                                },
                            },
                            {
                                title: '工厂名称',
                                dataIndex: 'factoryName',
                                search: false,
                                key: 'factoryId',
                                width: 120,

                                valueType: 'select',
                                options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '车间名称',
                                dataIndex: 'shopName',

                                search: false,
                                width: 120,
                                valueType: 'select',
                                options: {
                                    path: '/auth/sysShop/getShopSelectionByFactory',
                                    linkParams: {
                                        factoryId: '',
                                    },
                                },
                                key: 'shopId',
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '工段名称',
                                search: false,
                                width: 120,
                                dataIndex: 'sectionName',

                                key: 'sectionId',
                                valueType: 'select',
                                options: {
                                    path: '/auth/sysSection/getAllSectionSelectionByShop',
                                    linkParams: {
                                        shopId: '',
                                    },
                                },
                            },
                            {
                                title: '产线名称',
                                search: false,
                                width: 120,
                                dataIndex: 'productLineName',
                                valueType: 'select',
                                key: 'productLineName',

                                options: {
                                    path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                                    linkParams: {
                                        shopId: '',
                                    },
                                },
                            },
                        ]}
                        path={urlParams_correlation.zsb}
                        params={{ id: drawer?.item?.id }}
                        resizeable={false}
                    />
                    <Divider />
                    <AutoTable
                        pagetitle="父设备"
                        columns={[
                            {
                                title: '设备编号',
                                dataIndex: 'equipmentNo',
                                search: false,
                                key: 'equipmentNo',

                                width: 120,
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '设备名称',
                                dataIndex: 'equipmentName',
                                search: false,

                                width: 120,
                                key: 'equipmentName',
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '公司名称',

                                dataIndex: 'organizationName',
                                width: 120,
                                key: 'organizationId',
                                search: false,
                                valueType: 'select',
                                options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '部门名称',
                                width: 120,

                                search: false,
                                valueType: 'treeSelect',
                                dataIndex: 'departmentName',
                                key: 'departmentId',
                                options: {
                                    path: '/auth/sysDepartment/query/children/tree',
                                    linkParams: {
                                        organizationId: 'parentId',
                                    },
                                },
                            },
                            {
                                title: '工厂名称',
                                search: false,
                                dataIndex: 'factoryName',
                                key: 'factoryId',
                                width: 120,

                                valueType: 'select',
                                options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '车间名称',
                                dataIndex: 'shopName',
                                search: false,

                                width: 120,
                                valueType: 'select',
                                options: {
                                    path: '/auth/sysShop/getShopSelectionByFactory',
                                    linkParams: {
                                        factoryId: '',
                                    },
                                },
                                key: 'shopId',
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '工段名称',
                                width: 120,
                                dataIndex: 'sectionName',

                                key: 'sectionId',
                                search: false,
                                valueType: 'select',
                                options: {
                                    path: '/auth/sysSection/getAllSectionSelectionByShop',
                                    linkParams: {
                                        shopId: '',
                                    },
                                },
                            },
                            {
                                title: '产线名称',
                                width: 120,
                                dataIndex: 'productLineName',
                                valueType: 'select',
                                search: false,
                                key: 'productLineName',

                                options: {
                                    path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                                    linkParams: {
                                        shopId: '',
                                    },
                                },
                            },
                        ]}
                        path={urlParams_correlation.fsb}
                        params={{ id: drawer?.item?.id }}
                        resizeable={false}
                    />
                </>
            );
        };
        //履历查询
        const Curritae = () => {
            return (
                <>
                    <ProDescriptions
                        title="设备信息"
                        request={async () => {
                            const { data } = await doFetch({
                                url: urlParams.detail,
                                params: { id: drawer?.item?.id },
                            });
                            return {
                                success: true,
                                data: data?.data,
                            };
                        }}
                        columns={[
                            {
                                title: '设备编号',
                                dataIndex: 'equipmentNo',
                                key: 'equipmentNo',
                            },
                            {
                                title: '设备名称',
                                dataIndex: 'equipmentName',
                                key: 'equipmentName',
                            },
                            {
                                title: '位置号',
                                dataIndex: 'positionNo',
                                key: 'positionNo',
                            },

                            {
                                title: '公司名称',
                                dataIndex: 'organizationName',
                                key: 'organizationId',
                            },
                            {
                                title: '部门名称',
                                dataIndex: 'departmentName',
                                key: 'departmentId',
                            },
                            {
                                title: '工厂名称',
                                dataIndex: 'factoryName',
                                key: 'factoryId',
                            },
                            {
                                title: '车间名称',
                                dataIndex: 'shopName',
                                key: 'shopId',
                            },
                            {
                                title: '工段名称',
                                dataIndex: 'sectionName',
                                key: 'sectionId',
                            },
                            {
                                title: '产线名称',
                                dataIndex: 'productLineName',
                                key: 'productLineName',
                            },
                        ]}
                    />
                    <Divider />
                    <AutoTable
                        pagetitle="履历详情"
                        columns={[
                            {
                                title: '操作时间',
                                dataIndex: 'createTime',
                                key: 'operateTimeList',
                                width: 120,
                                searchValueType: 'dateRange',
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '履历类型',
                                dataIndex: 'logTypeName',
                                width: 120,
                                key: 'logType',
                                valueType: 'select',
                                options: [
                                    {
                                        label: '改造',
                                        value: '1',
                                    },
                                    {
                                        label: '报废',
                                        value: '2',
                                    },
                                    {
                                        label: '调拨',
                                        value: '3',
                                    },
                                    {
                                        label: '借用',
                                        value: '4',
                                    },
                                    {
                                        label: '归还',
                                        value: '5',
                                    },
                                ],
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                            },
                            {
                                title: '相关单号',
                                dataIndex: 'relateNo',
                                width: 120,
                                key: 'relateNo',
                                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                                render: (text, row) => {
                                    return (
                                        <a
                                            onClick={() => {
                                                setCurrDrawer((s) => ({
                                                    ...s,
                                                    open: true,
                                                    item: row,
                                                    val: 'only',
                                                    title: `${row.logTypeName}详情`,
                                                }));
                                            }}
                                        >
                                            {row.relateNo}
                                        </a>
                                    );
                                },
                            },
                        ]}
                        path={urlParams_resume.list}
                        params={{ equipmentId: drawer?.item?.id }}
                        resizeable={false}
                    />
                </>
            );
        };

        return (
            <>
                <Tabs
                    activeKey={activeTab}
                    onChange={setactiveTab}
                    items={[
                        {
                            label: '基础信息',
                            key: 1,
                            children: <BaseInfo />,
                        },
                        {
                            label: '相关设备',
                            key: 2,
                            children: <Correlation />,
                        },
                        {
                            label: '履历查询',
                            key: 3,
                            children: <Curritae />,
                        },
                    ]}
                />
            </>
        );
    };

    // 子设备
    const EditChildEquipment = () => {
        const [selectArr, setSelectArr] = useState([]);
        useEffect(() => {
            const fun = async () => {
                const result = await doFetch({
                    url: '/asset/equipment/children/selected/queryList',
                    params: { id: drawer?.item?.id },
                });
                if (!result?.data?.dataList.length == 0) {
                    setSelectArr(result?.data?.dataList.map((it) => it.id));
                }
            };
            fun();
        }, []);
        const columns = [
            {
                title: '设备编号',
                dataIndex: 'equipmentNo',
                key: 'equipmentNo',
                search: false,

                width: 120,
                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
            },
            {
                title: '设备名称',
                dataIndex: 'equipmentName',

                width: 120,
                key: 'equipmentName',
                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
            },
            {
                title: '公司名称',

                dataIndex: 'organizationName',
                width: 120,
                key: 'organizationId',
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                valueType: 'select',
                options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
            },
            {
                title: '部门名称',
                width: 120,

                valueType: 'treeSelect',
                dataIndex: 'departmentName',
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                key: 'departmentId',
                options: {
                    path: '/auth/sysDepartment/query/children/tree',
                    linkParams: {
                        organizationId: 'parentId',
                    },
                },
            },
            {
                title: '工厂名称',
                dataIndex: 'factoryName',
                key: 'factoryId',
                width: 120,
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                valueType: 'select',
                options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
            },
            {
                title: '车间名称',
                dataIndex: 'shopName',

                width: 120,
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                valueType: 'select',
                options: {
                    path: '/auth/sysShop/getShopSelectionByFactory',
                    linkParams: {
                        factoryId: '',
                    },
                },
                search: false,
                key: 'shopId',
                formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
            },
            {
                title: '车间名称',
                dataIndex: 'shopName',
                width: 120,
                valueType: 'select',
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                options: {
                    path: '/auth/sysShop/getAllShopSelection',
                    params: {},
                },
                key: 'shopId',
                hideInForm: true,
                hideInTable: true,
            },
            {
                title: '工段名称',
                width: 120,
                dataIndex: 'sectionName',

                key: 'sectionId',
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                valueType: 'select',
                options: {
                    path: '/auth/sysSection/getAllSectionSelectionByShop',
                    linkParams: {
                        shopId: '',
                    },
                },
                search: false,
            },

            {
                title: '工段名称',
                width: 120,
                dataIndex: 'sectionName',
                key: 'sectionId',
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                valueType: 'select',
                options: {
                    path: '/auth/sysSection/getAllSectionSelection',
                    params: {},
                },
                hideInForm: true,
                hideInTable: true,
            },
            {
                title: '产线名称',
                width: 120,
                dataIndex: 'productLineName',
                valueType: 'select',
                key: 'productLineName',
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },

                options: {
                    path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                    linkParams: {
                        shopId: '',
                    },
                },
                search: false,
            },
            {
                title: '产线名称',
                width: 120,
                dataIndex: 'productLineName',
                valueType: 'select',
                fieldProps: {
                    placeholder: '请选择',
                    showSearch: true,
                },
                key: 'productLineId',
                options: {
                    path: '/auth/sysProductionLine/getAllProductLineSelection',
                    params: {},
                },
                hideInForm: true,
                hideInTable: true,
            },
        ];
        return (
            <>
                <ProDescriptions
                    request={async () => {
                        const { data } = await doFetch({
                            url: urlParams.detail,
                            params: { id: drawer.item.id },
                        });
                        return {
                            success: true,
                            data: data.data,
                        };
                    }}
                    columns={[
                        {
                            title: '设备编号',
                            dataIndex: 'equipmentNo',
                            key: 'equipmentNo',
                        },
                        {
                            title: '设备名称',
                            dataIndex: 'equipmentName',
                            key: 'equipmentName',
                        },
                        {
                            title: '位置号',
                            dataIndex: 'positionNo',
                            key: 'positionNo',
                        },
                        {
                            title: '公司名称',
                            dataIndex: 'organizationName',
                            key: 'organizationId',
                        },
                        {
                            title: '部门名称',
                            dataIndex: 'departmentName',
                            key: 'departmentId',
                        },
                        {
                            title: '工厂名称',
                            dataIndex: 'factoryName',
                            key: 'factoryId',
                        },
                        {
                            title: '车间名称',
                            dataIndex: 'shopName',
                            key: 'shopId',
                        },
                        {
                            title: '工段名称',
                            dataIndex: 'sectionName',
                            key: 'sectionId',
                        },
                        {
                            title: '产线名称',
                            dataIndex: 'productLineName',
                            key: 'productLineName',
                        },
                    ]}
                />
                <AutoTable
                    pagetitle="选择子设备"
                    columns={columns}
                    path={urlParams_childEquipment.list}
                    params={{ id: drawer?.item?.id }}
                    resizeable={false}
                    rowSelection={{
                        type: 'checkbox',
                        selectedRowKeys: selectArr,
                        // defaultSelectedRowKeys: ,
                        onSelect: (record, selected, selectedRows, nativeEvent) => {
                            setSelectArr(() => {
                                return selectedRows.map((it) => it.id);
                            });
                        },
                        onSelectAll: (selected, selectedRows, changeRows) => {
                            if (selected) {
                                let arr = selectArr.concat(changeRows.map((it) => it.id));
                                setSelectArr(arr);
                            } else {
                                setSelectArr([]);
                            }
                        },
                        onSelectNone: () => {
                            setSelectArr([]);
                        },
                    }}
                />
                <Space style={{ marginTop: 16 }}>
                    <Button
                        onClick={() => {
                            setDrawer((s) => ({
                                ...s,
                                open: false,
                                item: null,
                                detailpath: null,
                                params: null,
                                val: null,
                                onFinish: null,
                            }));
                            setSelectArr([]);
                        }}
                    >
                        取消
                    </Button>
                    <Button
                        type="primary"
                        onClick={async () => {
                            let res = await doFetch({
                                url: urlParams_childEquipment.save,
                                params: {
                                    equipmentId: drawer?.item?.id,
                                    childrenIdList: selectArr,
                                },
                            });
                            if (res.code === '0000') {
                                message.success('新增成功!');
                                setDrawer((s) => ({
                                    ...s,
                                    open: false,
                                    item: null,
                                }));
                                setSelectArr([]);
                                actionRef.current.reload();
                            }
                        }}
                    >
                        提交
                    </Button>
                </Space>
            </>
        );
    };

    // 履历登记
    const Resume = () => {
        const [selectArr, setSelectArr] = useState([]);
        const [activeTab, setactiveTab] = useState(1);
        useEffect(() => {
            const fun = async () => {
                const result = await doFetch({
                    url: '/asset/equipment/children/selected/queryList',
                    params: { id: drawer?.item?.id },
                });
                if (!result?.data?.dataList.length == 0) {
                    setSelectArr(result?.data?.dataList.map((it) => it.id));
                }
            };
            fun();
            let dis = resumeTab?.filter((it) => it?.disabled);
            if (dis?.length > 0 && dis[0].key == 1) {
                setactiveTab(
                    menulist?.filter((it) => !dis?.map((item) => item.key).includes(it?.key))[0]?.key,
                );
            } else {
                setactiveTab(1);
            }
        }, []);

        const menulist = useMemo(() => {
            const fields = {
                1: [
                    {
                        title: '改造日期',
                        dataIndex: 'reformDate',
                        key: 'reformDate',
                        valueType: 'date',
                        fieldProps: {
                            disabledDate: disabledDateOfDay,
                        },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '改造承包商',
                        dataIndex: 'supplierId',
                        key: 'supplierId',
                        valueType: 'select',
                        options: {
                            path: '/asset/equipmentSupplier/query/selection',
                            params: {},
                        },
                        formItemProps: {
                            rules: [
                                {
                                    required: true,
                                    message: '此项为必填项',
                                },
                            ],
                        },
                    },
                    {
                        title: '改造内容',
                        dataIndex: 'reformContent',
                        key: 'reformContent',
                        valueType: 'textarea',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '上传文件(上限为5个)',
                        key: 'urlIds',
                        valueType: 'UploadDragger',
                        // colProps: { span: 24 },
                        fieldProps: {
                            maxCount: 5,
                            name: 'file',
                        },
                        formItemProps: {
                            rules: [
                                {
                                    required: false,
                                    message: '此项为必填项',
                                },
                            ],
                        },
                    },
                ],
                2: [
                    {
                        title: '报废日期',
                        dataIndex: 'scrapDate',
                        key: 'scrapDate',
                        fieldProps: {
                            disabledDate: disabledDateOfDay,
                        },
                        valueType: 'date',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '报废原因',
                        dataIndex: 'scrapReason',
                        key: 'scrapReason',
                        valueType: 'textarea',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '上传文件(上限为5个)',
                        key: 'urlIds',
                        valueType: 'UploadDragger',
                        formItemProps: {
                            rules: [
                                {
                                    required: false,
                                    message: '此项为必填项',
                                },
                            ],
                        },
                        fieldProps: {
                            name: 'file',
                            maxCount: 5,
                        },
                    },
                ],
                3: [
                    {
                        title: '调入公司',
                        dataIndex: 'organizationName',
                        key: 'toOrganizationId',
                        valueType: 'select',
                        options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '调入部门',
                        valueType: 'treeSelect',
                        dataIndex: 'departmentName',
                        key: 'toDepartmentId',
                        options: {
                            path: '/auth/sysDepartment/query/children/tree',
                            linkParams: {
                                toOrganizationId: 'parentId',
                            },
                        },
                    },
                    {
                        title: '调入工厂',
                        dataIndex: 'factoryName',
                        key: 'toFactoryId',
                        valueType: 'select',
                        options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '调入车间',
                        dataIndex: 'shopName',
                        valueType: 'select',
                        options: {
                            path: '/auth/sysShop/getShopSelectionByFactory',
                            linkParams: {
                                toFactoryId: 'factoryId',
                            },
                        },
                        key: 'toShopId',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '调入工段',
                        dataIndex: 'sectionName',
                        key: 'toSectionId',
                        valueType: 'select',
                        options: {
                            path: '/auth/sysSection/getAllSectionSelectionByShop',
                            linkParams: {
                                toShopId: 'shopId',
                            },
                        },
                    },
                    {
                        title: '调入产线',
                        dataIndex: 'productionLines',
                        valueType: 'select',
                        key: 'toProductLineId',
                        options: {
                            path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                            linkParams: {
                                toShopId: 'shopId',
                            },
                        },
                    },
                    {
                        title: '调入位置号',
                        dataIndex: 'toPositionNo',
                        valueType: 'input',
                        key: 'toPositionNo',
                    },
                    {
                        title: '调拨日期',
                        dataIndex: 'transferDate',
                        key: 'transferDate',
                        valueType: 'date',
                        fieldProps: {
                            disabledDate: disabledDateOfDay,
                        },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '调拨原因',
                        dataIndex: 'transferReason',
                        key: 'transferReason',
                        valueType: 'textarea',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                ],
                4: [
                    {
                        title: '借用公司',
                        dataIndex: 'organizationName',
                        key: 'toOrganizationId',
                        valueType: 'select',
                        options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '借用部门',
                        valueType: 'treeSelect',
                        dataIndex: 'departmentName',
                        key: 'toDepartmentId',
                        options: {
                            path: '/auth/sysDepartment/query/children/tree',
                            linkParams: {
                                toOrganizationId: 'parentId',
                            },
                        },
                    },
                    {
                        title: '借用工厂',
                        dataIndex: 'factoryName',
                        key: 'toFactoryId',
                        valueType: 'select',
                        options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '借用车间',
                        dataIndex: 'shopName',
                        valueType: 'select',
                        options: {
                            path: '/auth/sysShop/getShopSelectionByFactory',
                            linkParams: {
                                toFactoryId: 'factoryId',
                            },
                        },
                        key: 'toShopId',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '借用工段',
                        dataIndex: 'sectionName',
                        key: 'toSectionId',
                        valueType: 'select',
                        options: {
                            path: '/auth/sysSection/getAllSectionSelectionByShop',
                            linkParams: {
                                toShopId: 'shopId',
                            },
                        },
                    },
                    {
                        title: '借用产线',
                        dataIndex: 'productionLines',
                        valueType: 'select',
                        key: 'toProductLineId',
                        options: {
                            path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                            linkParams: {
                                toShopId: 'shopId',
                            },
                        },
                    },
                    {
                        title: '借用位置号',
                        dataIndex: 'toPositionNo',
                        valueType: 'input',
                        key: 'toPositionNo',
                    },
                    {
                        title: '借用日期',
                        dataIndex: 'borrowDate',
                        key: 'borrowDate',
                        fieldProps: {
                            disabledDate: disabledDateOfDay,
                        },
                        valueType: 'date',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '预计归还日期',
                        dataIndex: 'planReturnDate',
                        key: 'planReturnDate',
                        valueType: 'date',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '借用原因',
                        dataIndex: 'borrowReason',
                        key: 'borrowReason',
                        valueType: 'textarea',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                ],
                5: [
                    {
                        title: '接收公司',
                        dataIndex: 'returnOrganizationId',
                        key: 'returnOrganizationId',
                        valueType: 'select',
                        options: { path: '/auth/sysDepartment/query/organization/selectbox', params: {} },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '接收部门',
                        valueType: 'treeSelect',
                        dataIndex: 'returnDepartmentId',
                        key: 'returnDepartmentId',
                        options: {
                            path: '/auth/sysDepartment/query/children/tree',
                            linkParams: {
                                returnOrganizationId: 'parentId',
                            },
                        },
                    },
                    {
                        title: '接收工厂',
                        dataIndex: 'returnFactoryId',
                        key: 'returnFactoryId',
                        valueType: 'select',
                        options: { path: '/auth/sysFactory/getAllFactorySelection', params: {} },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '接收车间',
                        dataIndex: 'returnShopId',
                        valueType: 'select',
                        options: {
                            path: '/auth/sysShop/getShopSelectionByFactory',
                            linkParams: {
                                returnFactoryId: 'factoryId',
                            },
                        },
                        key: 'returnShopId',
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '接收工段',
                        dataIndex: 'returnSectionId',
                        key: 'returnSectionId',
                        valueType: 'select',
                        options: {
                            path: '/auth/sysSection/getAllSectionSelectionByShop',
                            linkParams: {
                                returnShopId: 'shopId',
                            },
                        },
                    },
                    {
                        title: '接收产线',
                        dataIndex: 'returnProductLineId',
                        valueType: 'select',
                        key: 'returnProductLineId',
                        options: {
                            path: '/auth/sysProductionLine/getAllProductLineSelectionByShop',
                            linkParams: {
                                returnShopId: 'shopId',
                            },
                        },
                    },
                    {
                        title: '接收位置号',
                        dataIndex: 'returnPositionNo',
                        valueType: 'input',
                        key: 'returnPositionNo',
                    },
                    {
                        title: '实际归还日期',
                        dataIndex: 'realReturnDate',
                        key: 'realReturnDate',
                        valueType: 'date',
                        fieldProps: {
                            disabledDate: disabledDateOfDay,
                        },
                        formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
                    },
                    {
                        title: '备注',
                        dataIndex: 'remark',
                        key: 'remark',
                        valueType: 'textarea',
                        formItemProps: { rules: [{ required: false, message: '此项为必填项' }] },
                    },
                ],
            };
            let arr = [
                {
                    label: '改造',
                    key: 1,
                    children: activeTab == 1 && (
                        <InitForm
                            fields={fields[activeTab]}
                            defaultFormValue={drawer?.item}
                            onFinish={async (vals) => {
                                let res = await doFetch({
                                    url: urlParams_resume.save,
                                    params: { ...vals, type: '1', equipmentId: drawer?.item?.id },
                                });
                                if (res.code === '0000') {
                                    message.success('登记成功!');
                                    await setDrawer((s) => ({
                                        ...s,
                                        open: false,
                                        item: null,
                                    }));
                                    actionRef.current.reload();
                                }
                            }}
                        />
                    ),
                }, // remember to pass the key prop
                {
                    label: '报废',
                    key: 2,
                    children: activeTab == 2 && (
                        <InitForm
                            fields={fields[activeTab]}
                            defaultFormValue={drawer?.item}
                            onFinish={async (vals) => {
                                let res = await doFetch({
                                    url: urlParams_resume.save,
                                    params: { ...vals, type: '2', equipmentId: drawer?.item?.id },
                                });
                                if (res.code === '0000') {
                                    message.success('登记成功!');
                                    await setDrawer((s) => ({
                                        ...s,
                                        open: false,
                                        item: null,
                                    }));
                                    actionRef.current.reload();
                                }
                            }}
                        />
                    ),
                },
                {
                    label: '调拨',
                    key: 3,
                    children: activeTab == 3 && (
                        <InitForm
                            fields={fields[activeTab]}
                            defaultFormValue={drawer?.item}
                            onFinish={async (vals) => {
                                let res = await doFetch({
                                    url: urlParams_resume.save,
                                    params: { ...vals, type: '3', equipmentId: drawer?.item?.id },
                                });
                                if (res.code === '0000') {
                                    message.success('登记成功!');
                                    await setDrawer((s) => ({
                                        ...s,
                                        open: false,
                                        item: null,
                                    }));
                                    actionRef.current.reload();
                                }
                            }}
                        />
                    ),
                },
                {
                    label: '借用',
                    key: 4,
                    children: activeTab == 4 && (
                        <InitForm
                            defaultFormValue={drawer?.item}
                            fields={fields[activeTab]}
                            onFinish={async (vals) => {
                                let res = await doFetch({
                                    url: urlParams_resume.save,
                                    params: { ...vals, type: '4', equipmentId: drawer?.item?.id },
                                });
                                if (res.code === '0000') {
                                    message.success('登记成功!');
                                    await setDrawer((s) => ({
                                        ...s,
                                        open: false,
                                        item: null,
                                    }));
                                    actionRef.current.reload();
                                }
                            }}
                        />
                    ),
                },
                {
                    label: '归还',
                    key: 5,
                    children: activeTab == 5 && (
                        <InitForm
                            fields={fields[activeTab]}
                            defaultFormValue={drawer?.item}
                            onFinish={async (vals) => {
                                let res = await doFetch({
                                    url: urlParams_resume.save,
                                    params: { ...vals, type: '5', equipmentId: drawer?.item?.id },
                                });
                                if (res.code === '0000') {
                                    message.success('登记成功!');
                                    await setDrawer((s) => ({
                                        ...s,
                                        open: false,
                                        item: null,
                                    }));
                                    actionRef.current.reload();
                                }
                            }}
                        />
                    ),
                },
            ];
            let dis = resumeTab?.filter((it) => it?.disabled);
            arr.forEach((item) => {
                dis?.forEach((it) => {
                    if (item?.key == it?.key) {
                        let string = item.label;
                        item.disabled = true;
                        item.label = (
                            <Tooltip placement="topLeft" title={it.disabledReason}>
                                <span>{string}</span>
                            </Tooltip>
                        );
                    }
                });
            });
            return arr;
        }, [activeTab]);

        return (
            <>
                <ProDescriptions
                    request={async () => {
                        const { data } = await doFetch({
                            url: urlParams.detail,
                            params: { id: drawer?.item?.id },
                        });
                        return {
                            success: true,
                            data: data?.data,
                        };
                    }}
                    columns={[
                        {
                            title: '设备编号',
                            dataIndex: 'equipmentNo',
                            key: 'equipmentNo',
                        },
                        {
                            title: '设备名称',
                            dataIndex: 'equipmentName',
                            key: 'equipmentName',
                        },
                        {
                            title: '位置号',
                            dataIndex: 'positionNo',
                            key: 'positionNo',
                        },
                        {
                            title: '公司名称',
                            dataIndex: 'organizationName',
                            key: 'organizationId',
                        },
                        {
                            title: '部门名称',
                            dataIndex: 'departmentName',
                            key: 'departmentId',
                        },
                        {
                            title: '工厂名称',
                            dataIndex: 'factoryName',
                            key: 'factoryId',
                        },
                        {
                            title: '车间名称',
                            dataIndex: 'shopName',
                            key: 'shopId',
                        },
                        {
                            title: '工段名称',
                            dataIndex: 'sectionName',
                            key: 'sectionId',
                        },
                        {
                            title: '产线名称',
                            dataIndex: 'productLineName',
                            key: 'productLineName',
                        },
                        {
                            title: '供应商',
                            dataIndex: 'supplierName',
                            key: 'supplierId',
                        },
                        {
                            title: '安装投产日期',
                            dataIndex: 'productDate',
                            key: 'productDate',
                        },
                    ]}
                />
                <Divider />
                <Tabs activeKey={activeTab} onChange={setactiveTab} items={menulist} />
            </>
        );
    };

    const columns = useMemo(() => {
        let defcolumn = getcolumns(setDrawer)?.columns;
        defcolumn[1].render = (text, row) => {
            return (
                <a
                    onClick={() => {
                        setDrawer((s) => ({
                            ...s,
                            open: true,
                            type: 'detail',
                            item: row,
                            val: 'only',
                            title: row.equipmentName + '的详细信息',
                        }));
                    }}
                >
                    {row.equipmentName}
                </a>
            );
        };
        return defcolumn;
    }, []);

    const selectMoreDrawerType = (type) => {
        switch (type) {
            case 'detail':
                return <Detail />;
            default:
                return null;
        }
    };

    const containderef = useRef();
    return (
        <div>
            <AutoTable
                columns={columns}
                path={urlParams.list}
                actionRef={actionRef}
                resizeable={false}
                x={1500}
                extraparams={extraparams}
                bordered={false}
            />
            <DrawerPro
                fields={columns}
                formRef={formRef}
                placement="right"
                onClose={() => {
                    setDrawer((s) => ({
                        ...s,
                        open: false,
                    }));
                }}
                {...drawer}
                colProps={{
                    span: 8,
                }}
                getContainer={() => boxRef.current}
            >
                {drawer?.open && selectMoreDrawerType(drawer?.type)}
            </DrawerPro>

            <DrawerPro
                placement="right"
                onClose={async () => {
                    await setactiveTab(3);
                    await setCurrDrawer((s) => ({
                        ...s,
                        open: false,
                        item: null,
                    }));
                }}
                {...currDrawer}
                colProps={{
                    span: 8,
                }}
                getContainer={() => boxRef.current}
            >
                <ProDescriptions
                    title="设备信息"
                    request={async () => {
                        const { data } = await doFetch({
                            url: urlParams.detail,
                            params: { id: drawer?.item?.id },
                        });
                        return {
                            success: true,
                            data: data?.data,
                        };
                    }}
                    columns={[
                        {
                            title: '设备编号',
                            dataIndex: 'equipmentNo',
                            key: 'equipmentNo',
                        },
                        {
                            title: '设备名称',
                            dataIndex: 'equipmentName',
                            key: 'equipmentName',
                        },
                        {
                            title: '位置号',
                            dataIndex: 'positionNo',
                            key: 'positionNo',
                        },

                        {
                            title: '公司名称',
                            dataIndex: 'organizationName',
                            key: 'organizationId',
                        },
                        {
                            title: '部门名称',
                            dataIndex: 'departmentName',
                            key: 'departmentId',
                        },
                        {
                            title: '工厂名称',
                            dataIndex: 'factoryName',
                            key: 'factoryId',
                        },
                        {
                            title: '车间名称',
                            dataIndex: 'shopName',
                            key: 'shopId',
                        },
                        {
                            title: '工段名称',
                            dataIndex: 'sectionName',
                            key: 'sectionId',
                        },
                        {
                            title: '产线名称',
                            dataIndex: 'productLineName',
                            key: 'productLineName',
                        },
                    ]}
                />
                <Divider />
                <ProDescriptions
                    title={currDrawer?.item?.logTypeName + '信息'}
                    column={2}
                    request={async () => {
                        const { data } = await doFetch({
                            url: urlParams_resume.detail,
                            params: { id: currDrawer?.item?.id },
                        });
                        return {
                            success: true,
                            data: data?.data?.resume,
                        };
                    }}
                    columns={currfields[currDrawer?.item?.logType]}
                />
            </DrawerPro>
        </div>
    );
}

export default Account;