gm-printer 10.38.7 → 10.38.8-beta.2

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 (37) hide show
  1. package/build/demo.js +9 -9
  2. package/package.json +1 -1
  3. package/src/common/component.js +3 -2
  4. package/src/common/editor_edit_field.js +14 -8
  5. package/src/common/editor_page_border.js +84 -0
  6. package/src/common/editor_store.js +128 -46
  7. package/src/common/hoc_with_store.js +9 -1
  8. package/src/common/page_border.js +102 -0
  9. package/src/editor/context_menu.js +1 -0
  10. package/src/editor/context_menu_config.js +1 -0
  11. package/src/editor/editor.js +2 -0
  12. package/src/editor/editor_menu_config.js +2 -0
  13. package/src/editor_account/context_menu.js +1 -0
  14. package/src/editor_account/editor.js +2 -0
  15. package/src/editor_account_statement/context_menu.js +1 -0
  16. package/src/editor_account_statement/editor.js +2 -0
  17. package/src/editor_box_label/context_menu.js +1 -0
  18. package/src/editor_box_label/editor.js +5 -0
  19. package/src/editor_purchase/context_menu.js +1 -0
  20. package/src/editor_purchase/editor.js +2 -0
  21. package/src/editor_salemenus/context_menu.js +1 -0
  22. package/src/editor_salemenus/editor.js +2 -0
  23. package/src/editor_settle/context_menu.js +1 -0
  24. package/src/editor_settle/editor.js +2 -0
  25. package/src/editor_statement/context_menu.js +1 -0
  26. package/src/editor_statement/editor.js +2 -0
  27. package/src/editor_stockin/context_menu.js +1 -0
  28. package/src/editor_stockin/editor.js +2 -0
  29. package/src/editor_stockout/context_menu.js +1 -0
  30. package/src/editor_stockout/editor.js +2 -0
  31. package/src/examining_report_editor/context_menu.js +1 -0
  32. package/src/examining_report_editor/editor.js +2 -0
  33. package/src/examining_report_editor/store.js +2 -2
  34. package/src/printer/merge_page.js +12 -0
  35. package/src/printer/page.js +11 -1
  36. package/src/printer/printer.js +16 -3
  37. package/src/printer/store.js +9 -0
