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
package/index.html CHANGED
@@ -1,13 +1,13 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta http-equiv="refresh" content="0;url=./docs-dist">
6
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
- <title>文档</title>
9
- </head>
10
- <body>
11
-
12
- </body>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta http-equiv="refresh" content="0;url=./docs-dist">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <title>文档</title>
9
+ </head>
10
+ <body>
11
+
12
+ </body>
13
13
  </html>
package/package.json CHANGED
@@ -1,60 +1,60 @@
1
- {
2
- "name": "kts-component-invoice-operate",
3
- "version": "3.1.19",
4
- "scripts": {
5
- "start": "dumi dev",
6
- "docs:build": "dumi build",
7
- "docs:deploy": "gh-pages -d docs-dist",
8
- "build": "father-build",
9
- "deploy": "npm run docs:build && npm run docs:deploy",
10
- "release": "npm run build && npm publish",
11
- "prettier": "prettier --write \"**/*.{js,jsx,tsx,ts,less,md,json}\"",
12
- "test": "umi-test",
13
- "test:coverage": "umi-test --coverage",
14
- "pub": "antd-tools run pub"
15
- },
16
- "main": "dist/index.js",
17
- "module": "dist/index.esm.js",
18
- "typings": "dist/index.d.ts",
19
- "gitHooks": {
20
- "pre-commit": "lint-staged"
21
- },
22
- "lint-staged": {
23
- "*.{js,jsx,less,md,json}": [],
24
- "*.ts?(x)": []
25
- },
26
- "dependencies": {
27
- "@formily/antd": "^1.3.17",
28
- "@formily/antd-components": "^1.3.17",
29
- "@types/uuid": "^8.3.0",
30
- "classnames": "^2.3.1",
31
- "grey-react-box": "^0.2.22",
32
- "kts-components-antd-x3": "^3.26.20-5",
33
- "kts-components-antd-x4": "5.0.0",
34
- "kts-components-antd-x4-v4": "npm:kts-components-antd-x4@^4.0.3",
35
- "kts-xui": "^2.0.3",
36
- "mathjs": "^9.4.2",
37
- "next": "^11.0.1",
38
- "nzh": "^1.0.4",
39
- "react": "^16.12.0",
40
- "react-dom": "^16.12.0",
41
- "styled-components": "^5.3.0",
42
- "uuid": "^8.3.2"
43
- },
44
- "devDependencies": {
45
- "@umijs/plugin-antd": "^0.10.0",
46
- "@umijs/test": "^3.0.5",
47
- "antd": "3.26.20",
48
- "dumi": "^1.0.14",
49
- "father-build": "^1.17.2",
50
- "gh-pages": "^3.0.0",
51
- "invariant": "^2.2.4",
52
- "kts-components": "^1.2.18",
53
- "lint-staged": "^10.0.7",
54
- "prettier": "^2.2.1",
55
- "yorkie": "^2.0.0"
56
- },
57
- "resolutions": {
58
- "@types/react": "17.0.2"
59
- }
60
- }
1
+ {
2
+ "name": "kts-component-invoice-operate",
3
+ "version": "3.2.0",
4
+ "scripts": {
5
+ "start": "dumi dev",
6
+ "docs:build": "dumi build",
7
+ "docs:deploy": "gh-pages -d docs-dist",
8
+ "build": "father-build",
9
+ "deploy": "npm run docs:build && npm run docs:deploy",
10
+ "release": "npm run build && npm publish",
11
+ "prettier": "prettier --write \"**/*.{js,jsx,tsx,ts,less,md,json}\"",
12
+ "test": "umi-test",
13
+ "test:coverage": "umi-test --coverage",
14
+ "pub": "antd-tools run pub"
15
+ },
16
+ "main": "dist/index.js",
17
+ "module": "dist/index.esm.js",
18
+ "typings": "dist/index.d.ts",
19
+ "gitHooks": {
20
+ "pre-commit": "lint-staged"
21
+ },
22
+ "lint-staged": {
23
+ "*.{js,jsx,less,md,json}": [],
24
+ "*.ts?(x)": []
25
+ },
26
+ "dependencies": {
27
+ "@formily/antd": "^1.3.17",
28
+ "@formily/antd-components": "^1.3.17",
29
+ "@types/uuid": "^8.3.0",
30
+ "classnames": "^2.3.1",
31
+ "grey-react-box": "^0.2.22",
32
+ "kts-components-antd-x3": "^3.26.20-5",
33
+ "kts-components-antd-x4": "5.0.0",
34
+ "kts-components-antd-x4-v4": "npm:kts-components-antd-x4@^4.0.3",
35
+ "kts-xui": "^2.0.3",
36
+ "mathjs": "^9.4.2",
37
+ "next": "^11.0.1",
38
+ "nzh": "^1.0.4",
39
+ "react": "^16.12.0",
40
+ "react-dom": "^16.12.0",
41
+ "styled-components": "^5.3.0",
42
+ "uuid": "^8.3.2"
43
+ },
44
+ "devDependencies": {
45
+ "@umijs/plugin-antd": "^0.10.0",
46
+ "@umijs/test": "^3.0.5",
47
+ "antd": "3.26.20",
48
+ "dumi": "^1.0.14",
49
+ "father-build": "^1.17.2",
50
+ "gh-pages": "^3.0.0",
51
+ "invariant": "^2.2.4",
52
+ "kts-components": "^1.2.18",
53
+ "lint-staged": "^10.0.7",
54
+ "prettier": "^2.2.1",
55
+ "yorkie": "^2.0.0"
56
+ },
57
+ "resolutions": {
58
+ "@types/react": "17.0.2"
59
+ }
60
+ }
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import Invoice from '../../..';
3
+ import 'antd/dist/antd.css';
4
+
5
+ export default () => {
6
+
7
+ const controller = React.useMemo(() => new Invoice.InvoiceController(), []);
8
+
9
+ React.useEffect(() => {
10
+ (async () => {
11
+
12
+ await controller.run(async s => {
13
+ s.stakeholder.disableds = [
14
+ 'buyerName',
15
+ 'buyerTaxId',
16
+ 'remark',
17
+ ]
18
+ })
19
+
20
+ controller.formList.get('stakeholder')?.setFieldsValue({
21
+ buyerName: 'buyerName',
22
+ buyerTaxId: 'buyerTaxId',
23
+ })
24
+
25
+ controller.formList.get('sign')?.setFieldsValue({
26
+ remark: 'remark',
27
+ })
28
+ })()
29
+
30
+ }, [controller])
31
+
32
+ return (
33
+ <Invoice
34
+ invoiceType='digtal'
35
+ controller={controller}
36
+ />
37
+ )
38
+ };
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import Invoice from '../../..';
3
+ import 'antd/dist/antd.css';
4
+
5
+ export default () => <Invoice invoiceType='digtal' />;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import Invoice from '../../..';
3
+ import 'antd/dist/antd.css';
4
+
5
+ export default () => {
6
+ return (
7
+ <Invoice
8
+ invoiceType='digtal'
9
+ invoiceHeader={
10
+ <Invoice.InvoiceHeaderDigtal
11
+ defaultNo='2029292029201920291029'
12
+ defaultInvoicingDate='2023年7月6日'
13
+ defaultTag="成品油"
14
+ />}
15
+ />
16
+ )
17
+ };
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import Invoice from '../../..';
3
+ import 'antd/dist/antd.css';
4
+
5
+ export default () => {
6
+
7
+ const controller = React.useMemo(() => new Invoice.InvoiceController(), [])
8
+
9
+ React.useEffect(() => {
10
+ (async () => {
11
+ await controller.run(async s => { s.model = 'readOnly' }); // 设置只读
12
+ await controller.formList.get('invoiceHeader')?.setFieldsValue({
13
+ no: '2029292029201920291029',
14
+ invoicingDate: '2023年7月6日',
15
+ tag:'成品油',
16
+ })
17
+ await controller.formList.get('stakeholder')?.setFieldsValue({
18
+ buyerName: '购买方名称',
19
+ buyerTaxId: 'xxxxxxxxxx',
20
+ buyerAddress: '购买方地址',
21
+ buyerPhone: '15800000000',
22
+ buyerBank: '购买方开户银行',
23
+ buyerAccount: '银行账号',
24
+
25
+ supplierName: '销售方名称',
26
+ supplierTaxId: 'xxxxxxxxxxxx',
27
+ sellerAddress: '购买方地址',
28
+ sellerPhone: '15800000000',
29
+ sellerBank: '购买方开户银行',
30
+ sellerAccount: '银行账号',
31
+ })
32
+ await controller.formList.get('sign')?.setFieldsValue({
33
+ remark: '备注',
34
+ issuer: '张自豪',
35
+ })
36
+ })()
37
+ }, [controller])
38
+
39
+ return (
40
+ <Invoice invoiceType='digtal' controller={controller} />
41
+ )
42
+ };
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import Invoice from '../../..';
3
+ import 'antd/dist/antd.css';
4
+
5
+ export default () => {
6
+
7
+ const controller = React.useMemo(() => new Invoice.InvoiceController(), []);
8
+
9
+ return (
10
+ <Invoice controller={controller} invoiceType='digtal' />
11
+ )
12
+ };
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import Invoice from '../../..';
3
+ import 'antd/dist/antd.css';
4
+
5
+ export default () => {
6
+
7
+ const controller = React.useMemo(() => new Invoice.InvoiceController(), []);
8
+
9
+ React.useEffect(() => {
10
+ controller.run(async s => {
11
+ s.typeModalProps = {
12
+ businessOptions: [
13
+ { label: '成品油', value: '1' }
14
+ ],
15
+ invoiceTypeOptions: [
16
+ { label: '类型1', value: '1' },
17
+ { label: '类型2', value: '2' },
18
+ { label: '类型3', value: '3' },
19
+ { label: '类型4', value: '4' },
20
+ ],
21
+ onOk: (e => { console.log(e) })
22
+ }
23
+ })
24
+ }, [controller])
25
+
26
+ return (
27
+ <Invoice invoiceType='digtal' controller={controller} />
28
+ )
29
+ };
@@ -0,0 +1,19 @@
1
+ # 数电
2
+
3
+ ## 简单用法
4
+ <code src="./_test/easiest/index.tsx"></code>
5
+
6
+ ## 只读模式
7
+ <code src="./_test/readOnly/index.tsx"></code>
8
+
9
+ ## 发票号码 & 开票日期 & 标签
10
+ <code src="./_test/header/index.tsx"></code>
11
+
12
+ ## 导入关系人
13
+ <code src="./_test/stakeholder/index.tsx"></code>
14
+
15
+ ## 类型选择
16
+ <code src="./_test/typeSelection/index.tsx"></code>
17
+
18
+ ## 表单禁用
19
+ <code src="./_test/disabled/index.tsx"></code>
@@ -1,94 +1,94 @@
1
- import React from 'react';
2
- import GreyReactBox from 'grey-react-box';
3
- import { chain, bignumber } from 'mathjs';
4
- import InvoiceControllerState from '../InvoiceControllerState';
5
- import { WrappedFormUtils } from 'kts-components-antd-x3/lib/form/Form';
6
-
7
- export default class InvoiceControllerForm extends GreyReactBox<InvoiceControllerState> {
8
- /** form 字典 */
9
- readonly formList = new Map<string, WrappedFormUtils>();
10
-
11
- /** 注册 form */
12
- useForm(key: string, value: WrappedFormUtils) {
13
- /** 注册 form 到组件 */
14
- React.useEffect(() => {
15
- this.formList.set(key, value);
16
- return () => {
17
- this.formList.delete(key);
18
- };
19
- }, [value, key]);
20
- }
21
-
22
- /** 校验所有表单 */
23
- async validateFields(): Promise<{ errors: Map<string, any>; values: Map<string, any> }> {
24
-
25
- await this.wait();
26
-
27
- const _errors = new Map<string, any>();
28
- const _values = new Map<string, any>();
29
-
30
- const arr = Array.from(this.formList);
31
- for (let i = 0; i < arr.length; i++) {
32
- const key = arr[i][0];
33
- const { errors, values } = await validateFields(arr[i][1]);
34
-
35
- errors && _errors.set(key, errors);
36
- _values && _values.set(key, values);
37
- }
38
-
39
- // 列表数据
40
- if (this.state.goodsListState.form) {
41
- try {
42
- await this.state.goodsListState.form?.validateFields()
43
- } catch (error:any) {
44
- _errors.set('goodsList', error.errors);
45
- }
46
- }
47
-
48
- _values.set('goodsList', this.state.goodsListState.goodsList.slice());
49
-
50
- // 金额(含税)
51
- _values.set('lineAmountIncludeTax', (() => {
52
- let sum = chain(bignumber(0));
53
- this.state.goodsListState.goodsList.forEach(e => {
54
- if (!e) return;
55
- sum = sum.add(bignumber(e.lineAmountIncludeTax || 0));
56
- });
57
- return sum.done().toNumber();
58
- })());
59
-
60
- // 金额(不含税)
61
- _values.set('lineAmountExcludeTax', (() => {
62
- let sum = chain(bignumber(0));
63
- this.state.goodsListState.goodsList.forEach(e => {
64
- if (!e) return;
65
- sum = sum.add(bignumber(e.lineAmountExcludeTax || 0));
66
- });
67
- return sum.done().toNumber();
68
- })());
69
-
70
- // 税额
71
- _values.set('taxAmount', (() => {
72
- let sum = chain(bignumber(0));
73
- this.state.goodsListState.goodsList.forEach((e) => {
74
- if (!e) return;
75
- sum = sum.add(bignumber(e.taxAmount || 0));
76
- });
77
- return sum.done().toNumber();
78
- })());
79
-
80
- // 含税标记
81
- _values.set('isTaxIncluded', this.state.goodsListState.isTaxIncluded)
82
-
83
- return { errors: _errors, values: _values };
84
- }
85
- }
86
-
87
- const validateFields = (form: WrappedFormUtils) => {
88
- return new Promise<any>((resolve: (v: any) => void) => {
89
- form.validateFields((errors, values) => {
90
- resolve({ errors, values });
91
- });
92
- });
93
- };
94
-
1
+ import React from 'react';
2
+ import GreyReactBox from 'grey-react-box';
3
+ import { chain, bignumber } from 'mathjs';
4
+ import InvoiceControllerState from '../InvoiceControllerState';
5
+ import { WrappedFormUtils } from 'kts-components-antd-x3/lib/form/Form';
6
+
7
+ export default class InvoiceControllerForm extends GreyReactBox<InvoiceControllerState> {
8
+ /** form 字典 */
9
+ readonly formList = new Map<string, WrappedFormUtils>();
10
+
11
+ /** 注册 form */
12
+ useForm(key: string, value: WrappedFormUtils) {
13
+ /** 注册 form 到组件 */
14
+ React.useEffect(() => {
15
+ this.formList.set(key, value);
16
+ return () => {
17
+ this.formList.delete(key);
18
+ };
19
+ }, [value, key]);
20
+ }
21
+
22
+ /** 校验所有表单 */
23
+ async validateFields(): Promise<{ errors: Map<string, any>; values: Map<string, any> }> {
24
+
25
+ await this.wait();
26
+
27
+ const _errors = new Map<string, any>();
28
+ const _values = new Map<string, any>();
29
+
30
+ const arr = Array.from(this.formList);
31
+ for (let i = 0; i < arr.length; i++) {
32
+ const key = arr[i][0];
33
+ const { errors, values } = await validateFields(arr[i][1]);
34
+
35
+ errors && _errors.set(key, errors);
36
+ _values && _values.set(key, values);
37
+ }
38
+
39
+ // 列表数据
40
+ if (this.state.goodsListState.form) {
41
+ try {
42
+ await this.state.goodsListState.form?.validateFields()
43
+ } catch (error:any) {
44
+ _errors.set('goodsList', error.errors);
45
+ }
46
+ }
47
+
48
+ _values.set('goodsList', this.state.goodsListState.goodsList.slice());
49
+
50
+ // 金额(含税)
51
+ _values.set('lineAmountIncludeTax', (() => {
52
+ let sum = chain(bignumber(0));
53
+ this.state.goodsListState.goodsList.forEach(e => {
54
+ if (!e) return;
55
+ sum = sum.add(bignumber(e.lineAmountIncludeTax || 0));
56
+ });
57
+ return sum.done().toNumber();
58
+ })());
59
+
60
+ // 金额(不含税)
61
+ _values.set('lineAmountExcludeTax', (() => {
62
+ let sum = chain(bignumber(0));
63
+ this.state.goodsListState.goodsList.forEach(e => {
64
+ if (!e) return;
65
+ sum = sum.add(bignumber(e.lineAmountExcludeTax || 0));
66
+ });
67
+ return sum.done().toNumber();
68
+ })());
69
+
70
+ // 税额
71
+ _values.set('taxAmount', (() => {
72
+ let sum = chain(bignumber(0));
73
+ this.state.goodsListState.goodsList.forEach((e) => {
74
+ if (!e) return;
75
+ sum = sum.add(bignumber(e.taxAmount || 0));
76
+ });
77
+ return sum.done().toNumber();
78
+ })());
79
+
80
+ // 含税标记
81
+ _values.set('isTaxIncluded', this.state.goodsListState.isTaxIncluded)
82
+
83
+ return { errors: _errors, values: _values };
84
+ }
85
+ }
86
+
87
+ const validateFields = (form: WrappedFormUtils) => {
88
+ return new Promise<any>((resolve: (v: any) => void) => {
89
+ form.validateFields((errors, values) => {
90
+ resolve({ errors, values });
91
+ });
92
+ });
93
+ };
94
+