import React, { useState, useRef, useEffect } from 'react';
import { connect } from 'react-redux';
import { Button, Popconfirm, Tag } from 'antd';
import ProTable from '@ant-design/pro-table';
import PlanTemplateModal from '../components/planTemplateModal';
import { createPatrolTemplate, delPatrolTemplate, updatePatrolTemplate, getPatrolTemplate } from '../actions/template';
import { getCheckItemsGroup } from '../actions/checkItems';
function PatrolTemplate(props) {
    const { dispatch, user } = props;
    const tableRef = useRef();
    const [dataSource, setDataSource] = useState([{}]);
    const [visible, setVisible] = useState(false);
    const [type, setType] = useState();
    const [curRecord, setCurRecord] = useState();
    useEffect(() => {
        dispatch(getCheckItemsGroup())
    }, [])
    const columns = [{
        title: '模板名称',
        dataIndex: 'name',
        key: 'name',
        ellipsis: true,
    }, {
        title: '模板描述',
        dataIndex: 'describe',
        key: 'describe',
        ellipsis: true,
        search: false,
    }, {
        title: '操作人',
        dataIndex: 'user.name',
        key: 'user.name',
        ellipsis: true,
        search: false,
        render: (t, r, i) => {
            return r.user ? r.user.name : '-'
        }
    }, {
        title: '检查项',
        dataIndex: 'checkItems',
        key: 'checkItems',
        ellipsis: true,
        search: false,
        render: (_, r) => {
            return r?.checkItems ? r?.checkItems.map(c => {c.name}) : '-'
        }
    }, {
        title: '操作',
        dataIndex: 'action',
        key: 'action',
        search: false,
        width: 200,
        render: (_, record) => {
            return <>
                
                 {
                        dispatch(delPatrolTemplate(record.id)).then(res => {
                            if (res.success) {
                                tableRef.current.reload();
                            }
                        })
                    }}>
                    
                
            >
        },
    }];
    return (
        <>
             [
                        ...dom.reverse(),
                        ,
                    ],
                }}
                request={async (params = {}) => {
                    const res = await dispatch(getPatrolTemplate(params));
                    setDataSource(res?.payload.data?.rows);
                    return { ...res };
                }}
                onReset={() => { }}
                rowClassName={(record, index) => {
                    let className = 'global-light-row';
                    if (index % 2 === 1) className = 'global-dark-row';
                    return className;
                }}
            />
            {
                visible ?
                     {
                            setVisible(false);
                            setCurRecord({})
                        }}
                        tableRef={tableRef}
                    /> : null
            }
        >
    )
}
function mapStateToProps(state) {
    const { auth } = state
    return {
        user: auth.user
    }
}
export default connect(mapStateToProps)(PatrolTemplate);