@pisell/pisellos 0.0.45 → 0.0.47

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.
@@ -18,7 +18,7 @@ export declare class AccountListModule extends BaseModule implements Module {
18
18
  * @param needEmit 是否需要触发事件
19
19
  */
20
20
  private createAccountAndAdd;
21
- addAccount(account: Account): Promise<void>;
21
+ addAccount(account: Account): Promise<AccountModule>;
22
22
  updateAccount(id: string, updates: Account): Promise<void>;
23
23
  updateAccountListById(id: string | number, updates: Account): Promise<void>;
24
24
  removeAccount(id: string): Promise<void>;
@@ -33,7 +33,7 @@ export declare class AccountListModule extends BaseModule implements Module {
33
33
  * @param holders 账号信息列表
34
34
  * @param customerId 账户id
35
35
  */
36
- addHolderAccounts(holders: IHolder[], customerId: number): Promise<void>;
36
+ addHolderAccounts(holders: IHolder[], customerId: number): Promise<AccountModule[]>;
37
37
  /**
38
38
  * 获取holder类型账户列表
39
39
  * @param params
@@ -103,32 +103,36 @@ export var AccountListModule = /*#__PURE__*/function (_BaseModule) {
103
103
  value: (function () {
104
104
  var _createAccountAndAdd = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(account) {
105
105
  var needEmit,
106
+ tempAccountModule,
106
107
  accountModule,
107
108
  _args2 = arguments;
108
109
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
109
110
  while (1) switch (_context2.prev = _context2.next) {
110
111
  case 0:
111
112
  needEmit = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : true;
112
- if (!this.store.accounts.some(function (a) {
113
+ tempAccountModule = this.store.accounts.find(function (a) {
113
114
  return a.getId() === account.id;
114
- })) {
115
- _context2.next = 3;
115
+ }); // 如果账号已经存在,则直接返回
116
+ if (!tempAccountModule) {
117
+ _context2.next = 4;
116
118
  break;
117
119
  }
118
- return _context2.abrupt("return");
119
- case 3:
120
+ return _context2.abrupt("return", tempAccountModule);
121
+ case 4:
120
122
  this.store.accountList.push(account);
121
123
  accountModule = new AccountModule("account_".concat(account.id));
122
124
  this.core.registerModule(accountModule);
123
125
  accountModule.setAccountInfo(account);
124
126
  this.store.accounts = [].concat(_toConsumableArray(this.store.accounts || []), [accountModule]);
125
127
  if (!needEmit) {
126
- _context2.next = 11;
128
+ _context2.next = 12;
127
129
  break;
128
130
  }
129
- _context2.next = 11;
131
+ _context2.next = 12;
130
132
  return this.core.effects.emit(AccountListHooks.OnAccountListUpdate, this.store);
131
- case 11:
133
+ case 12:
134
+ return _context2.abrupt("return", accountModule);
135
+ case 13:
132
136
  case "end":
133
137
  return _context2.stop();
134
138
  }
@@ -143,7 +147,7 @@ export var AccountListModule = /*#__PURE__*/function (_BaseModule) {
143
147
  key: "addAccount",
144
148
  value: function () {
145
149
  var _addAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(account) {
146
- var accountModule;
150
+ var currentAccountModule, accountModule;
147
151
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
148
152
  while (1) switch (_context3.prev = _context3.next) {
149
153
  case 0:
@@ -156,6 +160,9 @@ export var AccountListModule = /*#__PURE__*/function (_BaseModule) {
156
160
  _context3.next = 6;
157
161
  break;
158
162
  }
163
+ currentAccountModule = this.store.accounts.find(function (n) {
164
+ return n.getId() === account.id;
165
+ });
159
166
  throw new Error("Account with id ".concat(account.id, " already exists"));
160
167
  case 6:
161
168
  this.store.accountList.push(account);
@@ -166,27 +173,28 @@ export var AccountListModule = /*#__PURE__*/function (_BaseModule) {
166
173
  if (this.store.accounts.length === 1) {
167
174
  this.setActiveAccount(accountModule.getId());
168
175
  }
169
- _context3.next = 14;
176
+ currentAccountModule = accountModule;
177
+ _context3.next = 15;
170
178
  return this.core.effects.emit(AccountListHooks.OnAccountListUpdate, this.store);
171
- case 14:
172
- _context3.next = 22;
179
+ case 15:
180
+ _context3.next = 23;
173
181
  break;
174
- case 16:
175
- _context3.prev = 16;
182
+ case 17:
183
+ _context3.prev = 17;
176
184
  _context3.t0 = _context3["catch"](0);
177
185
  console.error(_context3.t0);
178
186
  this.store.error = _context3.t0 instanceof Error ? _context3.t0.message : 'Failed to add account';
179
- _context3.next = 22;
187
+ _context3.next = 23;
180
188
  return this.core.effects.emit(AccountListHooks.OnAccountListError, this.store.error);
181
- case 22:
182
- _context3.prev = 22;
189
+ case 23:
190
+ _context3.prev = 23;
183
191
  this.store.isLoading = false;
184
- return _context3.finish(22);
185
- case 25:
192
+ return _context3.abrupt("return", currentAccountModule);
193
+ case 27:
186
194
  case "end":
187
195
  return _context3.stop();
188
196
  }
189
- }, _callee3, this, [[0, 16, 22, 25]]);
197
+ }, _callee3, this, [[0, 17, 23, 27]]);
190
198
  }));
191
199
  function addAccount(_x4) {
192
200
  return _addAccount.apply(this, arguments);
@@ -424,44 +432,50 @@ export var AccountListModule = /*#__PURE__*/function (_BaseModule) {
424
432
  key: "addHolderAccounts",
425
433
  value: (function () {
426
434
  var _addHolderAccounts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(holders, customerId) {
427
- var _iterator, _step, holder, account;
435
+ var accountModules, _iterator, _step, holder, account, accountModule;
428
436
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
429
437
  while (1) switch (_context8.prev = _context8.next) {
430
438
  case 0:
439
+ accountModules = [];
431
440
  _iterator = _createForOfIteratorHelper(holders);
432
- _context8.prev = 1;
441
+ _context8.prev = 2;
433
442
  _iterator.s();
434
- case 3:
443
+ case 4:
435
444
  if ((_step = _iterator.n()).done) {
436
- _context8.next = 10;
445
+ _context8.next = 13;
437
446
  break;
438
447
  }
439
448
  holder = _step.value;
440
449
  account = createHolderAccount(holder, customerId);
441
- _context8.next = 8;
450
+ _context8.next = 9;
442
451
  return this.createAccountAndAdd(account, false);
443
- case 8:
444
- _context8.next = 3;
452
+ case 9:
453
+ accountModule = _context8.sent;
454
+ accountModules.push(accountModule);
455
+ case 11:
456
+ _context8.next = 4;
445
457
  break;
446
- case 10:
447
- _context8.next = 15;
458
+ case 13:
459
+ _context8.next = 18;
448
460
  break;
449
- case 12:
450
- _context8.prev = 12;
451
- _context8.t0 = _context8["catch"](1);
452
- _iterator.e(_context8.t0);
453
461
  case 15:
454
462
  _context8.prev = 15;
455
- _iterator.f();
456
- return _context8.finish(15);
463
+ _context8.t0 = _context8["catch"](2);
464
+ _iterator.e(_context8.t0);
457
465
  case 18:
458
- _context8.next = 20;
466
+ _context8.prev = 18;
467
+ _iterator.f();
468
+ return _context8.finish(18);
469
+ case 21:
470
+ _context8.next = 23;
459
471
  return this.core.effects.emit(AccountListHooks.OnAccountListUpdate, this.store);
460
- case 20:
472
+ case 23:
473
+ return _context8.abrupt("return", accountModules);
474
+ case 24:
461
475
  case "end":
462
476
  return _context8.stop();
463
477
  }
464
- }, _callee8, this, [[1, 12, 15, 18]]);
478
+ }, _callee8, this, [[2, 15, 18, 21]]);
465
479
  }));
466
480
  function addHolderAccounts(_x10, _x11) {
467
481
  return _addHolderAccounts.apply(this, arguments);
@@ -58,7 +58,7 @@ export declare class CartModule extends BaseModule implements Module, CartModule
58
58
  /**
59
59
  * 清除购物车商品中的信息
60
60
  */
61
- deleteCartItemInfo(types: 'resource' | 'time'): void;
61
+ deleteCartItemInfo(types: 'resource' | 'time' | 'relationForms'): void;
62
62
  /**
63
63
  * 清除购物车
64
64
  */
@@ -22,7 +22,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
22
22
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
23
23
  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); }
24
24
  import { BaseModule } from "../BaseModule";
25
- import { createCartItemOrigin, deleteResourceFromCartItem, deleteTimeFromCartItem, formatAccountToCartItem, formatDateToCartItem, formatDiscountToCartItem, formatNoteToCartItem, formatProductToCartItem, formatResourceToCartItem, getUniqueId } from "./utils";
25
+ import { createCartItemOrigin, deleteRelationFormsFromCartItem, deleteResourceFromCartItem, deleteTimeFromCartItem, formatAccountToCartItem, formatDateToCartItem, formatDiscountToCartItem, formatNoteToCartItem, formatProductToCartItem, formatRelationFormsToCartItem, formatResourceToCartItem, getUniqueId } from "./utils";
26
26
  import { cloneDeep } from 'lodash-es';
27
27
  export * from "./types";
28
28
 
@@ -122,6 +122,7 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
122
122
  };
