@posx/core 5.5.111 → 5.5.113

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2019 Francisco Hodge
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Francisco Hodge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,85 +1,85 @@
1
- # 第一阶段
2
- - 1. 创建,更新,删除都是通过 -> Http API
3
- - 2. 读取是通过本地数据库 -> 本地, (例外:订单从云端读取)
4
-
5
- # 第二阶段 (单机版)
6
- 1. 创建,更新,删除,读取都通过本地数据库,然后进行数据和云端同步(Web Worker)
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
- <div align="center">
19
- <img align="center" width="230" src="https://i.imgur.com/iHgtvmg.png" />
20
- <h2>Typescript Library Boilerplate Basic</h2>
21
- <blockquote>Minimal Library Starter Kit for your Typescript projects</blockquote>
22
-
23
- <a href="https://www.npmjs.com/package/@hodgef/ts-library-boilerplate-basic"><img src="https://badgen.net/npm/v/@hodgef/ts-library-boilerplate-basic?color=blue" alt="npm version"></a> <a href="https://github.com/hodgef/ts-library-boilerplate"><img src="https://img.shields.io/github/last-commit/hodgef/ts-library-boilerplate" alt="latest commit"></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"><img alt="Build Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Build/badge.svg?color=green" /></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"> <img alt="Publish Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Publish/badge.svg?color=green" /></a>
24
-
25
- <strong>For a plain Javascript alternative, check out [js-library-boilerplate-basic](https://github.com/hodgef/js-library-boilerplate-basic).</strong>
26
-
27
- </div>
28
-
29
- ## ⭐️ Features
30
-
31
- - Webpack 5
32
- - Babel 7
33
- - Hot reloading (`npm start`)
34
- - Automatic Types file generation (index.d.ts)
35
- - UMD exports, so your library works everywhere.
36
- - Jest unit testing
37
- - Customizable file headers for your build [(Example 1)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/index.js) [(Example2)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/css/index.css)
38
- - Daily [dependabot](https://dependabot.com) dependency updates
39
-
40
- ## 📦 Getting Started
41
-
42
- ```
43
- git clone https://github.com/hodgef/ts-library-boilerplate-basic.git myLibrary
44
- npm install
45
- ```
46
-
47
- ## 💎 Customization
48
-
49
- > Before shipping, make sure to:
50
-
51
- 1. Edit `LICENSE` file
52
- 2. Edit `package.json` information (These will be used to generate the headers for your built files)
53
- 3. Edit `library: "MyLibrary"` with your library's export name in `./webpack.config.js`
54
-
55
- ## 🚀 Deployment
56
-
57
- 1. `npm publish`
58
- 2. Your users can include your library as usual
59
-
60
- ### npm
61
-
62
- ```
63
- import MyLibrary from 'my-library';
64
- const libraryInstance = new MyLibrary();
65
- ...
66
- ```
67
-
68
- ### self-host/cdn
69
-
70
- ```
71
- <script src="build/index.js"></script>
72
-
73
- const MyLibrary = window.MyLibrary.default;
74
- const libraryInstance = new MyLibrary();
75
- ...
76
- ```
77
-
78
- ## ✅ Libraries built with this boilerplate
79
-
80
- > Made a library using this starter kit? Share it here by [submitting a pull request](https://github.com/hodgef/ts-library-boilerplate-basic/pulls)!
81
-
82
- - [simple-keyboard](https://github.com/hodgef/simple-keyboard) - Javascript Virtual Keyboard
83
- - [react-simple-keyboard](https://github.com/hodgef/react-simple-keyboard) - React Virtual Keyboard
84
- - [simple-keyboard-layouts](https://github.com/hodgef/simple-keyboard-layouts) - Keyboard layouts for simple-keyboard
85
- - [atlas-monaco](https://github.com/datdao/atlas-monaco) - AtlasHCL for monaco editor
1
+ # 第一阶段
2
+ - 1. 创建,更新,删除都是通过 -> Http API
3
+ - 2. 读取是通过本地数据库 -> 本地, (例外:订单从云端读取)
4
+
5
+ # 第二阶段 (单机版)
6
+ 1. 创建,更新,删除,读取都通过本地数据库,然后进行数据和云端同步(Web Worker)
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ <div align="center">
19
+ <img align="center" width="230" src="https://i.imgur.com/iHgtvmg.png" />
20
+ <h2>Typescript Library Boilerplate Basic</h2>
21
+ <blockquote>Minimal Library Starter Kit for your Typescript projects</blockquote>
22
+
23
+ <a href="https://www.npmjs.com/package/@hodgef/ts-library-boilerplate-basic"><img src="https://badgen.net/npm/v/@hodgef/ts-library-boilerplate-basic?color=blue" alt="npm version"></a> <a href="https://github.com/hodgef/ts-library-boilerplate"><img src="https://img.shields.io/github/last-commit/hodgef/ts-library-boilerplate" alt="latest commit"></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"><img alt="Build Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Build/badge.svg?color=green" /></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"> <img alt="Publish Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Publish/badge.svg?color=green" /></a>
24
+
25
+ <strong>For a plain Javascript alternative, check out [js-library-boilerplate-basic](https://github.com/hodgef/js-library-boilerplate-basic).</strong>
26
+
27
+ </div>
28
+
29
+ ## ⭐️ Features
30
+
31
+ - Webpack 5
32
+ - Babel 7
33
+ - Hot reloading (`npm start`)
34
+ - Automatic Types file generation (index.d.ts)
35
+ - UMD exports, so your library works everywhere.
36
+ - Jest unit testing
37
+ - Customizable file headers for your build [(Example 1)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/index.js) [(Example2)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/css/index.css)
38
+ - Daily [dependabot](https://dependabot.com) dependency updates
39
+
40
+ ## 📦 Getting Started
41
+
42
+ ```
43
+ git clone https://github.com/hodgef/ts-library-boilerplate-basic.git myLibrary
44
+ npm install
45
+ ```
46
+
47
+ ## 💎 Customization
48
+
49
+ > Before shipping, make sure to:
50
+
51
+ 1. Edit `LICENSE` file
52
+ 2. Edit `package.json` information (These will be used to generate the headers for your built files)
53
+ 3. Edit `library: "MyLibrary"` with your library's export name in `./webpack.config.js`
54
+
55
+ ## 🚀 Deployment
56
+
57
+ 1. `npm publish`
58
+ 2. Your users can include your library as usual
59
+
60
+ ### npm
61
+
62
+ ```
63
+ import MyLibrary from 'my-library';
64
+ const libraryInstance = new MyLibrary();
65
+ ...
66
+ ```
67
+
68
+ ### self-host/cdn
69
+
70
+ ```
71
+ <script src="build/index.js"></script>
72
+
73
+ const MyLibrary = window.MyLibrary.default;
74
+ const libraryInstance = new MyLibrary();
75
+ ...
76
+ ```
77
+
78
+ ## ✅ Libraries built with this boilerplate
79
+
80
+ > Made a library using this starter kit? Share it here by [submitting a pull request](https://github.com/hodgef/ts-library-boilerplate-basic/pulls)!
81
+
82
+ - [simple-keyboard](https://github.com/hodgef/simple-keyboard) - Javascript Virtual Keyboard
83
+ - [react-simple-keyboard](https://github.com/hodgef/react-simple-keyboard) - React Virtual Keyboard
84
+ - [simple-keyboard-layouts](https://github.com/hodgef/simple-keyboard-layouts) - Keyboard layouts for simple-keyboard
85
+ - [atlas-monaco](https://github.com/datdao/atlas-monaco) - AtlasHCL for monaco editor
package/build/index.d.ts CHANGED
@@ -32,6 +32,17 @@ declare module '@posx/core/index' {
32
32
  export * from '@posx/core/types/condition.type';
33
33
  export * from '@posx/core/types/merchant.type';
34
34
 
35
+ }
36
+ declare module '@posx/core/libs/FindOptions' {
37
+ export const Include: (query?: string) => (val: any) => any;
38
+ export const In: (query?: never[]) => (val: never) => boolean;
39
+ export const Between: (begin: number, end: number) => (val: number) => boolean;
40
+ export const Not: (query?: any) => (val: any, values: any) => boolean;
41
+ export const Raw: (fn: any) => any;
42
+ export const filterByParams: (params: {
43
+ [key: string]: any;
44
+ }) => (values: any) => boolean;
45
+
35
46
  }
36
47
  declare module '@posx/core/libs/electron.socket' {
37
48
  export class ElectronSocket {
@@ -247,17 +258,6 @@ declare module '@posx/core/libs/escpos.printer' {
247
258
  items: IPrintCommandLine[];
248
259
  }
249
260
 
250
- }
251
- declare module '@posx/core/libs/FindOptions' {
252
- export const Include: (query?: string) => (val: any) => any;
253
- export const In: (query?: never[]) => (val: never) => boolean;
254
- export const Between: (begin: number, end: number) => (val: number) => boolean;
255
- export const Not: (query?: any) => (val: any, values: any) => boolean;
256
- export const Raw: (fn: any) => any;
257
- export const filterByParams: (params: {
258
- [key: string]: any;
259
- }) => (values: any) => boolean;
260
-
261
261
  }
262
262
  declare module '@posx/core/service.factory' {
263
263
  import { IServiceOptions } from '@posx/core/types/misc.type';
@@ -912,6 +912,12 @@ declare module '@posx/core/services/app.service' {
912
912
  printReport(request: IReportRequest): Promise<void>;
913
913
  private getReportData;
914
914
  processReportInvoicesData(reportData: IReportData, invoices?: IInvoice[]): IReportData;
915
+ /**
916
+ * 生成唯一的菜品key
917
+ * 格式: 菜品uid-modifier1:modifier1.quantity-modifier2:modifier2.quantity-modifier3:modifier3.quantity
918
+ * 修饰符按uid排序,去除相同菜品不同modifier顺序的影响
919
+ */
920
+ private generateItemKey;
915
921
  }
916
922
  export type IPrintJobService = IAppRemoteService<IPrintJob> & {
917
923
  /**
@@ -4199,6 +4205,7 @@ declare module '@posx/core/types/product.type' {
4199
4205
  declare module '@posx/core/types/report.type' {
4200
4206
  import { IAppBase, IAppCoreModel, AppCoreModel } from '@posx/core/types/abstract.type';
4201
4207
  import { IConfig } from '@posx/core/types/config.type';
4208
+ import { IItem } from '@posx/core/types/product.type';
4202
4209
  export type IReportCategory = IAppBase & {
4203
4210
  reports: IReport[];
4204
4211
  };
@@ -4275,6 +4282,9 @@ declare module '@posx/core/types/report.type' {
4275
4282
  drawer_summary: IDrawerSummary;
4276
4283
  payments_summary: IPaymentSummary[];
4277
4284
  loyalty_program_summary: ILoyaltyProgramSummary;
4285
+ item_sales_summary: TItemSalesSummary[];
4286
+ item_sales_summary_total: number;
4287
+ item_sales_summary_total_count: number;
4278
4288
  config: IConfig;
4279
4289
  };
4280
4290
  export class ReportData implements IReportData {
@@ -4282,10 +4292,14 @@ declare module '@posx/core/types/report.type' {
4282
4292
  humanized_start_datetime: string;
4283
4293
  end_datetime: string;
4284
4294
  humanized_end_datetime: string;
4295
+ humanized_printed_datetime: string;
4285
4296
  sales_summary: SalesSummary;
4286
4297
  drawer_summary: DrawerSummary;
4287
4298
  payments_summary: PaymentSummary[];
4288
4299
  loyalty_program_summary: LoyaltyProgramSummary;
4300
+ item_sales_summary: ItemSalesSummary[];
4301
+ item_sales_summary_total: number;
4302
+ item_sales_summary_total_count: number;
4289
4303
  config: IConfig;
4290
4304
  }
4291
4305
  export type ISalesSummary = {
@@ -4382,6 +4396,20 @@ declare module '@posx/core/types/report.type' {
4382
4396
  minus_point_total: number;
4383
4397
  minus_point_count: number;
4384
4398
  }
4399
+ export type TItemCoreSalesSummary = {
4400
+ item: IItem;
4401
+ quantity: number;
4402
+ total_amount: number;
4403
+ };
4404
+ export type TItemSalesSummary = TItemCoreSalesSummary & {
4405
+ modifiers?: TItemCoreSalesSummary[];
4406
+ };
4407
+ export class ItemSalesSummary implements TItemSalesSummary {
4408
+ item: IItem;
4409
+ quantity: number;
4410
+ total_amount: number;
4411
+ modifiers: TItemCoreSalesSummary[];
4412
+ }
4385
4413
 
4386
4414
  }
4387
4415
  declare module '@posx/core/types/request.type' {