|  | @@ -1,4 +1,4 @@
 | 
												
													
														
															|  | -import React, { useState, useEffect } from 'react'
 |  | 
 | 
												
													
														
															|  | 
 |  | +import React, { useState, useEffect, useRef } from 'react'
 | 
												
													
														
															|  |  import ShowTitleMenu from './components/ShowTitleMenu'
 |  |  import ShowTitleMenu from './components/ShowTitleMenu'
 | 
												
													
														
															|  |  import { useRequest } from 'umi'
 |  |  import { useRequest } from 'umi'
 | 
												
													
														
															|  |  import { Plus, Delete } from '@icon-park/react'
 |  |  import { Plus, Delete } from '@icon-park/react'
 | 
												
											
												
													
														
															|  | @@ -7,29 +7,34 @@ import {
 | 
												
													
														
															|  |    fetchAttendanceList,
 |  |    fetchAttendanceList,
 | 
												
													
														
															|  |    unlinkAttendance,
 |  |    unlinkAttendance,
 | 
												
													
														
															|  |    deleteAttendance,
 |  |    deleteAttendance,
 | 
												
													
														
															|  | 
 |  | +  fetchParametersDetail,
 | 
												
													
														
															|  |    updateParameters
 |  |    updateParameters
 | 
												
													
														
															|  |  } from '@/services/user/system'
 |  |  } from '@/services/user/system'
 | 
												
													
														
															|  |  import ConnectModal from '@/pages/role/System/components/ConnectModal'
 |  |  import ConnectModal from '@/pages/role/System/components/ConnectModal'
 | 
												
													
														
															|  |  import ProForm, { ProFormText } from '@ant-design/pro-form'
 |  |  import ProForm, { ProFormText } from '@ant-design/pro-form'
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  const titleOptions = [
 |  |  const titleOptions = [
 | 
												
													
														
															|  | -  { label: '加班申请人', value: '0' },
 |  | 
 | 
												
													
														
															|  | -  { label: '销假参数', value: '1' }
 |  | 
 | 
												
													
														
															|  | 
 |  | +  { label: '加班申请人', value: 0 },
 | 
												
													
														
															|  | 
 |  | +  { label: '销假参数', value: 1 }
 | 
												
													
														
															|  |  ]
 |  |  ]
 | 
												
													
														
															|  |  export enum modalType {
 |  |  export enum modalType {
 | 
												
													
														
															|  |    addobjectModal = 0,
 |  |    addobjectModal = 0,
 | 
												
													
														
															|  |    linkAttendance = 1
 |  |    linkAttendance = 1
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  const Attendance: React.FC = () => {
 |  |  const Attendance: React.FC = () => {
 | 
												
													
														
															|  | 
 |  | +  const formRef = useRef<FormInstance>(null)
 | 
												
													
														
															|  |    const [state, setState] = useState({
 |  |    const [state, setState] = useState({
 | 
												
													
														
															|  |      id: '0',
 |  |      id: '0',
 | 
												
													
														
															|  | 
 |  | +    menuId: 0,
 | 
												
													
														
															|  |      attendanceList: [],
 |  |      attendanceList: [],
 | 
												
													
														
															|  | 
 |  | +    contentValue: '',
 | 
												
													
														
															|  | 
 |  | +    parametersType: 1,
 | 
												
													
														
															|  |      visible: false,
 |  |      visible: false,
 | 
												
													
														
															|  |      type: modalType.addobjectModal
 |  |      type: modalType.addobjectModal
 | 
												
													
														
															|  |    })
 |  |    })
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -  const onSelect = (id: string) => {
 |  | 
 | 
												
													
														
															|  | -    setState({ ...state, id })
 |  | 
 | 
												
													
														
															|  | 
 |  | +  const onSelect = (menuId: string) => {
 | 
												
													
														
															|  | 
 |  | +    setState({ ...state, menuId })
 | 
												
													
														
															|  |    }
 |  |    }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    const { run: tryGetRoleStaffList } = useRequest(fetchAttendanceList, {
 |  |    const { run: tryGetRoleStaffList } = useRequest(fetchAttendanceList, {
 | 
												
											
												
													
														
															|  | @@ -39,6 +44,18 @@ const Attendance: React.FC = () => {
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |    })
 |  |    })
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | 
 |  | +  const { run: tryGetParametersDetail } = useRequest(
 | 
												
													
														
															|  | 
 |  | +    (params: API.ParametersDetail) => {
 | 
												
													
														
															|  | 
 |  | +      return fetchParametersDetail(params)
 | 
												
													
														
															|  | 
 |  | +    },
 | 
												
													
														
															|  | 
 |  | +    {
 | 
												
													
														
															|  | 
 |  | +      manual: true,
 | 
												
													
														
															|  | 
 |  | +      onSuccess: result => {
 | 
												
													
														
															|  | 
 |  | +        setState({ ...state, contentVlue: result })
 | 
												
													
														
															|  | 
 |  | +      }
 | 
												
													
														
															|  | 
 |  | +    }
 | 
												
													
														
															|  | 
 |  | +  )
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |    const { run: tryunlinkAttendance } = useRequest(
 |  |    const { run: tryunlinkAttendance } = useRequest(
 | 
												
													
														
															|  |      (params: API.LinkAttendance) => {
 |  |      (params: API.LinkAttendance) => {
 | 
												
													
														
															|  |        return unlinkAttendance(params)
 |  |        return unlinkAttendance(params)
 | 
												
											
												
													
														
															|  | @@ -78,8 +95,12 @@ const Attendance: React.FC = () => {
 | 
												
													
														
															|  |    useEffect(() => {
 |  |    useEffect(() => {
 | 
												
													
														
															|  |      if (state.id) {
 |  |      if (state.id) {
 | 
												
													
														
															|  |        tryGetRoleStaffList(state.id)
 |  |        tryGetRoleStaffList(state.id)
 | 
												
													
														
															|  | 
 |  | +      tryGetParametersDetail(state.parametersType)
 | 
												
													
														
															|  | 
 |  | +    }
 | 
												
													
														
															|  | 
 |  | +    if (state.menuId === 1) {
 | 
												
													
														
															|  | 
 |  | +      formRef.current?.setFieldsValue(...state.contentValue)
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  | -  }, [state.id])
 |  | 
 | 
												
													
														
															|  | 
 |  | +  }, [state.id, state.menuId])
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    const columns: ColumnsType<API.AttendanceItem> = [
 |  |    const columns: ColumnsType<API.AttendanceItem> = [
 | 
												
													
														
															|  |      {
 |  |      {
 | 
												
											
												
													
														
															|  | @@ -143,10 +164,10 @@ 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 onSelect={onSelect} options={titleOptions} defaultValue="0" />
 |  | 
 | 
												
													
														
															|  | 
 |  | +      <ShowTitleMenu onSelect={onSelect} options={titleOptions} defaultValue={0} />
 | 
												
													
														
															|  |        <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">
 | 
												
													
														
															|  | -          {state.id === '0' ? (
 |  | 
 | 
												
													
														
															|  | 
 |  | +          {state.menuId === 0 ? (
 | 
												
													
														
															|  |              <>
 |  |              <>
 | 
												
													
														
															|  |                <div className="absolute right-7 top-7 z-100">
 |  |                <div className="absolute right-7 top-7 z-100">
 | 
												
													
														
															|  |                  <Button
 |  |                  <Button
 | 
												
											
												
													
														
															|  | @@ -178,10 +199,11 @@ const Attendance: React.FC = () => {
 | 
												
													
														
															|  |                />
 |  |                />
 | 
												
													
														
															|  |              </>
 |  |              </>
 | 
												
													
														
															|  |            ) : null}
 |  |            ) : null}
 | 
												
													
														
															|  | -          {state.id === '1' ? (
 |  | 
 | 
												
													
														
															|  | 
 |  | +          {state.menuId === 1 ? (
 | 
												
													
														
															|  |              <>
 |  |              <>
 | 
												
													
														
															|  |                <div>
 |  |                <div>
 | 
												
													
														
															|  |                  <ProForm
 |  |                  <ProForm
 | 
												
													
														
															|  | 
 |  | +                  formRef={formRef}
 | 
												
													
														
															|  |                    onFinish={async values => {
 |  |                    onFinish={async values => {
 | 
												
													
														
															|  |                      await tryUpdateParameters(values)
 |  |                      await tryUpdateParameters(values)
 | 
												
													
														
															|  |                      message.success('更新成功')
 |  |                      message.success('更新成功')
 |