kts-component-invoice-operate 3.2.165 → 3.2.166

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 (217) hide show
  1. package/.dumi/theme/builtins/API.tsx +66 -66
  2. package/.editorconfig +16 -16
  3. package/.fatherrc.ts +4 -4
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +8 -8
  7. package/README.md +9 -9
  8. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.d.ts +4 -4
  9. package/dist/TaxClassificationCodeModal/index.d.ts +2 -1
  10. package/dist/index.esm.js +767 -721
  11. package/dist/index.js +766 -720
  12. package/docs/index.md +5 -5
  13. package/docs-dist/static/arrowDown.a1cbf0d8.svg +2 -2
  14. package/docs-dist/static/arrowUp.4c482054.svg +2 -2
  15. package/docs-dist/static/fork.5431267d.svg +11 -11
  16. package/docs-dist/static/plus.44013ce3.svg +11 -11
  17. package/docs-dist/static/plus.4fd1af30.svg +11 -11
  18. package/index.html +12 -12
  19. package/package.json +61 -61
  20. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +40 -40
  21. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +17 -17
  22. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  23. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +868 -868
  24. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +18 -18
  25. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +19 -19
  26. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  27. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +55 -55
  28. package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +21 -21
  29. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  30. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  31. package/src/Invoice/Invoice-digtal/index.md +34 -34
  32. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +95 -95
  33. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +26 -26
  34. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  35. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +15 -15
  36. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +104 -104
  37. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  38. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +87 -87
  39. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +81 -81
  40. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +7 -7
  41. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  42. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +131 -131
  43. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +13 -13
  44. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +65 -65
  45. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  46. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +126 -126
  47. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +86 -86
  48. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  49. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  50. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  51. package/src/Invoice/InvoiceController/fns/itemBlur.ts +40 -40
  52. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +201 -201
  53. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +35 -35
  54. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  55. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  56. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  57. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  58. package/src/Invoice/InvoiceController/index.ts +87 -87
  59. package/src/Invoice/_test/buyerNameSearch/index.tsx +42 -42
  60. package/src/Invoice/_test/children/index.tsx +214 -214
  61. package/src/Invoice/_test/deduction/index.tsx +935 -935
  62. package/src/Invoice/_test/draft/index.tsx +40 -40
  63. package/src/Invoice/_test/easiest/index.tsx +5 -5
  64. package/src/Invoice/_test/endowCode/index.tsx +1158 -1158
  65. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  66. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  67. package/src/Invoice/_test/importGoods/index.tsx +1197 -1197
  68. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  69. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  70. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  71. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  72. package/src/Invoice/_test/seller/index.tsx +28 -28
  73. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  74. package/src/Invoice/_test/unit/index.tsx +19 -19
  75. package/src/Invoice/index.less +31 -31
  76. package/src/Invoice/index.md +56 -56
  77. package/src/Invoice/index.tsx +183 -183
  78. package/src/Invoice/tools/calculate/index.ts +132 -132
  79. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  80. package/src/Invoice/tools/evaluate/index.ts +7 -7
  81. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  82. package/src/Invoice/tools/itemName/index.ts +55 -55
  83. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  84. package/src/Invoice/tools/mounting/index.ts +13 -13
  85. package/src/Invoice/tools/strringFn/index.ts +40 -40
  86. package/src/Invoice/tools/useToGenerateId/index.ts +8 -8
  87. package/src/Invoice/tools/utils/index.ts +1 -1
  88. package/src/Invoice/tools/utils/money/index.ts +20 -20
  89. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  90. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  91. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  92. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  93. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  94. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  95. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +592 -586
  96. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +647 -647
  97. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +711 -711
  98. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  99. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  100. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Expand/index.tsx +57 -57
  101. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  102. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +49 -49
  103. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  104. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +91 -91
  105. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  106. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  107. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +118 -118
  108. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  109. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +25 -25
  110. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  111. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +99 -99
  112. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  113. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  114. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  115. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +52 -52
  116. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +120 -120
  117. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  118. package/src/Invoice/ui/default/GoodsList/index.less +185 -185
  119. package/src/Invoice/ui/default/GoodsList/index.tsx +205 -205
  120. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +65 -65
  121. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  122. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  123. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  124. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  125. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +65 -65
  126. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +91 -91
  127. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  128. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesDiscount/index.tsx +109 -109
  129. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesGifts/index.tsx +94 -94
  130. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  131. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  132. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  133. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  134. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  135. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +114 -114
  136. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +40 -40
  137. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +71 -71
  138. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  139. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +130 -130
  140. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  141. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  142. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  143. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  144. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +198 -198
  145. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  146. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  147. package/src/Invoice/ui/default/Seller/index.less +113 -113
  148. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  149. package/src/Invoice/ui/default/Sign/index.less +14 -14
  150. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  151. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +639 -639
  152. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +660 -660
  153. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  154. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  155. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  156. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  157. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +87 -87
  158. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  159. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  160. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  161. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  162. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  163. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  164. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  165. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  166. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  167. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +51 -51
  168. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  169. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  170. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  171. package/src/Invoice/ui/digtal/GoodsList/index.tsx +180 -180
  172. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +67 -67
  173. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +340 -340
  174. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  175. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  176. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  177. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -37
  178. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  179. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  180. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  181. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  182. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +50 -50
  183. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  184. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +98 -98
  185. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  186. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +28 -28
  187. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +53 -53
  188. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  189. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +108 -108
  190. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  191. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  192. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  193. package/src/Invoice/ui/digtal/RealEstateInfo/index.less +14 -14
  194. package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +192 -192
  195. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  196. package/src/Invoice/ui/digtal/Sign/index.tsx +99 -99
  197. package/src/Invoice/ui/digtal/StakeFarmerholder/index.less +99 -99
  198. package/src/Invoice/ui/digtal/StakeFarmerholder/index.tsx +436 -435
  199. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowDown.svg +2 -2
  200. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowUp.svg +2 -2
  201. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/plus.svg +11 -11
  202. package/src/Invoice/ui/digtal/Stakeholder/index.less +99 -99
  203. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +396 -396
  204. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  205. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  206. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  207. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  208. package/src/InvoiceTypeModal/index.less +7 -7
  209. package/src/InvoiceTypeModal/index.md +5 -5
  210. package/src/InvoiceTypeModal/index.tsx +161 -161
  211. package/src/TaxClassificationCodeModal/_test/easiest/index.tsx +184 -180
  212. package/src/TaxClassificationCodeModal/index.less +5 -5
  213. package/src/TaxClassificationCodeModal/index.md +6 -6
  214. package/src/TaxClassificationCodeModal/index.tsx +141 -107
  215. package/src/index.ts +12 -12
  216. package/tsconfig.json +31 -31
  217. package/typings.d.ts +3 -3
