@pisell/pisellos 2.2.174 → 2.2.175

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.
Files changed (162) hide show
  1. package/dist/modules/Customer/index.d.ts +0 -6
  2. package/dist/modules/Customer/index.js +83 -129
  3. package/dist/modules/Customer/types.d.ts +0 -2
  4. package/dist/modules/Discount/index.d.ts +4 -2
  5. package/dist/modules/Discount/index.js +93 -8
  6. package/dist/modules/Discount/types.d.ts +7 -1
  7. package/dist/modules/Order/index.d.ts +17 -33
  8. package/dist/modules/Order/index.js +395 -757
  9. package/dist/modules/Order/types.d.ts +17 -58
  10. package/dist/modules/Order/types.js +0 -2
  11. package/dist/modules/Order/utils.d.ts +1 -39
  12. package/dist/modules/Order/utils.js +31 -220
  13. package/dist/modules/Quotation/index.d.ts +1 -0
  14. package/dist/modules/Quotation/index.js +21 -23
  15. package/dist/modules/Rules/index.d.ts +0 -4
  16. package/dist/modules/Rules/index.js +10 -26
  17. package/dist/modules/SalesSummary/index.js +2 -4
  18. package/dist/modules/Schedule/index.js +2 -6
  19. package/dist/modules/index.d.ts +0 -1
  20. package/dist/modules/index.js +1 -2
  21. package/dist/server/index.js +6 -10
  22. package/dist/server/modules/order/utils/filterOrders.js +6 -20
  23. package/dist/server/modules/products/index.d.ts +1 -1
  24. package/dist/server/modules/products/index.js +113 -130
  25. package/dist/server/modules/schedule/index.js +6 -13
  26. package/dist/solution/BaseSales/index.d.ts +7 -53
  27. package/dist/solution/BaseSales/index.js +340 -1165
  28. package/dist/solution/BaseSales/types.d.ts +1 -67
  29. package/dist/solution/BaseSales/types.js +1 -3
  30. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +16 -68
  31. package/dist/solution/BaseSales/utils.js +8 -46
  32. package/dist/solution/BookingByStep/index.d.ts +1 -1
  33. package/dist/solution/BookingTicket/index.d.ts +1 -133
  34. package/dist/solution/BookingTicket/index.js +175 -776
  35. package/dist/solution/BookingTicket/types.d.ts +0 -2
  36. package/dist/solution/BookingTicket/types.js +0 -3
  37. package/dist/solution/ScanOrder/index.d.ts +3 -9
  38. package/dist/solution/ScanOrder/index.js +128 -231
  39. package/dist/solution/ScanOrder/utils.js +8 -46
  40. package/dist/solution/ShopDiscount/index.d.ts +1 -0
  41. package/dist/solution/ShopDiscount/index.js +23 -18
  42. package/dist/solution/VenueBooking/index.d.ts +9 -5
  43. package/dist/solution/VenueBooking/index.js +55 -103
  44. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  45. package/dist/solution/VenueBooking/utils/slotMerge.js +0 -10
  46. package/lib/modules/Customer/index.d.ts +0 -6
  47. package/lib/modules/Customer/index.js +11 -26
  48. package/lib/modules/Customer/types.d.ts +0 -2
  49. package/lib/modules/Discount/index.d.ts +4 -2
  50. package/lib/modules/Discount/index.js +63 -8
  51. package/lib/modules/Discount/types.d.ts +7 -1
  52. package/lib/modules/Order/index.d.ts +17 -33
  53. package/lib/modules/Order/index.js +148 -402
  54. package/lib/modules/Order/types.d.ts +17 -58
  55. package/lib/modules/Order/utils.d.ts +1 -39
  56. package/lib/modules/Order/utils.js +22 -198
  57. package/lib/modules/Quotation/index.d.ts +1 -0
  58. package/lib/modules/Quotation/index.js +15 -18
  59. package/lib/modules/Rules/index.d.ts +0 -4
  60. package/lib/modules/Rules/index.js +14 -22
  61. package/lib/modules/SalesSummary/index.js +2 -4
  62. package/lib/modules/Schedule/index.js +1 -3
  63. package/lib/modules/index.d.ts +0 -1
  64. package/lib/modules/index.js +1 -3
  65. package/lib/server/index.js +0 -2
  66. package/lib/server/modules/order/utils/filterOrders.js +4 -12
  67. package/lib/server/modules/products/index.d.ts +1 -1
  68. package/lib/server/modules/products/index.js +20 -30
  69. package/lib/server/modules/schedule/index.js +1 -2
  70. package/lib/solution/BaseSales/index.d.ts +7 -53
  71. package/lib/solution/BaseSales/index.js +22 -530
  72. package/lib/solution/BaseSales/types.d.ts +1 -67
  73. package/lib/solution/BaseSales/types.js +1 -3
  74. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +12 -71
  75. package/lib/solution/BaseSales/utils.js +6 -46
  76. package/lib/solution/BookingByStep/index.d.ts +1 -1
  77. package/lib/solution/BookingTicket/index.d.ts +1 -133
  78. package/lib/solution/BookingTicket/index.js +8 -349
  79. package/lib/solution/BookingTicket/types.d.ts +0 -2
  80. package/lib/solution/BookingTicket/types.js +0 -6
  81. package/lib/solution/ScanOrder/index.d.ts +3 -9
  82. package/lib/solution/ScanOrder/index.js +66 -147
  83. package/lib/solution/ScanOrder/utils.js +6 -46
  84. package/lib/solution/ShopDiscount/index.d.ts +1 -0
  85. package/lib/solution/ShopDiscount/index.js +4 -2
  86. package/lib/solution/VenueBooking/index.d.ts +9 -5
  87. package/lib/solution/VenueBooking/index.js +14 -50
  88. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  89. package/lib/solution/VenueBooking/utils/slotMerge.js +0 -10
  90. package/package.json +2 -2
  91. package/dist/modules/BookingContext/index.d.ts +0 -37
  92. package/dist/modules/BookingContext/index.js +0 -436
  93. package/dist/modules/BookingContext/types.d.ts +0 -102
  94. package/dist/modules/BookingContext/types.js +0 -51
  95. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  96. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -193
  97. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  98. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -137
  99. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
  100. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -215
  101. package/dist/modules/BookingContext/utils/flexible.d.ts +0 -28
  102. package/dist/modules/BookingContext/utils/flexible.js +0 -56
  103. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  104. package/dist/modules/BookingContext/utils/formatResourceList.js +0 -38
  105. package/dist/modules/BookingContext/utils/index.d.ts +0 -11
  106. package/dist/modules/BookingContext/utils/index.js +0 -11
  107. package/dist/modules/BookingContext/utils/noResource.d.ts +0 -13
  108. package/dist/modules/BookingContext/utils/noResource.js +0 -77
  109. package/dist/modules/BookingContext/utils/productExtend.d.ts +0 -72
  110. package/dist/modules/BookingContext/utils/productExtend.js +0 -339
  111. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  112. package/dist/modules/BookingContext/utils/resourceErrors.js +0 -74
  113. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  114. package/dist/modules/BookingContext/utils/resourceSelection.js +0 -24
  115. package/dist/modules/BookingContext/utils/resources.d.ts +0 -80
  116. package/dist/modules/BookingContext/utils/resources.js +0 -486
  117. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  118. package/dist/modules/BookingContext/utils/serviceTimes.js +0 -151
  119. package/dist/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  120. package/dist/modules/BookingContext/utils/timeSlices.js +0 -100
  121. package/dist/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  122. package/dist/modules/Order/utils/manualProductDiscount.js +0 -212
  123. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  124. package/dist/solution/BaseSales/utils/quotationPrice.js +0 -237
  125. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
  126. package/dist/solution/BookingTicket/utils/addProductDecision.js +0 -346
  127. package/lib/modules/BookingContext/index.d.ts +0 -37
  128. package/lib/modules/BookingContext/index.js +0 -297
  129. package/lib/modules/BookingContext/types.d.ts +0 -102
  130. package/lib/modules/BookingContext/types.js +0 -34
  131. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  132. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -207
  133. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  134. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -141
  135. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
  136. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -198
  137. package/lib/modules/BookingContext/utils/flexible.d.ts +0 -28
  138. package/lib/modules/BookingContext/utils/flexible.js +0 -80
  139. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  140. package/lib/modules/BookingContext/utils/formatResourceList.js +0 -50
  141. package/lib/modules/BookingContext/utils/index.d.ts +0 -11
  142. package/lib/modules/BookingContext/utils/index.js +0 -43
  143. package/lib/modules/BookingContext/utils/noResource.d.ts +0 -13
  144. package/lib/modules/BookingContext/utils/noResource.js +0 -90
  145. package/lib/modules/BookingContext/utils/productExtend.d.ts +0 -72
  146. package/lib/modules/BookingContext/utils/productExtend.js +0 -283
  147. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  148. package/lib/modules/BookingContext/utils/resourceErrors.js +0 -80
  149. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  150. package/lib/modules/BookingContext/utils/resourceSelection.js +0 -46
  151. package/lib/modules/BookingContext/utils/resources.d.ts +0 -80
  152. package/lib/modules/BookingContext/utils/resources.js +0 -377
  153. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  154. package/lib/modules/BookingContext/utils/serviceTimes.js +0 -162
  155. package/lib/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  156. package/lib/modules/BookingContext/utils/timeSlices.js +0 -124
  157. package/lib/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  158. package/lib/modules/Order/utils/manualProductDiscount.js +0 -207
  159. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  160. package/lib/solution/BaseSales/utils/quotationPrice.js +0 -277
  161. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
  162. package/lib/solution/BookingTicket/utils/addProductDecision.js +0 -318