123
123
  if (product) {
124
124
  cartItem._productOrigin = cloneDeep(product);
125
+ cartItem._productInit = cloneDeep(product);
125
126
  cartItem = formatProductToCartItem({
126
127
  cartItem: cartItem,
127
128
  product: product,
@@ -216,7 +217,8 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
216
217
  discounts = params.discounts,
217
218
  resources = params.resources,
218
219
  note = params.note,
219
- date = params.date;
220
+ date = params.date,
221
+ relationForms = params.relationForms;
220
222
  var tempCartItem = this.store.list.find(function (i) {
221
223
  return i._id === _id;
222
224
  });
@@ -251,6 +253,12 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
251
253
  resources: resources
252
254
  });
253
255
  }
256
+ if (relationForms) {
257
+ tempCartItem = formatRelationFormsToCartItem({
258
+ cartItem: tempCartItem,
259
+ relationForms: relationForms
260
+ });
261
+ }
254
262
  if (date) {
255
263
  tempCartItem = formatDateToCartItem({
256
264
  cartItem: tempCartItem,
@@ -374,6 +382,9 @@ export var CartModule = /*#__PURE__*/function (_BaseModule) {
374
382
  } else if (types === 'time') {
375
383
  // 清除购物车商品中的时间信息
376
384
  item = deleteTimeFromCartItem(item);
385
+ } else if (types === 'relationForms') {
386
+ // 清除购物车商品中的关联表单信息
387
+ item = deleteRelationFormsFromCartItem(item);
377
388
  }
378
389
  return item;
379
390
  });
@@ -96,16 +96,16 @@ export interface CartItem {
96
96
  title: string;
97
97
  }[];
98
98
  } | null;
