import React, { useState, useEffect } from 'react' import ShowTitleMenu from './components/ShowTitleMenu' import { useRequest } from 'umi' import { Plus, Delete } from '@icon-park/react' import { Table, Tag, Popconfirm, Popover, Button, Alert } from 'antd' import { fetchAttendanceList, unlinkAttendance, deleteAttendance } from '@/services/user/system' import ConnectModal from '@/pages/role/System/components/ConnectModal' import ProForm, { ProFormText } from '@ant-design/pro-form' const titleOptions = [ { label: '加班申请人', value: '0' }, { label: '销假参数', value: '1' } ] export enum modalType { addobjectModal = 0, linkAttendance = 1 } const Attendance: React.FC = () => { const [state, setState] = useState({ id: '0', attendanceList: [], visible: false, type: modalType.addobjectModal }) const onSelect = (id: string) => { setState({ ...state, id }) } const { run: tryGetRoleStaffList } = useRequest(fetchAttendanceList, { manual: true, onSuccess: result => { setState({ ...state, attendanceList: result }) } }) const { run: tryunlinkAttendance } = useRequest( (params: API.LinkAttendance) => { return unlinkAttendance(params) }, { manual: true, onSuccess: () => { tryGetRoleStaffList(state.id) } } ) const { run: tryDeleteAttendance } = useRequest( (params: API.DeleteAttendance) => { return deleteAttendance(params) }, { manual: true, onSuccess: () => { tryGetRoleStaffList(state.id) } } ) useEffect(() => { if (state.id) { tryGetRoleStaffList(state.id) } }, [state.id]) const columns: ColumnsType = [ { title: '申请人名称', dataIndex: 'applicantStaffName', width: '15%' }, { title: '申请对象', dataIndex: 'staff', align: 'left', width: '70%', render: (_, record: API.AttendanceItem) => { return (
{record.staff.map(item => ( tryunlinkAttendance({ staffId: item.staffId, id: record.id })}> {item.staffName} ))} setState({ ...state, id: record.id, visible: true, type: modalType.linkAttendance }) }> 添加
) } }, { title: '操作', dataIndex: 'opreate', width: '10%', render: (_, record) => ( // console.log(record.id) tryDeleteAttendance({ id: record.id })}> ) } ] return (
{state.id === '0' ? ( <>
setState({ ...state, visible })} onReload={() => tryGetRoleStaffList(state.id)} postUrl={ state.type === modalType.addobjectModal ? '/attendance/add' : '/attendance/linkStaff' } showButton={false} />
'加班申请人'} columns={columns} dataSource={state.attendanceList} rowKey={row => row.id} /> ) : null} {state.id === '1' ? ( <>
console.log(values)}>

销假参数

每月
) : null} ) } export default Attendance