@@ -1,36 +1,36 @@
1
-
2
-
3
- import { IGood, InvoiceControllerState, LineAttributeType } from '..';
4
- import { format15 } from '../../tools/calculate';
5
- import { chain, bignumber } from 'mathjs';
6
- import idGenerator from '../../tools/idGenerator';
7
-
8
- export default async function mergeDiscount(state: InvoiceControllerState) {
9
- if (state.goodsListState.goodsList.length <= 1 || state.goodsListState.editGood) return;
10
-
11
- const goodsList = state.goodsListState.goodsList.slice();
12
- for (let i = 0; i < goodsList.length; i++) {
13
- const good = goodsList[i];
14
- if (good.lineAttribute * 1 === LineAttributeType.被折扣行) {
15
- const sum: IGood = { ...good, $index: idGenerator(), lineAttribute: LineAttributeType.正常, discountGroup: undefined };
16
- const zk = goodsList[i + 1];
17
-
18
- sum.lineAmountExcludeTax = chain(bignumber(good.lineAmountExcludeTax)).subtract(bignumber(Math.abs(zk.lineAmountExcludeTax || 0))).done().toNumber();
19
- sum.lineAmountIncludeTax = chain(bignumber(good.lineAmountIncludeTax)).subtract(bignumber(Math.abs(zk.lineAmountIncludeTax || 0))).done().toNumber();
20
- sum.taxAmount = chain(bignumber(sum.lineAmountIncludeTax)).subtract(bignumber(sum.lineAmountExcludeTax)).done().toNumber();
21
- sum.quantity = good.quantity;
22
- if (sum.quantity) {
23
- const calculatingDigits = state.calculatingDigits;
24
- sum.priceExcludeTax = format15(chain(bignumber(sum.lineAmountExcludeTax)).divide(bignumber(sum.quantity)).done().toNumber(), calculatingDigits) || 0;
25
- sum.priceIncludeTax = format15(chain(bignumber(sum.lineAmountIncludeTax)).divide(bignumber(sum.quantity)).done().toNumber(), calculatingDigits) || 0;
26
- }
27
-
28
- if (sum.lineAmountIncludeTax === 0) {
29
- goodsList.splice(i, 2); i--;
30
- } else {
31
- goodsList.splice(i, 2, sum);
32
- }
33
- }
34
- }
35
- state.goodsListState.goodsList = goodsList;
1
+
2
+
3
+ import { IGood, InvoiceControllerState, LineAttributeType } from '..';
4
+ import { format15 } from '../../tools/calculate';
5
+ import { chain, bignumber } from 'mathjs';
6
+ import idGenerator from '../../tools/idGenerator';
7
+
8
+ export default async function mergeDiscount(state: InvoiceControllerState) {
9
+ if (state.goodsListState.goodsList.length <= 1 || state.goodsListState.editGood) return;
10
+
11
+ const goodsList = state.goodsListState.goodsList.slice();
12
+ for (let i = 0; i < goodsList.length; i++) {
13
+ const good = goodsList[i];
14
+ if (good.lineAttribute * 1 === LineAttributeType.被折扣行) {
15
+ const sum: IGood = { ...good, $index: idGenerator(), lineAttribute: LineAttributeType.正常, discountGroup: undefined };
16
+ const zk = goodsList[i + 1];
17
+
18
+ sum.lineAmountExcludeTax = chain(bignumber(good.lineAmountExcludeTax)).subtract(bignumber(Math.abs(zk.lineAmountExcludeTax || 0))).done().toNumber();
19
+ sum.lineAmountIncludeTax = chain(bignumber(good.lineAmountIncludeTax)).subtract(bignumber(Math.abs(zk.lineAmountIncludeTax || 0))).done().toNumber();
20
+ sum.taxAmount = chain(bignumber(sum.lineAmountIncludeTax)).subtract(bignumber(sum.lineAmountExcludeTax)).done().toNumber();
21
+ sum.quantity = good.quantity;
22
+ if (sum.quantity) {
23
+ const calculatingDigits = state.calculatingDigits;
24
+ sum.priceExcludeTax = format15(chain(bignumber(sum.lineAmountExcludeTax)).divide(bignumber(sum.quantity)).done().toNumber(), calculatingDigits) || 0;
25
+ sum.priceIncludeTax = format15(chain(bignumber(sum.lineAmountIncludeTax)).divide(bignumber(sum.quantity)).done().toNumber(), calculatingDigits) || 0;
26
+ }
27
+
28
+ if (sum.lineAmountIncludeTax === 0) {
29
+ goodsList.splice(i, 2); i--;
30
+ } else {
31
+ goodsList.splice(i, 2, sum);
32
+ }
33
+ }
34
+ }
35
+ state.goodsListState.goodsList = goodsList;
36
36
  }
@@ -1,24 +1,24 @@
1
- import { InvoiceControllerState } from '../';
2
-
3
- /**
4
- * 保存正在编辑的货物
5
- */
6
- export default async (state: InvoiceControllerState) => {
7
-
8
- const editGood = state.goodsListState.editGood;
9
- const form = state.goodsListState.form;
10
-
11
- if (!editGood || !form || state.goodsListState.importGoods.isVisibleDrawer || state.calculatingField) return;
12
- if ((await validateFields(form)).err) return;
13
-
14
- state.goodsListState.goodsList = state.goodsListState.goodsList.map((e) =>
15
- e.$index === editGood.$index ? { ...e, ...editGood } : e,
16
- );
17
- state.goodsListState.editGood = undefined;
18
- };
19
-
20
- const validateFields = (form: any) => new Promise((resolve: (v: { err: any; values: any }) => void) => {
21
- form.validateFields(async (err: any, values: any) => {
22
- resolve({ err, values });
23
- });
24
- });
1
+ import { InvoiceControllerState } from '../';
2
+
3
+ /**
4
+ * 保存正在编辑的货物
5
+ */
6
+ export default async (state: InvoiceControllerState) => {
7
+
8
+ const editGood = state.goodsListState.editGood;
9
+ const form = state.goodsListState.form;
10
+
11
+ if (!editGood || !form || state.goodsListState.importGoods.isVisibleDrawer || state.calculatingField) return;
12
+ if ((await validateFields(form)).err) return;
13
+
14
+ state.goodsListState.goodsList = state.goodsListState.goodsList.map((e) =>
15
+ e.$index === editGood.$index ? { ...e, ...editGood } : e,
16
+ );
17
+ state.goodsListState.editGood = undefined;
18
+ };
19
+
20
+ const validateFields = (form: any) => new Promise((resolve: (v: { err: any; values: any }) => void) => {
21
+ form.validateFields(async (err: any, values: any) => {
22
+ resolve({ err, values });
23
+ });
24
+ });
@@ -1,16 +1,16 @@
1
- import { InvoiceControllerState, IGood } from '../';
2
-
3
- /**
4
- * 设置当前的编辑货物
5
- */
6
- export default async (state: InvoiceControllerState, newEditGood?: any) => {
7
- if (newEditGood) {
8
- const editGood = state.goodsListState.editGood as IGood;
9
- state.goodsListState = {
10
- ...state.goodsListState,
11
- editGood: { ...editGood, ...newEditGood },
12
- };
13
- } else {
14
- state.goodsListState = { ...state.goodsListState, editGood: undefined };
15
- }
16
- };
1
+ import { InvoiceControllerState, IGood } from '../';
2
+
3
+ /**
4
+ * 设置当前的编辑货物
5
+ */
6
+ export default async (state: InvoiceControllerState, newEditGood?: any) => {
7
+ if (newEditGood) {
8
+ const editGood = state.goodsListState.editGood as IGood;
9
+ state.goodsListState = {
10
+ ...state.goodsListState,
11
+ editGood: { ...editGood, ...newEditGood },
12
+ };
13
+ } else {
14
+ state.goodsListState = { ...state.goodsListState, editGood: undefined };
15
+ }
16
+ };
@@ -1,11 +1,11 @@
1
-
2
- import { InvoiceControllerState, IGood } from '../';
3
-
4
- /**
5
- * 设置单个货物属性
6
- */
7
- export default async (state: InvoiceControllerState, options?: IGood) => {
8
- if (!options || !options.$index) return;
9
- const goodsList = state.goodsListState.goodsList.map(e => e.$index === options.$index ? { ...e, ...options } : e);
10
- state.goodsListState = { ...state.goodsListState, goodsList };
1
+
2
+ import { InvoiceControllerState, IGood } from '../';
3
+
4
+ /**
5
+ * 设置单个货物属性
6
+ */
7
+ export default async (state: InvoiceControllerState, options?: IGood) => {
8
+ if (!options || !options.$index) return;
9
+ const goodsList = state.goodsListState.goodsList.map(e => e.$index === options.$index ? { ...e, ...options } : e);
10
+ state.goodsListState = { ...state.goodsListState, goodsList };
11
11
  };
@@ -1,9 +1,9 @@
1
-
2
- import InvoiceControllerState from '../InvoiceControllerState';
3
-
4
- /**
5
- * 更新 发票单据编号
6
- */
7
- export default async (state: InvoiceControllerState) => {
8
- return `INV${(Math.random() * 10000000000000).toFixed(0)}`;
1
+
2
+ import InvoiceControllerState from '../InvoiceControllerState';
3
+
4
+ /**
5
+ * 更新 发票单据编号
6
+ */
7
+ export default async (state: InvoiceControllerState) => {
8
+ return `INV${(Math.random() * 10000000000000).toFixed(0)}`;
9
9
  };
@@ -1,87 +1,87 @@
1
- import InvoiceControllerForm from './InvoiceControllerForm';
2
- import InvoiceControllerState from './InvoiceControllerState';
3
- import { IGetBuyerListOption } from './InvoiceControllerState/BuyerState';
4
- import { IGetGoodsListOption } from './InvoiceControllerState/GoodsListState/ImportGoods';
5
- // import updateInvoiceNo from './fns/updateInvoiceNo';
6
- import setEditGood from './fns/setEditGood';
7
- import setGoods from './fns/setGoods';
8
- import delGood from './fns/delGood';
9
- import addGoodDiscount from './fns/addGoodDiscount';
10
- import addGoodDiscountV2 from './fns/addGoodDiscountV2';
11
- import addGood from './fns/addGood';
12
- import saveEditGood from './fns/saveEditGood';
13
- import getGoodsSearch from './fns/getGoodsSearch';
14
- import mergeDetails from './fns/mergeDetails';
15
- import mergeDiscount from './fns/mergeDiscount';
16
- import importGoodsDrawer from './fns/importGoodsDrawer';
17
- import itemBlur from './fns/itemBlur';
18
-
19
- export { default as InvoiceControllerState } from './InvoiceControllerState';
20
- export { default as IGood } from './InvoiceControllerState/GoodsListState/IGood';
21
- export { default as LineAttributeType } from './InvoiceControllerState/GoodsListState/LineAttributeType';
22
-
23
- export default class InvoiceController extends InvoiceControllerForm {
24
- constructor(state = new InvoiceControllerState()) {
25
- super(state);
26
- }
27
-
28
- // ----------------- 发票头 模块相关 -----------------
29
-
30
- /** 更新发票单据编号 */
31
- updateInvoiceNo?: (option?: undefined) => Promise<any> //= this.pipeline(updateInvoiceNo);
32
-
33
- // ----------------- 购买方 模块相关 -----------------
34
-
35
- /** 获取 购买方 列表 */
36
- getBuyerList?: (option?: IGetBuyerListOption | undefined) => Promise<any>;
37
-
38
- // ----------------- 货物 模块相关 -----------------
39
-
40
- /** 设置单个货物属性 */
41
- setGoods = this.pipeline(setGoods);
42
-
43
- /** 设置当前的编辑货物 */
44
- setEditGood = this.pipeline(setEditGood);
45
-
46
- /** 保存正在编辑的货物 */
47
- saveEditGood = this.pipeline<any>(saveEditGood);
48
-
49
- /** 删除一个货物 */
50
- delGood = this.pipeline(delGood);
51
-
52
- /** 添加一个货物 */
53
- addGood = this.pipeline(addGood);
54
-
55
- /** 全单合并明细 */
56
- mergeDetails = this.pipeline(mergeDetails);
57
-
58
- /** 全单合并折扣 */
59
- mergeDiscount = this.pipeline<any>(mergeDiscount);
60
-
61
- /** 给一组货物添加折扣行 */
62
- addGoodDiscount = this.pipeline(addGoodDiscount);
63
-
64
- /** 给一组货物添加折扣行 */
65
- addGoodDiscountV2 = this.pipeline(addGoodDiscountV2);
66
-
67
- /** 导入商品 */
68
- importGoodsDrawer = this.pipeline(importGoodsDrawer);
69
-
70
- /** 项目名称智能赋码 */
71
- itemNameBlur = this.pipeline(itemBlur);
72
-
73
- /** 获取 商品 列表 */
74
- getGoodsList?: (option?: IGetGoodsListOption | undefined) => Promise<any>;
75
-
76
- /** 税收分类编码列表 */
77
- getTaxCategoryCodeList?: () => Promise<any>;
78
-
79
- /** 获取筛选后的列表 */
80
- getGoodsSearch = getGoodsSearch;
81
-
82
- /** 获取货物的税率可选列表, 如果没传taxClassificationCode,返回undefined */
83
- getGoodsTaxRateList?: (taxClassificationCode: string) => Promise<number[] | undefined | null>;
84
-
85
- /** 商品列表配置器 */
86
- setColumnsConfig?: (columns: any[]) => any[];
87
- }
1
+ import InvoiceControllerForm from './InvoiceControllerForm';
2
+ import InvoiceControllerState from './InvoiceControllerState';
3
+ import { IGetBuyerListOption } from './InvoiceControllerState/BuyerState';
4
+ import { IGetGoodsListOption } from './InvoiceControllerState/GoodsListState/ImportGoods';
5
+ // import updateInvoiceNo from './fns/updateInvoiceNo';
6
+ import setEditGood from './fns/setEditGood';
7
+ import setGoods from './fns/setGoods';
8
+ import delGood from './fns/delGood';
9
+ import addGoodDiscount from './fns/addGoodDiscount';
10
+ import addGoodDiscountV2 from './fns/addGoodDiscountV2';
11
+ import addGood from './fns/addGood';
12
+ import saveEditGood from './fns/saveEditGood';
13
+ import getGoodsSearch from './fns/getGoodsSearch';
14
+ import mergeDetails from './fns/mergeDetails';
15
+ import mergeDiscount from './fns/mergeDiscount';
16
+ import importGoodsDrawer from './fns/importGoodsDrawer';
17
+ import itemBlur from './fns/itemBlur';
18
+
19
+ export { default as InvoiceControllerState } from './InvoiceControllerState';
20
+ export { default as IGood } from './InvoiceControllerState/GoodsListState/IGood';
21
+ export { default as LineAttributeType } from './InvoiceControllerState/GoodsListState/LineAttributeType';
22
+
23
+ export default class InvoiceController extends InvoiceControllerForm {
24
+ constructor(state = new InvoiceControllerState()) {
25
+ super(state);
26
+ }
27
+
28
+ // ----------------- 发票头 模块相关 -----------------
29
+
30
+ /** 更新发票单据编号 */
31
+ updateInvoiceNo?: (option?: undefined) => Promise<any> //= this.pipeline(updateInvoiceNo);
32
+
33
+ // ----------------- 购买方 模块相关 -----------------
34
+
35
+ /** 获取 购买方 列表 */
36
+ getBuyerList?: (option?: IGetBuyerListOption | undefined) => Promise<any>;
37
+
38
+ // ----------------- 货物 模块相关 -----------------
39
+
40
+ /** 设置单个货物属性 */
41
+ setGoods = this.pipeline(setGoods);
42
+
43
+ /** 设置当前的编辑货物 */
44
+ setEditGood = this.pipeline(setEditGood);
45
+
46
+ /** 保存正在编辑的货物 */
47
+ saveEditGood = this.pipeline<any>(saveEditGood);
48
+
49
+ /** 删除一个货物 */
50
+ delGood = this.pipeline(delGood);
51
+
52
+ /** 添加一个货物 */
53
+ addGood = this.pipeline(addGood);
54
+
55
+ /** 全单合并明细 */
56
+ mergeDetails = this.pipeline(mergeDetails);
57
+
58
+ /** 全单合并折扣 */
59
+ mergeDiscount = this.pipeline<any>(mergeDiscount);
60
+
61
+ /** 给一组货物添加折扣行 */
62
+ addGoodDiscount = this.pipeline(addGoodDiscount);
63
+
64
+ /** 给一组货物添加折扣行 */
65
+ addGoodDiscountV2 = this.pipeline(addGoodDiscountV2);
66
+
67
+ /** 导入商品 */
68
+ importGoodsDrawer = this.pipeline(importGoodsDrawer);
69
+
70
+ /** 项目名称智能赋码 */
71
+ itemNameBlur = this.pipeline(itemBlur);
72
+
73
+ /** 获取 商品 列表 */
74
+ getGoodsList?: (option?: IGetGoodsListOption | undefined) => Promise<any>;
75
+
76
+ /** 税收分类编码列表 */
77
+ getTaxCategoryCodeList?: () => Promise<any>;
78
+
79
+ /** 获取筛选后的列表 */
80
+ getGoodsSearch = getGoodsSearch;
81
+
82
+ /** 获取货物的税率可选列表, 如果没传taxClassificationCode,返回undefined */
83
+ getGoodsTaxRateList?: (taxClassificationCode: string) => Promise<number[] | undefined | null>;
84
+
85
+ /** 商品列表配置器 */
86
+ setColumnsConfig?: (columns: any[]) => any[];
87
+ }
@@ -1,42 +1,42 @@
1
-
2
- import React from 'react';
3
- import { Invoice } from '../../..';
4
-
5
- export default () => {
6
-
7
- const controller = React.useMemo(() => new MyController(), [])
8
-
9
- return (
10
- <Invoice controller={controller} />
11
- );
12
- };
13
-
14
- class MyController extends Invoice.InvoiceController {
15
- constructor() {
16
- super()
17
- this.state.buyerState.autoContainer = {
18
- onBuyNameChange: async (e?: string) => {
19
- await this.wait(2000);
20
- return {
21
- recent: [
22
- { buyerName: '中科讯联科技北京网络有限公司中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
23
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
24
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
25
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
26
- ],
27
- list: [
28
- { buyerName: '中科讯联科技北京网络有限公司中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
29
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
30
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
31
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
32
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
33
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
34
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
35
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
36
- { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
37
- ],
38
- }
39
- }
40
- }
41
- }
42
- }
1
+
2
+ import React from 'react';
3
+ import { Invoice } from '../../..';
4
+
5
+ export default () => {
6
+
7
+ const controller = React.useMemo(() => new MyController(), [])
8
+
9
+ return (
10
+ <Invoice controller={controller} />
11
+ );
12
+ };
13
+
14
+ class MyController extends Invoice.InvoiceController {
15
+ constructor() {
16
+ super()
17
+ this.state.buyerState.autoContainer = {
18
+ onBuyNameChange: async (e?: string) => {
19
+ await this.wait(2000);
20
+ return {
21
+ recent: [
22
+ { buyerName: '中科讯联科技北京网络有限公司中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
23
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
24
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
25
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
26
+ ],
27
+ list: [
28
+ { buyerName: '中科讯联科技北京网络有限公司中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
29
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
30
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
31
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
32
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
33
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
34
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
35
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
36
+ { buyerName: '中科讯联科技北京网络有限公司', buyerNo: '918273829182918291' },
37
+ ],
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }