|
@@ -0,0 +1,83 @@
|
|
|
+import React, { useState, useEffect } from 'react'
|
|
|
+import AttendanceMenu from '../Attendance/components/AttendanceMenu/attendanceMenu'
|
|
|
+import { useRequest } from 'umi'
|
|
|
+import Icon from '@/components/IconPark'
|
|
|
+import ConnectModal from '@/pages/Role/System/components/ConnectModal'
|
|
|
+import { Table } from 'antd'
|
|
|
+
|
|
|
+const Attendance = () => {
|
|
|
+ const columns = [
|
|
|
+ {
|
|
|
+ title: '申请人名称',
|
|
|
+ dataIndex: 'applicantStaffName',
|
|
|
+ width: '20%'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '申请对象',
|
|
|
+ dataIndex: 'staff',
|
|
|
+ align: 'left',
|
|
|
+ width: '50%',
|
|
|
+ render: () => (
|
|
|
+ <span className="hover:text-hex-e7026e">
|
|
|
+ <Icon type="plus" fill="#fd3995" />
|
|
|
+ </span>
|
|
|
+ )
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'opreate',
|
|
|
+ width: '20%',
|
|
|
+ render: () => (
|
|
|
+ <span className="hover:text-hex-e7026e">
|
|
|
+ <Icon type="delete" fill="#fd3995" />
|
|
|
+ </span>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ const [state, setState] = useState({
|
|
|
+ id: '',
|
|
|
+ attendanceList: []
|
|
|
+ })
|
|
|
+
|
|
|
+ const { run: tryGetRoleStaffList } = useRequest((id: string) => fetchAttendanceList({ id }), {
|
|
|
+ manual: true,
|
|
|
+ onSuccess: result => {
|
|
|
+ setState({ ...state, attendanceList: result })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ useEffect(() => {
|
|
|
+ if (state.id) {
|
|
|
+ tryGetRoleStaffList(state.id)
|
|
|
+ }
|
|
|
+ return () => {
|
|
|
+ // formRef.current?.resetFields()
|
|
|
+ }
|
|
|
+ }, [state.id])
|
|
|
+
|
|
|
+ return (
|
|
|
+ <div className="h-full w-full flex flex-row">
|
|
|
+ <AttendanceMenu />
|
|
|
+ <div className="w-max-3/4">
|
|
|
+ <div className="ml-8 bg-white p-4 shadow-md shadow-hex-3e2c5a relative">
|
|
|
+ <div className="absolute right-4 top-4 z-100">
|
|
|
+ {state.id && (
|
|
|
+ <ConnectModal
|
|
|
+ title="添加新申请人"
|
|
|
+ dataId={state.id}
|
|
|
+ onSelect={() => tryGetRoleStaffList(state.id)}
|
|
|
+ />
|
|
|
+ )}
|
|
|
+ </div>
|
|
|
+ <Table
|
|
|
+ bordered
|
|
|
+ title={() => '加班申请人'}
|
|
|
+ columns={columns}
|
|
|
+ dataSource={state.attendanceList}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
+export default Attendance
|