From 0db038b2d771030d9e744b99b7e5028b18c6c96d Mon Sep 17 00:00:00 2001 From: Shinner Date: Fri, 17 Mar 2023 17:06:12 +0800 Subject: [PATCH] 请假设置增加单位;考勤组设置增加配置项 --- src/pages/attendance/Attend/subpages/AttendanceGroup/api.ts | 15 ++++++++++----- src/pages/attendance/Attend/subpages/AttendanceGroup/components/TimeConfig.tsx | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------ src/pages/attendance/Leave/components/Modal.tsx | 13 +++++++------ src/pages/attendance/Leave/index.tsx | 18 +++++++++--------- 4 files changed, 133 insertions(+), 32 deletions(-) diff --git a/src/pages/attendance/Attend/subpages/AttendanceGroup/api.ts b/src/pages/attendance/Attend/subpages/AttendanceGroup/api.ts index 99a9640..0672ce8 100644 --- a/src/pages/attendance/Attend/subpages/AttendanceGroup/api.ts +++ b/src/pages/attendance/Attend/subpages/AttendanceGroup/api.ts @@ -1,4 +1,4 @@ -import { http,PromisePageResp } from "@/typing/http"; +import { http, PromisePageResp } from "@/typing/http"; import request from "@/utils/request"; import { ATTENDANCE_HOST } from "@/utils/host"; @@ -70,10 +70,15 @@ export function saveApi(params?: Item): P { } interface BaseSettingItem { - id?: number; - noticeTime?: number; //待办提前通知时间(分钟) - defectTime?: number; //严重迟到时间判定(分钟) - lackTime?: number; //缺卡判定时间 + id?: number; // 主键 + groupId?: number; // 集团id + defectTime?: number; // 严重迟到时间判定(分钟) + onDutyNoticeTime?: number; // 上班待办提前通知时间(分钟) + offDutyNoticeTime?: number; // 下班待办延后通知时间(分钟) + onDutyLackTime?: number; // 上班缺卡时间判定(分钟) + offDutyLackTime?: number; // 下班缺卡时间判定(分钟) + outsideRemainingHour?: number; // 外勤结束时间离门店下班时间≤?小时不用打考勤卡 + travelRemainingHour?: number; // 出差结束时间离门店下班时间≤?小时不用打考勤卡 } /**获取考勤组基础设置 * /attendance/base/setting/get diff --git a/src/pages/attendance/Attend/subpages/AttendanceGroup/components/TimeConfig.tsx b/src/pages/attendance/Attend/subpages/AttendanceGroup/components/TimeConfig.tsx index aebd60b..e151442 100644 --- a/src/pages/attendance/Attend/subpages/AttendanceGroup/components/TimeConfig.tsx +++ b/src/pages/attendance/Attend/subpages/AttendanceGroup/components/TimeConfig.tsx @@ -1,7 +1,10 @@ -import { Button, Form, InputNumber, message, Popconfirm, Radio, Row, Select } from "antd"; +import { Button, Form, InputNumber, message, Popconfirm, Row } from "antd"; import React, { useEffect, useState } from "react"; import useInitial from "@/hooks/useInitail"; -import { fetchBaseSettingApi, saveOrUpdateApi } from "@/pages/attendance/Attend/subpages/AttendanceGroup/api"; +import { + fetchBaseSettingApi, + saveOrUpdateApi, +} from "@/pages/attendance/Attend/subpages/AttendanceGroup/api"; const FormItem = Form.Item; @@ -49,7 +52,12 @@ export default function TimeConfig() { return (
-
+
- 到应打卡时间 (除最后一次应打卡) + 到应打卡时间{" "} + (除最后一次应打卡)
@@ -93,7 +102,10 @@ export default function TimeConfig() { > * 最后一次应打卡时间要求:
- 应打卡时间延后 + + {" "} + 应打卡时间延后 + - (当天仅一次打卡不计此情况) + + (当天仅一次打卡不计此情况) +
@@ -123,9 +137,17 @@ export default function TimeConfig() { > * 严重迟到判定:
- 在应打卡时间延后 + + 在应打卡时间延后 + - + * 上班缺卡时间判定:
- 应打卡时间延后 + + {" "} + 应打卡时间延后 + * 下班缺卡时间判定:
- 在应打卡时间延后 - + + 在应打卡时间延后 + + 后不允许打卡
+
+ * 外勤结束时间: +
+ + 离门店下班时间提前 + + + `${value}小时`} + parser={(value: any) => value.replace("小时", "")} + disabled={!edit} + /> + + 不用考勤打卡 +
+
+
+ * 出差结束时间: +
+ + 离门店下班时间提前 + + + `${value}小时`} + parser={(value: any) => value.replace("小时", "")} + disabled={!edit} + /> + + 不用考勤打卡 +
+
{!edit ? ( @@ -196,7 +287,11 @@ export default function TimeConfig() { ) : (
- { useEffect(() => { if (visiable && type === 1) { API.fetchDetail(1).then((res: any) => { - setYear(res.data); - setYearData(res.data.conditions); + const data = res.data || {}; + setYear(data); + setYearData(data.conditions); }); } }, [visiable]); @@ -91,7 +92,7 @@ const CreateModal = (props: Props) => { rules={[{ required: !(type === 1 || type === 8 || type === 6) }]} hidden={type === 1 || type === 8 || type === 6 || type === 10} > - + { rules={[{ required: type === 1 }]} hidden={!(type === 1)} > - + { ]} hidden={type === 3 || type === 8 || type === 5 || type === 10} > - + { rules={[{ required: type === 6 || type === 8 }]} hidden={!(type === 6 || type === 8)} > - + { const [type, setType] = useState(0); const { data, setParams } = useInitial(API.fetchDetail, {}, type); - const onEdit = (record:any) => { + const onEdit = (record: any) => { setParams(record.type, true); setType(record.type); setVisiable(true); @@ -40,10 +40,10 @@ const Leave = () => { visiable={visiable} setVisiable={setVisiable} type={type} - data={data} + data={data || {}} /> ); }; -export default Leave; \ No newline at end of file +export default Leave; -- libgit2 0.22.2