kts-component-invoice-operate 3.1.19 → 3.2.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.
Files changed (315) 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 +5 -5
  8. package/dist/Invoice/Invoice-digtal/_test/disabled/index.d.ts +4 -0
  9. package/dist/Invoice/Invoice-digtal/_test/easiest/index.d.ts +4 -0
  10. package/dist/Invoice/Invoice-digtal/_test/header/index.d.ts +4 -0
  11. package/dist/Invoice/Invoice-digtal/_test/readOnly/index.d.ts +4 -0
  12. package/dist/Invoice/Invoice-digtal/_test/stakeholder/index.d.ts +4 -0
  13. package/dist/Invoice/Invoice-digtal/_test/typeSelection/index.d.ts +4 -0
  14. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.d.ts +4 -0
  15. package/dist/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.d.ts +10 -0
  16. package/dist/Invoice/InvoiceController/InvoiceControllerState/index.d.ts +6 -0
  17. package/dist/Invoice/InvoiceController/fns/addGoodDiscount.d.ts +1 -1
  18. package/dist/Invoice/InvoiceController/fns/addGoodDiscountV2.d.ts +12 -0
  19. package/dist/Invoice/InvoiceController/fns/delGood.d.ts +1 -1
  20. package/dist/Invoice/InvoiceController/index.d.ts +2 -0
  21. package/dist/Invoice/index.d.ts +25 -12
  22. package/dist/Invoice/tools/mounting/index.d.ts +3 -0
  23. package/dist/Invoice/{ui/GoodsList/hook → tools}/useToGenerateId/index.d.ts +1 -1
  24. package/dist/Invoice/ui/{Buyer → default/Buyer}/index.d.ts +1 -1
  25. package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/autoFillFn/index.d.ts +2 -2
  26. package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.d.ts +0 -1
  27. package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.d.ts +1 -1
  28. package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/useDelItem/index.d.ts +1 -1
  29. package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.d.ts +1 -1
  30. package/dist/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.d.ts +7 -0
  31. package/dist/Invoice/ui/default/GoodsList/hook/useDeduction/index.d.ts +8 -0
  32. package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useOnRow/index.d.ts +1 -1
  33. package/dist/Invoice/ui/default/GoodsList/hook/useWindowClick/index.d.ts +8 -0
  34. package/dist/Invoice/ui/{Seller → default/Seller}/index.d.ts +1 -1
  35. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.d.ts +35 -0
  36. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/index.d.ts +3 -0
  37. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.d.ts +7 -0
  38. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.d.ts +6 -0
  39. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.d.ts +4 -0
  40. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.d.ts +7 -0
  41. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.d.ts +7 -0
  42. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.d.ts +7 -0
  43. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.d.ts +7 -0
  44. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.d.ts +6 -0
  45. package/dist/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.d.ts +8 -0
  46. package/dist/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.d.ts +8 -0
  47. package/dist/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.d.ts +8 -0
  48. package/dist/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.d.ts +8 -0
  49. package/dist/Invoice/ui/digtal/GoodsList/index.d.ts +17 -0
  50. package/dist/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.d.ts +3 -0
  51. package/dist/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.d.ts +5 -0
  52. package/dist/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.d.ts +5 -0
  53. package/dist/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.d.ts +6 -0
  54. package/dist/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.d.ts +6 -0
  55. package/dist/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.d.ts +6 -0
  56. package/dist/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.d.ts +5 -0
  57. package/dist/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.d.ts +3 -0
  58. package/dist/Invoice/ui/digtal/GoodsList/ui/Search/index.d.ts +3 -0
  59. package/dist/Invoice/ui/digtal/GoodsList/ui/Statistics/index.d.ts +4 -0
  60. package/dist/Invoice/ui/digtal/GoodsList/ui/TableRow/index.d.ts +2 -0
  61. package/dist/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.d.ts +4 -0
  62. package/dist/Invoice/ui/digtal/GoodsList/ui/TableVirtual.o/index.d.ts +4 -0
  63. package/dist/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.d.ts +3 -0
  64. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/autoFillFn/index.d.ts +35 -0
  65. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/index.d.ts +3 -0
  66. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/ItemNameInput/index.d.ts +7 -0
  67. package/dist/Invoice/ui/{GoodsList/hook/useColumns/ui/RowMenu → digtal/GoodsList.o/hook/useColumns/ui/RowEditButton}/index.d.ts +0 -1
  68. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.d.ts +4 -0
  69. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.d.ts +7 -0
  70. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/useDelItem/index.d.ts +7 -0
  71. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.d.ts +7 -0
  72. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/index.d.ts +7 -0
  73. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowSaveButton/index.d.ts +6 -0
  74. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/TitleText/index.d.ts +8 -0
  75. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useOnRow/index.d.ts +8 -0
  76. package/dist/Invoice/ui/digtal/GoodsList.o/hook/useRowSelection/index.d.ts +8 -0
  77. package/dist/Invoice/ui/digtal/GoodsList.o/index.d.ts +20 -0
  78. package/dist/Invoice/ui/digtal/GoodsList.o/ui/AddRowButton/index.d.ts +3 -0
  79. package/dist/Invoice/ui/digtal/GoodsList.o/ui/TableRow/index.d.ts +2 -0
  80. package/dist/Invoice/ui/digtal/GoodsList.o/ui/TableVirtual/index.d.ts +4 -0
  81. package/dist/Invoice/ui/digtal/InvoiceHeader/index.d.ts +14 -0
  82. package/dist/Invoice/ui/digtal/Sign/index.d.ts +10 -0
  83. package/dist/Invoice/ui/digtal/Stakeholder/index.d.ts +7 -0
  84. package/dist/InvoiceTypeModal/_test/easiest/index.d.ts +3 -0
  85. package/dist/InvoiceTypeModal/index.d.ts +34 -0
  86. package/dist/index.d.ts +2 -0
  87. package/dist/index.esm.js +10107 -2821
  88. package/dist/index.js +10101 -2814
  89. package/docs/index.md +5 -5
  90. package/docs-dist/404.html +33 -33
  91. package/docs-dist/index.html +33 -33
  92. package/docs-dist/umi.css +19 -19
  93. package/index.html +12 -12
  94. package/package.json +60 -60
  95. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +38 -0
  96. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +5 -0
  97. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +17 -0
  98. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +42 -0
  99. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -0
  100. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -0
  101. package/src/Invoice/Invoice-digtal/index.md +19 -0
  102. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +94 -94
  103. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  104. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +93 -93
  105. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  106. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +75 -75
  107. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +80 -80
  108. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +5 -5
  109. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  110. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +94 -88
  111. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +11 -0
  112. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +56 -48
  113. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  114. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +125 -125
  115. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +84 -0
  116. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -43
  117. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +23 -23
  118. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -23
  119. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  120. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  121. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  122. package/src/Invoice/InvoiceController/index.ts +65 -61
  123. package/src/Invoice/_test/buyerNameSearch/index.tsx +41 -41
  124. package/src/Invoice/_test/deduction/index.tsx +935 -935
  125. package/src/Invoice/_test/draft/index.tsx +40 -40
  126. package/src/Invoice/_test/easiest/index.tsx +5 -5
  127. package/src/Invoice/_test/endowCode/index.tsx +1095 -1095
  128. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  129. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  130. package/src/Invoice/_test/importGoods/index.tsx +515 -515
  131. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  132. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  133. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  134. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  135. package/src/Invoice/_test/seller/index.tsx +28 -28
  136. package/src/Invoice/_test/setDataSource/index.tsx +22 -22
  137. package/src/Invoice/_test/unit/index.tsx +19 -19
  138. package/src/Invoice/index.less +30 -12
  139. package/src/Invoice/index.md +53 -53
  140. package/src/Invoice/index.tsx +164 -109
  141. package/src/Invoice/tools/calculate/index.ts +112 -112
  142. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  143. package/src/Invoice/tools/evaluate/index.ts +7 -7
  144. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  145. package/src/Invoice/tools/itemName/index.ts +55 -55
  146. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  147. package/src/Invoice/tools/mounting/index.ts +14 -0
  148. package/src/Invoice/tools/strringFn/index.ts +40 -40
  149. package/src/Invoice/{ui/GoodsList/hook → tools}/useToGenerateId/index.ts +8 -8
  150. package/src/Invoice/ui/{AddComparisonDrawer → default/AddComparisonDrawer}/index.tsx +149 -149
  151. package/src/Invoice/ui/{Buyer → default/Buyer}/index.less +219 -219
  152. package/src/Invoice/ui/{Buyer → default/Buyer}/index.tsx +114 -114
  153. package/src/Invoice/ui/{Buyer → default/Buyer}/ui/BuyerNameInput/index.tsx +166 -166
  154. package/src/Invoice/ui/{Buyer → default/Buyer}/ui/ImportBuyerButton/index.tsx +21 -21
  155. package/src/Invoice/ui/{EndowCodeDrawer → default/EndowCodeDrawer}/index.less +8 -8
  156. package/src/Invoice/ui/{EndowCodeDrawer → default/EndowCodeDrawer}/index.tsx +431 -431
  157. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/autoFillFn/index.ts +519 -519
  158. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/index.tsx +620 -620
  159. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  160. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/ItemNameInput/index.tsx +19 -19
  161. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  162. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  163. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  164. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -35
  165. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  166. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/index.less +13 -13
  167. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  168. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  169. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/TitleText/index.tsx +20 -20
  170. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -0
  171. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useOnRow/index.tsx +39 -39
  172. package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useRowSelection/index.tsx +111 -111
  173. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -0
  174. package/src/Invoice/ui/{GoodsList → default/GoodsList}/index.less +177 -177
  175. package/src/Invoice/ui/{GoodsList → default/GoodsList}/index.tsx +177 -177
  176. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/AddRowButton/index.tsx +65 -61
  177. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  178. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  179. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  180. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -66
  181. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +58 -58
  182. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/index.tsx +37 -37
  183. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/DescribeSwitch/index.tsx +36 -36
  184. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/Search/index.less +10 -10
  185. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/Search/index.tsx +50 -50
  186. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/Statistics/index.less +18 -18
  187. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/Statistics/index.tsx +109 -109
  188. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableRow/index.tsx +27 -27
  189. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableVirtual/index.less +38 -38
  190. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableVirtual/index.tsx +108 -108
  191. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableVirtual.o/index.less +44 -44
  192. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableVirtual.o/index.tsx +96 -96
  193. package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/TaxIncludedSwitch/index.tsx +30 -30
  194. package/src/Invoice/ui/{ImportBuyerDrawer → default/ImportBuyerDrawer}/index.tsx +75 -75
  195. package/src/Invoice/ui/{ImportGoodsDrawer → default/ImportGoodsDrawer}/index.tsx +170 -170
  196. package/src/Invoice/ui/{InvoiceHeader → default/InvoiceHeader}/index.less +68 -68
  197. package/src/Invoice/ui/{InvoiceHeader → default/InvoiceHeader}/index.tsx +246 -246
  198. package/src/Invoice/ui/{Seller → default/Seller}/index.less +113 -113
  199. package/src/Invoice/ui/{Seller → default/Seller}/index.tsx +98 -98
  200. package/src/Invoice/ui/{Sign → default/Sign}/index.less +14 -14
  201. package/src/Invoice/ui/{Sign → default/Sign}/index.tsx +71 -71
  202. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +520 -0
  203. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +623 -0
  204. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +10 -0
  205. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +19 -0
  206. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -0
  207. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -0
  208. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -0
  209. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -0
  210. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -0
  211. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -0
  212. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -0
  213. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/spot.svg +1 -0
  214. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -0
  215. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -0
  216. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +39 -0
  217. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +112 -0
  218. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -0
  219. package/src/Invoice/ui/digtal/GoodsList/index.less +57 -0
  220. package/src/Invoice/ui/digtal/GoodsList/index.tsx +181 -0
  221. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +66 -0
  222. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +321 -0
  223. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +12 -0
  224. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -0
  225. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -0
  226. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +35 -0
  227. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -0
  228. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +56 -0
  229. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +37 -0
  230. package/src/Invoice/ui/digtal/GoodsList/ui/Search/icon/magnifier.svg +1 -0
  231. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +12 -0
  232. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +50 -0
  233. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +54 -0
  234. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +99 -0
  235. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +12 -0
  236. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +28 -0
  237. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +39 -0
  238. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +109 -0
  239. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual.o/index.less +44 -0
  240. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual.o/index.tsx +96 -0
  241. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -0
  242. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/autoFillFn/index.ts +520 -0
  243. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/index.tsx +624 -0
  244. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/ItemNameInput/index.less +10 -0
  245. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/ItemNameInput/index.tsx +19 -0
  246. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowEditButton/index.tsx +30 -0
  247. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -0
  248. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -0
  249. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -0
  250. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -0
  251. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/index.less +13 -0
  252. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/index.tsx +98 -0
  253. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowMenu/spot.svg +1 -0
  254. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/RowSaveButton/index.tsx +14 -0
  255. package/src/Invoice/ui/digtal/GoodsList.o/hook/useColumns/ui/TitleText/index.tsx +20 -0
  256. package/src/Invoice/ui/{GoodsList → digtal/GoodsList.o}/hook/useDeduction/index.tsx +24 -24
  257. package/src/Invoice/ui/digtal/GoodsList.o/hook/useOnRow/index.tsx +39 -0
  258. package/src/Invoice/ui/digtal/GoodsList.o/hook/useRowSelection/index.tsx +112 -0
  259. package/src/Invoice/ui/{GoodsList → digtal/GoodsList.o}/hook/useWindowClick/index.tsx +23 -23
  260. package/src/Invoice/ui/digtal/GoodsList.o/index.less +7 -0
  261. package/src/Invoice/ui/digtal/GoodsList.o/index.tsx +132 -0
  262. package/src/Invoice/ui/digtal/GoodsList.o/ui/AddRowButton/index.tsx +66 -0
  263. package/src/Invoice/ui/digtal/GoodsList.o/ui/TableRow/index.tsx +28 -0
  264. package/src/Invoice/ui/digtal/GoodsList.o/ui/TableVirtual/index.less +43 -0
  265. package/src/Invoice/ui/digtal/GoodsList.o/ui/TableVirtual/index.tsx +109 -0
  266. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +58 -0
  267. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -0
  268. package/src/Invoice/ui/digtal/Sign/index.less +49 -0
  269. package/src/Invoice/ui/digtal/Sign/index.tsx +90 -0
  270. package/src/Invoice/ui/digtal/Stakeholder/index.less +57 -0
  271. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +237 -0
  272. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +3 -0
  273. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +3 -0
  274. package/src/InvoiceTypeModal/_test/easiest/index.tsx +32 -0
  275. package/src/InvoiceTypeModal/index.less +8 -0
  276. package/src/InvoiceTypeModal/index.md +6 -0
  277. package/src/InvoiceTypeModal/index.tsx +123 -0
  278. package/src/index.ts +9 -6
  279. package/tsconfig.json +31 -31
  280. package/typings.d.ts +3 -3
  281. package/yarn.e.lock +14331 -14331
  282. package/yarn.o.lock +14800 -14800
  283. /package/dist/Invoice/ui/{AddComparisonDrawer → default/AddComparisonDrawer}/index.d.ts +0 -0
  284. /package/dist/Invoice/ui/{Buyer → default/Buyer}/ui/BuyerNameInput/index.d.ts +0 -0
  285. /package/dist/Invoice/ui/{Buyer → default/Buyer}/ui/ImportBuyerButton/index.d.ts +0 -0
  286. /package/dist/Invoice/ui/{EndowCodeDrawer → default/EndowCodeDrawer}/index.d.ts +0 -0
  287. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/index.d.ts +0 -0
  288. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/ItemNameInput/index.d.ts +0 -0
  289. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowEditButton/index.d.ts +0 -0
  290. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowSaveButton/index.d.ts +0 -0
  291. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/TitleText/index.d.ts +0 -0
  292. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/hook/useRowSelection/index.d.ts +0 -0
  293. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/index.d.ts +0 -0
  294. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/AddRowButton/index.d.ts +0 -0
  295. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useAddDiscountRowButton/index.d.ts +0 -0
  296. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useCommodityComparisonButton/index.d.ts +0 -0
  297. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useDelRowButton/index.d.ts +0 -0
  298. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/hooks/useEndowCodeButton/index.d.ts +0 -0
  299. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/BulkMenu/index.d.ts +0 -0
  300. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/DescribeSwitch/index.d.ts +0 -0
  301. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/Search/index.d.ts +0 -0
  302. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/Statistics/index.d.ts +0 -0
  303. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableRow/index.d.ts +0 -0
  304. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableVirtual/index.d.ts +0 -0
  305. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/TableVirtual.o/index.d.ts +0 -0
  306. /package/dist/Invoice/ui/{GoodsList → default/GoodsList}/ui/TaxIncludedSwitch/index.d.ts +0 -0
  307. /package/dist/Invoice/ui/{ImportBuyerDrawer → default/ImportBuyerDrawer}/index.d.ts +0 -0
  308. /package/dist/Invoice/ui/{ImportGoodsDrawer → default/ImportGoodsDrawer}/index.d.ts +0 -0
  309. /package/dist/Invoice/ui/{InvoiceHeader → default/InvoiceHeader}/index.d.ts +0 -0
  310. /package/dist/Invoice/ui/{Sign → default/Sign}/index.d.ts +0 -0
  311. /package/dist/Invoice/ui/{GoodsList → digtal/GoodsList.o}/hook/useDeduction/index.d.ts +0 -0
  312. /package/dist/Invoice/ui/{GoodsList → digtal/GoodsList.o}/hook/useWindowClick/index.d.ts +0 -0
  313. /package/src/Invoice/ui/{GoodsList → default/GoodsList}/hook/useColumns/ui/RowMenu/spot.svg +0 -0
  314. /package/src/Invoice/ui/{GoodsList → default/GoodsList}/ui/Search/icon/magnifier.svg +0 -0
  315. /package/src/Invoice/ui/{InvoiceHeader → default/InvoiceHeader}/auto.svg +0 -0
