@pisell/private-materials 6.11.143 → 6.11.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +1 -1
- package/build/lowcode/view.js +1 -1
- package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -0
- package/es/components/booking/components/footer/index.js +5 -2
- package/es/components/checkout/PaymentModal.d.ts +1 -1
- package/es/components/checkout/PaymentModal.js +10 -5
- package/es/plus/pisellReservation/PisellReservation.js +16 -3
- package/es/plus/pisellReservation/floorMap/reservationMock.d.ts +2 -0
- package/es/plus/pisellReservation/floorMap/reservationMock.js +17 -5
- package/es/plus/pisellReservation/floorMap/useReservationFloorMapMerged.js +1 -2
- package/es/plus/pisellReservation/floorRoomCard/FloorRoomCardFromData.js +12 -17
- package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -0
- package/lib/components/booking/components/footer/index.js +8 -2
- package/lib/components/checkout/PaymentModal.d.ts +1 -1
- package/lib/components/checkout/PaymentModal.js +10 -5
- package/lib/plus/pisellReservation/PisellReservation.js +4 -3
- package/lib/plus/pisellReservation/floorMap/reservationMock.d.ts +2 -0
- package/lib/plus/pisellReservation/floorMap/reservationMock.js +10 -1
- package/lib/plus/pisellReservation/floorMap/useReservationFloorMapMerged.js +1 -1
- package/lib/plus/pisellReservation/floorRoomCard/FloorRoomCardFromData.js +2 -13
- package/package.json +4 -4
- package/es/components/booking/info/service2/Group/utils.d.ts +0 -14
- package/es/components/pay/toB/paymentMethods/index.d.ts +0 -11
- package/es/components/pay/toB/types/index.d.ts +0 -82
- package/es/plus/pisellReservation/PisellReservation.d.ts +0 -11
- package/es/plus/pisellReservation/components/BucketButtonGroup.d.ts +0 -33
- package/es/plus/pisellReservation/components/PisellReservationSubcomponents.d.ts +0 -80
- package/es/plus/pisellReservation/components/ReservationBookingStatusButtonFilter.d.ts +0 -21
- package/es/plus/pisellReservation/components/ReservationHudDrawerQuickFilters.d.ts +0 -7
- package/es/plus/pisellReservation/components/ReservationHudDrawerResourceRail.d.ts +0 -19
- package/es/plus/pisellReservation/components/ReservationPaymentStatusButtonFilter.d.ts +0 -19
- package/es/plus/pisellReservation/data/hudDrawerLocalListQuery.d.ts +0 -20
- package/es/plus/pisellReservation/data/reservationTablesMerge.d.ts +0 -27
- package/es/plus/pisellReservation/floorMap/ReservationFloorMapHud.d.ts +0 -49
- package/es/plus/pisellReservation/floorMap/ReservationHudDrawerHandle.d.ts +0 -30
- package/es/plus/pisellReservation/floorMap/reservationHudResourceRootBuckets.d.ts +0 -16
- package/es/plus/pisellReservation/floorRoomCard/FloorRoomCardFromData.d.ts +0 -17
- package/es/plus/pisellReservation/floorRoomCard/floorRoomCardUtils.d.ts +0 -110
- package/es/plus/pisellReservation/hooks/usePisellReservationBookingData.d.ts +0 -65
- package/es/plus/pisellReservation/hooks/useReservationSalesHostData.d.ts +0 -37
- package/es/plus/pisellReservation/locales/locales-ja.d.ts +0 -150
- package/es/plus/pisellReservation/locales/locales-pt.d.ts +0 -150
- package/es/plus/pisellReservation/locales/locales.d.ts +0 -743
- package/es/plus/pisellReservation/reservationConstants.d.ts +0 -1190
- package/lib/components/booking/info/service2/Group/utils.d.ts +0 -14
- package/lib/components/pay/toB/paymentMethods/index.d.ts +0 -11
- package/lib/components/pay/toB/types/index.d.ts +0 -82
- package/lib/plus/pisellReservation/PisellReservation.d.ts +0 -11
- package/lib/plus/pisellReservation/components/BucketButtonGroup.d.ts +0 -33
- package/lib/plus/pisellReservation/components/PisellReservationSubcomponents.d.ts +0 -80
- package/lib/plus/pisellReservation/components/ReservationBookingStatusButtonFilter.d.ts +0 -21
- package/lib/plus/pisellReservation/components/ReservationHudDrawerQuickFilters.d.ts +0 -7
- package/lib/plus/pisellReservation/components/ReservationHudDrawerResourceRail.d.ts +0 -19
- package/lib/plus/pisellReservation/components/ReservationPaymentStatusButtonFilter.d.ts +0 -19
- package/lib/plus/pisellReservation/data/hudDrawerLocalListQuery.d.ts +0 -20
- package/lib/plus/pisellReservation/data/reservationTablesMerge.d.ts +0 -27
- package/lib/plus/pisellReservation/floorMap/ReservationFloorMapHud.d.ts +0 -49
- package/lib/plus/pisellReservation/floorMap/ReservationHudDrawerHandle.d.ts +0 -30
- package/lib/plus/pisellReservation/floorMap/reservationHudResourceRootBuckets.d.ts +0 -16
- package/lib/plus/pisellReservation/floorRoomCard/FloorRoomCardFromData.d.ts +0 -17
- package/lib/plus/pisellReservation/floorRoomCard/floorRoomCardUtils.d.ts +0 -110
- package/lib/plus/pisellReservation/hooks/usePisellReservationBookingData.d.ts +0 -65
- package/lib/plus/pisellReservation/hooks/useReservationSalesHostData.d.ts +0 -37
- package/lib/plus/pisellReservation/locales/locales-ja.d.ts +0 -150
- package/lib/plus/pisellReservation/locales/locales-pt.d.ts +0 -150
- package/lib/plus/pisellReservation/locales/locales.d.ts +0 -743
- package/lib/plus/pisellReservation/reservationConstants.d.ts +0 -1190
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import './BucketButtonGroup.less';
|
|
3
|
-
/**
|
|
4
|
-
* 通用「桶 → 底层 key 数组」按钮组,HUD 抽屉里的支付状态 / 预约状态快筛都走这个组件。
|
|
5
|
-
*
|
|
6
|
-
* 设计动机:
|
|
7
|
-
* - 业务方在抽屉里只关心少量"业务桶"(如未支付 / 已支付 / 在场),但底层枚举更细
|
|
8
|
-
* (`partially_paid` / `payment_processing` / `arrived` / `started` …);
|
|
9
|
-
* - 直接渲染所有底层 key 会有 7+ 个按钮把抽屉撑爆,且语义不连贯;
|
|
10
|
-
* - 桶 → 底层 key 多对一映射在前端组件里完成,写入 `searchParams.filter.values.<field>`
|
|
11
|
-
* 仍是底层 key 数组,与 Filter modal 的 multi-select / 后端查询参数完全兼容。
|
|
12
|
-
*
|
|
13
|
-
* "选中"判定:桶 keys 任一在 value 中即视为选中(容忍历史/边角态 key)。
|
|
14
|
-
* "切换"行为:选中 → 剔除该桶所有 key;未选中 → 加入该桶所有 key(保留 value 中已有非桶 key)。
|
|
15
|
-
*/
|
|
16
|
-
export interface BucketDef {
|
|
17
|
-
/** 桶唯一 id,仅用于 React key */
|
|
18
|
-
id: string;
|
|
19
|
-
/** 按钮文案(已经过国际化) */
|
|
20
|
-
label: string;
|
|
21
|
-
/** 该桶承载的底层 enum key 集合 */
|
|
22
|
-
keys: string[];
|
|
23
|
-
}
|
|
24
|
-
export interface BucketButtonGroupProps {
|
|
25
|
-
/** 由外层 Form 注入:底层 key 数组 */
|
|
26
|
-
value?: string[];
|
|
27
|
-
/** 由外层 Form 注入:底层 key 数组变更回调 */
|
|
28
|
-
onChange?: (v: string[]) => void;
|
|
29
|
-
/** 桶定义,按 UI 顺序 */
|
|
30
|
-
buckets: BucketDef[];
|
|
31
|
-
}
|
|
32
|
-
export declare function BucketButtonGroup(props: BucketButtonGroupProps): JSX.Element;
|
|
33
|
-
export default BucketButtonGroup;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 预约页拆出的轻量子组件(无业务数据请求):
|
|
3
|
-
* - `RecordBoardBodyViewCapture`:同步 bodyView 到 ref,并可通知宿主;
|
|
4
|
-
* - `ScheduleSyncOnFloorEnter`:从表格回到平面图/日历、或从日历回到平面图时,用当前营业日 patch 列表时间窗口;
|
|
5
|
-
* - `PisellReservationToolbarTabs`:平面图/日历为日程带 + Segmented;表格 / 资源墙不展示日程带,仅 extraTabs;
|
|
6
|
-
* - `ReservationGridTopRight` / `PisellReservationScheduleEndActions` / `ReservationFloorMapCanvasTabsTrailing`:工具栏与画布尾区。
|
|
7
|
-
*/
|
|
8
|
-
import React from 'react';
|
|
9
|
-
import { type Dayjs } from 'dayjs';
|
|
10
|
-
import type { PisellFloorMapLayoutRef, RecordBoardBodyView, ReservationScheduleBandValue } from '@pisell/materials';
|
|
11
|
-
import type { PisellReservationProps } from '../types';
|
|
12
|
-
/** 无 UI:将 RecordBoard Context 中的 `bodyView` 写入 ref,并可选通知宿主(如预约页按视图切换 booking 的 form_record_ids) */
|
|
13
|
-
export declare function RecordBoardBodyViewCapture(props: {
|
|
14
|
-
bodyViewRef: React.MutableRefObject<RecordBoardBodyView>;
|
|
15
|
-
onBodyViewChange?: (v: RecordBoardBodyView) => void;
|
|
16
|
-
}): null;
|
|
17
|
-
/**
|
|
18
|
-
* 视图切换时统一收敛 `floorDayBookingData.searchParams`:
|
|
19
|
-
* - 从 grid / 任意非视图区切到 floorMap / calendar / resourceWall 时,锚定当前营业日单日窗;
|
|
20
|
-
* - 从 calendar / resourceWall 切回 floorMap 时,除锚定单日窗外,必须清掉 calendar 周/月视图写入的
|
|
21
|
-
* `compact_fields` / `enable_remote_memory_cache`(否则 osServer 在非今日锚定下会走 compact with,
|
|
22
|
-
* booking 缺失 resources,平面图合并落空);
|
|
23
|
-
* - 从 calendar 切到 grid / resourceWall 时,单独清 calendar-only flags,避免之后再切回 floorMap 时残留。
|
|
24
|
-
*
|
|
25
|
-
* 注意:此组件必须常驻挂载(放在 `<PisellRecordBoard>` 内、`<ShellFrame>` 外),
|
|
26
|
-
* 否则 ShellFrame 会按 bodyView 条件渲染 children,导致它只在 grid 视图下挂载而无法观测到切换事件。
|
|
27
|
-
*/
|
|
28
|
-
export declare function ScheduleSyncOnFloorEnter(props: {
|
|
29
|
-
schedule: ReservationScheduleBandValue;
|
|
30
|
-
isInternalListData: boolean;
|
|
31
|
-
patchSearchParams: (updater: (prev: Record<string, unknown>) => Record<string, unknown>) => void;
|
|
32
|
-
/** 店铺 core `operating_day_boundary`,与列表 `booking_time_start_between` / 顶栏一致 */
|
|
33
|
-
operatingDayBoundary?: unknown;
|
|
34
|
-
}): null;
|
|
35
|
-
export declare type PisellReservationToolbarTabsProps = {
|
|
36
|
-
extraTabs?: React.ReactNode;
|
|
37
|
-
schedule: ReservationScheduleBandValue;
|
|
38
|
-
onScheduleChange: (next: ReservationScheduleBandValue) => void;
|
|
39
|
-
scheduleProps?: PisellReservationProps['scheduleProps'];
|
|
40
|
-
timeNavigatorProps?: PisellReservationProps['timeNavigatorProps'];
|
|
41
|
-
scheduleStartSlot?: React.ReactNode;
|
|
42
|
-
scheduleEndSlot?: React.ReactNode;
|
|
43
|
-
followWallClock: boolean;
|
|
44
|
-
onFollowWallClockToggle: () => void;
|
|
45
|
-
onTimeNavigatorUserInteraction: () => void;
|
|
46
|
-
loadDensity?: (params: {
|
|
47
|
-
referenceDate: Dayjs;
|
|
48
|
-
stepMinutes: number;
|
|
49
|
-
}) => Promise<number[]>;
|
|
50
|
-
/** 日历视图下顶栏日程切换步长(日 / 周 / 月) */
|
|
51
|
-
calendarGranularity?: 'day' | 'week' | 'month';
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* 顶栏 tabs:**仅平面图、日历**下为日程带 + 时间轴 + 标题旁切换;表格 / 资源墙不展示 ScheduleBand,
|
|
55
|
-
* 切换器由 RecordBoard 工具栏顶行承担(表格态在 Find 左侧;资源墙无 Find 时在顶行左侧),与历史行为一致。
|
|
56
|
-
*/
|
|
57
|
-
export declare function PisellReservationToolbarTabs(props: PisellReservationToolbarTabsProps): JSX.Element | null;
|
|
58
|
-
/** 表格视图时展示工具栏右上角透传;平面图时收起(编辑入口在画布 Tab 行右侧) */
|
|
59
|
-
export declare function ReservationGridTopRight(props: {
|
|
60
|
-
extra?: React.ReactNode;
|
|
61
|
-
}): JSX.Element | null;
|
|
62
|
-
export declare type PisellReservationScheduleEndActionsProps = {
|
|
63
|
-
onNewReservation?: () => void;
|
|
64
|
-
calendarGranularity?: 'day' | 'week' | 'month';
|
|
65
|
-
onCalendarGranularityChange?: (u: 'day' | 'week' | 'month') => void;
|
|
66
|
-
};
|
|
67
|
-
/** 顶栏日程带右侧:日历粒度(与左上角 Segmented 同款)+ 新建 */
|
|
68
|
-
export declare function PisellReservationScheduleEndActions(props: PisellReservationScheduleEndActionsProps): JSX.Element;
|
|
69
|
-
export declare type ReservationFloorMapCanvasTabsTrailingProps = {
|
|
70
|
-
isFloorModeControlled: boolean;
|
|
71
|
-
mapEditInternal: boolean;
|
|
72
|
-
setMapEditInternal: React.Dispatch<React.SetStateAction<boolean>>;
|
|
73
|
-
floorMapLayoutRef: React.RefObject<PisellFloorMapLayoutRef | null>;
|
|
74
|
-
};
|
|
75
|
-
/** 平面图左下 Dock 展开区:编辑 / 完成编辑(经 PisellFloorMapLayout.viewportDockTrailing) */
|
|
76
|
-
export declare function ReservationFloorMapCanvasTabsTrailing(props: ReservationFloorMapCanvasTabsTrailingProps): JSX.Element | null;
|
|
77
|
-
/** 默认顶栏标题 slot */
|
|
78
|
-
export declare function ReservationDefaultScheduleStart(): JSX.Element;
|
|
79
|
-
/** 场控页顶栏标题 slot */
|
|
80
|
-
export declare function ReservationVenueScheduleStart(): JSX.Element;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/**
|
|
3
|
-
* HUD 抽屉里的「预约状态」快筛桶配置:
|
|
4
|
-
*
|
|
5
|
-
* - **未到店 / no show**:`no_show`
|
|
6
|
-
* - **已完成 / completed**:`completed`
|
|
7
|
-
* - **在场 / on site**:`arrived` + `started`
|
|
8
|
-
* - 业务侧「客人已到 → 在场」的语义合并,无需让用户记住 `arrived` / `started` 两态差异。
|
|
9
|
-
*
|
|
10
|
-
* 写入 `searchParams.filter.values.appointment_status` 仍是底层 enum 数组,
|
|
11
|
-
* 与 hudDrawerLocalListQuery / Filter modal multi-select 形态完全兼容。
|
|
12
|
-
*
|
|
13
|
-
* **不入桶**:`new` / `confirmed` / `cancelled` —— 抽屉聚焦"当下进行 / 历史结算"两类需要立即关注的状态,
|
|
14
|
-
* 待确认 / 已取消属于"前置 / 终止"态,业务侧不在抽屉桶内暴露;如需要细查走 Filter modal 不影响。
|
|
15
|
-
*/
|
|
16
|
-
export interface ReservationBookingStatusButtonFilterProps {
|
|
17
|
-
value?: string[];
|
|
18
|
-
onChange?: (v: string[]) => void;
|
|
19
|
-
}
|
|
20
|
-
export declare function ReservationBookingStatusButtonFilter(props: ReservationBookingStatusButtonFilterProps): JSX.Element;
|
|
21
|
-
export default ReservationBookingStatusButtonFilter;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/**
|
|
3
|
-
* HUD 抽屉顶栏:把预约状态 + 支付状态两组桶放进同一 QuickFilter 项,减少 Space / Form.Item 嵌套。
|
|
4
|
-
* 字段仍写入 `filter.values.appointment_status` / `order_payment_status`,与 Filter 弹层共用。
|
|
5
|
-
*/
|
|
6
|
-
export declare function ReservationHudDrawerQuickFilters(): JSX.Element;
|
|
7
|
-
export default ReservationHudDrawerQuickFilters;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { type BucketDef } from './BucketButtonGroup';
|
|
3
|
-
export declare type ReservationHudDrawerResourceRailProps = {
|
|
4
|
-
className?: string;
|
|
5
|
-
/** 与 Filter「Resource」树第一层一致,由 {@link buildResourceRootBuckets} 生成 */
|
|
6
|
-
buckets: BucketDef[];
|
|
7
|
-
/**
|
|
8
|
-
* 与 `searchParams.filter.values.form_record_ids` 一致(底层 id 集合,多桶间为并集)
|
|
9
|
-
*/
|
|
10
|
-
value: string[];
|
|
11
|
-
onChange: (next: string[]) => void;
|
|
12
|
-
/** 侧栏无障碍名称 */
|
|
13
|
-
ariaLabel?: string;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* HUD 抽屉:表格右侧竖栏,桶按钮与顶栏 quick filter 同组件,筛 `form_record_ids`。
|
|
17
|
-
*/
|
|
18
|
-
export declare function ReservationHudDrawerResourceRail(props: ReservationHudDrawerResourceRailProps): JSX.Element | null;
|
|
19
|
-
export default ReservationHudDrawerResourceRail;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/**
|
|
3
|
-
* HUD 抽屉里的「支付状态」快筛桶配置:
|
|
4
|
-
*
|
|
5
|
-
* - **未支付**:unpaid / partially_paid / payment_processing
|
|
6
|
-
* - `paymentStatusForMatch` 把 `partially_paid` 归一为 `unpaid`,
|
|
7
|
-
* 不带 `partially_paid` 同一行会因发起 / 已部分付不一致漏选;
|
|
8
|
-
* - `payment_processing` 业务侧定义为待回执(未到账),同入未支付。
|
|
9
|
-
* - **已支付**:paid / partially_refunded / refunded
|
|
10
|
-
* - 退款语义上"曾支付过",与底层卡片 `PaymentStamp` 的"已盖章"判定一致。
|
|
11
|
-
* - **不入桶**:authorized / voided —— booking 业务里几乎不出现(仅 order 直购流程可能出现),
|
|
12
|
-
* 刻意不进入这两个桶,避免桶语义被边角态污染。如未来业务需要可在 buckets 加 key。
|
|
13
|
-
*/
|
|
14
|
-
export interface ReservationPaymentStatusButtonFilterProps {
|
|
15
|
-
value?: string[];
|
|
16
|
-
onChange?: (v: string[]) => void;
|
|
17
|
-
}
|
|
18
|
-
export declare function ReservationPaymentStatusButtonFilter(props: ReservationPaymentStatusButtonFilterProps): JSX.Element;
|
|
19
|
-
export default ReservationPaymentStatusButtonFilter;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/** 深拷贝筛参(无函数;与 RecordBoard searchParams 结构一致) */
|
|
2
|
-
export declare function cloneHudDrawerSearchParams(params: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
3
|
-
/**
|
|
4
|
-
* 抽屉内去掉 Monitor 预约日期快筛;从 `filter.values` 移除对应键,避免本地列表仍按父级日期段收窄。
|
|
5
|
-
*/
|
|
6
|
-
export declare function stripHudDrawerBookingDateQuickFilter(params: Record<string, unknown>): void;
|
|
7
|
-
/**
|
|
8
|
-
* 抽屉打开时:桶按钮(预约态 / 支付态 / 右侧资源)默认全部不选中。
|
|
9
|
-
* 仍继承父级其它筛参(关键词、订单态等);仅清空与 HUD 平铺桶绑定的多选字段。
|
|
10
|
-
*/
|
|
11
|
-
export declare function stripHudDrawerBucketFilterDefaults(params: Record<string, unknown>): void;
|
|
12
|
-
/**
|
|
13
|
-
* 合并抽屉内 onSearch 增量(与顶栏 Filter 行为对齐:filter.values 深合并)。
|
|
14
|
-
*/
|
|
15
|
-
export declare function mergeHudDrawerSearchParams(prev: Record<string, unknown>, incoming: Record<string, unknown>): Record<string, unknown>;
|
|
16
|
-
/**
|
|
17
|
-
* 在「画布资源子集」行上做 keyword + filter.values 本地过滤 + sort。
|
|
18
|
-
* 与 Monitor `getFilterButtonList` 常见项对齐(支付/预约态/订单态/渠道/人数/金额/资源/时间窗等);未覆盖字段忽略。
|
|
19
|
-
*/
|
|
20
|
-
export declare function applyHudDrawerLocalListQuery(rows: Record<string, unknown>[], searchParams: Record<string, unknown>): Record<string, unknown>[];
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 内置列表模式下:资源台位行(每张桌 id=平面图 dataBinding.recordId) +
|
|
3
|
-
* 当日预约列表(宿主 getResourceBookingList 或 `floorDayBookingList`)→ merge 成平面图 dataSources.tables。
|
|
4
|
-
* 预约子集由接口侧 `form_record_ids`(画布绑定资源)与 `booking_time_start_between`(营业日窗)约束,
|
|
5
|
-
* **不再**按顶栏日程 `at` 游标做「当前时刻可见」二次筛选。
|
|
6
|
-
*/
|
|
7
|
-
import type { ReservationScheduleBandValue } from '@pisell/materials';
|
|
8
|
-
import type { PisellReservationTableRow } from '../types';
|
|
9
|
-
/**
|
|
10
|
-
* 将宿主 `sales.getResourceBookingList` 的返回值规范为 booking 项数组(便于走 bookingListToReservationTableRows)
|
|
11
|
-
*/
|
|
12
|
-
export declare function normalizeSalesResourceBookingListResult(raw: unknown): unknown[];
|
|
13
|
-
export declare function buildReservationMergedTableRows(options: {
|
|
14
|
-
dataSourcesProp?: Record<string, unknown>;
|
|
15
|
-
gridDataSourceKey: string;
|
|
16
|
-
isInternalListData: boolean;
|
|
17
|
-
resourceList: unknown[];
|
|
18
|
-
floorDayBookingList: unknown[];
|
|
19
|
-
schedule: ReservationScheduleBandValue;
|
|
20
|
-
dataProp: unknown[] | null | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* 若宿主存在 `sales.getResourceBookingList`,其解析后的列表将写入此处;
|
|
23
|
-
* 有值时优先用于与资源桌合并(每张桌按其资源 id 对应预约)。
|
|
24
|
-
* `null` / `undefined` 表示使用 `floorDayBookingList` 全量(已由接口按画布资源等筛过)。
|
|
25
|
-
*/
|
|
26
|
-
salesResourceBookings?: unknown[] | null;
|
|
27
|
-
}): PisellReservationTableRow[];
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 预约平面图视口悬浮:当前画布桌位总数与各状态数量(空闲 / 预约 / 使用中等)
|
|
3
|
-
*/
|
|
4
|
-
import React from 'react';
|
|
5
|
-
import { type FloorMapDataSources, type FloorMapMergedItem } from '@pisell/materials';
|
|
6
|
-
import './ReservationFloorMapHud.less';
|
|
7
|
-
/** 场控左下抽屉:无台位且未展开时可隐藏整块 */
|
|
8
|
-
export declare function reservationFloorMapHudSeatStatsTotal(items: FloorMapMergedItem[], dataSources: FloorMapDataSources | undefined): number;
|
|
9
|
-
export declare type ReservationFloorMapHudStatsBarProps = {
|
|
10
|
-
items: FloorMapMergedItem[];
|
|
11
|
-
dataSources: FloorMapDataSources | undefined;
|
|
12
|
-
/** 右侧操作(overlay 下箭头 / Sheet 关闭等) */
|
|
13
|
-
rightSlot: React.ReactNode;
|
|
14
|
-
/**
|
|
15
|
-
* true:无台位时不渲染(与底栏 HUD 一致);
|
|
16
|
-
* false:Sheet 顶栏无台位时仍保留一行,仅展示右侧 slot
|
|
17
|
-
*/
|
|
18
|
-
hideWhenNoSeats?: boolean;
|
|
19
|
-
className?: string;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* 横向状态统计 + 右侧 slot:底栏 HUD 与 Sheet 顶栏共用(方案 A:两处可同时展示相同统计)。
|
|
23
|
-
*/
|
|
24
|
-
export declare function ReservationFloorMapHudStatsBar(props: ReservationFloorMapHudStatsBarProps): JSX.Element | null;
|
|
25
|
-
export declare type ReservationFloorMapHudTitleBarProps = {
|
|
26
|
-
items: FloorMapMergedItem[];
|
|
27
|
-
dataSources: FloorMapDataSources | undefined;
|
|
28
|
-
/** 收起态:展开画布列表;展开态:收起 */
|
|
29
|
-
actionMode: 'expand' | 'collapse';
|
|
30
|
-
onAction: () => void;
|
|
31
|
-
/** 嵌入 Sheet 顶栏时不画浮层卡片(避免双边线) */
|
|
32
|
-
embedded?: boolean;
|
|
33
|
-
className?: string;
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* 场控:单行标题栏 = 标题 + 内联统计 + 展开/收起,与 Sheet 顶栏共用。
|
|
37
|
-
*/
|
|
38
|
-
export declare function ReservationFloorMapHudTitleBar(props: ReservationFloorMapHudTitleBarProps): JSX.Element | null;
|
|
39
|
-
export interface ReservationFloorMapHudProps {
|
|
40
|
-
items: FloorMapMergedItem[];
|
|
41
|
-
dataSources: FloorMapDataSources | undefined;
|
|
42
|
-
/** 为 true 时左下标题栏:标题 + 统计 + 展开/收起(抽屉打开时仍保留,不「整块消失」) */
|
|
43
|
-
interactive?: boolean;
|
|
44
|
-
onRequestOpenTable?: () => void;
|
|
45
|
-
onRequestCloseTable?: () => void;
|
|
46
|
-
/** 画布资源列表抽屉是否已打开 */
|
|
47
|
-
tableDrawerOpen?: boolean;
|
|
48
|
-
}
|
|
49
|
-
export declare function ReservationFloorMapHud(props: ReservationFloorMapHudProps): JSX.Element | null;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface ReservationHudDrawerHandleProps {
|
|
3
|
-
/** 关闭抽屉。点击或下拖超过阈值时调用。 */
|
|
4
|
-
onClose: () => void;
|
|
5
|
-
/**
|
|
6
|
-
* 触发关闭的下拖位移阈值(px)。短促的微小拖动不算关闭,避免误触;
|
|
7
|
-
* 用户从手柄向下「甩一下」即可关。默认 80px ≈ 一个手指节。
|
|
8
|
-
*/
|
|
9
|
-
closeOffsetPx?: number;
|
|
10
|
-
/**
|
|
11
|
-
* 抽屉根节点 ref:拖动时给它实时打 transform: translateY,让面板跟着手指走;
|
|
12
|
-
* 松手后再决定「滑回原位」或「滑出关闭」。可不传——不传则只做关闭决策、不做跟随动画。
|
|
13
|
-
*/
|
|
14
|
-
drawerRef?: React.RefObject<HTMLElement | null>;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* 抽屉顶端的「抓手 + 拍击区」:
|
|
18
|
-
* - 视觉上是一条居中的胶囊形 bar,给用户一个「这里可以拖 / 可以点」的暗示;
|
|
19
|
-
* - 点击:直接关闭抽屉;
|
|
20
|
-
* - 指针下拖:传入 drawerRef 时,面板会实时跟随手指下移;
|
|
21
|
-
* • 松手时位移 ≥ closeOffsetPx → 平滑滑出底部并关闭;
|
|
22
|
-
* • 否则回弹到原位。
|
|
23
|
-
*
|
|
24
|
-
* 直接 mutate `drawerRef.current.style.transform` 而不是走 React state,是因为
|
|
25
|
-
* 拖动每一帧都重渲染整个抽屉(PisellRecordBoard + 表格)开销太大。命令式风格
|
|
26
|
-
* 把动画限制在 DOM 层、React 树不参与,掉帧风险最小。组件卸载 / 关闭后由抽屉
|
|
27
|
-
* 节点本身被 unmount 一并清理,不留残留 inline style。
|
|
28
|
-
*/
|
|
29
|
-
export declare const ReservationHudDrawerHandle: React.FC<ReservationHudDrawerHandleProps>;
|
|
30
|
-
export default ReservationHudDrawerHandle;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HUD 抽屉右侧竖栏:与 Filter「Resource」同源,写入 `filter.values.form_record_ids`。
|
|
3
|
-
* 资源列表来自 GET /shop/form/resource/page。
|
|
4
|
-
*
|
|
5
|
-
* 优先按列表内 `parent_id` 推断树的第一层节点;若父链缺失会导致「每条记录都是根」、按钮爆炸,
|
|
6
|
-
* 则回退为按 `form_id`(资源所属表单)聚合——对应 Filter 里顶层资源类型/主类,而非单个 form_record。
|
|
7
|
-
*/
|
|
8
|
-
import type { BucketDef } from '../components/BucketButtonGroup';
|
|
9
|
-
/** 与抽屉 / Filter 共用的 `searchParams.filter.values.form_record_ids` 读取 */
|
|
10
|
-
export declare function extractFilterFormRecordIds(searchParams: Record<string, unknown>): string[];
|
|
11
|
-
/**
|
|
12
|
-
* 从 form/resource/page 扁平 list 构建第一层桶。
|
|
13
|
-
* - 列表内父子链完整时:与 TreeSelect 第一层语义一致(根及其子树 id);
|
|
14
|
-
* - 父链缺失导致伪根过多时:按 `form_id` 聚合为「主类」桶,避免竖栏铺满具体资源名。
|
|
15
|
-
*/
|
|
16
|
-
export declare function buildResourceRootBuckets(rawList: unknown[]): BucketDef[];
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { FloorRoomCardData } from './floorRoomCardModel';
|
|
3
|
-
import './ReservationFloorRoomCard.less';
|
|
4
|
-
export declare type FloorRoomCardFromDataProps = {
|
|
5
|
-
data: FloorRoomCardData;
|
|
6
|
-
shellShape?: 'rect' | 'circle';
|
|
7
|
-
elementLayoutHeightPx?: number;
|
|
8
|
-
hideHeaderCapacity?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* 覆盖顶栏左侧主标题(如详情弹窗用 `order_id`);不传则用 `data.main_field`。
|
|
11
|
-
*/
|
|
12
|
-
headerMainFieldOverride?: string;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* 与 {@link ReservationFloorRoomCard} 同款 DOM 与分支,无外层主题根、无定时刷新。
|
|
16
|
-
*/
|
|
17
|
-
export declare function FloorRoomCardFromData(props: FloorRoomCardFromDataProps): JSX.Element;
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import type { PisellReservationTableRow } from '../types';
|
|
2
|
-
import type { FloorRoomCardBooking, FloorRoomCardData } from './floorRoomCardModel';
|
|
3
|
-
/** 统一的起止毫秒(供资源墙/卡片兼容层复用,避免重复推断) */
|
|
4
|
-
export declare function floorRoomCardBookingStartEndMs(booking: Pick<FloorRoomCardBooking, 'start_date' | 'start_time' | 'end_date' | 'end_time'>): {
|
|
5
|
-
start: number;
|
|
6
|
-
end: number;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* 预留态时间行:图元内仅展示时刻 + 文案后缀,不展示开始日期。
|
|
10
|
-
*/
|
|
11
|
-
export declare function formatFloorRoomCardBookingStartLine(booking: Pick<FloorRoomCardBooking, 'start_date' | 'start_time'>, endSuffix: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* 占用态时间行:图元内仅展示结束时刻 + 后缀,不展示结束日期。
|
|
14
|
-
*/
|
|
15
|
-
export declare function formatFloorRoomCardBookingEndLine(booking: Pick<FloorRoomCardBooking, 'end_date' | 'end_time'>, endSuffix: string): string;
|
|
16
|
-
/**
|
|
17
|
-
* 「下一条」等时段:图元内只写起止时刻,不写日期。
|
|
18
|
-
*/
|
|
19
|
-
export declare function formatFloorRoomCardBookingTimeRange(booking: Pick<FloorRoomCardBooking, 'start_date' | 'start_time' | 'end_date' | 'end_time'>): string;
|
|
20
|
-
/** 预约时段内进度 0–100(与 demo getProgressPercent 一致,使用真实时间) */
|
|
21
|
-
export declare function getFloorRoomCardProgressPercent(startDate: string, startTime: string, endDate: string, endTime: string, nowMs?: number): number;
|
|
22
|
-
/**
|
|
23
|
-
* 进度条百分比:优先宿主 `progressPercent`(0–100),否则按起止时间与当前时刻推算。
|
|
24
|
-
*/
|
|
25
|
-
export declare function resolveFloorRoomCardProgressPercent(booking: Pick<FloorRoomCardBooking, 'start_date' | 'start_time' | 'end_date' | 'end_time' | 'progressPercent'>, nowMs?: number): number;
|
|
26
|
-
/** 将分钟数格式化为「10m」「1h 5m」等(图元迟到/超时展示) */
|
|
27
|
-
export declare function formatFloorRoomCardDurationMinutes(totalMin: number): string;
|
|
28
|
-
/** 已超过结束时刻的加时时长文案 */
|
|
29
|
-
export declare function getFloorRoomCardOvertime(endDate: string, endTime: string, nowMs?: number): string | null;
|
|
30
|
-
/** 已逾开始时刻的「迟到」时长 */
|
|
31
|
-
export declare function getFloorRoomCardLateTime(startDate: string, startTime: string, nowMs?: number): string | null;
|
|
32
|
-
/** 距开始时刻的倒计时分钟(不含文案前缀);仅本地起止时间推算 */
|
|
33
|
-
export declare function getFloorRoomCardArrivalMinutes(room: FloorRoomCardData, nowMs?: number): number | null;
|
|
34
|
-
/**
|
|
35
|
-
* 预留态「还有 n 分钟」:优先宿主 `remainingReserveTime`(分钟,>0),否则 {@link getFloorRoomCardArrivalMinutes}
|
|
36
|
-
*/
|
|
37
|
-
export declare function resolveFloorRoomCardReservedCountdownMinutes(room: FloorRoomCardData, nowMs?: number): number | null;
|
|
38
|
-
/**
|
|
39
|
-
* 多预约列表中单条:与 {@link resolveFloorRoomCardReservedCountdownMinutes} 一致,但针对当前行 booking。
|
|
40
|
-
*/
|
|
41
|
-
export declare function resolveFloorRoomCardReservedCountdownMinutesForBooking(booking: FloorRoomCardBooking, nowMs?: number): number | null;
|
|
42
|
-
/**
|
|
43
|
-
* 紧凑多预约行:仅当该条 booking 有宿主 `lateTime`(分钟)时为 late,否则 not_arrived(不按本地时刻推算迟到)。
|
|
44
|
-
*/
|
|
45
|
-
export declare function getFloorRoomCardReservedRowBodyType(booking: FloorRoomCardBooking, _nowMs?: number): 'not_arrived' | 'late';
|
|
46
|
-
declare type BookingTimeFields = Pick<FloorRoomCardBooking, 'start_date' | 'start_time' | 'end_date' | 'end_time'>;
|
|
47
|
-
/** 当前时刻是否落在预约时段内 [start, end)(进行中) */
|
|
48
|
-
export declare function isFloorRoomCardBookingInProgress(booking: BookingTimeFields, nowMs?: number): boolean;
|
|
49
|
-
/** 当前时刻是否在预约开始之前(未开始) */
|
|
50
|
-
export declare function isFloorRoomCardBookingNotStarted(booking: BookingTimeFields, nowMs?: number): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* 第一条预约进行中且其后仍有未开始的时段:返回第一条「未开始」预约,用于 Next 行。
|
|
53
|
-
* 不依赖 cardType(不必 late/timeout)。
|
|
54
|
-
*/
|
|
55
|
-
export declare function getFloorRoomCardNextNotStartedBooking(data: FloorRoomCardData, nowMs?: number): FloorRoomCardBooking | null;
|
|
56
|
-
/**
|
|
57
|
-
* 多条预约里恰好一条 `hostBookingStatus === 'occupied'` 时:把该条排到首位,便于标准占用卡用 bookings[0] 展示。
|
|
58
|
-
* 多条同时为 occupied 或未标记 host 时不改顺序。
|
|
59
|
-
*/
|
|
60
|
-
export declare function reorderBookingsForSingleOccupiedPrimary(list: FloorRoomCardBooking[]): FloorRoomCardBooking[];
|
|
61
|
-
/**
|
|
62
|
-
* 多条预约且仅一条为 occupied:按开始时间排序后,取占用段之后的下一条(用于 Next 行)。
|
|
63
|
-
*/
|
|
64
|
-
export declare function getFloorRoomCardNextAfterSingleOccupiedBooking(data: FloorRoomCardData): FloorRoomCardBooking | null;
|
|
65
|
-
/**
|
|
66
|
-
* 多条均为预留(无 occupied):`bookings` 已按开始时间排好,主卡为 [0],Next 为紧邻的下一条。
|
|
67
|
-
*/
|
|
68
|
-
export declare function getFloorRoomCardNextAfterPrimaryReserved(data: FloorRoomCardData): FloorRoomCardBooking | null;
|
|
69
|
-
/**
|
|
70
|
-
* 接口标记 `isNext` 的预约:按开始时间取第一条,供 Next 行展示。
|
|
71
|
-
*/
|
|
72
|
-
export declare function getFloorRoomCardExplicitNextBooking(data: FloorRoomCardData): FloorRoomCardBooking | null;
|
|
73
|
-
/**
|
|
74
|
-
* 与 {@link buildCardBodyViewModel} Next 行同一套优先级:接口 `is_next`/`isNext` →
|
|
75
|
-
* 单 occupied 后一条 → 多条 reserved 第二条 →「进行中」后首条未开始。
|
|
76
|
-
*/
|
|
77
|
-
export declare function resolveFloorRoomCardNextBookingLikeBodyModel(data: FloorRoomCardData, nowMs?: number): FloorRoomCardBooking | null;
|
|
78
|
-
/** Next 条客人一行:与 FloorRoomCardFromData `nextGuestLineForStrip` 一致 */
|
|
79
|
-
export declare function formatFloorRoomCardNextGuestStripLine(b: FloorRoomCardBooking): string;
|
|
80
|
-
/**
|
|
81
|
-
* 联系人展示一行:与 `buildCardBodyViewModel` 的 `guestDisplayLine` 一致。
|
|
82
|
-
* - 优先姓名
|
|
83
|
-
* - 预留态可展示手机号尾号(脱敏)
|
|
84
|
-
*/
|
|
85
|
-
export declare function formatFloorRoomCardGuestDisplayLine(holder: FloorRoomCardBooking['holder'], showPhone: boolean): string;
|
|
86
|
-
/**
|
|
87
|
-
* 主区域展示用:第一条非 `isNext`;若全部为 next 则回退首条。
|
|
88
|
-
*/
|
|
89
|
-
export declare function getFloorRoomCardPrimaryBooking(data: FloorRoomCardData): FloorRoomCardBooking | undefined;
|
|
90
|
-
/**
|
|
91
|
-
* 多条预约且均为预留态(host 为 reserved 或未标):按开始时间排序,主卡只展示最近一档,其余走 Next。
|
|
92
|
-
*/
|
|
93
|
-
export declare function reorderBookingsAllReservedChronological(list: FloorRoomCardBooking[]): FloorRoomCardBooking[];
|
|
94
|
-
/** 与 demo getCardType 一致 */
|
|
95
|
-
export declare function getFloorRoomCardType(room: FloorRoomCardData): 'empty' | 'locked' | 'multi_occupied' | 'multi_reserved' | 'not_arrived' | 'late' | 'payed' | 'payment_required' | 'timeout';
|
|
96
|
-
/**
|
|
97
|
-
* 平面图 RoomCard 联系人手机号展示:与 {@link ReservationFloorRoomCard} ContactInfo 一致。
|
|
98
|
-
*/
|
|
99
|
-
export declare function maskPisellReservationPhoneTail(phone: string): string | null;
|
|
100
|
-
/**
|
|
101
|
-
* 房间标题:优先数据行 `main_field` 展示名(` ## ` 前为主名称),其次 `code`,最后图元编辑名。
|
|
102
|
-
* 与平面图 `reservationCards` 绑定桌位卡一致。
|
|
103
|
-
*/
|
|
104
|
-
export declare function displayRoomTitleFromRow(row: PisellReservationTableRow, sceneElementName: string | undefined): string;
|
|
105
|
-
/**
|
|
106
|
-
* 展示用名称:`main_field` 按 ` ## ` 分段且有两段及以上时取**第二段**(常见「内部码 ## 展示名」),
|
|
107
|
-
* 否则取第一段;再无则回退 {@link displayRoomTitleFromRow}。
|
|
108
|
-
*/
|
|
109
|
-
export declare function displayRoomShowNameFromRow(row: PisellReservationTableRow, sceneElementName: string | undefined): string;
|
|
110
|
-
export {};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { type Dayjs } from 'dayjs';
|
|
2
|
-
/** 避免 `?? []` 每次 render 新数组引用,触发依赖 list 的 effect 死循环 */
|
|
3
|
-
export declare const EMPTY_RESERVATION_LIST: unknown[];
|
|
4
|
-
export declare function bookingWindowClockOrDefault(operatingDayBoundary?: unknown): string;
|
|
5
|
-
/**
|
|
6
|
-
* 营业日锚定:`core.operating_day_boundary`(`start_time`/`end_time`)界钟当日 — 次日同钟;
|
|
7
|
-
* 无有效配置时与 {@link RESERVATION_TIMELINE_BUSINESS_RANGE} 一致(02:00)。
|
|
8
|
-
*/
|
|
9
|
-
export declare function bookingTimeWindowForAnchorDay(anchorDay: Dayjs, operatingDayBoundary?: unknown): [Dayjs, Dayjs];
|
|
10
|
-
/**
|
|
11
|
-
* 日历跨日视口:从 rangeStart 所在自然日界钟到 rangeEnd 的次日界钟(与单日营业窗首尾相接)。
|
|
12
|
-
*/
|
|
13
|
-
export declare function bookingTimeWindowForCalendarRange(rangeStart: Date, rangeEnd: Date, operatingDayBoundary?: unknown): [Dayjs, Dayjs];
|
|
14
|
-
/**
|
|
15
|
-
* Monitor / 平面图列表初始筛:支付态 + 锚定营业日 `booking_time_start_between`。
|
|
16
|
-
*/
|
|
17
|
-
export declare function getDefaultMonitorSearchParams(anchorDay?: Dayjs, operatingDayBoundary?: unknown): Record<string, unknown>;
|
|
18
|
-
/**
|
|
19
|
-
* 表格视图初始筛选项:与 Sales Monitor 一致——支付态 + **今日营业日窗口**。
|
|
20
|
-
* 传入店铺 `operating_day_boundary` 时与时间轴界钟一致。
|
|
21
|
-
*/
|
|
22
|
-
export declare function getGridTableBookingSearchParams(operatingDayBoundary?: unknown): Record<string, unknown>;
|
|
23
|
-
export interface UsePisellReservationBookingDataOptions {
|
|
24
|
-
/** 列表单页条数;平面图按日合并台位时宜用大页 */
|
|
25
|
-
listPageSize?: number;
|
|
26
|
-
/** 初始筛选项;不传则与 Sales Monitor 一致(含当前营业日预约窗口) */
|
|
27
|
-
getInitialSearchParams?: () => Record<string, unknown>;
|
|
28
|
-
/**
|
|
29
|
-
* 合并进每次请求的扁平参数(在 `filter.values` 展开之后),如平面图
|
|
30
|
-
* `form_record_ids: number[]` 按当前资源桌筛选预约。
|
|
31
|
-
*/
|
|
32
|
-
extraRequestParams?: Record<string, unknown>;
|
|
33
|
-
/**
|
|
34
|
-
* 是否启用列表 WebSocket 推送并用 `mutate` 覆盖当前数据(`osServer` + `subscriberId`)。
|
|
35
|
-
* 表格全量/分页必须与接口 HTTP 结果一致,应设为 `false`:推送常为平面图子集(如仅绑定桌),
|
|
36
|
-
* 会覆盖刚返回的整页列表,表现为「请求 50 条只显示几条且像平面图资源」。
|
|
37
|
-
* 平面图合并用 booking 请求可保持默认 `true`。
|
|
38
|
-
*/
|
|
39
|
-
subscribeRealtimePush?: boolean;
|
|
40
|
-
}
|
|
41
|
-
/** 内置列表数据 hook 返回结构(booking / resource 页共用) */
|
|
42
|
-
export interface UsePisellReservationBookingDataResult {
|
|
43
|
-
data: unknown[];
|
|
44
|
-
loading: boolean;
|
|
45
|
-
total: number;
|
|
46
|
-
pagination: {
|
|
47
|
-
pageNumber: number;
|
|
48
|
-
pageSize: number;
|
|
49
|
-
};
|
|
50
|
-
onPageChange: (pageNumber: number, pageSize: number) => void;
|
|
51
|
-
searchParams: Record<string, unknown>;
|
|
52
|
-
onSearch: (params: Record<string, unknown>) => void;
|
|
53
|
-
onReset: () => void;
|
|
54
|
-
refresh: () => void;
|
|
55
|
-
refreshAsync: () => Promise<unknown>;
|
|
56
|
-
/** 函数式合并 searchParams 并重置到第一页(用于日程变更) */
|
|
57
|
-
patchSearchParams: (updater: (prev: Record<string, unknown>) => Record<string, unknown>) => void;
|
|
58
|
-
/**
|
|
59
|
-
* WS 推送 mutate 后的累计版本号;下游 hook(如 `useReservationSalesHostData`)
|
|
60
|
-
* 把它作为 effect dep,可保证「即使 booking 内容字段未触发 cheap hash 变化,
|
|
61
|
-
* 也能在每次推送后重新拉取宿主 sales 列表」,避免画布在 push 后不刷新。
|
|
62
|
-
*/
|
|
63
|
-
pushDataVersion: number;
|
|
64
|
-
}
|
|
65
|
-
export declare function usePisellReservationBookingData(enabled: boolean, options?: UsePisellReservationBookingDataOptions): UsePisellReservationBookingDataResult;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type MutableRefObject } from 'react';
|
|
2
|
-
import { type Dayjs } from 'dayjs';
|
|
3
|
-
import type { ReservationScheduleBandValue } from '@pisell/materials';
|
|
4
|
-
import type { TimeRangeOption } from '@pisell/materials';
|
|
5
|
-
import type { PisellReservationProps } from '../types';
|
|
6
|
-
declare type PisellOSLike = {
|
|
7
|
-
getModule?: (name: string) => unknown;
|
|
8
|
-
} | null | undefined;
|
|
9
|
-
/**
|
|
10
|
-
* 内置列表且资源台 + floorDayBooking 均就绪后,向宿主 sales 拉两套数据:
|
|
11
|
-
* - `getResourceBookingList`:游标时刻下的预约子集,参与合并进平面图 dataSources;
|
|
12
|
-
* - `getTimelineHighlights`:时间轴密度折线(无则退回 PisellReservation 内本地计算)。
|
|
13
|
-
*/
|
|
14
|
-
export declare function useReservationSalesHostData(options: {
|
|
15
|
-
isInternalListData: boolean;
|
|
16
|
-
pisellosRef: MutableRefObject<PisellOSLike>;
|
|
17
|
-
hasPisellosGetModule: boolean;
|
|
18
|
-
debouncedSchedule: ReservationScheduleBandValue;
|
|
19
|
-
resourceBoardLoading: boolean;
|
|
20
|
-
floorDayBookingLoading: boolean;
|
|
21
|
-
floorDayBookingData: unknown[];
|
|
22
|
-
/**
|
|
23
|
-
* `usePisellReservationBookingData` 在每次 WS 推送 mutate 后递增的版本号。
|
|
24
|
-
* 加进 effect deps 是为了兜底 `floorDayBookingDepKey` cheap hash 漏判的字段
|
|
25
|
-
* (如 customer / notes / relation_id 换桌等):只要有推送到达,就一定刷新
|
|
26
|
-
* 宿主 sales 列表,避免画布在 push 之后看上去不更新。
|
|
27
|
-
*/
|
|
28
|
-
floorDayBookingDataVersion: number;
|
|
29
|
-
scheduleDate: Dayjs;
|
|
30
|
-
timeNavigatorPropsProp?: PisellReservationProps['timeNavigatorProps'];
|
|
31
|
-
/** 与顶栏 TimeNavigator、日历日列对齐的营业区间(已含 props 覆盖与 core 回退) */
|
|
32
|
-
timelineRange: TimeRangeOption;
|
|
33
|
-
}): {
|
|
34
|
-
salesResourceBookings: unknown[] | null;
|
|
35
|
-
salesTimelineHighlights: number[] | null;
|
|
36
|
-
};
|
|
37
|
-
export {};
|