kts-component-invoice-operate 3.2.166 → 3.2.168

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 (215) 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/index.esm.js +775 -759
  9. package/dist/index.js +775 -759
  10. package/docs/index.md +5 -5
  11. package/docs-dist/static/arrowDown.a1cbf0d8.svg +2 -2
  12. package/docs-dist/static/arrowUp.4c482054.svg +2 -2
  13. package/docs-dist/static/fork.5431267d.svg +11 -11
  14. package/docs-dist/static/plus.44013ce3.svg +11 -11
  15. package/docs-dist/static/plus.4fd1af30.svg +11 -11
  16. package/index.html +12 -12
  17. package/package.json +62 -61
  18. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +40 -40
  19. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +17 -17
  20. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  21. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +868 -868
  22. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +18 -18
  23. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +19 -19
  24. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  25. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +55 -55
  26. package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +21 -21
  27. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  28. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  29. package/src/Invoice/Invoice-digtal/index.md +34 -34
  30. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +95 -95
  31. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +26 -26
  32. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  33. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +15 -15
  34. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +104 -104
  35. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  36. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +87 -87
  37. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +81 -81
  38. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +7 -7
  39. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  40. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +131 -131
  41. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +13 -13
  42. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +65 -65
  43. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  44. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +126 -126
  45. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +86 -86
  46. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  47. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  48. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  49. package/src/Invoice/InvoiceController/fns/itemBlur.ts +40 -40
  50. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +201 -201
  51. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +35 -35
  52. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  53. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  54. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  55. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  56. package/src/Invoice/InvoiceController/index.ts +87 -87
  57. package/src/Invoice/_test/buyerNameSearch/index.tsx +42 -42
  58. package/src/Invoice/_test/children/index.tsx +214 -214
  59. package/src/Invoice/_test/deduction/index.tsx +935 -935
  60. package/src/Invoice/_test/draft/index.tsx +40 -40
  61. package/src/Invoice/_test/easiest/index.tsx +5 -5
  62. package/src/Invoice/_test/endowCode/index.tsx +1158 -1158
  63. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  64. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  65. package/src/Invoice/_test/importGoods/index.tsx +1197 -1197
  66. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  67. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  68. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  69. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  70. package/src/Invoice/_test/seller/index.tsx +28 -28
  71. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  72. package/src/Invoice/_test/unit/index.tsx +19 -19
  73. package/src/Invoice/index.less +31 -31
  74. package/src/Invoice/index.md +56 -56
  75. package/src/Invoice/index.tsx +183 -183
  76. package/src/Invoice/tools/calculate/index.ts +132 -132
  77. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  78. package/src/Invoice/tools/evaluate/index.ts +7 -7
  79. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  80. package/src/Invoice/tools/itemName/index.ts +55 -55
  81. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  82. package/src/Invoice/tools/mounting/index.ts +13 -13
  83. package/src/Invoice/tools/strringFn/index.ts +40 -40
  84. package/src/Invoice/tools/useToGenerateId/index.ts +8 -8
  85. package/src/Invoice/tools/utils/index.ts +1 -1
  86. package/src/Invoice/tools/utils/money/index.ts +20 -20
  87. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  88. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  89. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  90. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  91. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  92. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  93. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +606 -592
  94. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +647 -647
  95. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +711 -711
  96. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  97. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  98. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Expand/index.tsx +57 -57
  99. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  100. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +49 -49
  101. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  102. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +91 -91
  103. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  104. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  105. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +118 -118
  106. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  107. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +25 -25
  108. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  109. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +99 -99
  110. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  111. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  112. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  113. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +52 -52
  114. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +120 -120
  115. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  116. package/src/Invoice/ui/default/GoodsList/index.less +185 -185
  117. package/src/Invoice/ui/default/GoodsList/index.tsx +205 -205
  118. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +65 -65
  119. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  120. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  121. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  122. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  123. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +65 -65
  124. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +91 -91
  125. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  126. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesDiscount/index.tsx +109 -109
  127. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesGifts/index.tsx +94 -94
  128. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  129. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  130. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  131. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  132. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  133. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +114 -114
  134. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +40 -40
  135. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +71 -71
  136. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  137. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +130 -130
  138. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  139. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  140. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  141. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  142. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +198 -198
  143. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  144. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  145. package/src/Invoice/ui/default/Seller/index.less +113 -113
  146. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  147. package/src/Invoice/ui/default/Sign/index.less +14 -14
  148. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  149. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +639 -639
  150. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +660 -660
  151. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  152. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  153. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  154. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  155. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +87 -87
  156. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  157. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  158. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  159. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  160. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  161. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  162. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  163. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  164. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  165. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +51 -51
  166. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  167. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  168. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  169. package/src/Invoice/ui/digtal/GoodsList/index.tsx +180 -180
  170. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +67 -67
  171. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +340 -340
  172. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  173. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  174. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  175. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -37
  176. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  177. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  178. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  179. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  180. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +50 -50
  181. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  182. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +98 -98
  183. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  184. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +28 -28
  185. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +53 -53
  186. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  187. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +108 -108
  188. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  189. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  190. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  191. package/src/Invoice/ui/digtal/RealEstateInfo/index.less +14 -14
  192. package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +192 -192
  193. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  194. package/src/Invoice/ui/digtal/Sign/index.tsx +99 -99
  195. package/src/Invoice/ui/digtal/StakeFarmerholder/index.less +99 -99
  196. package/src/Invoice/ui/digtal/StakeFarmerholder/index.tsx +436 -436
  197. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowDown.svg +2 -2
  198. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowUp.svg +2 -2
  199. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/plus.svg +11 -11
  200. package/src/Invoice/ui/digtal/Stakeholder/index.less +99 -99
  201. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +396 -396
  202. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  203. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  204. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  205. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  206. package/src/InvoiceTypeModal/index.less +7 -7
  207. package/src/InvoiceTypeModal/index.md +5 -5
  208. package/src/InvoiceTypeModal/index.tsx +161 -161
  209. package/src/TaxClassificationCodeModal/_test/easiest/index.tsx +184 -184
  210. package/src/TaxClassificationCodeModal/index.less +9 -4
  211. package/src/TaxClassificationCodeModal/index.md +6 -6
  212. package/src/TaxClassificationCodeModal/index.tsx +144 -141
  213. package/src/index.ts +13 -12
  214. package/tsconfig.json +31 -31
  215. 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
+ }