kts-component-invoice-operate 3.2.243 → 3.2.245

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 (302) 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/BRANCH.md +5 -0
  8. package/README.md +12 -12
  9. package/branch/3.2.x +1 -0
  10. package/dist/Invoice/Invoice-digtal/_test/pay/index.d.ts +4 -0
  11. package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.d.ts +1 -0
  12. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/IColumnsReplenish/index.d.ts +6 -0
  13. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/IGood/index.d.ts +12 -0
  14. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/ImportGoods/index.d.ts +21 -0
  15. package/dist/Invoice/InvoiceController/InvoiceControllerState/PayListState/index.d.ts +31 -0
  16. package/dist/Invoice/InvoiceController/InvoiceControllerState/index.d.ts +2 -0
  17. package/dist/Invoice/InvoiceController/fns/addPay.d.ts +6 -0
  18. package/dist/Invoice/InvoiceController/fns/delPay.d.ts +6 -0
  19. package/dist/Invoice/InvoiceController/fns/saveEditPay.d.ts +6 -0
  20. package/dist/Invoice/InvoiceController/fns/setEditPay.d.ts +6 -0
  21. package/dist/Invoice/InvoiceController/fns/setPay.d.ts +6 -0
  22. package/dist/Invoice/InvoiceController/index.d.ts +6 -0
  23. package/dist/Invoice/index.d.ts +2 -0
  24. package/dist/Invoice/ui/digtal/PayList/hook/useColumns/index.d.ts +3 -0
  25. package/dist/Invoice/ui/digtal/PayList/hook/useColumns/ui/TitleText/index.d.ts +8 -0
  26. package/dist/Invoice/ui/digtal/PayList/hook/useOnRow/index.d.ts +8 -0
  27. package/dist/Invoice/ui/digtal/PayList/hook/useRowSelection/index.d.ts +8 -0
  28. package/dist/Invoice/ui/digtal/PayList/hook/useWindowClick/index.d.ts +5 -0
  29. package/dist/Invoice/ui/digtal/PayList/index.d.ts +18 -0
  30. package/dist/Invoice/ui/digtal/PayList/ui/AddRowButton/index.d.ts +3 -0
  31. package/dist/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useDelRowButton/index.d.ts +6 -0
  32. package/dist/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useEmptyRefill/index.d.ts +6 -0
  33. package/dist/Invoice/ui/digtal/PayList/ui/TableRow/index.d.ts +3 -0
  34. package/dist/Invoice/ui/digtal/PayList/ui/TableVirtual/index.d.ts +4 -0
  35. package/dist/Invoice/ui/digtal/StakeFarmerholder/index.d.ts +2 -0
  36. package/dist/index.esm.js +8765 -5735
  37. package/dist/index.js +8764 -5734
  38. package/docs/index.md +5 -5
  39. package/docs-dist/404.html +33 -33
  40. package/docs-dist/index.html +33 -33
  41. package/docs-dist/static/arrowDown.a1cbf0d8.svg +2 -2
  42. package/docs-dist/static/arrowUp.4c482054.svg +2 -2
  43. package/docs-dist/static/fork.5431267d.svg +11 -11
  44. package/docs-dist/static/plus.44013ce3.svg +11 -11
  45. package/docs-dist/static/plus.4fd1af30.svg +11 -11
  46. package/docs-dist/umi.css +18 -18
  47. package/index.html +12 -12
  48. package/package.json +62 -62
  49. package/src/Invoice/Invoice-digtal/_test/architecture/index.tsx +21 -21
  50. package/src/Invoice/Invoice-digtal/_test/disabled/index.tsx +40 -40
  51. package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +214 -182
  52. package/src/Invoice/Invoice-digtal/_test/freight/index.tsx +14580 -14574
  53. package/src/Invoice/Invoice-digtal/_test/header/index.tsx +84 -84
  54. package/src/Invoice/Invoice-digtal/_test/importGoods/index.tsx +868 -868
  55. package/src/Invoice/Invoice-digtal/_test/importStakeholder/index.tsx +18 -18
  56. package/src/Invoice/Invoice-digtal/_test/lineCredit/index.tsx +19 -19
  57. package/src/Invoice/Invoice-digtal/_test/pay/index.tsx +14637 -0
  58. package/src/Invoice/Invoice-digtal/_test/prefab/index.tsx +150 -150
  59. package/src/Invoice/Invoice-digtal/_test/readOnly/index.tsx +55 -55
  60. package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +83 -36
  61. package/src/Invoice/Invoice-digtal/_test/stakeholder/index.tsx +12 -12
  62. package/src/Invoice/Invoice-digtal/_test/typeSelection/index.tsx +29 -29
  63. package/src/Invoice/Invoice-digtal/index.md +44 -43
  64. package/src/Invoice/InvoiceController/InvoiceControllerForm/index.ts +116 -105
  65. package/src/Invoice/InvoiceController/InvoiceControllerState/AutoComplete/index.ts +26 -26
  66. package/src/Invoice/InvoiceController/InvoiceControllerState/BuyerState/index.tsx +88 -88
  67. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/IColumnsReplenish/index.ts +10 -10
  68. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/IGood/index.ts +33 -33
  69. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/ImportGoods/index.ts +81 -81
  70. package/src/Invoice/InvoiceController/InvoiceControllerState/FreightListState/index.ts +39 -39
  71. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/Drag/index.ts +15 -15
  72. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/EndowCode/index.tsx +104 -104
  73. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IColumnsReplenish/index.ts +10 -10
  74. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +91 -89
  75. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +84 -84
  76. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/LineAttributeType/index.ts +7 -7
  77. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ProductComparison/index.ts +9 -9
  78. package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +134 -134
  79. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/IColumnsReplenish/index.ts +10 -0
  80. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/IGood/index.ts +35 -0
  81. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/ImportGoods/index.ts +81 -0
  82. package/src/Invoice/InvoiceController/InvoiceControllerState/PayListState/index.ts +40 -0
  83. package/src/Invoice/InvoiceController/InvoiceControllerState/Stakeholder/index.ts +13 -13
  84. package/src/Invoice/InvoiceController/InvoiceControllerState/index.ts +76 -73
  85. package/src/Invoice/InvoiceController/fns/addFreight.ts +11 -11
  86. package/src/Invoice/InvoiceController/fns/addGood.ts +11 -11
  87. package/src/Invoice/InvoiceController/fns/addGoodDiscount.ts +126 -126
  88. package/src/Invoice/InvoiceController/fns/addGoodDiscountV2.ts +86 -86
  89. package/src/Invoice/InvoiceController/fns/addPay.ts +11 -0
  90. package/src/Invoice/InvoiceController/fns/delFreight.ts +38 -38
  91. package/src/Invoice/InvoiceController/fns/delGood.ts +41 -41
  92. package/src/Invoice/InvoiceController/fns/delPay.ts +38 -0
  93. package/src/Invoice/InvoiceController/fns/getGoodsSearch.ts +26 -26
  94. package/src/Invoice/InvoiceController/fns/importGoodsDrawer.ts +79 -79
  95. package/src/Invoice/InvoiceController/fns/itemBlur.ts +40 -40
  96. package/src/Invoice/InvoiceController/fns/mergeDetails.ts +201 -201
  97. package/src/Invoice/InvoiceController/fns/mergeDiscount.ts +35 -35
  98. package/src/Invoice/InvoiceController/fns/saveEditFreight.ts +24 -24
  99. package/src/Invoice/InvoiceController/fns/saveEditGood.ts +24 -24
  100. package/src/Invoice/InvoiceController/fns/saveEditPay.ts +23 -0
  101. package/src/Invoice/InvoiceController/fns/setEditFreight.ts +16 -16
  102. package/src/Invoice/InvoiceController/fns/setEditGood.ts +16 -16
  103. package/src/Invoice/InvoiceController/fns/setEditPay.ts +16 -0
  104. package/src/Invoice/InvoiceController/fns/setFreight.ts +10 -10
  105. package/src/Invoice/InvoiceController/fns/setGoods.ts +10 -10
  106. package/src/Invoice/InvoiceController/fns/setPay.ts +11 -0
  107. package/src/Invoice/InvoiceController/fns/updateInvoiceNo.ts +8 -8
  108. package/src/Invoice/InvoiceController/index.ts +127 -106
  109. package/src/Invoice/_test/buyerNameSearch/index.tsx +42 -42
  110. package/src/Invoice/_test/children/index.tsx +214 -214
  111. package/src/Invoice/_test/deduction/index.tsx +957 -957
  112. package/src/Invoice/_test/draft/index.tsx +40 -40
  113. package/src/Invoice/_test/easiest/index.tsx +5 -5
  114. package/src/Invoice/_test/endowCode/index.tsx +1158 -1158
  115. package/src/Invoice/_test/goodsMenuExpand/index.tsx +32 -32
  116. package/src/Invoice/_test/importBuyer/index.tsx +74 -74
  117. package/src/Invoice/_test/importGoods/index.tsx +1197 -1197
  118. package/src/Invoice/_test/invoiceType/index.tsx +59 -59
  119. package/src/Invoice/_test/isInvoiceNo/index.tsx +12 -12
  120. package/src/Invoice/_test/replaceHead/index.tsx +22 -22
  121. package/src/Invoice/_test/retrieveData/index.tsx +22 -22
  122. package/src/Invoice/_test/seller/index.tsx +28 -28
  123. package/src/Invoice/_test/setDataSource/index.tsx +73 -73
  124. package/src/Invoice/_test/unit/index.tsx +19 -19
  125. package/src/Invoice/index.less +31 -31
  126. package/src/Invoice/index.md +56 -56
  127. package/src/Invoice/index.tsx +200 -197
  128. package/src/Invoice/tools/calculate/index.ts +144 -144
  129. package/src/Invoice/tools/coolingFn/index.ts +17 -17
  130. package/src/Invoice/tools/evaluate/index.ts +7 -7
  131. package/src/Invoice/tools/idGenerator/index.ts +2 -2
  132. package/src/Invoice/tools/itemName/index.ts +55 -55
  133. package/src/Invoice/tools/lazyFn/index.ts +19 -19
  134. package/src/Invoice/tools/mounting/index.ts +13 -13
  135. package/src/Invoice/tools/strringFn/index.ts +40 -40
  136. package/src/Invoice/tools/useToGenerateId/index.ts +12 -10
  137. package/src/Invoice/tools/utils/index.ts +1 -1
  138. package/src/Invoice/tools/utils/money/index.ts +20 -20
  139. package/src/Invoice/ui/default/AddComparisonDrawer/index.tsx +149 -149
  140. package/src/Invoice/ui/default/Buyer/index.less +219 -219
  141. package/src/Invoice/ui/default/Buyer/index.tsx +114 -114
  142. package/src/Invoice/ui/default/Buyer/ui/BuyerNameInput/index.tsx +166 -166
  143. package/src/Invoice/ui/default/Buyer/ui/ImportBuyerButton/index.tsx +21 -21
  144. package/src/Invoice/ui/default/EndowCodeDrawer/index.less +8 -8
  145. package/src/Invoice/ui/default/EndowCodeDrawer/index.tsx +612 -612
  146. package/src/Invoice/ui/default/GoodsList/hook/useColumns/autoFillFn/index.ts +647 -647
  147. package/src/Invoice/ui/default/GoodsList/hook/useColumns/index.tsx +719 -719
  148. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  149. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  150. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/Expand/index.tsx +57 -57
  151. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.less +18 -18
  152. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemCodeInput/index.tsx +49 -49
  153. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +17 -17
  154. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +91 -91
  155. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  156. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  157. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +118 -118
  158. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/dist/index.js +32 -32
  159. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  160. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +25 -25
  161. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  162. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +99 -99
  163. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  164. package/src/Invoice/ui/default/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  165. package/src/Invoice/ui/default/GoodsList/hook/useDeduction/index.tsx +24 -24
  166. package/src/Invoice/ui/default/GoodsList/hook/useOnRow/index.tsx +52 -52
  167. package/src/Invoice/ui/default/GoodsList/hook/useRowSelection/index.tsx +120 -120
  168. package/src/Invoice/ui/default/GoodsList/hook/useWindowClick/index.tsx +23 -23
  169. package/src/Invoice/ui/default/GoodsList/index.less +185 -185
  170. package/src/Invoice/ui/default/GoodsList/index.tsx +207 -207
  171. package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +72 -72
  172. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.less +21 -21
  173. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +244 -244
  174. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  175. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +69 -69
  176. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +65 -65
  177. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDetails/index.tsx +91 -91
  178. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useMergeDiscount/index.tsx +36 -36
  179. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesDiscount/index.tsx +109 -109
  180. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/hooks/useSalesGifts/index.tsx +94 -94
  181. package/src/Invoice/ui/default/GoodsList/ui/BulkMenu/index.tsx +37 -37
  182. package/src/Invoice/ui/default/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  183. package/src/Invoice/ui/default/GoodsList/ui/Search/index.less +10 -10
  184. package/src/Invoice/ui/default/GoodsList/ui/Search/index.tsx +52 -52
  185. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.less +18 -18
  186. package/src/Invoice/ui/default/GoodsList/ui/Statistics/index.tsx +114 -114
  187. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.less +40 -40
  188. package/src/Invoice/ui/default/GoodsList/ui/TableRow/index.tsx +71 -71
  189. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.less +38 -38
  190. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual/index.tsx +130 -130
  191. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.less +44 -44
  192. package/src/Invoice/ui/default/GoodsList/ui/TableVirtual.o/index.tsx +96 -96
  193. package/src/Invoice/ui/default/GoodsList/ui/TaxIncludedSwitch/index.tsx +31 -31
  194. package/src/Invoice/ui/default/ImportBuyerDrawer/index.tsx +75 -75
  195. package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +201 -201
  196. package/src/Invoice/ui/default/InvoiceHeader/index.less +68 -68
  197. package/src/Invoice/ui/default/InvoiceHeader/index.tsx +246 -246
  198. package/src/Invoice/ui/default/Seller/index.less +113 -113
  199. package/src/Invoice/ui/default/Seller/index.tsx +98 -98
  200. package/src/Invoice/ui/default/Sign/index.less +14 -14
  201. package/src/Invoice/ui/default/Sign/index.tsx +71 -71
  202. package/src/Invoice/ui/digtal/Architecture/index.less +18 -18
  203. package/src/Invoice/ui/digtal/Architecture/index.tsx +177 -177
  204. package/src/Invoice/ui/digtal/FreightList/hook/useColumns/dist/index.js +616 -616
  205. package/src/Invoice/ui/digtal/FreightList/hook/useColumns/index.tsx +246 -246
  206. package/src/Invoice/ui/digtal/FreightList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  207. package/src/Invoice/ui/digtal/FreightList/hook/useOnRow/index.tsx +37 -37
  208. package/src/Invoice/ui/digtal/FreightList/hook/useRowSelection/index.tsx +119 -119
  209. package/src/Invoice/ui/digtal/FreightList/hook/useWindowClick/index.tsx +23 -23
  210. package/src/Invoice/ui/digtal/FreightList/index.less +72 -72
  211. package/src/Invoice/ui/digtal/FreightList/index.tsx +129 -129
  212. package/src/Invoice/ui/digtal/FreightList/ui/AddRowButton/index.tsx +74 -74
  213. package/src/Invoice/ui/digtal/FreightList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  214. package/src/Invoice/ui/digtal/FreightList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +36 -36
  215. package/src/Invoice/ui/digtal/FreightList/ui/TableRow/index.less +28 -28
  216. package/src/Invoice/ui/digtal/FreightList/ui/TableRow/index.tsx +20 -20
  217. package/src/Invoice/ui/digtal/FreightList/ui/TableVirtual/index.less +38 -38
  218. package/src/Invoice/ui/digtal/FreightList/ui/TableVirtual/index.tsx +108 -108
  219. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/autoFillFn/index.ts +683 -683
  220. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/dist/index.js +616 -616
  221. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +724 -724
  222. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/svg/plus.svg +11 -11
  223. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.less +20 -20
  224. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/Drag/index.tsx +205 -205
  225. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.less +9 -9
  226. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/ItemNameInput/index.tsx +87 -87
  227. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowEditButton/index.tsx +30 -30
  228. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/_useAddComparison/index.tsx +43 -43
  229. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useAddDiscount/index.tsx +76 -76
  230. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useDelItem/index.tsx +41 -41
  231. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/hook/useEndowCode/index.tsx +34 -34
  232. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.less +13 -13
  233. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowMenu/index.tsx +98 -98
  234. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/RowSaveButton/index.tsx +14 -14
  235. package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/ui/TitleText/index.tsx +20 -20
  236. package/src/Invoice/ui/digtal/GoodsList/hook/useOnRow/index.tsx +51 -51
  237. package/src/Invoice/ui/digtal/GoodsList/hook/useRowSelection/index.tsx +121 -121
  238. package/src/Invoice/ui/digtal/GoodsList/hook/useWindowClick/index.tsx +23 -23
  239. package/src/Invoice/ui/digtal/GoodsList/index.less +56 -56
  240. package/src/Invoice/ui/digtal/GoodsList/index.tsx +181 -181
  241. package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +87 -87
  242. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/index.tsx +340 -340
  243. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useAddDiscountRowButton/svg/add.svg +11 -11
  244. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useCommodityComparisonButton/index.tsx +75 -75
  245. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -50
  246. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -37
  247. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useEndowCodeButton/index.tsx +82 -82
  248. package/src/Invoice/ui/digtal/GoodsList/ui/BulkMenu/hooks/useReselectInvoiceType/index.tsx +57 -57
  249. package/src/Invoice/ui/digtal/GoodsList/ui/DescribeSwitch/index.tsx +36 -36
  250. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.less +11 -11
  251. package/src/Invoice/ui/digtal/GoodsList/ui/Search/index.tsx +60 -60
  252. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.less +53 -53
  253. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/index.tsx +98 -98
  254. package/src/Invoice/ui/digtal/GoodsList/ui/Statistics/svg/fork.svg +11 -11
  255. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.less +28 -28
  256. package/src/Invoice/ui/digtal/GoodsList/ui/TableRow/index.tsx +52 -52
  257. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.less +38 -38
  258. package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +113 -113
  259. package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +34 -34
  260. package/src/Invoice/ui/digtal/InvoiceHeader/index.less +57 -57
  261. package/src/Invoice/ui/digtal/InvoiceHeader/index.tsx +77 -77
  262. package/src/Invoice/ui/digtal/PayList/hook/useColumns/dist/index.js +616 -0
  263. package/src/Invoice/ui/digtal/PayList/hook/useColumns/index.tsx +168 -0
  264. package/src/Invoice/ui/digtal/PayList/hook/useColumns/ui/TitleText/index.tsx +20 -0
  265. package/src/Invoice/ui/digtal/PayList/hook/useOnRow/index.tsx +37 -0
  266. package/src/Invoice/ui/digtal/PayList/hook/useRowSelection/index.tsx +120 -0
  267. package/src/Invoice/ui/digtal/PayList/hook/useWindowClick/index.tsx +19 -0
  268. package/src/Invoice/ui/digtal/PayList/index.less +73 -0
  269. package/src/Invoice/ui/digtal/PayList/index.tsx +132 -0
  270. package/src/Invoice/ui/digtal/PayList/ui/AddRowButton/index.tsx +75 -0
  271. package/src/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useDelRowButton/index.tsx +50 -0
  272. package/src/Invoice/ui/digtal/PayList/ui/BulkMenu/hooks/useEmptyRefill/index.tsx +37 -0
  273. package/src/Invoice/ui/digtal/PayList/ui/TableRow/index.less +29 -0
  274. package/src/Invoice/ui/digtal/PayList/ui/TableRow/index.tsx +21 -0
  275. package/src/Invoice/ui/digtal/PayList/ui/TableVirtual/index.less +39 -0
  276. package/src/Invoice/ui/digtal/PayList/ui/TableVirtual/index.tsx +109 -0
  277. package/src/Invoice/ui/digtal/RealEstateInfo/index.less +21 -21
  278. package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +451 -242
  279. package/src/Invoice/ui/digtal/Sign/index.less +48 -48
  280. package/src/Invoice/ui/digtal/Sign/index.tsx +99 -99
  281. package/src/Invoice/ui/digtal/StakeFarmerholder/index.less +99 -99
  282. package/src/Invoice/ui/digtal/StakeFarmerholder/index.tsx +1102 -491
  283. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowDown.svg +2 -2
  284. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/arrowUp.svg +2 -2
  285. package/src/Invoice/ui/digtal/StakeFarmerholder/svg/plus.svg +11 -11
  286. package/src/Invoice/ui/digtal/Stakeholder/index.less +99 -99
  287. package/src/Invoice/ui/digtal/Stakeholder/index.tsx +453 -453
  288. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowDown.svg +2 -2
  289. package/src/Invoice/ui/digtal/Stakeholder/svg/arrowUp.svg +2 -2
  290. package/src/Invoice/ui/digtal/Stakeholder/svg/plus.svg +11 -11
  291. package/src/InvoiceTypeModal/_test/easiest/index.tsx +31 -31
  292. package/src/InvoiceTypeModal/dist/index.js +92 -92
  293. package/src/InvoiceTypeModal/index.less +7 -7
  294. package/src/InvoiceTypeModal/index.md +5 -5
  295. package/src/InvoiceTypeModal/index.tsx +161 -161
  296. package/src/TaxClassificationCodeModal/_test/easiest/index.tsx +184 -184
  297. package/src/TaxClassificationCodeModal/index.less +17 -17
  298. package/src/TaxClassificationCodeModal/index.md +6 -6
  299. package/src/TaxClassificationCodeModal/index.tsx +152 -152
  300. package/src/index.ts +13 -13
  301. package/tsconfig.json +31 -31
  302. package/typings.d.ts +3 -3