@@ -1,125 +1,125 @@
1
- /**
2
- *
3
- * 折扣率 含税金额 不含税金额
4
- *
5
- * 含税折扣额 = -1 * (含税金额 * 折扣率)
6
- * 不含税扣额 = 含税折扣额 / (1+税率)
7
- * 折扣税额 = 含税折扣额 - 不含税扣额
8
- */
9
-
10
- import { v4 as uuidv4 } from 'uuid';
11
- import { chain, bignumber } from 'mathjs';
12
- import { InvoiceControllerState } from '../';
13
- import LineAttributeType from '../InvoiceControllerState/GoodsListState/LineAttributeType';
14
- import idGenerator from '../../tools/idGenerator';
15
- import { format2 } from '../../../Invoice/tools/calculate';
16
-
17
- export interface IOptions {
18
- /** 需要添加的 索引列表 */
19
- indexList: string[];
20
-
21
- /** 折扣 */
22
- discount: number;
23
-
24
- /** 折扣 金额 */
25
- discolineAmountunt: number;
26
- }
27
-
28
- /**
29
- * 设置当前的编辑货物
30
- */
31
- export default async (state: InvoiceControllerState, options?: IOptions) => {
32
- if (!options) return;
33
-
34
- const { indexList = [] } = options;
35
- const discount = chain(bignumber(options.discount || 0)).dotDivide(bignumber(100)).done();
36
- const goodsMap = state.goodsListState.goodsMap;
37
- const goodsList = state.goodsListState.goodsList;
38
- const discountGroup = uuidv4();
39
- let amountSum = bignumber(0);
40
-
41
- for (let t = 0; t < indexList.length; t++) {
42
- const $index = indexList[t];
43
- const good = goodsMap.get($index);
44
-
45
- if (!good || good.lineAttribute !== LineAttributeType.正常) continue;
46
-
47
- const i = goodsList.indexOf(good);
48
-
49
- let lineAmountIncludeTax = 0;
50
- let lineAmountExcludeTax = 0;
51
-
52
- const taxRate = chain(bignumber(good.taxRate)).dotDivide(bignumber(100)).done();
53
- if (state.goodsListState.isTaxIncluded) {
54
- /** 金额(含税) -1 * ${good.lineAmountIncludeTax} * ${discount}*/
55
- lineAmountIncludeTax = (() => {
56
- if (t === indexList.length - 1) {
57
- return chain(bignumber(options.discolineAmountunt)).add(amountSum).multiply(-1).done().toNumber();
58
- } else {
59
- return chain(bignumber(-1))
60
- .multiply(bignumber(good.lineAmountIncludeTax))
61
- .multiply(discount)
62
- .done()
63
- .toNumber()
64
- .toFixed(2);
65
- }
66
- })()
67
- amountSum = amountSum.add(bignumber(lineAmountIncludeTax));
68
-
69
- /** 金额(不含税) ${lineAmountIncludeTax} / (1+${good.taxRate}/100)*/
70
- lineAmountExcludeTax = 1 * chain(bignumber(lineAmountIncludeTax))
71
- .dotDivide(chain(bignumber(1)).add(taxRate).done())
72
- .done()
73
- .toNumber()
74
- .toFixed(2)
75
- } else {
76
-
77
- /** 金额(不含税) -1 * ${good.lineAmountIncludeTax} * ${discount}*/
78
- lineAmountExcludeTax = (() => {
79
- if (t === indexList.length - 1) {
80
- return chain(bignumber(options.discolineAmountunt)).add(amountSum).multiply(-1).done().toNumber();
81
- } else {
82
- return chain(bignumber(-1))
83
- .multiply(bignumber(good.lineAmountExcludeTax))
84
- .multiply(discount)
85
- .done()
86
- .toNumber()
87
- .toFixed(2);
88
- }
89
- })()
90
- amountSum = amountSum.add(bignumber(lineAmountExcludeTax));
91
-
92
- /** 金额(含税) lineAmountExcludeTax * (1+${good.taxRate}/100)*/
93
- lineAmountIncludeTax = format2(chain(bignumber(lineAmountExcludeTax))
94
- .multiply(chain(bignumber(1)).add(taxRate).done())
95
- .done().toNumber()) as number
96
- }
97
-
98
- /** 税额 */
99
- const taxAmount = chain(bignumber(lineAmountIncludeTax))
100
- .subtract(bignumber(lineAmountExcludeTax))
101
- .done()
102
- .toNumber();
103
-
104
-
105
- good.discountGroup = discountGroup;
106
- good.lineAttribute = LineAttributeType.被折扣行;
107
- goodsList.splice(i + 1, 0, {
108
- $index: idGenerator(),
109
- lineAttribute: LineAttributeType.折扣行,
110
- taxClassificationCode: good.taxClassificationCode,
111
- taxRate: good.taxRate,
112
- itemName: good.itemName,
113
- itemNameSelf: good.itemNameSelf,
114
- favouredPolicyMark: good.favouredPolicyMark,
115
- favouredPolicyName: good.favouredPolicyName,
116
- taxFreeType: good.taxFreeType,
117
- discountGroup,
118
- lineAmountIncludeTax,
119
- lineAmountExcludeTax,
120
- taxAmount,
121
- });
122
- }
123
-
124
- state.goodsListState.goodsList = goodsList.slice();
125
- };
1
+ /**
2
+ *
3
+ * 折扣率 含税金额 不含税金额
4
+ *
5
+ * 含税折扣额 = -1 * (含税金额 * 折扣率)
6
+ * 不含税扣额 = 含税折扣额 / (1+税率)
7
+ * 折扣税额 = 含税折扣额 - 不含税扣额
8
+ */
9
+
10
+ import { v4 as uuidv4 } from 'uuid';
11
+ import { chain, bignumber } from 'mathjs';
12
+ import { InvoiceControllerState } from '../';
13
+ import LineAttributeType from '../InvoiceControllerState/GoodsListState/LineAttributeType';
14
+ import idGenerator from '../../tools/idGenerator';
15
+ import { format2 } from '../../../Invoice/tools/calculate';
16
+
17
+ export interface IOptions {
18
+ /** 需要添加的 索引列表 */
19
+ indexList: string[];
20
+
21
+ /** 折扣 */
22
+ discount: number;
23
+
24
+ /** 折扣 金额 */
25
+ discolineAmountunt: number;
26
+ }
27
+
28
+ /**
29
+ * 给一组货物添加折扣行
30
+ */
31
+ export default async (state: InvoiceControllerState, options?: IOptions) => {
32
+ if (!options) return;
33
+
34
+ const { indexList = [] } = options;
35
+ const discount = chain(bignumber(options.discount || 0)).dotDivide(bignumber(100)).done();
36
+ const goodsMap = state.goodsListState.goodsMap;
37
+ const goodsList = state.goodsListState.goodsList;
38
+ const discountGroup = uuidv4();
39
+ let amountSum = bignumber(0);
40
+
41
+ for (let t = 0; t < indexList.length; t++) {
42
+ const $index = indexList[t];
43
+ const good = goodsMap.get($index);
44
+
45
+ if (!good || good.lineAttribute !== LineAttributeType.正常) continue;
46
+
47
+ const i = goodsList.indexOf(good);
48
+
49
+ let lineAmountIncludeTax = 0;
50
+ let lineAmountExcludeTax = 0;
51
+
52
+ const taxRate = chain(bignumber(good.taxRate)).dotDivide(bignumber(100)).done();
53
+ if (state.goodsListState.isTaxIncluded) {
54
+ /** 金额(含税) -1 * ${good.lineAmountIncludeTax} * ${discount}*/
55
+ lineAmountIncludeTax = (() => {
56
+ if (t === indexList.length - 1) {
57
+ return chain(bignumber(options.discolineAmountunt)).add(amountSum).multiply(-1).done().toNumber();
58
+ } else {
59
+ return chain(bignumber(-1))
60
+ .multiply(bignumber(good.lineAmountIncludeTax))
61
+ .multiply(discount)
62
+ .done()
63
+ .toNumber()
64
+ .toFixed(2);
65
+ }
66
+ })()
67
+ amountSum = amountSum.add(bignumber(lineAmountIncludeTax));
68
+
69
+ /** 金额(不含税) ${lineAmountIncludeTax} / (1+${good.taxRate}/100)*/
70
+ lineAmountExcludeTax = 1 * chain(bignumber(lineAmountIncludeTax))
71
+ .dotDivide(chain(bignumber(1)).add(taxRate).done())
72
+ .done()
73
+ .toNumber()
74
+ .toFixed(2)
75
+ } else {
76
+
77
+ /** 金额(不含税) -1 * ${good.lineAmountIncludeTax} * ${discount}*/
78
+ lineAmountExcludeTax = (() => {
79
+ if (t === indexList.length - 1) {
80
+ return chain(bignumber(options.discolineAmountunt)).add(amountSum).multiply(-1).done().toNumber();
81
+ } else {
82
+ return chain(bignumber(-1))
83
+ .multiply(bignumber(good.lineAmountExcludeTax))
84
+ .multiply(discount)
85
+ .done()
86
+ .toNumber()
87
+ .toFixed(2);
88
+ }
89
+ })()
90
+ amountSum = amountSum.add(bignumber(lineAmountExcludeTax));
91
+
92
+ /** 金额(含税) lineAmountExcludeTax * (1+${good.taxRate}/100)*/
93
+ lineAmountIncludeTax = format2(chain(bignumber(lineAmountExcludeTax))
94
+ .multiply(chain(bignumber(1)).add(taxRate).done())
95
+ .done().toNumber()) as number
96
+ }
97
+
98
+ /** 税额 */
99
+ const taxAmount = chain(bignumber(lineAmountIncludeTax))
100
+ .subtract(bignumber(lineAmountExcludeTax))
101
+ .done()
102
+ .toNumber();
103
+
104
+
105
+ good.discountGroup = discountGroup;
106
+ good.lineAttribute = LineAttributeType.被折扣行;
107
+ goodsList.splice(i + 1, 0, {
108
+ $index: idGenerator(),
109
+ lineAttribute: LineAttributeType.折扣行,
110
+ taxClassificationCode: good.taxClassificationCode,
111
+ taxRate: good.taxRate,
112
+ itemName: good.itemName,
113
+ itemNameSelf: good.itemNameSelf,
114
+ favouredPolicyMark: good.favouredPolicyMark,
115
+ favouredPolicyName: good.favouredPolicyName,
116
+ taxFreeType: good.taxFreeType,
117
+ discountGroup,
118
+ lineAmountIncludeTax,
119
+ lineAmountExcludeTax,
120
+ taxAmount,
121
+ });
122
+ }
123
+
124
+ state.goodsListState.goodsList = goodsList.slice();
125
+ };
@@ -0,0 +1,84 @@
1
+
2
+ import { v4 as uuidv4 } from 'uuid';
3
+ import { bignumber, chain } from 'mathjs';
4
+ import { InvoiceControllerState, LineAttributeType } from '../';
5
+ import idGenerator from '../../tools/idGenerator';
6
+
7
+ export interface IOptions {
8
+ /** 需要添加的索引 */
9
+ $index: string;
10
+
11
+ /** 折扣 金额 */
12
+ discolineAmountunt: number;
13
+ }
14
+
15
+ /**
16
+ * 给一组货物添加折扣行
17
+ */
18
+ export default async (state: InvoiceControllerState, options?: IOptions[]) => {
19
+
20
+ if (!options || options.length <= 0) return;
21
+
22
+ const discountGroup = uuidv4();
23
+
24
+ options.forEach(e => {
25
+ const goodsList = state.goodsListState.goodsList;
26
+ const goodsMap = state.goodsListState.goodsMap;
27
+ for (let i = 0; i < goodsList.length; i++) {
28
+ const good = goodsList[i];
29
+ if (good.$index !== e.$index) continue;
30
+
31
+ // 折扣行 税额
32
+ const lineAmountExcludeTax = getLineAmountExcludeTax(e.discolineAmountunt, good.taxRate);
33
+ const taxAmount = getTaxAmount(e.discolineAmountunt, lineAmountExcludeTax);
34
+
35
+ good.lineAttribute = LineAttributeType.被折扣行;
36
+ good.discountGroup = discountGroup;
37
+
38
+ const newGood = {
39
+ discountGroup,
40
+ $index: idGenerator(),
41
+ lineAttribute: LineAttributeType.折扣行,
42
+ taxRate: good.taxRate,
43
+ itemName: good.itemName,
44
+
45
+ taxAmount: -1 * taxAmount,
46
+ lineAmountExcludeTax: -1 * lineAmountExcludeTax,
47
+ lineAmountIncludeTax: -1 * e.discolineAmountunt,
48
+
49
+ taxFreeType: good.taxFreeType,
50
+ favouredPolicyMark: good.favouredPolicyMark,
51
+ favouredPolicyName: good.favouredPolicyName,
52
+ }
53
+
54
+ goodsList.splice(i + 1, 0, newGood);
55
+ goodsMap.set(newGood.$index, newGood);
56
+ }
57
+ })
58
+
59
+ state.goodsListState.goodsList = [...state.goodsListState.goodsList];
60
+ state.goodsListState.goodsMap = new Map(state.goodsListState.goodsMap);
61
+ }
62
+
63
+ /** 金额(不含税) = 含税金额 / (1 + 税率) */
64
+ function getLineAmountExcludeTax(lineAmountIncludeTax: number, taxRate: number = 0) {
65
+ const biTaxRate = chain(bignumber(taxRate)).divide(bignumber(100)).done();
66
+ return chain(bignumber(lineAmountIncludeTax))
67
+ .divide(chain(bignumber(1)).add(biTaxRate).done())
68
+
69
+ .multiply(bignumber(100))
70
+ .floor()
71
+ .divide(bignumber(100))
72
+
73
+ .done()
74
+ .toNumber()
75
+ }
76
+
77
+ /** 税额 = 含税金额 - 金额(不含税) */
78
+ function getTaxAmount(lineAmountIncludeTax: number, lineAmountExcludeTax: number) {
79
+ return chain(bignumber(lineAmountIncludeTax))
80
+ .subtract(bignumber(lineAmountExcludeTax))
81
+
82
+ .done()
83
+ .toNumber()
84
+ }
@@ -1,43 +1,41 @@
1
- import { InvoiceControllerState, IGood } from '../';
2
- import LineAttributeType from '../../InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType';
3
-
4
- /**
5
- * 设置当前的编辑货物
6
- */
7
- export default async (state: InvoiceControllerState, $index?: string) => {
8
- if (!$index) return;
9
-
10
- const goods = state.goodsListState.goodsList.filter( (e) => e.$index === $index)[0];
11
- if (!goods) return;
12
- if (
13
- state.goodsListState.editGood &&
14
- state.goodsListState.editGood.$index === $index
15
- ) {
16
- state.goodsListState.editGood = undefined;
17
- }
18
-
19
- if (goods.lineAttribute === LineAttributeType.正常) {
20
- state.goodsListState.selectedGoodIndex =
21
- state.goodsListState.selectedGoodIndex.filter((e) => e !== $index);
22
- state.goodsListState.goodsList = state.goodsListState.goodsList.filter(
23
- (e) => e.$index !== $index,
24
- );
25
- }
26
-
27
- if (goods.lineAttribute === LineAttributeType.折扣行) {
28
- state.goodsListState.goodsList = state.goodsListState.goodsList.filter(
29
- (e) => {
30
- if (e.discountGroup !== goods.discountGroup) return true;
31
- if (e.lineAttribute === LineAttributeType.折扣行) {
32
- state.goodsListState.selectedGoodIndex =
33
- state.goodsListState.selectedGoodIndex.filter((e) => e !== $index);
34
- return false;
35
- }
36
- if (e.lineAttribute === LineAttributeType.被折扣行) {
37
- e.lineAttribute = LineAttributeType.正常;
38
- return true;
39
- }
40
- },
41
- );
42
- }
43
- };
1
+ import { InvoiceControllerState, IGood } from '../';
2
+ import LineAttributeType from '../../InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType';
3
+
4
+ /**
5
+ * 删除一个货物
6
+ */
7
+ export default async (state: InvoiceControllerState, $index?: string) => {
8
+ if (!$index) return;
9
+
10
+ // 查下要删除的货物
11
+ const goods = state.goodsListState.goodsList.filter((e) => e.$index === $index)[0];
12
+ if (!goods) return;
13
+
14
+ // 如果正在编辑 就取消编辑
15
+ if (state.goodsListState.editGood && state.goodsListState.editGood.$index === $index) {
16
+ state.goodsListState.editGood = undefined;
17
+ }
18
+
19
+ const goodsList = state.goodsListState.goodsList;
20
+ const goodsMap = state.goodsListState.goodsMap;
21
+
22
+ goodsMap.delete($index);
23
+
24
+ for (let i = 0; i < goodsList.length; i++) {
25
+
26
+ if (goodsList[i].$index === $index) {
27
+ const good = goodsList[i];
28
+
29
+ if (good.lineAttribute === LineAttributeType.折扣行 && goodsList[i - 1] && goodsList[i - 1].lineAttribute === LineAttributeType.被折扣行) {
30
+ goodsList[i - 1].lineAttribute = LineAttributeType.正常;
31
+ }
32
+
33
+ goodsList.splice(i, 1);
34
+
35
+ break;
36
+ }
37
+ }
38
+
39
+ state.goodsListState.goodsList = [...goodsList];
40
+ state.goodsListState.goodsMap = new Map(goodsMap);
41
+ };
@@ -1,24 +1,24 @@
1
-
2
- import IGood from "../InvoiceControllerState/GoodsListState/IGood";
3
-
4
- /**
5
- * 计算搜索商品
6
- * @param goodsList 被搜索列表
7
- * @param search 搜索条件
8
- * @param isTaxIncluded 是否含税
9
- * @returns
10
- */
11
- export default function getGoodsSearch(goodsList: IGood[], search: string, isTaxIncluded: boolean) {
12
- if (!search) return goodsList;
13
- return goodsList.filter(e => {
14
- if ((e.itemName?.indexOf(search) ?? -1) >= 0) {
15
- return true;
16
- } else if ((e.itemModelName?.indexOf(search) ?? -1) >= 0) {
17
- return true
18
- } else if (`${isTaxIncluded ? e.lineAmountIncludeTax?.toFixed(2) : e.lineAmountExcludeTax?.toFixed(2)}`.indexOf(search) >= 0) {
19
- return true
20
- } else {
21
- return false;
22
- }
23
- })
1
+
2
+ import IGood from "../InvoiceControllerState/GoodsListState/IGood";
3
+
4
+ /**
5
+ * 计算搜索商品
6
+ * @param goodsList 被搜索列表
7
+ * @param search 搜索条件
8
+ * @param isTaxIncluded 是否含税
9
+ * @returns
10
+ */
11
+ export default function getGoodsSearch(goodsList: IGood[], search: string, isTaxIncluded: boolean) {
12
+ if (!search) return goodsList;
13
+ return goodsList.filter(e => {
14
+ if ((e.itemName?.indexOf(search) ?? -1) >= 0) {
15
+ return true;
16
+ } else if ((e.itemModelName?.indexOf(search) ?? -1) >= 0) {
17
+ return true
18
+ } else if (`${isTaxIncluded ? e.lineAmountIncludeTax?.toFixed(2) : e.lineAmountExcludeTax?.toFixed(2)}`.indexOf(search) >= 0) {
19
+ return true
20
+ } else {
21
+ return false;
22
+ }
23
+ })
24
24
  }
@@ -1,23 +1,24 @@
1
- import { InvoiceControllerState } from '../';
2
-
3
- /**
4
- * 保存正在编辑的货物
5
- */
6
- export default async (state: InvoiceControllerState) => {
7
- const editGood = state.goodsListState.editGood;
8
- const form = state.goodsListState.form;
9
-
10
- if (!editGood || !form || state.goodsListState.importGoods.isVisibleDrawer || state.calculatingField) return;
11
- if ((await validateFields(form)).err) return;
12
-
13
- state.goodsListState.goodsList = state.goodsListState.goodsList.map((e) =>
14
- e.$index === editGood.$index ? { ...e, ...editGood } : e,
15
- );
16
- state.goodsListState.editGood = undefined;
17
- };
18
-
19
- const validateFields = (form: any) => new Promise((resolve: (v: { err: any; values: any }) => void) => {
20
- form.validateFields(async (err: any, values: any) => {
21
- resolve({ err, values });
22
- });
23
- });
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
  };