gm-printer 10.23.0 → 10.25.0-beta.0
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/package.json
CHANGED
|
@@ -455,6 +455,12 @@ class EditorField extends React.Component {
|
|
|
455
455
|
<Flex>{i18next.t('合计栏打印金额')}:</Flex>
|
|
456
456
|
<Flex style={{ marginLeft: 57 }}>
|
|
457
457
|
{subtotalRadioList.map(fields => {
|
|
458
|
+
// 兼容
|
|
459
|
+
let subtotalFields = subtotal?.fields?.[0].valueField
|
|
460
|
+
if (subtotalFields === 'total_item_price')
|
|
461
|
+
subtotalFields = '下单金额'
|
|
462
|
+
if (subtotalFields === 'real_item_price')
|
|
463
|
+
subtotalFields = '出库金额'
|
|
458
464
|
return (
|
|
459
465
|
<Radio
|
|
460
466
|
style={{ marginLeft: 5 }}
|
|
@@ -462,7 +468,7 @@ class EditorField extends React.Component {
|
|
|
462
468
|
value={fields.value}
|
|
463
469
|
key={fields.id}
|
|
464
470
|
inputName='subtotalRadio'
|
|
465
|
-
checked={
|
|
471
|
+
checked={subtotalFields === fields.id}
|
|
466
472
|
radioChecked={() => editStore.subtotalRadioCheck(fields)}
|
|
467
473
|
/>
|
|
468
474
|
)
|
|
@@ -533,6 +539,21 @@ class EditorField extends React.Component {
|
|
|
533
539
|
onChange={this.handleOverallOrderStyleChange}
|
|
534
540
|
/>
|
|
535
541
|
</Flex>
|
|
542
|
+
<Flex style={{ marginLeft: 57 }}>
|
|
543
|
+
{subtotalRadioList.map((fields, i) => {
|
|
544
|
+
return (
|
|
545
|
+
<Radio
|
|
546
|
+
style={{ marginLeft: 5 }}
|
|
547
|
+
id={`${fields.id}${i}`}
|
|
548
|
+
value={fields.value}
|
|
549
|
+
key={fields.id}
|
|
550
|
+
inputName='overallOrderRadio'
|
|
551
|
+
checked={overallOrder?.fields?.[0]?.valueField === fields.id}
|
|
552
|
+
radioChecked={() => editStore.setOverallOrderValueField(fields)}
|
|
553
|
+
/>
|
|
554
|
+
)
|
|
555
|
+
})}
|
|
556
|
+
</Flex>
|
|
536
557
|
<EditorSubtotalCheck
|
|
537
558
|
subtotalCheckDisabled
|
|
538
559
|
subtotalChecked={overallOrderNeedUpperCase}
|
|
@@ -1193,7 +1193,7 @@ class EditorStore {
|
|
|
1193
1193
|
fields: [
|
|
1194
1194
|
{
|
|
1195
1195
|
name: '每页合计:',
|
|
1196
|
-
valueField: '
|
|
1196
|
+
valueField: '出库金额',
|
|
1197
1197
|
colSpan: colSpanLength
|
|
1198
1198
|
}
|
|
1199
1199
|
]
|
|
@@ -1342,6 +1342,19 @@ class EditorStore {
|
|
|
1342
1342
|
}
|
|
1343
1343
|
}
|
|
1344
1344
|
|
|
1345
|
+
// 整单合计金额单选设置
|
|
1346
|
+
@action.bound
|
|
1347
|
+
setOverallOrderValueField({ id }) {
|
|
1348
|
+
if (this.selectedRegion) {
|
|
1349
|
+
this.overallOrderShow = !this.overallOrderShow
|
|
1350
|
+
const arr = this.selectedRegion.split('.')
|
|
1351
|
+
const overallOrderConfig = this.config.contents[arr[2]]?.overallOrder
|
|
1352
|
+
const oldValueField = overallOrderConfig.fields?.[0]
|
|
1353
|
+
this.config.contents[arr[2]]?.overallOrder &&
|
|
1354
|
+
set(oldValueField, { valueField: id })
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1345
1358
|
// 整单合计设置大写金额
|
|
1346
1359
|
@action.bound
|
|
1347
1360
|
setOverallOrderUpperCase() {
|
package/src/common/util.js
CHANGED
|
@@ -3,22 +3,27 @@ import i18next from '../../locales'
|
|
|
3
3
|
/**
|
|
4
4
|
* 每页合计设置单选按钮
|
|
5
5
|
* id的值是用来计算每页的金额总数,不要轻易随便改
|
|
6
|
-
* id值暂时使用_origin的值,可优化改为{{列.xxxx}}的值,改起来有代价,先不改
|
|
7
6
|
*/
|
|
7
|
+
// 整单合计和每页合计栏都使用的这个
|
|
8
8
|
const subtotalRadioList = [
|
|
9
9
|
{
|
|
10
10
|
value: i18next.t('下单金额'),
|
|
11
|
-
id: '
|
|
11
|
+
id: '下单金额'
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
value: i18next.t('出库金额'),
|
|
15
|
-
id: '
|
|
15
|
+
id: '出库金额'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
value: i18next.t('实际金额'),
|
|
19
|
+
id: '实际金额'
|
|
16
20
|
}
|
|
17
21
|
]
|
|
18
22
|
|
|
19
23
|
const accountRadioList = {
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
下单金额: i18next.t('下单金额'),
|
|
25
|
+
出库金额: i18next.t('出库金额'),
|
|
26
|
+
实际金额: i18next.t('实际金额')
|
|
22
27
|
}
|
|
23
28
|
|
|
24
29
|
export { subtotalRadioList, accountRadioList }
|
|
@@ -30,10 +30,11 @@ const SubtotalTr = props => {
|
|
|
30
30
|
isUpperCaseBefore, // 决定小写金额是否在前
|
|
31
31
|
isUpperLowerCaseSeparate, // 决定大小写金额是否分开在两端
|
|
32
32
|
style,
|
|
33
|
+
|
|
33
34
|
fields = [
|
|
34
35
|
{
|
|
35
36
|
name: i18next.t('每页合计:'),
|
|
36
|
-
valueField: '
|
|
37
|
+
valueField: '出库金额'
|
|
37
38
|
}
|
|
38
39
|
],
|
|
39
40
|
displayName = false // 是否展示字段名
|
|
@@ -68,6 +69,30 @@ const SubtotalTr = props => {
|
|
|
68
69
|
).toFixed(2)
|
|
69
70
|
}
|
|
70
71
|
|
|
72
|
+
// 计算合计
|
|
73
|
+
const sumData2 = (list, field) => {
|
|
74
|
+
// 兼容之前
|
|
75
|
+
if (field === 'total_item_price') field = '下单金额'
|
|
76
|
+
if (field === 'real_item_price') field = '出库金额'
|
|
77
|
+
if (field === 'settle_money2') field = '结算金额'
|
|
78
|
+
if (field === 'total_money2') field = '金额'
|
|
79
|
+
return _.reduce(
|
|
80
|
+
list,
|
|
81
|
+
(a, b) => {
|
|
82
|
+
let result = a
|
|
83
|
+
result = a.plus(b[field] || 0)
|
|
84
|
+
if (b?.[field + MULTI_SUFFIX]) {
|
|
85
|
+
result = result.plus(b?.[field + MULTI_SUFFIX])
|
|
86
|
+
}
|
|
87
|
+
if (b?.[field + MULTI_SUFFIX3]) {
|
|
88
|
+
result = result.plus(b?.[field + MULTI_SUFFIX3])
|
|
89
|
+
}
|
|
90
|
+
return result
|
|
91
|
+
},
|
|
92
|
+
Big(0)
|
|
93
|
+
).toFixed(2)
|
|
94
|
+
}
|
|
95
|
+
|
|
71
96
|
const getData = field => {
|
|
72
97
|
const data = printerStore.data.common
|
|
73
98
|
return data?.[field] ?? ''
|
|
@@ -82,7 +107,7 @@ const SubtotalTr = props => {
|
|
|
82
107
|
const sum = {}
|
|
83
108
|
|
|
84
109
|
_.each(fields, v => {
|
|
85
|
-
sum[v.name] =
|
|
110
|
+
sum[v.name] = sumData2(list, v.valueField)
|
|
86
111
|
})
|
|
87
112
|
let subtotalStr = ''
|
|
88
113
|
for (const name in sum) {
|
|
@@ -140,7 +165,7 @@ const SubtotalTr = props => {
|
|
|
140
165
|
{item.type === 'useSummarize'
|
|
141
166
|
? getData(item.valueField)
|
|
142
167
|
: index === 0
|
|
143
|
-
?
|
|
168
|
+
? sumData2(list, item.valueField)
|
|
144
169
|
: ''}
|
|
145
170
|
{/* {index === 0 ? sumData(list, item.valueField) : ''} */}
|
|
146
171
|
</span>
|
|
@@ -151,7 +176,9 @@ const SubtotalTr = props => {
|
|
|
151
176
|
coverDigit2Uppercase(getData(item.valueField))
|
|
152
177
|
: index === 0
|
|
153
178
|
? '大写:' +
|
|
154
|
-
coverDigit2Uppercase(
|
|
179
|
+
coverDigit2Uppercase(
|
|
180
|
+
sumData2(list, item.valueField)
|
|
181
|
+
)
|
|
155
182
|
: ''}
|
|
156
183
|
</span>
|
|
157
184
|
)}
|