R62 Fix A1-A6:请假预览全非工作日处理
这个提交包含在:
@@ -90,6 +90,7 @@ export type LeaveWorkingDaysPreview = {
|
||||
weekendDayCount: number;
|
||||
adjustedWorkdayCount: number;
|
||||
calendarApplied: boolean;
|
||||
isNonWorkingRange: boolean;
|
||||
};
|
||||
|
||||
export type LeaveListQuery = {
|
||||
|
||||
@@ -303,6 +303,7 @@ export function LeaveRequestPage() {
|
||||
|
||||
const effectiveRequestedDaysPreview =
|
||||
workingDaysPreviewQuery.data?.requestedDays ?? localRequestedDaysPreview;
|
||||
const isNonWorkingPreview = Boolean(workingDaysPreviewQuery.data?.isNonWorkingRange);
|
||||
|
||||
const balanceSummary = useMemo(() => {
|
||||
return (balancesQuery.data?.items ?? []).reduce(
|
||||
@@ -784,7 +785,15 @@ export function LeaveRequestPage() {
|
||||
</p>
|
||||
) : null}
|
||||
|
||||
{workingDaysPreviewQuery.data && workingDaysPreviewQuery.data.holidayDayCount > 0 ? (
|
||||
{isNonWorkingPreview ? (
|
||||
<p className="rounded-lg border border-zinc-200 bg-zinc-50 px-3 py-2 text-sm text-zinc-700">
|
||||
所选日期范围均为非工作日,无需提交请假
|
||||
</p>
|
||||
) : null}
|
||||
|
||||
{workingDaysPreviewQuery.data &&
|
||||
!isNonWorkingPreview &&
|
||||
workingDaysPreviewQuery.data.holidayDayCount > 0 ? (
|
||||
<p className="rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-sm text-sky-700">
|
||||
选择的日期范围内包含 {workingDaysPreviewQuery.data.holidayDayCount} 天法定假日,实际请假天数为{" "}
|
||||
{workingDaysPreviewQuery.data.requestedDays} 天
|
||||
@@ -893,7 +902,7 @@ export function LeaveRequestPage() {
|
||||
) : null}
|
||||
<Button
|
||||
type="button"
|
||||
disabled={isSavingForm}
|
||||
disabled={isSavingForm || isNonWorkingPreview}
|
||||
onClick={() => {
|
||||
if (editingLeaveRequest) {
|
||||
updateMutation.mutate();
|
||||
|
||||
在新工单中引用
屏蔽一个用户