@@ -1,11 +1,12 @@
1
1
  import { Module, PisellCore, ModuleOptions } from '../../types';
2
2
  import { BaseModule } from '../BaseModule';
3
- import { OrderModuleAPI, CommitOrderParams, UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams, CheckoutOrderParams, CancelOrderParams, ChangeBookingStatusParams } from './types';
3
+ import { OrderModuleAPI, CommitOrderParams, UpdateProductInOrderParams, CheckoutOrderParams, CancelOrderParams, ChangeBookingStatusParams } from './types';
4
4
  import { CartItem } from '../Cart/types';
5
5
  import { type SubmitPayloadEnhancer } from './utils';
6
- import type { OrderAmountSnapshot, AddProductBookingInput, OrderIdentitySnapshot, OrderPaymentSource, OrderSnapshot, OrderSyncState, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, SubmitSalesOrderParams, OrderProduct, OrderProductIdentity, OrderSummary, OrderTempOrder, OrderPaymentData, SendCustomerPayLinkParams, UpdateTempOrderCustomerInput, OrderCustomerPatch, OrderCustomerView, OrderScanCodeResult, ReplaceTempOrderOptions } from './types';
6
+ import type { OrderAmountSnapshot, AddProductBookingInput, OrderIdentitySnapshot, OrderPaymentSource, OrderSnapshot, OrderSyncState, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, SubmitSalesOrderParams, OrderProduct, OrderProductIdentity, OrderSummary, OrderTempOrder, OrderPaymentData, SendCustomerPayLinkParams, UpdateTempOrderCustomerInput, OrderCustomerPatch, OrderCustomerView } from './types';
7
7
  import type { ICustomer } from '../AccountList/types';