99
- /** 原始数据 */
99
+ /** 接口原始数据 */
100
100
  _origin: any;
101
+ /** 商品加入购物车时初始数据 */
102
+ _productInit?: ProductData;
101
103
  /** 商品原始数据 */
102
104
  _productOrigin?: ProductData;
103
105
  /** 资源原始数据 */
104
106
  _resourceOrigin?: Resource[];
105
107
  /** 容量 */
106
108
  capacity?: any;
107
- /** 商品套餐 */
108
- product_bundle?: any;
109
109
  }
110
110
  /**
111
111
  * 购物车状态接口
@@ -162,6 +162,13 @@ export interface IUpdateItemParams {
162
162
  /** 结束时间 */
163
163
  endTime: string;
164
164
  };
165
+ /** 关联表单 */
166
+ relationForms?: {
167
+ /** 关联表单ID */
168
+ form_id: number[];
169
+ /** 关联表单记录ID */
170
+ form_record_ids: number[];
171
+ }[];
165
172
  }
166
173
  /**
167
174
  * 折扣
@@ -90,6 +90,25 @@ export declare const formatResourceToCartItemOrigin: (params: {
90
90
  cartItem: CartItem;
91
91
  resources: Resource[];
92
92
  }) => any;
93
+ /**
94
+ * 格式化关联表单到购物车
95
+ * @param params 参数
96
+ * @returns 格式化后的购物车
97
+ */
98
+ export declare const formatRelationFormsToCartItem: (params: {
99
+ cartItem: CartItem;
100
+ relationForms: {
101
+ form_id: number[];
102
+ form_record_ids: number[];
103
+ }[];
104
+ }) => CartItem;
105
+ export declare const formatRelationFormsToCartItemOrigin: (params: {
106
+ cartItem: CartItem;
107
+ relationForms: {
108
+ form_id: number[];
109
+ form_record_ids: number[];
110
+ }[];
111
+ }) => any;
93
112
  /**
94
113
  * 格式化日期到购物车
95
114
  * @param date 开始时间和结束时间
@@ -114,18 +133,6 @@ export declare const formatDateToCartItemOrigin: (params: {
114
133
  endTime: string;
115
134
  };
116
135
  }) => any;
117
- /**
118
- * 从购物车中删除资源相关信息
119
- * @param cartItem 购物车
120
- * @returns 删除后的购物车
121
- */
122
- export declare const deleteResourceFromCartItem: (cartItem: CartItem) => CartItem;
123
- /**
124
- * 从购物车中删除时间
125
- * @param cartItem 购物车
126
- * @returns 删除后的购物车
127
- */
128
- export declare const deleteTimeFromCartItem: (cartItem: CartItem) => CartItem;
129
136
  /**
130
137
  * 格式化备注到购物车
131
138
  * @param params 参数
@@ -226,3 +233,21 @@ export declare const handleProductDeposit: (params: {
226
233
  depositTotal: Decimal;
227
234
  result: boolean;
228
235
  };
236
+ /**
237
+ * 从购物车中删除资源相关信息
238
+ * @param cartItem 购物车
239
+ * @returns 删除后的购物车
240
+ */
241
+ export declare const deleteResourceFromCartItem: (cartItem: CartItem) => CartItem;
242
+ /**
243
+ * 从购物车中删除时间
244
+ * @param cartItem 购物车
245
+ * @returns 删除后的购物车
246
+ */
247
+ export declare const deleteTimeFromCartItem: (cartItem: CartItem) => CartItem;
248
+ /**
249
+ * 从购物车中删除关联表单信息
250
+ * @param cartItem 购物车
251
+ * @returns 删除后的购物车
252
+ */
253
+ export declare const deleteRelationFormsFromCartItem: (cartItem: CartItem) => CartItem;
@@ -307,6 +307,25 @@ export var formatResourceToCartItemOrigin = function formatResourceToCartItemOri
307
307
  return origin;