@@ -25,6 +25,7 @@ class ContextMenu extends React.Component {
25
25
  key={editStore.computedPrinterKey}
26
26
  selected={editStore.selected}
27
27
  selectedRegion={editStore.selectedRegion}
28
+ enablePageBorder={editStore.enablePageBorder}
28
29
  config={editStore.config}
29
30
  data={mockData}
30
31
  />
@@ -98,6 +98,7 @@ class Editor extends React.Component {
98
98
  }
99
99
 
100
100
  Editor.propTypes = {
101
+ enablePageBorder: PropTypes.bool,
101
102
  config: PropTypes.object.isRequired,
102
103
  onSave: PropTypes.func,
103
104
  showEditor: PropTypes.bool,
@@ -106,6 +107,7 @@ Editor.propTypes = {
106
107
  }
107
108
 
108
109
  Editor.defaultProps = {
110
+ enablePageBorder: false,
109
111
  onSave: _.noop
110
112
  }
111
113
 
@@ -55,6 +55,7 @@ class ContextMunu extends React.Component {
55
55
  data={mockData}
56
56
  selected={editStore.selected}
57
57
  selectedRegion={editStore.selectedRegion}
58
+ enablePageBorder={editStore.enablePageBorder}
58
59
  config={editStore.config}
59
60
  />
60
61
  </CommonContextMenu>
@@ -57,6 +57,7 @@ class Editor extends React.Component {
57
57
  }
58
58
 
59
59
  Editor.propTypes = {
60
+ enablePageBorder: PropTypes.bool,
60
61
  config: PropTypes.object.isRequired,
61
62
  showEditor: PropTypes.bool,
62
63
  onSave: PropTypes.func,
@@ -64,4 +65,8 @@ Editor.propTypes = {
64
65
  mockData: PropTypes.object.isRequired
65
66
  }
66
67
 
68
+ Editor.defaultProps = {
69
+ enablePageBorder: false
70
+ }
71
+
67
72
  export default Editor
@@ -75,6 +75,7 @@ class ContextMenu extends React.Component {
75
75
  key={editStore.computedPrinterKey}
76
76
  selected={editStore.selected}
77
77
  selectedRegion={editStore.selectedRegion}
78
+ enablePageBorder={editStore.enablePageBorder}
78
79
  config={editStore.config}
79
80
  data={mockData}
80
81
  />
@@ -65,6 +65,7 @@ class Editor extends React.Component {
65
65
  }
66
66
 
67
67
  Editor.propTypes = {
68
+ enablePageBorder: PropTypes.bool,
68
69
  config: PropTypes.object.isRequired,
69
70
  onSave: PropTypes.func,
70
71
  showEditor: PropTypes.bool,
@@ -74,6 +75,7 @@ Editor.propTypes = {
74
75
  }
75
76
 
76
77
  Editor.defaultProps = {
78
+ enablePageBorder: false,
77
79
  onSave: _.noop,
78
80
  isPurchase: false
79
81
  }
@@ -95,6 +95,7 @@ class ContextMenu extends React.Component {
95
95
  key={editStore.computedPrinterKey}
96
96
  selected={editStore.selected}
97
97
  selectedRegion={editStore.selectedRegion}
98
+ enablePageBorder={editStore.enablePageBorder}
98
99
  config={editStore.config}
99
100
  data={mockData}
100
101
  />
@@ -93,6 +93,7 @@ class Editor extends React.Component {
93
93
  }
94
94
 
95
95
  Editor.propTypes = {
96
+ enablePageBorder: PropTypes.bool,
96
97
  config: PropTypes.object.isRequired,
97
98
  onSave: PropTypes.func,
98
99
  showEditor: PropTypes.bool,
@@ -102,6 +103,7 @@ Editor.propTypes = {
102
103
  }
103
104
 
104
105
  Editor.defaultProps = {
106
+ enablePageBorder: false,
105
107
  onSave: _.noop,
106
108
  showNewDate: false
107
109
  }
@@ -68,6 +68,7 @@ class ContextMenu extends React.Component {
68
68
  key={editStore.computedPrinterKey}
69
69
  selected={editStore.selected}
70
70
  selectedRegion={editStore.selectedRegion}
71
+ enablePageBorder={editStore.enablePageBorder}
71
72
  config={editStore.config}
72
73
  data={mockData}
73
74
  isSomeSubtotalTr
@@ -69,6 +69,7 @@ class Editor extends React.Component {
69
69
  }
70
70
 
71
71
  Editor.propTypes = {
72
+ enablePageBorder: PropTypes.bool,
72
73
  config: PropTypes.object.isRequired,
73
74
  onSave: PropTypes.func,
74
75
  showEditor: PropTypes.bool,
@@ -78,6 +79,7 @@ Editor.propTypes = {
78
79
  }
79
80
 
80
81
  Editor.defaultProps = {
82
+ enablePageBorder: false,
81
83
  onSave: _.noop
82
84
  }
83
85
 
@@ -25,6 +25,7 @@ class ContextMenu extends React.Component {
25
25
  key={editStore.computedPrinterKey}
26
26
  selected={editStore.selected}
27
27
  selectedRegion={editStore.selectedRegion}
28
+ enablePageBorder={editStore.enablePageBorder}
28
29
  config={editStore.config}
29
30
  data={mockData}
30
31
  />
@@ -65,6 +65,7 @@ class Editor extends React.Component {
65
65
  }
66
66
 
67
67
  Editor.propTypes = {
68
+ enablePageBorder: PropTypes.bool,
68
69
  config: PropTypes.object.isRequired,
69
70
  onSave: PropTypes.func,
70
71
  showEditor: PropTypes.bool,
@@ -73,6 +74,7 @@ Editor.propTypes = {
73
74
  }
74
75
 
75
76
  Editor.defaultProps = {
77
+ enablePageBorder: false,
76
78
  onSave: _.noop
77
79
  }
78
80
 
@@ -67,6 +67,7 @@ class ContextMenu extends React.Component {
67
67
  key={editStore.computedPrinterKey}
68
68
  selected={editStore.selected}
69
69
  selectedRegion={editStore.selectedRegion}
70
+ enablePageBorder={editStore.enablePageBorder}
70
71
  config={editStore.config}
71
72
  data={mockData}
72
73
  />
@@ -62,6 +62,7 @@ class Editor extends React.Component {
62
62
  }
63
63
 
64
64
  Editor.propTypes = {
65
+ enablePageBorder: PropTypes.bool,
65
66
  config: PropTypes.object.isRequired,
66
67
  onSave: PropTypes.func,
67
68
  showEditor: PropTypes.bool,
@@ -70,6 +71,7 @@ Editor.propTypes = {
70
71
  }
71
72
 
72
73
  Editor.defaultProps = {
74
+ enablePageBorder: false,
73
75
  onSave: _.noop
74
76
  }
75
77
 
@@ -67,6 +67,7 @@ class ContextMenu extends React.Component {
67
67
  key={editStore.computedPrinterKey}
68
68
  selected={editStore.selected}
69
69
  selectedRegion={editStore.selectedRegion}
70
+ enablePageBorder={editStore.enablePageBorder}
70
71
  config={editStore.config}
71
72
  data={mockData}
72
73
  />
@@ -62,6 +62,7 @@ class Editor extends React.Component {
62
62
  }
63
63
 
64
64
  Editor.propTypes = {
65
+ enablePageBorder: PropTypes.bool,
65
66
  config: PropTypes.object.isRequired,
66
67
  onSave: PropTypes.func,
67
68
  showEditor: PropTypes.bool,
@@ -70,6 +71,7 @@ Editor.propTypes = {
70
71
  }
71
72
 
72
73
  Editor.defaultProps = {
74
+ enablePageBorder: false,
73
75
  onSave: _.noop
74
76
  }
75
77
 
@@ -74,6 +74,7 @@ class ContextMenu extends React.Component {
74
74
  key={editStore.computedPrinterKey}
75
75
  selected={editStore.selected}
76
76
  selectedRegion={editStore.selectedRegion}
77
+ enablePageBorder={editStore.enablePageBorder}
77
78
  config={editStore.config}
78
79
  data={mockData}
79
80
  />
@@ -67,6 +67,7 @@ class Editor extends React.Component {
67
67
  }
68
68
 
69
69
  Editor.propTypes = {
70
+ enablePageBorder: PropTypes.bool,
70
71
  config: PropTypes.object.isRequired,
71
72
  onSave: PropTypes.func,
72
73
  showEditor: PropTypes.bool,
@@ -79,6 +80,7 @@ Editor.propTypes = {
79
80
  }
80
81
 
81
82
  Editor.defaultProps = {
83
+ enablePageBorder: false,
82
84
  onSave: _.noop
83
85
  }
84
86
 
@@ -24,8 +24,8 @@ class Store extends EditorStore {
24
24
  }
25
25
 
26
26
  @action
27
- init(config, data) {
28
- super.init(config, data)
27
+ init(config, data, options = {}) {
28
+ super.init(config, data, options)
29
29
  this.defaultTableDataKey = 'examiningDetail'
30
30
  }
31
31
 
@@ -1,6 +1,10 @@
1
1
  import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { inject, observer } from 'mobx-react'
4
+ import {
5
+ getPageBorderBackgroundStyle,
6
+ mergePageStyleWithBorder
7
+ } from '../common/page_border'
4
8
 
5
9
  @inject('printerStore')
6
10
  @observer
@@ -16,10 +20,18 @@ class MergePage extends React.Component {
16
20
 
17
21
  const { width } = printerStore.config.page.size
18
22
 
23
+ const borderStyle = getPageBorderBackgroundStyle({
24
+ enablePageBorder: printerStore.enablePageBorder,
25
+ borderId: printerStore.config.page.borderId,
26
+ pageBorderTypes: printerStore.config.pageBorderTypes
27
+ })
28
+ const mergedPageStyle = mergePageStyleWithBorder(null, borderStyle)
29
+
19
30
  return (
20
31
  <div
21
32
  className='gm-printer-page'
22
33
  style={{
34
+ ...mergedPageStyle,
23
35
  boxSizing: 'content-box',
24
36
  width: `calc(${width} - ${paddingLeft} - ${paddingRight})`,
25
37
  padding: `${paddingTop} ${paddingRight} ${paddingBottom} ${paddingLeft}`,
@@ -4,6 +4,10 @@ import { inject, observer } from 'mobx-react'
4
4
  import { getHeight } from '../util'
5
5
  import classNames from 'classnames'
6
6
  import { LONG_PRINT } from '../config'
7
+ import {
8
+ getPageBorderBackgroundStyle,
9
+ mergePageStyleWithBorder
10
+ } from '../common/page_border'
7
11
 
8
12
  @inject('printerStore')
9
13
  @observer
@@ -35,6 +39,12 @@ class Page extends React.Component {
35
39
  } = printerStore.config.page
36
40
  // 统一减2毫米,防止计算误差溢出
37
41
  const x = '- 2mm'
42
+ const borderStyle = getPageBorderBackgroundStyle({
43
+ enablePageBorder: printerStore.enablePageBorder,
44
+ borderId: printerStore.config.page.borderId,
45
+ pageBorderTypes: printerStore.config.pageBorderTypes
46
+ })
47
+ const mergedPageStyle = mergePageStyleWithBorder(pageStyle, borderStyle)
38
48
  return (
39
49
  <div
40
50
  ref={this.ref}
@@ -42,7 +52,7 @@ class Page extends React.Component {
42
52
  'gm-printer-page-fontFamily': isFontFamily
43
53
  })}
44
54
  style={{
45
- ...pageStyle,
55
+ ...mergedPageStyle,
46
56
  boxSizing: 'content-box',
47
57
  width: `calc(${width} - ${paddingLeft} - ${paddingRight})`,
48
58
  padding: `${paddingTop} ${paddingRight} ${paddingBottom} ${paddingLeft}`,
@@ -73,6 +73,9 @@ class Printer extends React.Component {
73
73
  if (nextProps.selectedRegion !== this.props.selectedRegion) {
74
74
  this.props.printerStore.setSelectedRegion(nextProps.selectedRegion)
75
75
  }
76
+ if (nextProps.enablePageBorder !== this.props.enablePageBorder) {
77
+ this.props.printerStore.setEnablePageBorder(nextProps.enablePageBorder)
78
+ }
76
79
 
77
80
  if (
78
81
  nextProps.isAutoFilling !== this.props.isAutoFilling ||
@@ -130,10 +133,18 @@ class Printer extends React.Component {
130
133
  }
131
134
 
132
135
  init() {
133
- const { printerStore, config, data, selected, selectedRegion } = this.props
136
+ const {
137
+ printerStore,
138
+ config,
139
+ data,
140
+ selected,
141
+ selectedRegion,
142
+ enablePageBorder
143
+ } = this.props
134
144
  printerStore.init(config, data)
135
145
  printerStore.setSelected(selected)
136
146
  printerStore.setSelectedRegion(selectedRegion)
147
+ printerStore.setEnablePageBorder(enablePageBorder)
137
148
  }
138
149
 
139
150
  renderBefore() {
@@ -416,11 +427,13 @@ Printer.propTypes = {
416
427
  onReady: PropTypes.func,
417
428
  isSomeSubtotalTr: PropTypes.bool,
418
429
  getremainpageHeight: PropTypes.func,
419
- overallorder: PropTypes.bool
430
+ overallorder: PropTypes.bool,
431
+ enablePageBorder: PropTypes.bool
420
432
  }
421
433
 
422
434
  Printer.defaultProps = {
423
- onReady: _.noop
435
+ onReady: _.noop,
436
+ enablePageBorder: false
424
437
  }
425
438
 
426
439
  class WithStorePrinter extends React.Component {
@@ -58,6 +58,14 @@ class PrinterStore {
58
58
  @observable
59
59
  isMultiDigitDecimal = false
60
60
 
61
+ @observable
62
+ enablePageBorder = false
63
+
64
+ @action
65
+ setEnablePageBorder(enable) {
66
+ this.enablePageBorder = !!enable
67
+ }
68
+
61
69
  @action
62
70
  setMultiDigitDecimal(bool) {
63
71
  this.isMultiDigitDecimal = bool
@@ -79,6 +87,7 @@ class PrinterStore {
79
87
  this.pages = [] // [page, page, ...] page 为数组
80
88
  this.data = data
81
89
  this.selected = null
90
+ this.enablePageBorder = false
82
91
  }
83
92
 
84
93
  @action