8
8
  import type { Discount } from '../Discount/types';
9
+ import { UnavailableReason } from '../Rules/types';
9
10
  export declare class OrderModule extends BaseModule implements Module, OrderModuleAPI {
10
11
  protected defaultName: string;
11
12
  protected defaultVersion: string;
@@ -24,7 +25,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
24
25
  * Only selected discounts get a non-zero value.
25
26
  */
26
27
  static populateSavedAmounts(productList: Array<Record<string, any>>, discountList: Array<Record<string, any>>): void;
27
- private applyProductDiscountPrices;
28
28
  constructor(name?: string, version?: string);
29
29
  initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
30
30
  /**
@@ -43,22 +43,23 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
43
43
  private createDefaultRulesHooks;
44
44
  loadDiscountConfig(params: {
45
45
  customerId: number;
46
- action?: 'create' | 'edit';
47
- orderId?: number;
48
- apply?: boolean;
49
- }): Promise<Discount[]>;
46
+ action?: 'create';
47
+ }): Promise<void>;
50
48
  getDiscountList(): Discount[];
51
- scanCode(code: string, customerId?: number): Promise<OrderScanCodeResult>;
49
+ scanCode(code: string, customerId?: number): Promise<{
50
+ isAvailable: boolean;
51
+ discountList: Discount[];
52
+ type: 'server' | 'clientCalc';
53
+ unavailableReason?: UnavailableReason;
54
+ unavailableReasonKey?: string | null;
55
+ }>;
52
56
  applyDiscount(): void;
53
57
  initTempOrder(params: {
54
58
  cacheId?: string;
55
59
  salesSummaryModuleName?: string;
56
60
  }): void;
57
- /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
58
- setEnableTempOrderPersist(_enabled: boolean): void;
59
- /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
60
- isTempOrderPersistEnabled(): boolean;
61
- /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化;草稿保存请使用 IndexedDB saveDraft。 */
61
+ private getTempOrderStorageKey;
62
+ private restoreTempOrderFromStorage;
62
63
  persistTempOrder(): void;
63
64
  private createDefaultTempOrderInstance;
64
65
  private createExternalSaleNumber;
@@ -70,7 +71,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
70
71
  getLocalOrderByOrderNumber(orderNumber: string): Promise<Record<string, any> | null>;
71
72
  getLocalOrderByExternalSaleNumber(externalSaleNumber: string): Promise<Record<string, any> | null>;
72
73
  saveDraft(): Promise<void>;
73
- private saveDraftInBackground;
74
74
  private hydrateTempOrderFromLocalRecord;
75
75
  private extractOrderIdFromSubmitResult;
76
76
  private calculatePaymentTotal;
@@ -80,7 +80,6 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
80
80
  ensureTempOrder(): OrderTempOrder;
81
81
  restoreOrder(): OrderTempOrder;
82
82
  getTempOrder(): OrderTempOrder | null;
83
- replaceTempOrder(tempOrder: OrderTempOrder, options?: ReplaceTempOrderOptions): Promise<OrderTempOrder>;
84
83
  getOrderIdentity(): OrderIdentitySnapshot | null;
85
84
  getOrderSyncState(): OrderSyncState;
86
85
  getOrderAmountSnapshot(): OrderAmountSnapshot | null;
@@ -91,27 +90,20 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
91
90
  private ensureExtend;
92
91
  private captureProductRuntime;
93
92
  private createLinkedProductAndBooking;
94
- private getBookingUniqueIdentificationNumber;
95
- private findBookingIndexByUniqueIdentificationNumber;
96
- private removeLinkedBookingsForProduct;
97
93
  private getSalesSummary;
98
94
  recalculateSummary(options?: {
99
95
  createIfMissing?: boolean;
100
96
  }): Promise<OrderSummary | null>;
101
97
  getOrderSummary(): Promise<OrderSummary>;
102
98
  updateTempOrderNote(note: string): string;
103
- updateTempOrderNote(note: string, sync: true): Promise<string>;
104
- updateTempOrderNote(note: string, sync: boolean): string | Promise<string>;
105
- syncTempOrderNoteToRemote(orderId: number | string, note: string): Promise<string>;
106
99
  getTempOrderNote(): string;
107
100
  updateTempOrderShopDiscount(amount: string | number): string;
108
101
  updateTempOrderBuzzer(buzzer: string): string;
109
102
  updateTempOrderContactsInfo(contactsInfo: Record<string, any> | null): Record<string, any> | null;
110
- private buildTempOrderCustomer;
111
103
  /**
112
104
  * 更新当前 tempOrder 的客户协议字段。
113
105
  *
114
- * PaymentModal 只需要修改订单里的客户事实;如果外部还有客户模块需要同步,
106
+ * PaymentModal 只需要修改订单里的客户字段;如果外部还有客户模块需要同步,
115
107
  * 应由调用方通过回调处理,不能把外部 UI 状态写进 tempOrder。
116
108
  */
117
109
  updateTempOrderCustomer(customer: UpdateTempOrderCustomerInput): OrderSnapshot['customer'];
@@ -156,15 +148,8 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
156
148
  private shouldMergeProductToOrder;
157
149
  addProductToOrder(product: Partial<OrderProduct> & OrderProductIdentity, booking?: AddProductBookingInput): Promise<OrderProduct[]>;
158
150
  private hasGoodPassDiscount;
159
- updateOrderProduct(params: UpdateOrderProductParams): Promise<OrderProduct[]>;
160
- updateOrderProductQuantity(params: UpdateOrderProductQuantityParams): Promise<OrderProduct[]>;
161
- updateOrderBooking(params: UpdateOrderBookingParams): any[];
151
+ updateProductInOrder(params: UpdateProductInOrderParams): Promise<OrderProduct[]>;
162
152
  removeProductFromOrder(identity: OrderProductIdentity): Promise<OrderProduct[]>;
163
- /**
164
- * 仅清空购物车行(products / bookings),不重置整单。
165
- * 用于「仅清空商品」;客户、备注、支付等协议字段保持不变。
166
- */
167
- clearOrderCartLines(): Promise<OrderTempOrder>;
168
153
  /**
169
154
  * 提交当前 Sales tempOrder。
170
155
  *
@@ -236,9 +221,8 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
236
221
  hydrateTempOrderFromRecord(record: Record<string, any>, options?: {
237
222
  recalcOnHydrate?: boolean;
238
223
  }): Promise<OrderTempOrder>;
239
- private normalizeTempOrderForRuntime;
240
224
  private normalizeHydratedOrderProduct;
241
225
  getLastOrderInfo(): Record<string, any> | undefined;
242
226
  getOrderInfo(order_id: number): Promise<any>;
243
227
  }
244
- export type { UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams, } from './types';
228
+ export type { UpdateProductInOrderParams } from './types';