308
308
  };
309
309
 
310
+ /**
311
+ * 格式化关联表单到购物车
312
+ * @param params 参数
313
+ * @returns 格式化后的购物车
314
+ */
315
+ export var formatRelationFormsToCartItem = function formatRelationFormsToCartItem(params) {
316
+ var cartItem = params.cartItem;
317
+ var oringin = formatRelationFormsToCartItemOrigin(params);
318
+ cartItem._origin = oringin;
319
+ return cartItem;
320
+ };
321
+ export var formatRelationFormsToCartItemOrigin = function formatRelationFormsToCartItemOrigin(params) {
322
+ var cartItem = params.cartItem,
323
+ relationForms = params.relationForms;
324
+ var origin = cartItem._origin;
325
+ origin.relation_forms = relationForms;
326
+ return origin;
327
+ };
328
+
310
329
  /**
311
330
  * 格式化日期到购物车
312
331
  * @param date 开始时间和结束时间
@@ -341,54 +360,6 @@ export var formatDateToCartItemOrigin = function formatDateToCartItemOrigin(para
341
360
  return origin;
342
361
  };
343
362
 
344
- /**
345
- * 从购物车中删除资源相关信息
346
- * @param cartItem 购物车
347
- * @returns 删除后的购物车
348
- */
349
- export var deleteResourceFromCartItem = function deleteResourceFromCartItem(cartItem) {
350
- // 删除UI层的数据
351
- cartItem.resource_id = undefined;
352
- cartItem.relation_form_name = undefined;
353
- cartItem.start_date = undefined;
354
- cartItem.start_time = undefined;
355
- cartItem.end_date = undefined;
356
- cartItem.end_time = undefined;
357
-
358
- // 删除资源原始数据
359
- delete cartItem._resourceOrigin;
360
-
361
- // 删除原始数据
362
- cartItem._origin.resources = null;
363
- cartItem._origin.select_date = null;
364
- cartItem._origin.start_date = null;
365
- cartItem._origin.start_time = null;
366
- cartItem._origin.end_date = null;
367
- cartItem._origin.end_time = null;
368
- return cartItem;
369
- };
370
-
371
- /**
372
- * 从购物车中删除时间
373
- * @param cartItem 购物车
374
- * @returns 删除后的购物车
375
- */
376
- export var deleteTimeFromCartItem = function deleteTimeFromCartItem(cartItem) {
377
- // 删除UI层的数据
378
- cartItem.start_date = undefined;
379
- cartItem.start_time = undefined;
380
- cartItem.end_date = undefined;
381
- cartItem.end_time = undefined;
382
-
383
- // 删除原始数据
384
- cartItem._origin.select_date = null;
385
- cartItem._origin.start_date = null;
386
- cartItem._origin.start_time = null;
387
- cartItem._origin.end_date = null;
388
- cartItem._origin.end_time = null;
389
- return cartItem;
390
- };
391
-
392
363
  /**
393
364
  * 格式化备注到购物车
394
365
  * @param params 参数
@@ -642,4 +613,63 @@ export var handleProductDeposit = function handleProductDeposit(params) {
642
613
  result: false,
643
614
  depositTotal: new Decimal(0)
644
615
  };
616
+ };
617
+
618
+ /**
619
+ * 从购物车中删除资源相关信息
620
+ * @param cartItem 购物车
621
+ * @returns 删除后的购物车
622
+ */
623
+ export var deleteResourceFromCartItem = function deleteResourceFromCartItem(cartItem) {
624
+ // 删除UI层的数据
625
+ cartItem.resource_id = undefined;
626
+ cartItem.relation_form_name = undefined;
627
+ cartItem.start_date = undefined;
628
+ cartItem.start_time = undefined;
629
+ cartItem.end_date = undefined;
630
+ cartItem.end_time = undefined;
631
+
632
+ // 删除资源原始数据
633
+ delete cartItem._resourceOrigin;
634
+
635
+ // 删除原始数据
636
+ cartItem._origin.resources = null;
637
+ cartItem._origin.select_date = null;
638
+ cartItem._origin.start_date = null;
639
+ cartItem._origin.start_time = null;
640
+ cartItem._origin.end_date = null;
641
+ cartItem._origin.end_time = null;
642
+ return cartItem;
643
+ };
644
+
645
+ /**
646
+ * 从购物车中删除时间
647
+ * @param cartItem 购物车
648
+ * @returns 删除后的购物车
649
+ */
650
+ export var deleteTimeFromCartItem = function deleteTimeFromCartItem(cartItem) {
651
+ // 删除UI层的数据
652
+ cartItem.start_date = undefined;
653
+ cartItem.start_time = undefined;
654
+ cartItem.end_date = undefined;
655
+ cartItem.end_time = undefined;
656
+
657
+ // 删除原始数据
658
+ cartItem._origin.select_date = null;
659
+ cartItem._origin.start_date = null;
660
+ cartItem._origin.start_time = null;
661
+ cartItem._origin.end_date = null;
662
+ cartItem._origin.end_time = null;
663
+ return cartItem;
664
+ };
665
+
666
+ /**
667
+ * 从购物车中删除关联表单信息
668
+ * @param cartItem 购物车
669
+ * @returns 删除后的购物车
670
+ */
671
+ export var deleteRelationFormsFromCartItem = function deleteRelationFormsFromCartItem(cartItem) {
672
+ // 删除原始数据
673
+ cartItem._origin.relation_forms = null;
674
+ return cartItem;
645
675
  };
