|
@@ -6,6 +6,10 @@ import { Table, Tag, Popconfirm, Popover, Button } from 'antd'
|
|
import { fetchAttendanceList, unlinkAttendance, deleteAttendance } from '@/services/user/system'
|
|
import { fetchAttendanceList, unlinkAttendance, deleteAttendance } from '@/services/user/system'
|
|
import ConnectModal from '@/pages/role/System/components/ConnectModal'
|
|
import ConnectModal from '@/pages/role/System/components/ConnectModal'
|
|
|
|
|
|
|
|
+const itemTitleOptions = [
|
|
|
|
+ { label: '加班申请人', value: '0' },
|
|
|
|
+ { label: '加班参数设置', value: '1' }
|
|
|
|
+]
|
|
export enum modalType {
|
|
export enum modalType {
|
|
addobjectModal = 0,
|
|
addobjectModal = 0,
|
|
linkAttendance = 1
|
|
linkAttendance = 1
|
|
@@ -15,11 +19,15 @@ const Attendance: React.FC = () => {
|
|
id: '',
|
|
id: '',
|
|
attendanceList: [],
|
|
attendanceList: [],
|
|
visible: false,
|
|
visible: false,
|
|
- type: modalType.addobjectModal,
|
|
|
|
- itemTitleOptions: ['申请加班人', '参数设置']
|
|
|
|
|
|
+ type: modalType.addobjectModal
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+ const onSelect = (id: string) => {
|
|
|
|
+ setState({ id })
|
|
|
|
+ }
|
|
|
|
+
|
|
const { run: tryGetRoleStaffList } = useRequest(fetchAttendanceList, {
|
|
const { run: tryGetRoleStaffList } = useRequest(fetchAttendanceList, {
|
|
|
|
+ manual: true,
|
|
onSuccess: result => {
|
|
onSuccess: result => {
|
|
setState({ ...state, attendanceList: result })
|
|
setState({ ...state, attendanceList: result })
|
|
}
|
|
}
|
|
@@ -111,27 +119,33 @@ const Attendance: React.FC = () => {
|
|
|
|
|
|
return (
|
|
return (
|
|
<div className="h-full w-full flex flex-row">
|
|
<div className="h-full w-full flex flex-row">
|
|
- <ShowTitleMenu itemTitle={state.itemTitleOptions} />
|
|
|
|
|
|
+ <ShowTitleMenu onSelect={onSelect} itemTitle={itemTitleOptions} />
|
|
<div className="w-max-3/4">
|
|
<div className="w-max-3/4">
|
|
<div className="ml-8 bg-white p-4 shadow-md shadow-hex-3e2c5a relative">
|
|
<div className="ml-8 bg-white p-4 shadow-md shadow-hex-3e2c5a relative">
|
|
<div className="absolute right-7 top-7 z-100">
|
|
<div className="absolute right-7 top-7 z-100">
|
|
- <Button
|
|
|
|
- type="primary"
|
|
|
|
- onClick={() => setState({ ...state, visible: true, type: modalType.addobjectModal })}>
|
|
|
|
- 添加新申请人
|
|
|
|
- </Button>
|
|
|
|
- <ConnectModal
|
|
|
|
- dataId={state.id}
|
|
|
|
- show={state.visible}
|
|
|
|
- onShowChange={(visible: boolean) => setState({ ...state, visible })}
|
|
|
|
- onReload={() => tryGetRoleStaffList(state.id)}
|
|
|
|
- postUrl={
|
|
|
|
- state.type === modalType.addobjectModal
|
|
|
|
- ? '/attendance/add'
|
|
|
|
- : '/attendance/linkStaff'
|
|
|
|
- }
|
|
|
|
- showButton={false}
|
|
|
|
- />
|
|
|
|
|
|
+ {state.id && (
|
|
|
|
+ <>
|
|
|
|
+ <Button
|
|
|
|
+ type="primary"
|
|
|
|
+ onClick={() =>
|
|
|
|
+ setState({ ...state, visible: true, type: modalType.addobjectModal })
|
|
|
|
+ }>
|
|
|
|
+ 添加新申请人
|
|
|
|
+ </Button>
|
|
|
|
+ <ConnectModal
|
|
|
|
+ dataId={state.id}
|
|
|
|
+ show={state.visible}
|
|
|
|
+ onShowChange={(visible: boolean) => setState({ ...state, visible })}
|
|
|
|
+ onReload={() => tryGetRoleStaffList(state.id)}
|
|
|
|
+ postUrl={
|
|
|
|
+ state.type === modalType.addobjectModal
|
|
|
|
+ ? '/attendance/add'
|
|
|
|
+ : '/attendance/linkStaff'
|
|
|
|
+ }
|
|
|
|
+ showButton={false}
|
|
|
|
+ />
|
|
|
|
+ </>
|
|
|
|
+ )}
|
|
</div>
|
|
</div>
|
|
<Table
|
|
<Table
|
|
bordered
|
|
bordered
|