@pisell/private-materials 6.11.144 → 6.11.146
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 +16 -9
- package/es/plus/pisellReservation/floorMap/reservationMock.js +17 -5
- 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 +14 -7
- package/lib/plus/pisellReservation/floorMap/reservationMock.js +10 -1
- package/package.json +2 -2
- 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/components/ticketBooking/dialog.d.ts +0 -42
- 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/reservationCards.d.ts +0 -16
- package/es/plus/pisellReservation/floorMap/reservationHudResourceRootBuckets.d.ts +0 -16
- package/es/plus/pisellReservation/floorMap/reservationMock.d.ts +0 -76
- package/es/plus/pisellReservation/floorMap/useReservationFloorMapMerged.d.ts +0 -46
- 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/components/ticketBooking/dialog.d.ts +0 -42
- 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/reservationCards.d.ts +0 -16
- package/lib/plus/pisellReservation/floorMap/reservationHudResourceRootBuckets.d.ts +0 -16
- package/lib/plus/pisellReservation/floorMap/reservationMock.d.ts +0 -76
- package/lib/plus/pisellReservation/floorMap/useReservationFloorMapMerged.d.ts +0 -46
- 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
|
@@ -2577,7 +2577,7 @@ var Footer = function Footer(props) {
|
|
|
2577
2577
|
},
|
|
2578
2578
|
onChangeOrderNote: handleNoteConfirm,
|
|
2579
2579
|
onDeleteOrderNote: handleNoteDelete,
|
|
2580
|
-
onClose: function onClose(reset) {
|
|
2580
|
+
onClose: function onClose(reset, options) {
|
|
2581
2581
|
var _state$dialogCallback2;
|
|
2582
2582
|
console.log('🔄 Footer: Closing PaymentModal', reset);
|
|
2583
2583
|
setIsPaymentModalOpen(false);
|
|
@@ -2593,7 +2593,10 @@ var Footer = function Footer(props) {
|
|
|
2593
2593
|
// 编辑模式弹窗回调(由 TicketBookingDialog 传入)
|
|
2594
2594
|
state === null || state === void 0 || (_state$dialogCallback2 = state.dialogCallback) === null || _state$dialogCallback2 === void 0 || _state$dialogCallback2.call(state, {
|
|
2595
2595
|
type: 'paymentClose',
|
|
2596
|
-
reset: reset
|
|
2596
|
+
reset: reset,
|
|
2597
|
+
data: {
|
|
2598
|
+
order_id: options === null || options === void 0 ? void 0 : options.order_id
|
|
2599
|
+
}
|
|
2597
2600
|
});
|
|
2598
2601
|
// 清除编辑模式
|
|
2599
2602
|
setEditOrderId(0);
|
|
@@ -25,7 +25,7 @@ interface PaymentModalProps {
|
|
|
25
25
|
onDeleteOrderNote?: () => void;
|
|
26
26
|
}
|
|
27
27
|
interface PaymentModalMainProps extends PaymentModalProps {
|
|
28
|
-
onClose?: (reset?: boolean) => void;
|
|
28
|
+
onClose?: (reset?: boolean, options?: any) => void;
|
|
29
29
|
onSetLocalOrderId?: (order_id: number) => void;
|
|
30
30
|
setEditCartMode?: (order_id: number, payData: any, closeModal: boolean) => void;
|
|
31
31
|
editOrderId?: number;
|
|
@@ -1581,7 +1581,7 @@ var PaymentModal = function PaymentModal(_ref19) {
|
|
|
1581
1581
|
// 重试处理函数(逻辑由用户自己实现)
|
|
1582
1582
|
var handleRetry = /*#__PURE__*/function () {
|
|
1583
1583
|
var _ref21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15() {
|
|
1584
|
-
var checkoutModule, res, _res$response;
|
|
1584
|
+
var checkoutModule, res, _res$response, _res$response2;
|
|
1585
1585
|
return _regeneratorRuntime().wrap(function _callee15$(_context15) {
|
|
1586
1586
|
while (1) switch (_context15.prev = _context15.next) {
|
|
1587
1587
|
case 0:
|
|
@@ -1610,7 +1610,9 @@ var PaymentModal = function PaymentModal(_ref19) {
|
|
|
1610
1610
|
case 9:
|
|
1611
1611
|
// 如果是整单支付,则调用 onClose 让外面清空购物车
|
|
1612
1612
|
if ((res === null || res === void 0 || (_res$response = res.response) === null || _res$response === void 0 || (_res$response = _res$response.data) === null || _res$response === void 0 ? void 0 : _res$response.payment_status) === 'paid') {
|
|
1613
|
-
onClose === null || onClose === void 0 || onClose(true
|
|
1613
|
+
onClose === null || onClose === void 0 || onClose(true, {
|
|
1614
|
+
order_id: res === null || res === void 0 || (_res$response2 = res.response) === null || _res$response2 === void 0 || (_res$response2 = _res$response2.data) === null || _res$response2 === void 0 ? void 0 : _res$response2.order_id
|
|
1615
|
+
});
|
|
1614
1616
|
}
|
|
1615
1617
|
// if (res.data.payment_status)
|
|
1616
1618
|
// setShowRetryModal(false);
|
|
@@ -2063,12 +2065,15 @@ var PaymentModal = function PaymentModal(_ref19) {
|
|
|
2063
2065
|
};
|
|
2064
2066
|
|
|
2065
2067
|
// 专门用于关闭PaymentModal的函数
|
|
2066
|
-
var handleModalClose = function handleModalClose() {
|
|
2068
|
+
var handleModalClose = function handleModalClose(res) {
|
|
2069
|
+
var _res$response3;
|
|
2067
2070
|
console.log('PaymentModal - Modal closing independently');
|
|
2068
|
-
onClose === null || onClose === void 0 || onClose(true
|
|
2071
|
+
onClose === null || onClose === void 0 || onClose(true, {
|
|
2072
|
+
order_id: res === null || res === void 0 || (_res$response3 = res.response) === null || _res$response3 === void 0 || (_res$response3 = _res$response3.data) === null || _res$response3 === void 0 ? void 0 : _res$response3.order_id
|
|
2073
|
+
});
|
|
2069
2074
|
};
|
|
2070
2075
|
var handlePaymentCancel = function handlePaymentCancel(reset, notCancelOrder) {
|
|
2071
|
-
var _paymentContentRef$cu, _paymentContentRef$cu2;
|
|
2076
|
+
var _paymentContentRef$cu, _paymentContentRef$cu2, _checkout$getCurrentO;
|
|
2072
2077
|
// 如果需要在父组件读取子组件 PaymentContent 的内部状态(如 syncingLock),只能通过 ref/回调或将状态上提
|
|
2073
2078
|
var isSyncingLocked = ((_paymentContentRef$cu = paymentContentRef.current) === null || _paymentContentRef$cu === void 0 || (_paymentContentRef$cu2 = _paymentContentRef$cu.getSyncingLock) === null || _paymentContentRef$cu2 === void 0 ? void 0 : _paymentContentRef$cu2.call(_paymentContentRef$cu)) || false;
|
|
2074
2079
|
console.log('Payment cancelled, syncingLock:', isSyncingLocked);
|
|
@@ -2099,7 +2104,9 @@ var PaymentModal = function PaymentModal(_ref19) {
|
|
|
2099
2104
|
// 确认是否有地方重复调用 checkout
|
|
2100
2105
|
checkout.cancelCurrentOrderAsync();
|
|
2101
2106
|
// 不关闭PaymentResultToast,让它独立存在
|
|
2102
|
-
onClose === null || onClose === void 0 || onClose(reset || false
|
|
2107
|
+
onClose === null || onClose === void 0 || onClose(reset || false, {
|
|
2108
|
+
order_id: checkout === null || checkout === void 0 || (_checkout$getCurrentO = checkout.getCurrentOrderId) === null || _checkout$getCurrentO === void 0 ? void 0 : _checkout$getCurrentO.call(checkout)
|
|
2109
|
+
});
|
|
2103
2110
|
};
|
|
2104
2111
|
|
|
2105
2112
|
// 如果订单已经同步过,此时点击左上角返回,需要通知购物车进入编辑态
|
|
@@ -2162,10 +2169,10 @@ var PaymentModal = function PaymentModal(_ref19) {
|
|
|
2162
2169
|
size: "small",
|
|
2163
2170
|
type: "text",
|
|
2164
2171
|
onClick: function onClick() {
|
|
2165
|
-
var _checkout$
|
|
2172
|
+
var _checkout$getCurrentO2;
|
|
2166
2173
|
var checkout = pisellos.getModule('checkout');
|
|
2167
2174
|
// 如果订单是 unpaid(弃单) ,则不进入编辑状态,直接关闭弹窗
|
|
2168
|
-
if (checkout.isCurrentOrderSynced() && ((_checkout$
|
|
2175
|
+
if (checkout.isCurrentOrderSynced() && ((_checkout$getCurrentO2 = checkout.getCurrentOrderInfo()) === null || _checkout$getCurrentO2 === void 0 ? void 0 : _checkout$getCurrentO2.paymentStatus) !== 'unpaid') {
|
|
2169
2176
|
handleSetEditCartMode(true);
|
|
2170
2177
|
} else {
|
|
2171
2178
|
handlePaymentCancel(false, true);
|
|
@@ -2353,7 +2360,7 @@ var PaymentModal = function PaymentModal(_ref19) {
|
|
|
2353
2360
|
|
|
2354
2361
|
// 当支付状态为 paid 时,关闭 paymentModal
|
|
2355
2362
|
if (paymentStatus === 'paid') {
|
|
2356
|
-
handleModalClose();
|
|
2363
|
+
handleModalClose(data);
|
|
2357
2364
|
}
|
|
2358
2365
|
|
|
2359
2366
|
// 将支付结果信息传递给回调处理
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
2
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
8
3
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
4
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -11,6 +6,11 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
11
6
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
12
7
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
13
8
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
14
|
import { FLOOR_MAP_IMAGE_ELEMENT_KIND } from '@pisell/materials';
|
|
15
15
|
import { locales } from '@pisell/utils';
|
|
16
16
|
import reservationLocales from "../locales/locales";
|
|
@@ -52,13 +52,25 @@ function dedupeElementKindsByValue(kinds) {
|
|
|
52
52
|
* 父级/接口 elementKinds 与预约默认合并:
|
|
53
53
|
* - 去掉与 Story 图片图元重复的旧版种类;
|
|
54
54
|
* - 远程若已有 `floorMapImage` 也先去掉,统一用 defaults 里那份(避免两套「图片底图」并存)。
|
|
55
|
+
* - 对**同一 value**:用 `{ ...default, ...remote }` 合并,避免远程 JSON 只存了精简字段时
|
|
56
|
+
* 把预约默认里的 `nameAsTitleConfigurable` 等能力位整段丢掉(否则编辑面板不显示「图元名作为标题」勾选)。
|
|
55
57
|
*/
|
|
56
58
|
export function mergeFloorMapElementKindsWithDefaults(defaults, remote) {
|
|
57
59
|
if (!(remote !== null && remote !== void 0 && remote.length)) return defaults;
|
|
60
|
+
var defaultByValue = new Map(defaults.map(function (d) {
|
|
61
|
+
return [d.value, d];
|
|
62
|
+
}));
|
|
58
63
|
var base = dedupeElementKindsByValue(stripConflictingImageElementKinds(remote)).filter(function (k) {
|
|
59
64
|
return k.value !== FLOOR_MAP_IMAGE_ELEMENT_KIND;
|
|
60
65
|
}).filter(function (k) {
|
|
61
66
|
return !LEGACY_RESERVATION_TABLE_KIND_VALUES.has(k.value);
|
|
67
|
+
}).map(function (k) {
|
|
68
|
+
var _k$nameAsTitleConfigu;
|
|
69
|
+
var d = defaultByValue.get(k.value);
|
|
70
|
+
if (!d) return k;
|
|
71
|
+
return _objectSpread(_objectSpread(_objectSpread({}, d), k), {}, {
|
|
72
|
+
nameAsTitleConfigurable: (_k$nameAsTitleConfigu = k.nameAsTitleConfigurable) !== null && _k$nameAsTitleConfigu !== void 0 ? _k$nameAsTitleConfigu : d.nameAsTitleConfigurable
|
|
73
|
+
});
|
|
62
74
|
});
|
|
63
75
|
var seen = new Set(base.map(function (k) {
|
|
64
76
|
return k.value;
|
|
@@ -1804,7 +1804,7 @@ var Footer = (props) => {
|
|
|
1804
1804
|
},
|
|
1805
1805
|
onChangeOrderNote: handleNoteConfirm,
|
|
1806
1806
|
onDeleteOrderNote: handleNoteDelete,
|
|
1807
|
-
onClose: (reset) => {
|
|
1807
|
+
onClose: (reset, options) => {
|
|
1808
1808
|
var _a2;
|
|
1809
1809
|
console.log("🔄 Footer: Closing PaymentModal", reset);
|
|
1810
1810
|
setIsPaymentModalOpen(false);
|
|
@@ -1814,7 +1814,13 @@ var Footer = (props) => {
|
|
|
1814
1814
|
if (reset) {
|
|
1815
1815
|
handleClearAllAndReset();
|
|
1816
1816
|
}
|
|
1817
|
-
(_a2 = state == null ? void 0 : state.dialogCallback) == null ? void 0 : _a2.call(state, {
|
|
1817
|
+
(_a2 = state == null ? void 0 : state.dialogCallback) == null ? void 0 : _a2.call(state, {
|
|
1818
|
+
type: "paymentClose",
|
|
1819
|
+
reset,
|
|
1820
|
+
data: {
|
|
1821
|
+
order_id: options == null ? void 0 : options.order_id
|
|
1822
|
+
}
|
|
1823
|
+
});
|
|
1818
1824
|
setEditOrderId(0);
|
|
1819
1825
|
},
|
|
1820
1826
|
onSetLocalOrderId: (e) => {
|
|
@@ -25,7 +25,7 @@ interface PaymentModalProps {
|
|
|
25
25
|
onDeleteOrderNote?: () => void;
|
|
26
26
|
}
|
|
27
27
|
interface PaymentModalMainProps extends PaymentModalProps {
|
|
28
|
-
onClose?: (reset?: boolean) => void;
|
|
28
|
+
onClose?: (reset?: boolean, options?: any) => void;
|
|
29
29
|
onSetLocalOrderId?: (order_id: number) => void;
|
|
30
30
|
setEditCartMode?: (order_id: number, payData: any, closeModal: boolean) => void;
|
|
31
31
|
editOrderId?: number;
|
|
@@ -1191,7 +1191,7 @@ var PaymentModal = ({
|
|
|
1191
1191
|
const { nativePrint } = (0, import_printer.default)();
|
|
1192
1192
|
const businessCode = (0, import_OsKeyContext.useBusinessCode)();
|
|
1193
1193
|
const handleRetry = async () => {
|
|
1194
|
-
var _a2, _b2;
|
|
1194
|
+
var _a2, _b2, _c2, _d2;
|
|
1195
1195
|
const checkoutModule = pisellos == null ? void 0 : pisellos.getModule("checkout");
|
|
1196
1196
|
const res = await (checkoutModule == null ? void 0 : checkoutModule.manualSyncOrderAsync());
|
|
1197
1197
|
console.log(res);
|
|
@@ -1199,7 +1199,9 @@ var PaymentModal = ({
|
|
|
1199
1199
|
setShowRetryModal(false);
|
|
1200
1200
|
await (showSuccessToast == null ? void 0 : showSuccessToast(res));
|
|
1201
1201
|
if (((_b2 = (_a2 = res == null ? void 0 : res.response) == null ? void 0 : _a2.data) == null ? void 0 : _b2.payment_status) === "paid") {
|
|
1202
|
-
onClose == null ? void 0 : onClose(true
|
|
1202
|
+
onClose == null ? void 0 : onClose(true, {
|
|
1203
|
+
order_id: (_d2 = (_c2 = res == null ? void 0 : res.response) == null ? void 0 : _c2.data) == null ? void 0 : _d2.order_id
|
|
1204
|
+
});
|
|
1203
1205
|
}
|
|
1204
1206
|
}
|
|
1205
1207
|
};
|
|
@@ -1467,12 +1469,15 @@ var PaymentModal = ({
|
|
|
1467
1469
|
callback == null ? void 0 : callback({ ...currentPaymentResultRef.current, isCallbackFromToast: true });
|
|
1468
1470
|
}
|
|
1469
1471
|
};
|
|
1470
|
-
const handleModalClose = () => {
|
|
1472
|
+
const handleModalClose = (res) => {
|
|
1473
|
+
var _a2, _b2;
|
|
1471
1474
|
console.log("PaymentModal - Modal closing independently");
|
|
1472
|
-
onClose == null ? void 0 : onClose(true
|
|
1475
|
+
onClose == null ? void 0 : onClose(true, {
|
|
1476
|
+
order_id: (_b2 = (_a2 = res == null ? void 0 : res.response) == null ? void 0 : _a2.data) == null ? void 0 : _b2.order_id
|
|
1477
|
+
});
|
|
1473
1478
|
};
|
|
1474
1479
|
const handlePaymentCancel = (reset, notCancelOrder) => {
|
|
1475
|
-
var _a2, _b2;
|
|
1480
|
+
var _a2, _b2, _c2;
|
|
1476
1481
|
const isSyncingLocked = ((_b2 = (_a2 = paymentContentRef.current) == null ? void 0 : _a2.getSyncingLock) == null ? void 0 : _b2.call(_a2)) || false;
|
|
1477
1482
|
console.log("Payment cancelled, syncingLock:", isSyncingLocked);
|
|
1478
1483
|
if (isSyncingLocked) {
|
|
@@ -1489,7 +1494,9 @@ var PaymentModal = ({
|
|
|
1489
1494
|
callback == null ? void 0 : callback({ status: "cancelled" });
|
|
1490
1495
|
const checkout = pisellos.getModule("checkout");
|
|
1491
1496
|
checkout.cancelCurrentOrderAsync();
|
|
1492
|
-
onClose == null ? void 0 : onClose(reset || false
|
|
1497
|
+
onClose == null ? void 0 : onClose(reset || false, {
|
|
1498
|
+
order_id: (_c2 = checkout == null ? void 0 : checkout.getCurrentOrderId) == null ? void 0 : _c2.call(checkout)
|
|
1499
|
+
});
|
|
1493
1500
|
};
|
|
1494
1501
|
const handleSetEditCartMode = async (closeModal = false) => {
|
|
1495
1502
|
const checkout = pisellos.getModule("checkout");
|
|
@@ -1663,7 +1670,7 @@ var PaymentModal = ({
|
|
|
1663
1670
|
);
|
|
1664
1671
|
console.log("paymentStatus>>>>", paymentStatus);
|
|
1665
1672
|
if (paymentStatus === "paid") {
|
|
1666
|
-
handleModalClose();
|
|
1673
|
+
handleModalClose(data2);
|
|
1667
1674
|
}
|
|
1668
1675
|
const paymentResult = {
|
|
1669
1676
|
...data2,
|
|
@@ -82,9 +82,18 @@ function dedupeElementKindsByValue(kinds) {
|
|
|
82
82
|
}
|
|
83
83
|
function mergeFloorMapElementKindsWithDefaults(defaults, remote) {
|
|
84
84
|
if (!(remote == null ? void 0 : remote.length)) return defaults;
|
|
85
|
+
const defaultByValue = new Map(defaults.map((d) => [d.value, d]));
|
|
85
86
|
const base = dedupeElementKindsByValue(
|
|
86
87
|
stripConflictingImageElementKinds(remote)
|
|
87
|
-
).filter((k) => k.value !== import_materials.FLOOR_MAP_IMAGE_ELEMENT_KIND).filter((k) => !LEGACY_RESERVATION_TABLE_KIND_VALUES.has(k.value))
|
|
88
|
+
).filter((k) => k.value !== import_materials.FLOOR_MAP_IMAGE_ELEMENT_KIND).filter((k) => !LEGACY_RESERVATION_TABLE_KIND_VALUES.has(k.value)).map((k) => {
|
|
89
|
+
const d = defaultByValue.get(k.value);
|
|
90
|
+
if (!d) return k;
|
|
91
|
+
return {
|
|
92
|
+
...d,
|
|
93
|
+
...k,
|
|
94
|
+
nameAsTitleConfigurable: k.nameAsTitleConfigurable ?? d.nameAsTitleConfigurable
|
|
95
|
+
};
|
|
96
|
+
});
|
|
88
97
|
const seen = new Set(base.map((k) => k.value));
|
|
89
98
|
const out = [...base];
|
|
90
99
|
for (const d of defaults) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pisell/private-materials",
|
|
3
|
-
"version": "6.11.
|
|
3
|
+
"version": "6.11.146",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"react-resizable": "^3.0.5",
|
|
69
69
|
"styled-components": "^6.0.0-rc.3",
|
|
70
70
|
"@pisell/utils": "3.0.2",
|
|
71
|
-
"@pisell/materials": "6.11.46",
|
|
72
71
|
"@pisell/icon": "0.0.11",
|
|
72
|
+
"@pisell/materials": "6.11.46",
|
|
73
73
|
"@pisell/date-picker": "3.0.8"
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const getGroupTotalPrice: (items: any[]) => any;
|
|
2
|
-
/**
|
|
3
|
-
* @title: 创建一个虚拟的组
|
|
4
|
-
* @description:
|
|
5
|
-
* @param {any} items
|
|
6
|
-
* @return {*}
|
|
7
|
-
* @Author: zhiwei.Wang
|
|
8
|
-
*/
|
|
9
|
-
export declare const concatBookings: (items: any[]) => any;
|
|
10
|
-
export declare const createBookingItemsByGroup: (item: any, isBatchEdit?: any) => any[];
|
|
11
|
-
export declare const isGroupBooking: (_id: any) => boolean;
|
|
12
|
-
export declare const getProductByGroupId: (groupId: string, items: any[]) => any[];
|
|
13
|
-
export declare const getGroupBooking: (groupId: string, items: any[]) => any;
|
|
14
|
-
export declare const filterItemByGroupId: (groupId: string, items: any[]) => any[];
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ToBPayParams } from '../types';
|
|
3
|
-
export interface PaymentMethodsRef {
|
|
4
|
-
onPay: (type: 'eftpos' | 'mx51', params: ToBPayParams) => void;
|
|
5
|
-
}
|
|
6
|
-
export interface PaymentMethodsProps {
|
|
7
|
-
dynamicMaxHeight?: string;
|
|
8
|
-
isWebPos?: boolean;
|
|
9
|
-
}
|
|
10
|
-
declare const _default: React.ForwardRefExoticComponent<PaymentMethodsProps & React.RefAttributes<PaymentMethodsRef>>;
|
|
11
|
-
export default _default;
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
export * from './storeTypes';
|
|
2
|
-
export interface ToBPayParams {
|
|
3
|
-
source?: 'normal' | 'restore';
|
|
4
|
-
data: {
|
|
5
|
-
type?: string;
|
|
6
|
-
payMethod: {
|
|
7
|
-
id: string;
|
|
8
|
-
code: string;
|
|
9
|
-
type: string;
|
|
10
|
-
name: string;
|
|
11
|
-
};
|
|
12
|
-
params: {
|
|
13
|
-
orderId?: string | number;
|
|
14
|
-
symbol?: string;
|
|
15
|
-
amount: string;
|
|
16
|
-
surcharge?: string;
|
|
17
|
-
[key: string]: any;
|
|
18
|
-
};
|
|
19
|
-
mode: 'pay' | 'refund';
|
|
20
|
-
};
|
|
21
|
-
callback: ToBPayCallback;
|
|
22
|
-
}
|
|
23
|
-
export declare type ToBPayCallback = (res: {
|
|
24
|
-
status: string;
|
|
25
|
-
data: {
|
|
26
|
-
amount: number;
|
|
27
|
-
surPercentRate?: number;
|
|
28
|
-
surMoney?: number;
|
|
29
|
-
surcharge?: number;
|
|
30
|
-
uniquePaymentNumber?: string;
|
|
31
|
-
/**
|
|
32
|
-
* @description
|
|
33
|
-
* 支付组件返回的额外动作指令(例如:取消订单并开始新订单)
|
|
34
|
-
* PaymentModal 里会根据该字段执行对应流程。
|
|
35
|
-
*/
|
|
36
|
-
action?: 'cancel_order' | string;
|
|
37
|
-
};
|
|
38
|
-
msg?: string;
|
|
39
|
-
}) => void;
|
|
40
|
-
/**
|
|
41
|
-
* @title: 支付打开参数
|
|
42
|
-
*/
|
|
43
|
-
export interface PayOpenParams extends Omit<ToBPayParams, 'callback'> {
|
|
44
|
-
payCallback: (res: EftposPayResult | MX51PayResult) => void;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @title: eftpos支付结果
|
|
48
|
-
*/
|
|
49
|
-
export interface EftposPayResult {
|
|
50
|
-
status: 'success' | 'fail';
|
|
51
|
-
params: {
|
|
52
|
-
amount: number;
|
|
53
|
-
surPercentRate: number;
|
|
54
|
-
surMoney: number;
|
|
55
|
-
uniquePaymentNumber: string;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* @title: MX51支付结果
|
|
60
|
-
*/
|
|
61
|
-
export interface MX51PayResult {
|
|
62
|
-
result: boolean;
|
|
63
|
-
msg?: string;
|
|
64
|
-
amount: number;
|
|
65
|
-
surcharge: number;
|
|
66
|
-
uniquePaymentNumber: string;
|
|
67
|
-
nativeTxId: string;
|
|
68
|
-
action?: 'cancel_order' | string;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* @title 原生MX51支付结果
|
|
72
|
-
*/
|
|
73
|
-
export interface NativeMX51PayResult {
|
|
74
|
-
action?: 'cancel_order' | string;
|
|
75
|
-
code: string;
|
|
76
|
-
msg?: string;
|
|
77
|
-
data: {
|
|
78
|
-
amount: number;
|
|
79
|
-
surcharge: number;
|
|
80
|
-
};
|
|
81
|
-
uuid: string;
|
|
82
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import './dialog.less';
|
|
3
|
-
import { ProductDisplayPresetKey } from './components/ProductDisplayAdapter/types';
|
|
4
|
-
/**
|
|
5
|
-
* 新建模式配置,与 order_id 互斥。
|
|
6
|
-
* 外部预选好部分数据后通过此配置直接唤起卖票弹窗的新建流程。
|
|
7
|
-
*/
|
|
8
|
-
interface CreateModeConfig {
|
|
9
|
-
/** 预填充的 modalState 片段(客户、商品、日期等任意字段) */
|
|
10
|
-
initialModalState?: Record<string, any>;
|
|
11
|
-
/** 必传,决定商品类型和子类型 */
|
|
12
|
-
bookingConfigParams: Record<string, any>;
|
|
13
|
-
/** 商品展示配置,默认 'sku-list-a2' */
|
|
14
|
-
productDisplayConfig?: ProductDisplayPresetKey;
|
|
15
|
-
/** 业务编码 */
|
|
16
|
-
businessCode?: string;
|
|
17
|
-
/** 餐牌 ID 列表,存在且非空时覆盖 getProducts 的 menu_list_ids */
|
|
18
|
-
associated_menu_list_ids?: number[];
|
|
19
|
-
/**
|
|
20
|
-
* 入口订单类型意图;存在时 `formatValues` 最终将 `values.type` 设为该值(如桌位单 `table-order`)。
|
|
21
|
-
*/
|
|
22
|
-
order_type?: string;
|
|
23
|
-
}
|
|
24
|
-
interface TicketBookingDialogProps {
|
|
25
|
-
open: boolean;
|
|
26
|
-
order_id?: number;
|
|
27
|
-
onClose?: () => void;
|
|
28
|
-
callback?: (result: any) => void;
|
|
29
|
-
rulesHooks: any;
|
|
30
|
-
/** 新建模式配置,与 order_id 互斥 */
|
|
31
|
-
createModeConfig?: CreateModeConfig;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* TicketBooking dialog wrapper,支持编辑模式和新建模式。
|
|
35
|
-
*
|
|
36
|
-
* - 编辑模式:传入 order_id,拉取详情后渲染 TicketBooking。
|
|
37
|
-
* - 新建模式:传入 createModeConfig(含预填充 modalState),跳过 API 直接渲染。
|
|
38
|
-
*
|
|
39
|
-
* 两种模式互斥,优先判断 order_id。
|
|
40
|
-
*/
|
|
41
|
-
declare function TicketBookingDialog(props: TicketBookingDialogProps): JSX.Element;
|
|
42
|
-
export default TicketBookingDialog;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import 'dayjs/locale/zh-cn';
|
|
3
|
-
import 'dayjs/locale/en';
|
|
4
|
-
import 'dayjs/locale/zh-tw';
|
|
5
|
-
import type { PisellReservationProps } from './types';
|
|
6
|
-
import './PisellReservation.less';
|
|
7
|
-
/**
|
|
8
|
-
* 预约看板 Core:内置 Sales 预约列表 + 时间轴 + 平面图。
|
|
9
|
-
* 页面壳 {@link PisellReservationBookingPage} / {@link PisellVenueControlPage} / PisellVenueWallPage 通过 props 组合默认行为。
|
|
10
|
-
*/
|
|
11
|
-
export declare const PisellReservationCore: React.FC<PisellReservationProps>;
|
|
@@ -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;
|