@@ -2,7 +2,7 @@ import { Module, PisellCore } from '../../types';
2
2
  import { BaseModule } from '../../modules/BaseModule';
3
3
  import { Response } from '../../plugins';
4
4
  import { BookingByStepState } from './types';
5
- import { CartItem, IUpdateItemParams, ProductData } from '../../modules';
5
+ import { CartItem, IUpdateItemParams, ProductData, ProductResourceItem } from '../../modules';
6
6
  import { Account } from '../../modules/Account/types';
7
7
  import { IStep } from '../../modules/Step/tyeps';
8
8
  import { TimeSliceItem } from './utils/resources';
@@ -52,10 +52,14 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
52
52
  custom_page_id?: number;
53
53
  }): Promise<ITime[]>;
54
54
  storeProduct(productData: ProductData): Promise<void>;
55
- addAccount(accounts: Account[] | IHolder[], extra?: {
55
+ addAccount(account: Account | IHolder, extra?: {
56
56
  type: 'account' | 'holder';
57
57
  customerId: number;
58
- }): Promise<void>;
58
+ }): Promise<Account | null>;
59
+ addAccounts(accounts: Account[] | IHolder[], extra?: {
60
+ type: 'account' | 'holder';
61
+ customerId: number;
62
+ }): Promise<Account[] | undefined>;
59
63
  getAccounts(): Promise<(Account | null)[]>;
