@pisell/pisellos 0.10.56 → 0.10.57
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/dist/modules/OpenData/index.js +2 -1
- package/dist/modules/Order/index.d.ts +2 -1
- package/dist/modules/Order/index.js +118 -59
- package/dist/modules/Order/utils/weighedProduct.d.ts +12 -0
- package/dist/modules/Order/utils/weighedProduct.js +94 -0
- package/dist/modules/Order/utils.d.ts +1 -1
- package/dist/modules/Order/utils.js +9 -6
- package/dist/modules/Payment/index.d.ts +0 -5
- package/dist/modules/Payment/index.js +35 -85
- package/dist/modules/ProductList/index.js +18 -5
- package/dist/modules/ResourcePlanner/planner.js +10 -8
- package/dist/modules/Rules/index.js +16 -14
- package/dist/modules/Rules/types.d.ts +2 -0
- package/dist/server/index.js +122 -69
- package/dist/server/modules/floor-plan/index.js +34 -3
- package/dist/server/modules/payment/index.d.ts +25 -6
- package/dist/server/modules/payment/index.js +660 -133
- package/dist/server/test.json +1 -1
- package/dist/shared/receipt/customerInvoiceLanguages.d.ts +8 -0
- package/dist/shared/receipt/customerInvoiceLanguages.js +60 -0
- package/dist/shared/receipt/loadCustomerInvoiceLayout.d.ts +5 -0
- package/dist/shared/receipt/loadCustomerInvoiceLayout.js +46 -4
- package/dist/shared/receipt/small-ticket.d.ts +11 -0
- package/dist/shared/receipt/small-ticket.js +430 -255
- package/dist/shared/receipt/templateVisibility.d.ts +23 -0
- package/dist/shared/receipt/templateVisibility.js +64 -0
- package/dist/solution/BaseSales/index.d.ts +4 -2
- package/dist/solution/BaseSales/index.js +1328 -1214
- package/dist/solution/BaseSales/types.d.ts +5 -1
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +40 -25
- package/dist/solution/BaseSales/utils.js +3 -2
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +4 -1
- package/dist/solution/BookingTicket/index.js +120 -80
- package/dist/solution/OrderInvoicePreview/index.d.ts +10 -0
- package/dist/solution/OrderInvoicePreview/index.js +85 -14
- package/dist/solution/RegisterAndLogin/config.js +54 -11
- package/dist/solution/RegisterAndLogin/index.d.ts +2 -0
- package/dist/solution/RegisterAndLogin/index.js +1 -1
- package/dist/solution/RegisterAndLogin/utils.d.ts +12 -4
- package/dist/solution/RegisterAndLogin/utils.js +36 -16
- package/dist/solution/Sales/index.d.ts +2 -0
- package/dist/solution/Sales/index.js +15 -1
- package/dist/solution/ScanOrder/utils.js +3 -2
- package/dist/solution/UnifiedBookingSales/index.js +12 -13
- package/dist/solution/VenueBooking/index.d.ts +15 -2
- package/dist/solution/VenueBooking/index.js +1062 -785
- package/dist/solution/VenueBooking/types.d.ts +2 -1
- package/dist/solution/VenueBooking/types.js +1 -0
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +1 -0
- package/dist/solution/VenueBooking/utils/dateSummary.js +7 -4
- package/dist/solution/VenueBooking/utils/smartPricing.d.ts +71 -0
- package/dist/solution/VenueBooking/utils/smartPricing.js +273 -0
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +1 -0
- package/dist/solution/VenueBooking/utils/timeSlot.js +6 -3
- package/lib/modules/OpenData/index.js +2 -1
- package/lib/modules/Order/index.d.ts +2 -1
- package/lib/modules/Order/index.js +71 -11
- package/lib/modules/Order/utils/weighedProduct.d.ts +12 -0
- package/lib/modules/Order/utils/weighedProduct.js +89 -0
- package/lib/modules/Order/utils.d.ts +1 -1
- package/lib/modules/Order/utils.js +5 -3
- package/lib/modules/Payment/index.d.ts +0 -5
- package/lib/modules/Payment/index.js +3 -28
- package/lib/modules/ProductList/index.js +14 -1
- package/lib/modules/ResourcePlanner/planner.js +10 -8
- package/lib/modules/Rules/index.js +16 -14
- package/lib/modules/Rules/types.d.ts +2 -0
- package/lib/server/index.js +72 -28
- package/lib/server/modules/floor-plan/index.js +29 -1
- package/lib/server/modules/payment/index.d.ts +25 -6
- package/lib/server/modules/payment/index.js +350 -78
- package/lib/server/test.json +1 -1
- package/lib/shared/receipt/customerInvoiceLanguages.d.ts +8 -0
- package/lib/shared/receipt/customerInvoiceLanguages.js +58 -0
- package/lib/shared/receipt/loadCustomerInvoiceLayout.d.ts +5 -0
- package/lib/shared/receipt/loadCustomerInvoiceLayout.js +42 -4
- package/lib/shared/receipt/small-ticket.d.ts +11 -0
- package/lib/shared/receipt/small-ticket.js +234 -30
- package/lib/shared/receipt/templateVisibility.d.ts +23 -0
- package/lib/shared/receipt/templateVisibility.js +63 -0
- package/lib/solution/BaseSales/index.d.ts +4 -2
- package/lib/solution/BaseSales/index.js +79 -18
- package/lib/solution/BaseSales/types.d.ts +5 -1
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +24 -9
- package/lib/solution/BaseSales/utils.js +2 -1
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +4 -1
- package/lib/solution/BookingTicket/index.js +14 -2
- package/lib/solution/OrderInvoicePreview/index.d.ts +10 -0
- package/lib/solution/OrderInvoicePreview/index.js +61 -7
- package/lib/solution/RegisterAndLogin/config.js +57 -11
- package/lib/solution/RegisterAndLogin/index.d.ts +2 -0
- package/lib/solution/RegisterAndLogin/index.js +9 -1
- package/lib/solution/RegisterAndLogin/utils.d.ts +12 -4
- package/lib/solution/RegisterAndLogin/utils.js +24 -17
- package/lib/solution/Sales/index.d.ts +2 -0
- package/lib/solution/Sales/index.js +10 -1
- package/lib/solution/ScanOrder/utils.js +2 -1
- package/lib/solution/UnifiedBookingSales/index.js +5 -6
- package/lib/solution/VenueBooking/index.d.ts +15 -2
- package/lib/solution/VenueBooking/index.js +243 -96
- package/lib/solution/VenueBooking/types.d.ts +2 -1
- package/lib/solution/VenueBooking/types.js +1 -0
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +1 -0
- package/lib/solution/VenueBooking/utils/dateSummary.js +7 -4
- package/lib/solution/VenueBooking/utils/smartPricing.d.ts +71 -0
- package/lib/solution/VenueBooking/utils/smartPricing.js +224 -0
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +1 -0
- package/lib/solution/VenueBooking/utils/timeSlot.js +5 -2
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Template children are direct module members; legacy missing values stay visible. */
|
|
2
|
+
export interface InvoiceDataVisibility {
|
|
3
|
+
handover: {
|
|
4
|
+
show: boolean;
|
|
5
|
+
method: boolean;
|
|
6
|
+
fulfillmentTime: boolean;
|
|
7
|
+
};
|
|
8
|
+
customer: {
|
|
9
|
+
show: boolean;
|
|
10
|
+
name: boolean;
|
|
11
|
+
email: boolean;
|
|
12
|
+
phone: boolean;
|
|
13
|
+
};
|
|
14
|
+
card: {
|
|
15
|
+
show: boolean;
|
|
16
|
+
passTypes: ReadonlySet<string> | null;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare function invoiceSettingIsVisible(value: unknown): boolean;
|
|
20
|
+
export declare function getInvoiceTemplateModules(settings: unknown): Record<string, any>[];
|
|
21
|
+
export declare function resolveInvoiceDataVisibility(settings: unknown): InvoiceDataVisibility;
|
|
22
|
+
/** Whether an old unfiltered snapshot is unsafe for this template. */
|
|
23
|
+
export declare function requiresInvoiceDataFiltering(settings: unknown): boolean;
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
/** Template children are direct module members; legacy missing values stay visible. */
|
|
3
|
+
|
|
4
|
+
export function invoiceSettingIsVisible(value) {
|
|
5
|
+
return value !== 0 && value !== false;
|
|
6
|
+
}
|
|
7
|
+
export function getInvoiceTemplateModules(settings) {
|
|
8
|
+
var _settings$modules;
|
|
9
|
+
if (Array.isArray(settings)) return settings.filter(isRecord);
|
|
10
|
+
if (!isRecord(settings)) return [];
|
|
11
|
+
if (isRecord(settings.template_settings)) {
|
|
12
|
+
return getInvoiceTemplateModules(settings.template_settings);
|
|
13
|
+
}
|
|
14
|
+
var modules = (_settings$modules = settings.modules) !== null && _settings$modules !== void 0 ? _settings$modules : settings.module;
|
|
15
|
+
return Array.isArray(modules) ? modules.filter(isRecord) : [];
|
|
16
|
+
}
|
|
17
|
+
function isRecord(value) {
|
|
18
|
+
return !!value && _typeof(value) === 'object' && !Array.isArray(value);
|
|
19
|
+
}
|
|
20
|
+
export function resolveInvoiceDataVisibility(settings) {
|
|
21
|
+
var modules = getInvoiceTemplateModules(settings);
|
|
22
|
+
// Native templates use the first occurrence of each module.
|
|
23
|
+
var module = function module(key) {
|
|
24
|
+
return modules.find(function (item) {
|
|
25
|
+
return item.key === key;
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
var handover = module('handover');
|
|
29
|
+
var customer = module('customer');
|
|
30
|
+
var card = module('card');
|
|
31
|
+
var field = function field(config, key) {
|
|
32
|
+
var _config$key;
|
|
33
|
+
return invoiceSettingIsVisible(config === null || config === void 0 || (_config$key = config[key]) === null || _config$key === void 0 ? void 0 : _config$key.is_show);
|
|
34
|
+
};
|
|
35
|
+
var passTypes = Array.isArray(card === null || card === void 0 ? void 0 : card.pass_type) && card.pass_type.length > 0 ? new Set(card.pass_type.filter(function (tag) {
|
|
36
|
+
return typeof tag === 'string' && tag.length > 0;
|
|
37
|
+
})) : null;
|
|
38
|
+
return {
|
|
39
|
+
handover: {
|
|
40
|
+
show: invoiceSettingIsVisible(handover === null || handover === void 0 ? void 0 : handover.is_show),
|
|
41
|
+
method: field(handover, 'method'),
|
|
42
|
+
fulfillmentTime: field(handover, 'fulfillment_time')
|
|
43
|
+
},
|
|
44
|
+
customer: {
|
|
45
|
+
show: invoiceSettingIsVisible(customer === null || customer === void 0 ? void 0 : customer.is_show),
|
|
46
|
+
name: field(customer, 'name'),
|
|
47
|
+
email: field(customer, 'email'),
|
|
48
|
+
phone: field(customer, 'phone')
|
|
49
|
+
},
|
|
50
|
+
card: {
|
|
51
|
+
show: invoiceSettingIsVisible(card === null || card === void 0 ? void 0 : card.is_show),
|
|
52
|
+
passTypes: passTypes
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Whether an old unfiltered snapshot is unsafe for this template. */
|
|
58
|
+
export function requiresInvoiceDataFiltering(settings) {
|
|
59
|
+
var _resolveInvoiceDataVi = resolveInvoiceDataVisibility(settings),
|
|
60
|
+
handover = _resolveInvoiceDataVi.handover,
|
|
61
|
+
customer = _resolveInvoiceDataVi.customer,
|
|
62
|
+
card = _resolveInvoiceDataVi.card;
|
|
63
|
+
return !handover.show || !handover.method || !handover.fulfillmentTime || !customer.show || !customer.name || !customer.email || !customer.phone || !card.show || card.passTypes !== null;
|
|
64
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Module, ModuleOptions, PisellCore } from '../../types';
|
|
2
2
|
import { BaseModule } from '../../modules/BaseModule';
|
|
3
|
-
import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesSubmitSalesOrderParams, BaseSalesUpdateOrderProductQuantityParams, BaseSalesCalculateProductBookingPriceParams, BaseSalesPriceRecalculationContextChange, BaseSalesProductBookingPriceResult, BaseSalesQuotationCustomerScopeInfo, BaseSalesScanCodeResult, BaseSalesCashPaymentConfig, BaseSalesPayCashParams, BaseSalesPayCashResult, BaseSalesCommitPaymentMethodParams, BaseSalesCommitPaymentMethodResult, BaseSalesConfirmWalletPaymentResult } from './types';
|
|
3
|
+
import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesSubmitSalesOrderParams, BaseSalesUpdateOrderProductQuantityParams, BaseSalesCalculateProductBookingPriceParams, BaseSalesPriceRecalculationContextChange, BaseSalesProductBookingPriceResult, BaseSalesQuotationCustomerScopeInfo, BaseSalesScanCodeResult, BaseSalesCashPaymentOptions, BaseSalesCashPaymentConfig, BaseSalesPayCashParams, BaseSalesPayCashResult, BaseSalesCommitPaymentMethodParams, BaseSalesCommitPaymentMethodResult, BaseSalesConfirmWalletPaymentResult } from './types';
|
|
4
4
|
import { OrderModule } from '../../modules/Order';
|
|
5
5
|
import { type PickupTimingBookingInput } from '../../modules/Order/pickupTiming';
|
|
6
6
|
import type { PickupTimingAvailability, PickupTimingSelection, PickupTimingValidationResult } from '../../modules/FulfillmentTiming';
|
|
@@ -74,6 +74,7 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
|
|
|
74
74
|
private walletAssetsRefreshSequence;
|
|
75
75
|
private salesDetailHydrateQueue;
|
|
76
76
|
private serverOrderChangeUnsubscribe;
|
|
77
|
+
private paymentMethodsChangedUnsubscribe;
|
|
77
78
|
private serverOrderChangeHydrateInFlight;
|
|
78
79
|
private queuedServerOrderChanges;
|
|
79
80
|
private serverOrderChangeSyncEnabled;
|
|
@@ -105,6 +106,7 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
|
|
|
105
106
|
private drainQueuedServerOrderChanges;
|
|
106
107
|
private syncCurrentSalesDetailFromServerOrderChange;
|
|
107
108
|
private registerServerOrderChangeSync;
|
|
109
|
+
private registerPaymentMethodsChangeSync;
|
|
108
110
|
private hydrateLatestLoadedSalesDetail;
|
|
109
111
|
private hydrateOrderPaymentNames;
|
|
110
112
|
get payment(): PaymentModule | undefined;
|
|
@@ -462,7 +464,7 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
|
|
|
462
464
|
private findCashPaymentMethod;
|
|
463
465
|
private getPendingWalletPaymentAmount;
|
|
464
466
|
/** 读取现金 action 所需的支付方式、待付金额和快捷金额。 */
|
|
465
|
-
getCashPaymentConfig(): Promise<BaseSalesCashPaymentConfig>;
|
|
467
|
+
getCashPaymentConfig(options?: BaseSalesCashPaymentOptions): Promise<BaseSalesCashPaymentConfig>;
|
|
466
468
|
/**
|
|
467
469
|
* 确认足额覆盖订单的 pending Wallet 支付并提交订单。
|
|
468
470
|
*
|