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,56 +1,56 @@
1
-
2
- export interface ISN {
3
-
4
- /** 简称 */
5
- shorthand?: string;
6
-
7
- /** 全称 */
8
- full: string
9
- }
10
-
11
- /** 拆分全称加简称 */
12
- export const getSN = (value?: string): ISN | undefined => {
13
- if (!value) return undefined;
14
- const arr = value.match(/\*[^*]+\*/);
15
- if (arr && arr[0]) {
16
- return { shorthand: arr[0].split('*')[1], full: value.replace(arr[0], '') };
17
- } else {
18
- return { shorthand: undefined, full: value };
19
- }
20
- };
21
-
22
- /** 组合全称加简称 */
23
- export const getItemName = (value: ISN) => {
24
- if (value.shorthand) {
25
- return `*${value.shorthand}*${value.full}`;
26
- } else {
27
- return value.full;
28
- }
29
- }
30
-
31
- /** 设置全称 */
32
- export const setFull = (name?:string, full?:string) => {
33
- const sn = getSN(name);
34
- if(!sn) return full;
35
- sn.full = full || '';
36
- return getItemName(sn);
37
- }
38
-
39
- /** 设置简称 */
40
- export const setShorthand = (name?:string, shorthand?:string) => {
41
- if(!name) return undefined
42
-
43
- const sn = getSN(name);
44
- if(!sn) return undefined;
45
- sn.shorthand = shorthand || '';
46
- return getItemName(sn);
47
- }
48
-
49
- /** 组合全称加简称 */
50
- export const getItemNameWithShorthand = (value: ISN) => {
51
- if (value.shorthand) {
52
- return `*${value.shorthand}*${value.full}`;
53
- } else {
54
- return value.full;
55
- }
1
+
2
+ export interface ISN {
3
+
4
+ /** 简称 */
5
+ shorthand?: string;
6
+
7
+ /** 全称 */
8
+ full: string
9
+ }
10
+
11
+ /** 拆分全称加简称 */
12
+ export const getSN = (value?: string): ISN | undefined => {
13
+ if (!value) return undefined;
14
+ const arr = value.match(/\*[^*]+\*/);
15
+ if (arr && arr[0]) {
16
+ return { shorthand: arr[0].split('*')[1], full: value.replace(arr[0], '') };
17
+ } else {
18
+ return { shorthand: undefined, full: value };
19
+ }
20
+ };
21
+
22
+ /** 组合全称加简称 */
23
+ export const getItemName = (value: ISN) => {
24
+ if (value.shorthand) {
25
+ return `*${value.shorthand}*${value.full}`;
26
+ } else {
27
+ return value.full;
28
+ }
29
+ }
30
+
31
+ /** 设置全称 */
32
+ export const setFull = (name?:string, full?:string) => {
33
+ const sn = getSN(name);
34
+ if(!sn) return full;
35
+ sn.full = full || '';
36
+ return getItemName(sn);
37
+ }
38
+
39
+ /** 设置简称 */
40
+ export const setShorthand = (name?:string, shorthand?:string) => {
41
+ if(!name) return undefined
42
+
43
+ const sn = getSN(name);
44
+ if(!sn) return undefined;
45
+ sn.shorthand = shorthand || '';
46
+ return getItemName(sn);
47
+ }
48
+
49
+ /** 组合全称加简称 */
50
+ export const getItemNameWithShorthand = (value: ISN) => {
51
+ if (value.shorthand) {
52
+ return `*${value.shorthand}*${value.full}`;
53
+ } else {
54
+ return value.full;
55
+ }
56
56
  }
@@ -1,20 +1,20 @@
1
- /** 延迟函数 */
2
- export default (fn: Function, delayed: number = 200) => {
3
- // let timer: any = 0;
4
- // return (...par: any[]) => {
5
- // if (timer === 0) {
6
- // timer = setTimeout(() => {
7
- // fn.apply(null, par);
8
- // timer = 0;
9
- // }, delayed);
10
- // }
11
- // }
12
- let timer: any;
13
- return (...par: any[]) => {
14
- if (timer) return;
15
- timer = setTimeout(() => {
16
- timer = undefined;
17
- fn.apply(null, par);
18
- }, delayed);
19
- }
1
+ /** 延迟函数 */
2
+ export default (fn: Function, delayed: number = 200) => {
3
+ // let timer: any = 0;
4
+ // return (...par: any[]) => {
5
+ // if (timer === 0) {
6
+ // timer = setTimeout(() => {
7
+ // fn.apply(null, par);
8
+ // timer = 0;
9
+ // }, delayed);
10
+ // }
11
+ // }
12
+ let timer: any;
13
+ return (...par: any[]) => {
14
+ if (timer) return;
15
+ timer = setTimeout(() => {
16
+ timer = undefined;
17
+ fn.apply(null, par);
18
+ }, delayed);
19
+ }
20
20
  }
@@ -0,0 +1,14 @@
1
+
2
+ import * as ReactDOM from 'react-dom';
3
+
4
+ /** 挂在组件到跟上 */
5
+ export default function mounting(node: JSX.Element, containerId?: string) {
6
+ ReactDOM.render(node, getContainer(containerId));
7
+ }
8
+
9
+ function getContainer(containerId: string = 'kts-component-invoice-operate-invoicing-authorization') {
10
+ const div: HTMLElement = document.querySelector(`#${containerId}`) || document.createElement("div");
11
+ div.id = containerId;
12
+ document.body.appendChild(div);
13
+ return div;
14
+ }
@@ -1,41 +1,41 @@
1
- /**
2
- * 判断一个字符串得字节长度
3
- * @param str
4
- * @returns
5
- */
6
- export function bytesLnegth(str: string) {
7
- var count = str.length;
8
- for (var i = 0; i < str.length; i++) {
9
- if (str.charCodeAt(i) > 255) {
10
- count++;
11
- }
12
- }
13
- return count;
14
- }
15
-
16
- /*
17
- * param str 要截取的字符串
18
- * param L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节
19
- * return 截取后的字符串
20
- */
21
- export function cutStr(str: string, L: number) {
22
- var result = '',
23
- strlen = str.length, // 字符串长度
24
- chrlen = str.replace(/[^\x00-\xff]/g, '**').length; // 字节长度
25
-
26
- if (chrlen <= L) { return str; }
27
-
28
- for (var i = 0, j = 0; i < strlen; i++) {
29
- var chr = str.charAt(i);
30
- if (/[\x00-\xff]/.test(chr)) {
31
- j++; // ascii码为0-255,一个字符就是一个字节的长度
32
- } else {
33
- j += 2; // ascii码为0-255以外,一个字符就是两个字节的长度
34
- }
35
- if (j <= L) { // 当加上当前字符以后,如果总字节长度小于等于L,则将当前字符真实的+在result后
36
- result += chr;
37
- } else { // 反之则说明result已经是不拆分字符的情况下最接近L的值了,直接返回
38
- return result;
39
- }
40
- }
1
+ /**
2
+ * 判断一个字符串得字节长度
3
+ * @param str
4
+ * @returns
5
+ */
6
+ export function bytesLnegth(str: string) {
7
+ var count = str.length;
8
+ for (var i = 0; i < str.length; i++) {
9
+ if (str.charCodeAt(i) > 255) {
10
+ count++;
11
+ }
12
+ }
13
+ return count;
14
+ }
15
+
16
+ /*
17
+ * param str 要截取的字符串
18
+ * param L 要截取的字节长度,注意是字节不是字符,一个汉字两个字节
19
+ * return 截取后的字符串
20
+ */
21
+ export function cutStr(str: string, L: number) {
22
+ var result = '',
23
+ strlen = str.length, // 字符串长度
24
+ chrlen = str.replace(/[^\x00-\xff]/g, '**').length; // 字节长度
25
+
26
+ if (chrlen <= L) { return str; }
27
+
28
+ for (var i = 0, j = 0; i < strlen; i++) {
29
+ var chr = str.charAt(i);
30
+ if (/[\x00-\xff]/.test(chr)) {
31
+ j++; // ascii码为0-255,一个字符就是一个字节的长度
32
+ } else {
33
+ j += 2; // ascii码为0-255以外,一个字符就是两个字节的长度
34
+ }
35
+ if (j <= L) { // 当加上当前字符以后,如果总字节长度小于等于L,则将当前字符真实的+在result后
36
+ result += chr;
37
+ } else { // 反之则说明result已经是不拆分字符的情况下最接近L的值了,直接返回
38
+ return result;
39
+ }
40
+ }
41
41
  }
@@ -1,9 +1,9 @@
1
-
2
- import React from 'react'
3
- import InvoiceController from '../../../../InvoiceController'
4
-
5
- /** 更新 商品序号 */
6
- export default function useToGenerateId(controller: InvoiceController) {
7
- const goodsList = controller.useMemo(s => s.goodsListState.goodsList, []);
8
- React.useEffect(() => { goodsList.forEach((e, i) => { e.serialNo = i + 1 }) }, [goodsList])
1
+
2
+ import React from 'react'
3
+ import InvoiceController from '../../InvoiceController'
4
+
5
+ /** 更新 商品序号 */
6
+ export default function useToGenerateId(controller: InvoiceController) {
7
+ const goodsList = controller.useMemo(s => s.goodsListState.goodsList, []);
8
+ React.useEffect(() => { goodsList.forEach((e, i) => { e.serialNo = i + 1 }) }, [goodsList])
9
9
  }
@@ -1,150 +1,150 @@
1
-
2
- import React from "react";
3
- import { Row, Col, Input, Button, message } from "kts-components-antd-x3";
4
- import { Form, Drawer } from "kts-xui";
5
- import { Invoice, IGood } from "../../../";
6
- import { getSN } from "../../tools/itemName";
7
- import { LineAttributeType } from "../../InvoiceController";
8
-
9
- export default function AddComparisonDrawer() {
10
-
11
- const [form] = Form.useForm();
12
-
13
- /** 控制器 */
14
- const controller = Invoice.useInvoiceController();
15
-
16
- /** 正在 添加商品对照 的货物索引 */
17
- const addComparisonIndex = controller.useMemo(s => s.goodsListState.addComparisonIndex, []);
18
-
19
- /** 货物字典 */
20
- const goodsMap = controller.useMemo(s => s.goodsListState.goodsMap, []);
21
-
22
- /** 正在 对照 的货物 */
23
- const good = React.useMemo(() => addComparisonIndex ? goodsMap.get(addComparisonIndex) : undefined, [addComparisonIndex]);
24
-
25
- /** 关闭对照 */
26
- const onClose = React.useCallback(controller.pipeline<any>(async s => { s.goodsListState.addComparisonIndex = undefined }), [controller]);
27
-
28
- /** 提交数据 */
29
- const onSubmit = React.useCallback(() => {
30
- controller.run(async s => {
31
- if (!good) return
32
-
33
- try {
34
- const values = await form.validateFields()
35
- const shorthand = s.goodsListState.isMyShow ? getSN(good.itemNameSelf)?.shorthand : getSN(good.itemName)?.shorthand;
36
- const setGood = (good: IGood) => {
37
- good.itemCode = values.itemCode;
38
- good.itemCodeSelf = values.itemCodeSelf;
39
- good.itemName = shorthand ? `*${shorthand}*${values.itemName}` : values.itemName;
40
- good.itemNameSelf = shorthand ? `*${shorthand}*${values.itemNameSelf}` : values.itemNameSelf;
41
-
42
- if (good.lineAttribute !== LineAttributeType.折扣行) {
43
- good.itemModelName = values.itemModelName;
44
- good.itemModelNameSelf = values.itemModelNameSelf;
45
- }
46
- }
47
-
48
- setGood(good);
49
-
50
- if (good.lineAttribute !== LineAttributeType.正常) {
51
- const c = good.lineAttribute === LineAttributeType.折扣行 ? -1 : good.lineAttribute === LineAttributeType.被折扣行 ? 1 : 0
52
- const g = s.goodsListState.goodsList[s.goodsListState.goodsList.indexOf(good) + c]
53
- setGood(g);
54
- }
55
-
56
- s.goodsListState.addComparisonIndex = undefined;
57
- s.goodsListState.goodsList = [...s.goodsListState.goodsList];
58
-
59
- message.success('商品映射成功');
60
- } catch (error) {
61
-
62
- }
63
- })
64
- }, [form, good])
65
-
66
- React.useEffect(() => {
67
- form.resetFields();
68
- if (good) {
69
- form.setFieldsValue({
70
- ...good,
71
- itemName: getSN(good.itemName)?.full,
72
- itemNameSelf: getSN(good.itemNameSelf)?.full,
73
- })
74
- }
75
- }, [good])
76
-
77
- return (
78
- <Drawer
79
- width={500}
80
- onClose={onClose}
81
- placement="right"
82
- title="商品映射"
83
- visible={!!good}
84
- footer={
85
- <div style={{ display: 'flex', justifyContent: 'flex-end', gap: 10 }} >
86
- <Button type="primary" onClick={onSubmit} >提交</Button>
87
- <Button onClick={onClose} >取消</Button>
88
- </div>
89
- }
90
- >
91
- {
92
- !!good &&
93
- <Form layout="vertical" style={{ flex: 1 }} form={form} >
94
- <Row gutter={[8, 8]} >
95
- {/* <Col span={12}>
96
- <Form.Item
97
- name="itemCodeSelf"
98
- label="我方商品编码"
99
- >
100
- <Input />
101
- </Form.Item>
102
- </Col>
103
- <Col span={12} >
104
- <Form.Item
105
- name="itemCode"
106
- label="对方商品编码"
107
- >
108
- <Input />
109
- </Form.Item>
110
- </Col> */}
111
- <Col span={12} >
112
- <Form.Item
113
- name="itemNameSelf"
114
- label="我方商品名称"
115
- >
116
- <Input />
117
- </Form.Item>
118
- </Col>
119
- <Col span={12} >
120
- <Form.Item
121
- name="itemName"
122
- label="对方商品名称"
123
- >
124
- <Input />
125
- </Form.Item>
126
- </Col>
127
- <Col span={12} >
128
- <Form.Item name='itemModelNameSelf' label="我方规格型号">
129
- <Input />
130
- </Form.Item>
131
- </Col>
132
- <Col span={12} >
133
- <Form.Item name="itemModelName" label="对方规格型号">
134
- <Input />
135
- </Form.Item>
136
- </Col>
137
- </Row>
138
- </Form>
139
- }
140
- </Drawer>
141
- )
142
- }
143
-
144
- // function validateFields(form: WrappedFormUtils<any>) {
145
- // return new Promise<{ err: any, values: any }>(resolve => {
146
- // form.validateFields((err, values) => {
147
- // resolve({ err, values })
148
- // })
149
- // })
1
+
2
+ import React from "react";
3
+ import { Row, Col, Input, Button, message } from "kts-components-antd-x3";
4
+ import { Form, Drawer } from "kts-xui";
5
+ import { Invoice, IGood } from "../../../..";
6
+ import { getSN } from "../../../tools/itemName";
7
+ import { LineAttributeType } from "../../../InvoiceController";
8
+
9
+ export default function AddComparisonDrawer() {
10
+
11
+ const [form] = Form.useForm();
12
+
13
+ /** 控制器 */
14
+ const controller = Invoice.useInvoiceController();
15
+
16
+ /** 正在 添加商品对照 的货物索引 */
17
+ const addComparisonIndex = controller.useMemo(s => s.goodsListState?.addComparisonIndex, []);
18
+
19
+ /** 货物字典 */
20
+ const goodsMap = controller.useMemo(s => s.goodsListState.goodsMap, []);
21
+
22
+ /** 正在 对照 的货物 */
23
+ const good = React.useMemo(() => addComparisonIndex ? goodsMap.get(addComparisonIndex) : undefined, [addComparisonIndex]);
24
+
25
+ /** 关闭对照 */
26
+ const onClose = React.useCallback(controller.pipeline<any>(async s => { s.goodsListState.addComparisonIndex = undefined }), [controller]);
27
+
28
+ /** 提交数据 */
29
+ const onSubmit = React.useCallback(() => {
30
+ controller.run(async s => {
31
+ if (!good) return
32
+
33
+ try {
34
+ const values = await form.validateFields()
35
+ const shorthand = s.goodsListState.isMyShow ? getSN(good.itemNameSelf)?.shorthand : getSN(good.itemName)?.shorthand;
36
+ const setGood = (good: IGood) => {
37
+ good.itemCode = values.itemCode;
38
+ good.itemCodeSelf = values.itemCodeSelf;
39
+ good.itemName = shorthand ? `*${shorthand}*${values.itemName}` : values.itemName;
40
+ good.itemNameSelf = shorthand ? `*${shorthand}*${values.itemNameSelf}` : values.itemNameSelf;
41
+
42
+ if (good.lineAttribute !== LineAttributeType.折扣行) {
43
+ good.itemModelName = values.itemModelName;
44
+ good.itemModelNameSelf = values.itemModelNameSelf;
45
+ }
46
+ }
47
+
48
+ setGood(good);
49
+
50
+ if (good.lineAttribute !== LineAttributeType.正常) {
51
+ const c = good.lineAttribute === LineAttributeType.折扣行 ? -1 : good.lineAttribute === LineAttributeType.被折扣行 ? 1 : 0
52
+ const g = s.goodsListState.goodsList[s.goodsListState.goodsList.indexOf(good) + c]
53
+ setGood(g);
54
+ }
55
+
56
+ s.goodsListState.addComparisonIndex = undefined;
57
+ s.goodsListState.goodsList = [...s.goodsListState.goodsList];
58
+
59
+ message.success('商品映射成功');
60
+ } catch (error) {
61
+
62
+ }
63
+ })
64
+ }, [form, good])
65
+
66
+ React.useEffect(() => {
67
+ form.resetFields();
68
+ if (good) {
69
+ form.setFieldsValue({
70
+ ...good,
71
+ itemName: getSN(good.itemName)?.full,
72
+ itemNameSelf: getSN(good.itemNameSelf)?.full,
73
+ })
74
+ }
75
+ }, [good])
76
+
77
+ return (
78
+ <Drawer
79
+ width={500}
80
+ onClose={onClose}
81
+ placement="right"
82
+ title="商品映射"
83
+ visible={!!good}
84
+ footer={
85
+ <div style={{ display: 'flex', justifyContent: 'flex-end', gap: 10 }} >
86
+ <Button type="primary" onClick={onSubmit} >提交</Button>
87
+ <Button onClick={onClose} >取消</Button>
88
+ </div>
89
+ }
90
+ >
91
+ {
92
+ !!good &&
93
+ <Form layout="vertical" style={{ flex: 1 }} form={form} >
94
+ <Row gutter={[8, 8]} >
95
+ {/* <Col span={12}>
96
+ <Form.Item
97
+ name="itemCodeSelf"
98
+ label="我方商品编码"
99
+ >
100
+ <Input />
101
+ </Form.Item>
102
+ </Col>
103
+ <Col span={12} >
104
+ <Form.Item
105
+ name="itemCode"
106
+ label="对方商品编码"
107
+ >
108
+ <Input />
109
+ </Form.Item>
110
+ </Col> */}
111
+ <Col span={12} >
112
+ <Form.Item
113
+ name="itemNameSelf"
114
+ label="我方商品名称"
115
+ >
116
+ <Input />
117
+ </Form.Item>
118
+ </Col>
119
+ <Col span={12} >
120
+ <Form.Item
121
+ name="itemName"
122
+ label="对方商品名称"
123
+ >
124
+ <Input />
125
+ </Form.Item>
126
+ </Col>
127
+ <Col span={12} >
128
+ <Form.Item name='itemModelNameSelf' label="我方规格型号">
129
+ <Input />
130
+ </Form.Item>
131
+ </Col>
132
+ <Col span={12} >
133
+ <Form.Item name="itemModelName" label="对方规格型号">
134
+ <Input />
135
+ </Form.Item>
136
+ </Col>
137
+ </Row>
138
+ </Form>
139
+ }
140
+ </Drawer>
141
+ )
142
+ }
143
+
144
+ // function validateFields(form: WrappedFormUtils<any>) {
145
+ // return new Promise<{ err: any, values: any }>(resolve => {
146
+ // form.validateFields((err, values) => {
147
+ // resolve({ err, values })
148
+ // })
149
+ // })
150
150
  // }