60
64
  checkHasLoginAccount(): boolean;
61
65
  setActiveAccount(id: string): void;
@@ -71,6 +75,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
71
75
  getDateRange(): Promise<ITime[]>;
72
76
  getCart(): CartItem[];
73
77
  getAvailableDate(params?: {
78
+ url?: string;
74
79
  products?: ProductData[];
75
80
  startDate?: string;
76
81
  endDate?: string;
@@ -122,7 +127,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
122
127
  /**
123
128
  * 从购物车中按类别删除信息
124
129
  */
125
- deleteCartItemInfo(types: 'resource' | 'time'): void;
130
+ deleteCartItemInfo(types: 'resource' | 'time' | 'relationForms'): void;
126
131
  destroy(): void;
127
132
  getResourcesList(): any[];
128
133
  getResourcesListByCartItem(id: string | number): {
@@ -172,9 +177,10 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
172
177
  private getScheduleDataByIds;
173
178
  openProductDetail(productId: number): Promise<void>;
174
179
  closeProductDetail(): void;
175
- getTimeslotBySchedule({ date, scheduleIds, }: {
180
+ getTimeslotBySchedule({ date, scheduleIds, resources, }: {
176
181
  date: string;
177
- scheduleIds: number[];
182
+ scheduleIds?: number[];
183
+ resources?: ProductResourceItem[];
178
184
  }): {
179
185
  start_time: string;
180
186
  end_time: string;