@@ -1,12 +1,12 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15" fill="none">
2
- <g clip-path="url(#clip0_715_372)">
3
- <path d="M7.5 14.5312C3.61687 14.5312 0.46875 11.3831 0.46875 7.5C0.46875 3.61687 3.61687 0.46875 7.5 0.46875C11.3831 0.46875 14.5312 3.61687 14.5312 7.5C14.5312 11.3831 11.3831 14.5312 7.5 14.5312ZM7.5 13.5938C10.8656 13.5938 13.5938 10.8656 13.5938 7.5C13.5938 4.13438 10.8656 1.40625 7.5 1.40625C4.13438 1.40625 1.40625 4.13438 1.40625 7.5C1.40625 10.8656 4.13438 13.5938 7.5 13.5938Z" />
4
- <path d="M3.75 7.96875C3.62568 7.96875 3.50645 7.91936 3.41854 7.83146C3.33064 7.74355 3.28125 7.62432 3.28125 7.5C3.28125 7.37568 3.33064 7.25645 3.41854 7.16854C3.50645 7.08064 3.62568 7.03125 3.75 7.03125H11.25C11.3743 7.03125 11.4935 7.08064 11.5815 7.16854C11.6694 7.25645 11.7188 7.37568 11.7188 7.5C11.7188 7.62432 11.6694 7.74355 11.5815 7.83146C11.4935 7.91936 11.3743 7.96875 11.25 7.96875H3.75Z" />
5
- <path d="M7.03125 3.75C7.03125 3.62568 7.08064 3.50645 7.16854 3.41854C7.25645 3.33064 7.37568 3.28125 7.5 3.28125C7.62432 3.28125 7.74355 3.33064 7.83146 3.41854C7.91936 3.50645 7.96875 3.62568 7.96875 3.75V11.25C7.96875 11.3743 7.91936 11.4935 7.83146 11.5815C7.74355 11.6694 7.62432 11.7188 7.5 11.7188C7.37568 11.7188 7.25645 11.6694 7.16854 11.5815C7.08064 11.4935 7.03125 11.3743 7.03125 11.25V3.75Z" />
6
- </g>
7
- <defs>
8
- <clipPath id="clip0_715_372">
9
- <rect width="15" height="15" />
10
- </clipPath>
11
- </defs>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15" fill="none">
2
+ <g clip-path="url(#clip0_715_372)">
3
+ <path d="M7.5 14.5312C3.61687 14.5312 0.46875 11.3831 0.46875 7.5C0.46875 3.61687 3.61687 0.46875 7.5 0.46875C11.3831 0.46875 14.5312 3.61687 14.5312 7.5C14.5312 11.3831 11.3831 14.5312 7.5 14.5312ZM7.5 13.5938C10.8656 13.5938 13.5938 10.8656 13.5938 7.5C13.5938 4.13438 10.8656 1.40625 7.5 1.40625C4.13438 1.40625 1.40625 4.13438 1.40625 7.5C1.40625 10.8656 4.13438 13.5938 7.5 13.5938Z" />
4
+ <path d="M3.75 7.96875C3.62568 7.96875 3.50645 7.91936 3.41854 7.83146C3.33064 7.74355 3.28125 7.62432 3.28125 7.5C3.28125 7.37568 3.33064 7.25645 3.41854 7.16854C3.50645 7.08064 3.62568 7.03125 3.75 7.03125H11.25C11.3743 7.03125 11.4935 7.08064 11.5815 7.16854C11.6694 7.25645 11.7188 7.37568 11.7188 7.5C11.7188 7.62432 11.6694 7.74355 11.5815 7.83146C11.4935 7.91936 11.3743 7.96875 11.25 7.96875H3.75Z" />
5
+ <path d="M7.03125 3.75C7.03125 3.62568 7.08064 3.50645 7.16854 3.41854C7.25645 3.33064 7.37568 3.28125 7.5 3.28125C7.62432 3.28125 7.74355 3.33064 7.83146 3.41854C7.91936 3.50645 7.96875 3.62568 7.96875 3.75V11.25C7.96875 11.3743 7.91936 11.4935 7.83146 11.5815C7.74355 11.6694 7.62432 11.7188 7.5 11.7188C7.37568 11.7188 7.25645 11.6694 7.16854 11.5815C7.08064 11.4935 7.03125 11.3743 7.03125 11.25V3.75Z" />
6
+ </g>
7
+ <defs>
8
+ <clipPath id="clip0_715_372">
9
+ <rect width="15" height="15" />
10
+ </clipPath>
11
+ </defs>
12
12
  </svg>
@@ -1,75 +1,75 @@
1
- import React from 'react';
2
- import { Menu, message } from 'kts-components-antd-x3';
3
- import coolingFn from '../../../../../../../tools/coolingFn'
4
- import { getSN, setShorthand } from '../../../../../../../tools/itemName'
5
- import { Invoice, IGood } from '../../../../../../../..';
6
-
7
- export default () => {
8
-
9
- const controller = Invoice.useInvoiceController();
10
-
11
- const { onComply } = controller.useMemo(s => s.goodsListState.productComparison, [])
12
-
13
- /** 是否禁用 */
14
- const disabled = controller.useMemo(s => s.goodsListState.selectedGoodIndex.length <= 0, []);
15
-
16
- /** 点击了 */
17
- const onClick = React.useCallback(async () => {
18
- await controller.saveEditGood();
19
- await controller.wait();
20
- await controller.run(async s => {
21
-
22
- // 不能给正在编辑的货物对照
23
- if (s.goodsListState.editGood && s.goodsListState.selectedGoodIndex.indexOf(s.goodsListState.editGood.$index) >= 0) {
24
- coolingFn('不能给正在编辑的货物执行商品对照', 3000, () => { message.error('不能给正在编辑的货物执行商品对照') });
25
- return;
26
- }
27
-
28
- if (!s.goodsListState?.productComparison?.onComply) return;
29
-
30
- const goods = s.goodsListState.selectedGoodIndex.map(e => {
31
- const t = s.goodsListState.goodsMap.get(e);
32
- if (!t) return undefined;
33
-
34
- return {
35
- ...t,
36
- itemName: getSN(t.itemName)?.full,
37
- itemNameSelf: getSN(t.itemNameSelf)?.full,
38
- } as IGood
39
- }).filter(e => !!e) as IGood[]
40
-
41
-
42
- // 比对后的商品
43
- const newGoods = await s.goodsListState.productComparison.onComply(goods);
44
-
45
- newGoods.forEach(e => {
46
- const vt = s.goodsListState.goodsMap.get(e.$index);
47
- if (!vt) return undefined;
48
-
49
- vt.itemName = e.itemName ? setShorthand(e.itemName, getSN(vt.itemName)?.shorthand) : vt.itemName;
50
- vt.itemNameSelf = e.itemNameSelf ? setShorthand(e.itemNameSelf, getSN(vt.itemNameSelf)?.shorthand) : vt.itemNameSelf;
51
-
52
- vt.itemModelName = e.itemModelName ? e.itemModelName : vt.itemModelName;
53
- vt.itemModelNameSelf = e.itemModelNameSelf ? e.itemModelNameSelf : vt.itemModelNameSelf;
54
-
55
- vt.itemCode = e.itemCode ? e.itemCode : vt.itemCode;
56
- vt.itemCodeSelf = e.itemCodeSelf ? e.itemCodeSelf : vt.itemCodeSelf;
57
- })
58
- })
59
- }, [])
60
-
61
-
62
- const menuItem = React.useMemo(() => {
63
-
64
- // 没用 执行商品对照 的方法 不显示按钮
65
- if (!onComply) return <></>;
66
-
67
- return (
68
- <Menu.Item key="3" disabled={disabled} onClick={onClick} >
69
- 商品映射
70
- </Menu.Item>
71
- );
72
- }, [disabled, onClick, onComply])
73
-
74
- return { menuItem }
75
- };
1
+ import React from 'react';
2
+ import { Menu, message } from 'kts-components-antd-x3';
3
+ import coolingFn from '../../../../../../../tools/coolingFn'
4
+ import { getSN, setShorthand } from '../../../../../../../tools/itemName'
5
+ import { Invoice, IGood } from '../../../../../../../..';
6
+
7
+ export default () => {
8
+
9
+ const controller = Invoice.useInvoiceController();
10
+
11
+ const { onComply } = controller.useMemo(s => s.goodsListState.productComparison, [])
12
+
13
+ /** 是否禁用 */
14
+ const disabled = controller.useMemo(s => s.goodsListState.selectedGoodIndex.length <= 0, []);
15
+
16
+ /** 点击了 */
17
+ const onClick = React.useCallback(async () => {
18
+ await controller.saveEditGood();
19
+ await controller.wait();
20
+ await controller.run(async s => {
21
+
22
+ // 不能给正在编辑的货物对照
23
+ if (s.goodsListState.editGood && s.goodsListState.selectedGoodIndex.indexOf(s.goodsListState.editGood.$index) >= 0) {
24
+ coolingFn('不能给正在编辑的货物执行商品对照', 3000, () => { message.error('不能给正在编辑的货物执行商品对照') });
25
+ return;
26
+ }
27
+
28
+ if (!s.goodsListState?.productComparison?.onComply) return;
29
+
30
+ const goods = s.goodsListState.selectedGoodIndex.map(e => {
31
+ const t = s.goodsListState.goodsMap.get(e);
32
+ if (!t) return undefined;
33
+
34
+ return {
35
+ ...t,
36
+ itemName: getSN(t.itemName)?.full,
37
+ itemNameSelf: getSN(t.itemNameSelf)?.full,
38
+ } as IGood
39
+ }).filter(e => !!e) as IGood[]
40
+
41
+
42
+ // 比对后的商品
43
+ const newGoods = await s.goodsListState.productComparison.onComply(goods);
44
+
45
+ newGoods.forEach(e => {
46
+ const vt = s.goodsListState.goodsMap.get(e.$index);
47
+ if (!vt) return undefined;
48
+
49
+ vt.itemName = e.itemName ? setShorthand(e.itemName, getSN(vt.itemName)?.shorthand) : vt.itemName;
50
+ vt.itemNameSelf = e.itemNameSelf ? setShorthand(e.itemNameSelf, getSN(vt.itemNameSelf)?.shorthand) : vt.itemNameSelf;
51
+
52
+ vt.itemModelName = e.itemModelName ? e.itemModelName : vt.itemModelName;
53
+ vt.itemModelNameSelf = e.itemModelNameSelf ? e.itemModelNameSelf : vt.itemModelNameSelf;
54
+
55
+ vt.itemCode = e.itemCode ? e.itemCode : vt.itemCode;
56
+ vt.itemCodeSelf = e.itemCodeSelf ? e.itemCodeSelf : vt.itemCodeSelf;
57
+ })
58
+ })
59
+ }, [])
60
+
61
+
62
+ const menuItem = React.useMemo(() => {
63
+
64
+ // 没用 执行商品对照 的方法 不显示按钮
65
+ if (!onComply) return <></>;
66
+
67
+ return (
68
+ <Menu.Item key="3" disabled={disabled} onClick={onClick} >
69
+ 商品映射
70
+ </Menu.Item>
71
+ );
72
+ }, [disabled, onClick, onComply])
73
+
74
+ return { menuItem }
75
+ };
@@ -1,50 +1,50 @@
1
- import React from 'react';
2
- import Invoice from '../../../../../../..';
3
- import { Button, Menu } from 'kts-xui';
4
-
5
- export default () => {
6
-
7
- const controller = Invoice.useInvoiceController();
8
-
9
- const model = controller.useMemo(s => s.model, []);
10
-
11
- const isRemRow = controller.useMemo(s => s.goodsListState.isRemRow, []);
12
-
13
- /** 是否禁用 */
14
- const disabled = controller.useMemo((s) => {
15
- if (s.goodsListState.selectedGoodIndex.length <= 0) return true;
16
- return false;
17
- }, []);
18
-
19
- /** 点击了删除 */
20
- const onClick = React.useCallback(async () => {
21
- const selectedGoodIndex = controller.state.goodsListState.selectedGoodIndex.slice();
22
- for (let i = 0; i < selectedGoodIndex.length; i++) {
23
- await controller.delGood(selectedGoodIndex[i]);
24
- }
25
- await controller.run(async s => { s.goodsListState.selectedGoodIndex = [] });
26
- }, [])
27
-
28
- const menuItem = React.useMemo(() => {
29
-
30
- if (model === 'prefab') return <></>;
31
- if (model === 'readOnly') return <></>;
32
-
33
- return (
34
- <Menu.Item key="1" onClick={onClick} disabled={disabled}> 删除行 </Menu.Item>
35
- )
36
- }, [model, onClick, disabled])
37
-
38
- const button = React.useMemo(() => {
39
-
40
- if (isRemRow === false) return <></>;
41
- if (model === 'prefab') return <></>;
42
- if (model === 'readOnly') return <></>;
43
-
44
- return (
45
- <Button size='small' onClick={onClick} disabled={disabled} >删除</Button>
46
- )
47
- }, [model, onClick, disabled, isRemRow])
48
-
49
- return { button, menuItem };
50
- };
1
+ import React from 'react';
2
+ import Invoice from '../../../../../../..';
3
+ import { Button, Menu } from 'kts-xui';
4
+
5
+ export default () => {
6
+
7
+ const controller = Invoice.useInvoiceController();
8
+
9
+ const model = controller.useMemo(s => s.model, []);
10
+
11
+ const isRemRow = controller.useMemo(s => s.goodsListState.isRemRow, []);
12
+
13
+ /** 是否禁用 */
14
+ const disabled = controller.useMemo((s) => {
15
+ if (s.goodsListState.selectedGoodIndex.length <= 0) return true;
16
+ return false;
17
+ }, []);
18
+
19
+ /** 点击了删除 */
20
+ const onClick = React.useCallback(async () => {
21
+ const selectedGoodIndex = controller.state.goodsListState.selectedGoodIndex.slice();
22
+ for (let i = 0; i < selectedGoodIndex.length; i++) {
23
+ await controller.delGood(selectedGoodIndex[i]);
24
+ }
25
+ await controller.run(async s => { s.goodsListState.selectedGoodIndex = [] });
26
+ }, [])
27
+
28
+ const menuItem = React.useMemo(() => {
29
+
30
+ if (model === 'prefab') return <></>;
31
+ if (model === 'readOnly') return <></>;
32
+
33
+ return (
34
+ <Menu.Item key="1" onClick={onClick} disabled={disabled}> 删除行 </Menu.Item>
35
+ )
36
+ }, [model, onClick, disabled])
37
+
38
+ const button = React.useMemo(() => {
39
+
40
+ if (isRemRow === false) return <></>;
41
+ if (model === 'prefab') return <></>;
42
+ if (model === 'readOnly') return <></>;
43
+
44
+ return (
45
+ <Button size='small' onClick={onClick} disabled={disabled} >删除</Button>
46
+ )
47
+ }, [model, onClick, disabled, isRemRow])
48
+
49
+ return { button, menuItem };
50
+ };
@@ -1,38 +1,38 @@
1
-
2
- import Invoice from '../../../../../../..';
3
- import { Button, Popconfirm } from "kts-xui"
4
- import React from "react"
5
-
6
- /** 清空重填 */
7
- export default () => {
8
-
9
- const controller = Invoice.useInvoiceController();
10
-
11
- const model = controller.useMemo(s => s.model, []);
12
-
13
- const confirm = React.useCallback(() => {
14
- controller.run(async s => {
15
- s.goodsListState.goodsList = [];
16
- s.goodsListState.goodsMap = new Map();
17
- s.goodsListState.selectedGoodIndex = [];
18
- s.goodsListState.discountGoodIndex = [];
19
- })
20
- }, [controller])
21
-
22
- const button = React.useMemo(() => {
23
- if (model === 'readOnly') return <></>;
24
- if (model === 'prefab') return <></>;
25
- return (
26
- <Popconfirm
27
- title="将要清空所有项目信息,是否继续"
28
- onConfirm={confirm}
29
- okText="确定"
30
- cancelText="取消"
31
- >
32
- <Button size='small' >清空重填</Button>
33
- </Popconfirm>
34
- )
35
- }, [model, confirm])
36
-
37
- return { button }
1
+
2
+ import Invoice from '../../../../../../..';
3
+ import { Button, Popconfirm } from "kts-xui"
4
+ import React from "react"
5
+
6
+ /** 清空重填 */
7
+ export default () => {
8
+
9
+ const controller = Invoice.useInvoiceController();
10
+
11
+ const model = controller.useMemo(s => s.model, []);
12
+
13
+ const confirm = React.useCallback(() => {
14
+ controller.run(async s => {
15
+ s.goodsListState.goodsList = [];
16
+ s.goodsListState.goodsMap = new Map();
17
+ s.goodsListState.selectedGoodIndex = [];
18
+ s.goodsListState.discountGoodIndex = [];
19
+ })
20
+ }, [controller])
21
+
22
+ const button = React.useMemo(() => {
23
+ if (model === 'readOnly') return <></>;
24
+ if (model === 'prefab') return <></>;
25
+ return (
26
+ <Popconfirm
27
+ title="将要清空所有项目信息,是否继续"
28
+ onConfirm={confirm}
29
+ okText="确定"
30
+ cancelText="取消"
31
+ >
32
+ <Button size='small' >清空重填</Button>
33
+ </Popconfirm>
34
+ )
35
+ }, [model, confirm])
36
+
37
+ return { button }
38
38
  }
@@ -1,82 +1,82 @@
1
- import React from 'react';
2
- import Invoice from '../../../../../../..';
3
- import { message, Menu, Button } from 'kts-xui';
4
- import coolingFn from '../../../../../../../tools/coolingFn';
5
- import { IGood, LineAttributeType } from '../../../../../../../InvoiceController';
6
-
7
- export default () => {
8
-
9
- const controller = Invoice.useInvoiceController();
10
-
11
- const model = controller.useMemo(s => s.model, []);
12
-
13
- /** 是否禁用 */
14
- const disabled = controller.useMemo((s) => s.goodsListState.selectedGoodIndex.length <= 0, []);
15
-
16
- const onClick = React.useCallback(async () => {
17
- await controller.saveEditGood();
18
- await controller.wait();
19
- await controller.pipeline(async s => {
20
-
21
- // 不能给正在编辑的货物赋码
22
- let mv = '不能给正在编辑的货物赋码';
23
- if (s.goodsListState.editGood && s.goodsListState.selectedGoodIndex.indexOf(s.goodsListState.editGood.$index) >= 0) {
24
- coolingFn(mv, 3000, () => { message.error(mv) });
25
- return;
26
- }
27
-
28
- // 税率不一样不能批量赋码
29
- mv = '商品税率不一致不能操作批量赋码';
30
- if (s.goodsListState.selectedGoodIndex.map(e => s.goodsListState.goodsMap.get(e)).some((e, _, arr) => e?.taxRate !== arr[0]?.taxRate)) {
31
- coolingFn(mv, 3000, () => { message.error(mv) });
32
- return;
33
- }
34
-
35
- // 校验 折扣行和被折扣行是否同时勾选
36
- mv = '请同时勾选“折扣行与被折扣行”';
37
- if (verifyDiscountLine(s.goodsListState.selectedGoodIndex.map(e => s.goodsListState.goodsMap.get(e) as IGood).filter(e => !!e))) {
38
- coolingFn(mv, 3000, () => { message.error(mv) });
39
- return;
40
- }
41
-
42
- // 设置赋码
43
- s.goodsListState.endowCode.endowcodeGoodIndex = s.goodsListState.selectedGoodIndex;
44
- })();
45
- }, [controller]);
46
-
47
- const menuItem = React.useMemo(() => {
48
- if (model === 'readOnly') return <></>;
49
- return (
50
- <Menu.Item key="2" onClick={onClick} disabled={disabled}>
51
- 批量赋码
52
- </Menu.Item>
53
- )
54
- }, [onClick, disabled, model])
55
-
56
- const button = React.useMemo(() => {
57
- if (model === 'readOnly') return <></>;
58
- return (
59
- <Button onClick={onClick} disabled={disabled} size='small'>
60
- 赋码
61
- </Button>
62
- )
63
- }, [onClick, disabled, model])
64
-
65
- return { menuItem, button };
66
- };
67
-
68
- /**
69
- * 校验 折扣行和被折扣行是否同时勾选
70
- * */
71
- function verifyDiscountLine(selectedGood: IGood[]) {
72
- selectedGood = selectedGood.sort((a, b) => (a.serialNo || 0) - (b.serialNo || 0));
73
- for (let i = 0; i < selectedGood.length; i++) {
74
- const good = selectedGood[i];
75
- if (good.lineAttribute === LineAttributeType.折扣行)
76
- return true;
77
-
78
- if (good.lineAttribute === LineAttributeType.被折扣行 && selectedGood[++i].lineAttribute === LineAttributeType.折扣行)
79
- continue;
80
- }
81
- return false;
82
- }
1
+ import React from 'react';
2
+ import Invoice from '../../../../../../..';
3
+ import { message, Menu, Button } from 'kts-xui';
4
+ import coolingFn from '../../../../../../../tools/coolingFn';
5
+ import { IGood, LineAttributeType } from '../../../../../../../InvoiceController';
6
+
7
+ export default () => {
8
+
9
+ const controller = Invoice.useInvoiceController();
10
+
11
+ const model = controller.useMemo(s => s.model, []);
12
+
13
+ /** 是否禁用 */
14
+ const disabled = controller.useMemo((s) => s.goodsListState.selectedGoodIndex.length <= 0, []);
15
+
16
+ const onClick = React.useCallback(async () => {
17
+ await controller.saveEditGood();
18
+ await controller.wait();
19
+ await controller.pipeline(async s => {
20
+
21
+ // 不能给正在编辑的货物赋码
22
+ let mv = '不能给正在编辑的货物赋码';
23
+ if (s.goodsListState.editGood && s.goodsListState.selectedGoodIndex.indexOf(s.goodsListState.editGood.$index) >= 0) {
24
+ coolingFn(mv, 3000, () => { message.error(mv) });
25
+ return;
26
+ }
27
+
28
+ // 税率不一样不能批量赋码
29
+ mv = '商品税率不一致不能操作批量赋码';
30
+ if (s.goodsListState.selectedGoodIndex.map(e => s.goodsListState.goodsMap.get(e)).some((e, _, arr) => e?.taxRate !== arr[0]?.taxRate)) {
31
+ coolingFn(mv, 3000, () => { message.error(mv) });
32
+ return;
33
+ }
34
+
35
+ // 校验 折扣行和被折扣行是否同时勾选
36
+ mv = '请同时勾选“折扣行与被折扣行”';
37
+ if (verifyDiscountLine(s.goodsListState.selectedGoodIndex.map(e => s.goodsListState.goodsMap.get(e) as IGood).filter(e => !!e))) {
38
+ coolingFn(mv, 3000, () => { message.error(mv) });
39
+ return;
40
+ }
41
+
42
+ // 设置赋码
43
+ s.goodsListState.endowCode.endowcodeGoodIndex = s.goodsListState.selectedGoodIndex;
44
+ })();
45
+ }, [controller]);
46
+
47
+ const menuItem = React.useMemo(() => {
48
+ if (model === 'readOnly') return <></>;
49
+ return (
50
+ <Menu.Item key="2" onClick={onClick} disabled={disabled}>
51
+ 批量赋码
52
+ </Menu.Item>
53
+ )
54
+ }, [onClick, disabled, model])
55
+
56
+ const button = React.useMemo(() => {
57
+ if (model === 'readOnly') return <></>;
58
+ return (
59
+ <Button onClick={onClick} disabled={disabled} size='small'>
60
+ 赋码
61
+ </Button>
62
+ )
63
+ }, [onClick, disabled, model])
64
+
65
+ return { menuItem, button };
66
+ };
67
+
68
+ /**
69
+ * 校验 折扣行和被折扣行是否同时勾选
70
+ * */
71
+ function verifyDiscountLine(selectedGood: IGood[]) {
72
+ selectedGood = selectedGood.sort((a, b) => (a.serialNo || 0) - (b.serialNo || 0));
73
+ for (let i = 0; i < selectedGood.length; i++) {
74
+ const good = selectedGood[i];
75
+ if (good.lineAttribute === LineAttributeType.折扣行)
76
+ return true;
77
+
78
+ if (good.lineAttribute === LineAttributeType.被折扣行 && selectedGood[++i].lineAttribute === LineAttributeType.折扣行)
79
+ continue;
80
+ }
81
+ return false;
82
+ }
@@ -1,57 +1,57 @@
1
-
2
-
3
- import { Button } from "kts-xui";
4
- import React from "react";
5
- import Invoice from '../../../../../../..';
6
- import InvoiceTypeModal from "../../../../../../../../InvoiceTypeModal";
7
-
8
- export default () => {
9
-
10
- const controller = Invoice.useInvoiceController();
11
-
12
- const model = controller.useMemo(s => s.model, [])
13
-
14
- const typeModalProps = controller.useMemo(s => s.typeModalProps, []);
15
-
16
- const [open, setOpen] = React.useState(false);
17
-
18
- const onOpen = React.useCallback(() => { setOpen(true) }, [])
19
-
20
- const onClose = React.useCallback(() => { setOpen(false) }, [])
21
-
22
- const onOk = React.useCallback(e => {
23
- try {
24
- typeModalProps?.onOk && typeModalProps.onOk(e);
25
- } catch (error) {
26
- console.error(error);
27
- }
28
- onClose();
29
- }, [onClose, typeModalProps?.onOk]);
30
-
31
- const isEnable = React.useMemo(() => {
32
- if (typeModalProps?.isDisabled === true) return false
33
- if (model === 'readOnly') return false;
34
- if (model === 'prefab') return false;
35
- return true;
36
- }, [model, typeModalProps?.isDisabled])
37
-
38
- const button = React.useMemo(() => {
39
- if (isEnable === false) return <></>;
40
- return (
41
- <>
42
- <Button size='small' onClick={onOpen} >重选发票类型</Button>
43
- <InvoiceTypeModal
44
- {...typeModalProps}
45
- open={open}
46
- onCancel={onClose}
47
- onOk={onOk}
48
- />
49
- </>
50
- )
51
- }, [open, onClose, onOpen, typeModalProps, isEnable])
52
-
53
- return {
54
- button,
55
- }
56
- }
57
-
1
+
2
+
3
+ import { Button } from "kts-xui";
4
+ import React from "react";
5
+ import Invoice from '../../../../../../..';
6
+ import InvoiceTypeModal from "../../../../../../../../InvoiceTypeModal";
7
+
8
+ export default () => {
9
+
10
+ const controller = Invoice.useInvoiceController();
11
+
12
+ const model = controller.useMemo(s => s.model, [])
13
+
14
+ const typeModalProps = controller.useMemo(s => s.typeModalProps, []);
15
+
16
+ const [open, setOpen] = React.useState(false);
17
+
18
+ const onOpen = React.useCallback(() => { setOpen(true) }, [])
19
+
20
+ const onClose = React.useCallback(() => { setOpen(false) }, [])
21
+
22
+ const onOk = React.useCallback(e => {
23
+ try {
24
+ typeModalProps?.onOk && typeModalProps.onOk(e);
25
+ } catch (error) {
26
+ console.error(error);
27
+ }
28
+ onClose();
29
+ }, [onClose, typeModalProps?.onOk]);
30
+
31
+ const isEnable = React.useMemo(() => {
32
+ if (typeModalProps?.isDisabled === true) return false
33
+ if (model === 'readOnly') return false;
34
+ if (model === 'prefab') return false;
35
+ return true;
36
+ }, [model, typeModalProps?.isDisabled])
37
+
38
+ const button = React.useMemo(() => {
39
+ if (isEnable === false) return <></>;
40
+ return (
41
+ <>
42
+ <Button size='small' onClick={onOpen} >重选发票类型</Button>
43
+ <InvoiceTypeModal
44
+ {...typeModalProps}
45
+ open={open}
46
+ onCancel={onClose}
47
+ onOk={onOk}
48
+ />
49
+ </>
50
+ )
51
+ }, [open, onClose, onOpen, typeModalProps, isEnable])
52
+
53
+ return {
54
+ button,
55
+ }
56
+ }
57
+